Skip to content

User/ejs/esm4p5 irr runoff doc - #2

Open
slm7826 wants to merge 1107 commits into
NOAA-GFDL:mainfrom
slm7826:user/ejs/esm4p5-irr-runoffDOC
Open

User/ejs/esm4p5 irr runoff doc#2
slm7826 wants to merge 1107 commits into
NOAA-GFDL:mainfrom
slm7826:user/ejs/esm4p5-irr-runoffDOC

Conversation

@slm7826

@slm7826 slm7826 commented Jun 15, 2026

Copy link
Copy Markdown
Contributor

This is the land model code that has been used in ESM4.5 simulations.

slm7826 and others added 30 commits July 2, 2024 15:44
This is to facilitate separation of snowpack radiative properties from
the properties of snow on vegetation.
Kernels do not use externa data, only the variables passed to them
through arguments. This should be useful in re-arranging the settings
for properties of intercepted snow on vegetation.
This is to allow controlling these settings -- in particular intercepted
snow albedo -- independently from the settings used for the snowpack. It
is necessary in case of GLASS snow model with BRDF albedo, and will
allow more flexibility in general in the future.

NOTE that this code change will require change in namelists to reproduce
older results.
In 'BRDF' albedo mode, GLASS snow model now uses the same calculations
-- and the same namelist parameters from snow_data_nml -- as the albedo
parametrization in CM model.
The default radiation settings in snow_data_nml are never used in the
modern versions of the model, but I think keeping the old defaults is
still preferable to avoid issues in (hopefully extremely rare)
configurations that do not override the defaults.
The old name "snow_BRDF_properties" did not correctly indicate what this
function is doing, because -- depending on the namelist settings -- it
can calculate surface reflectances either using BRDF model, or simple
reflectance parameterization that does not depend on cosz.
This is to avoid duplicating the identical formulae, to ensure that if
snow_data_area ever changes the formulation would be used consistently
across the model.
It was missed in previous merge.
…regardless, which can cause issues with gfortran-14
…in the litterature on this topic but this makes most sense
slm7826 and others added 28 commits July 26, 2025 19:47
Since the harvest date is encoded as a day-of-year, any interval larger than or
equal to 365 days will result in harvesting occurring very soon (or immediately)
after the planting.

Peter Phillipps had already fixed this issue earlier, but for some reason, it
didn’t make it into the latest version in the repository.
Apparently, crop_selection is called for every tile, not just crop tiles. For
non-crop tiles, we are using the same range of crops as for the rain-fed
cropland.
In the original formulation, the saturated specific humidity required
to trigger fog formation was determined using a linearized equation
w.r.t canopy air temprature.

This linearized expression can easily yield negative values for the
fog threshold when the temperature tendency in a specific time step is
large in magnitude and negative. For instance, if we assume a 7%/K
temperature dependence of qsat, a roughly 14.3 K decrease in T will
result in negative values. In general, the linearized expression will
lead to smaller fog thresholds (compared to the precise equation for
qsat) and, consequently, more frequent fog formation in the conditions
where it should not.

Setting a new namelist parameter fog_qsat_fix in land_model_nml to
FALSE should revert to the original behavior.
If a crop tile was not present in the grid cell before the transition,
saved_crop_rainf and saved_crop_irrig were not set, yet they were
still used to assign crop tile properties, leading to incorrect data
in the tile%vegn%crop structure.

The change only utilizes saved crop data if the corresponding tile was
already present in the grid cell. In all other cases, the crop tile data
remains unchanged from the process that generated them.
See her e-mail of Sep 7 2025
* DOC diffusion uses concentration of DOC per volume of soil water,
  rather than per volume of soil.
* Add an option to use the theta function (which describes the dependence
  on soil water) in calculations of decomposition [Km]. This option is off by
  default, preserving the old functionality.
- Land component calcutes the DOC (Dissolved Organic Carbon) content flux in runoff (KgC/m2/s)
- COBALT needs access to that runoff flux (currently done via data_override from file)
- Ocean component needs to make the flux available to COBALT
- Ice component needs to make the flux available to ICE
- land_ice_flux_exchange needs to exchange the flux from Land to Ice
@slm7826 slm7826 closed this Jun 15, 2026
@slm7826 slm7826 reopened this Jun 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants