-
Notifications
You must be signed in to change notification settings - Fork 105
Description
We have a flag "cohort%isnew" which is set to true when a cohort is newly recruited. This flag is set to false for the cohort after they have experienced a day. We use this so that we do not evaluate fluxes on newly created cohorts if they have not actually experienced a day. However, this is only relevant for things at the dynamics time-scale, because we evaluate history at the dynamics time-scale after we perform recruitment (as well as mortality and disturbance) while we have these new flux-less cohorts.
However! History diagnostics that are generated at high frequency, are evaluated after biophysical rates have been calculated for the cohort (things like GPP, stomatal conductance, respiration rates, etc). So these rates do NOT need to be filtered by isnew.
We can remove this filter's use in all calls inside update_history_hifrq :
fates/main/FatesHistoryInterfaceMod.F90
Line 5184 in 49cd7d0
| if_notnew: if ( .not. ccohort%isnew ) then |
Yet! There is a subtle issue here. Even though things like GPP and dark respiration are updated on the fast model time-step and are thus available for all cohorts during this call. We do need to generate diagnostics on things that contain growth respiration and carbon-excess respiration (which are only available after that first day!).
I see two paths here:
- just leave the isnew flag here and accept that our flux diagnostics do not include the newly recruited plants (which should be a small contribution unless the model is acting strange)
- assume that the growth respiration and excess-carbon respiration fluxes are zero for new recruits, and use actual values for all other cohorts.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status