E3SM-Project / E3SM

Energy Exascale Earth System Model source code. NOTE: use "maint" branches for your work. Head of master is not validated.

Home Page:https://docs.e3sm.org/E3SM

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Incorrect C:N ratios and C:P causing balance errors in transient simulations

dmricciuto opened this issue · comments

This was noticed in the v2 offline feature simulations. It seems to be related to the bolded section in the code below from components/elm/src/biogeochem/ComputeSeedMod.F90 dealing with allocating seed C, N and P to display, storage and xfer components of the leaf.
pleaf, pstorage, and pxfer are computed for C,N and P separately. If tot_leaf is very small these proportions may be different for C,N,P, causing C:N and C:P ratios to diverge from the expected fixed values in the parameter file. In rare cases, this leads to negative N or P and eventual balance errors. Removing the bolded code and always allocating 100% to either leaf or storage seems to fix this issue.

if (tot_leaf == 0._r8 .or. ignore_current_state) then
if (veg_vp%evergreen(pft_type) == 1._r8) then
pleaf = 1._r8
else
pstorage = 1._r8
end if
else
pleaf = leaf /tot_leaf
pstorage = leaf_storage/tot_leaf
pxfer = leaf_xfer /tot_leaf

end if