Repository navigation
ctsm5.4.066: adding bc_out to fates restarts, removing call to fates litter flux recalculations - #4233
ctsm5.4.066: adding bc_out to fates restarts, removing call to fates litter flux recalculations#4233rgknox wants to merge 4 commits into
Conversation
Merge b4bdev 20261001 PR ESCOMP#4241 for details
|
I'm seeing small diffs with baseline, looks like its relegated to variables that depend on litter flux. I don't think round-off diffs are unexpected, but I'm not sure that these are round-off/order-of-operations type level. I think it needs some thought before we proceed. I do see larger diffs in the longer simulations, but I suppose round-off diffs could generate some chaos, perhaps grow, hard to tell. There are non-roundoff diffs in the nutrient runs (look for PRT2...), which is expected, those should be real differences. |
|
The diffs with base are associated with how we process fluxes at that are saved at the patch-level. With FATES disturbance, we resize our patches, which forces us to do the same to the litter fluxes. My changes circumvented all that unnecessary math by saving the patch-level fluxes to site-level data structures before all the patch resizing happens. However, there was just so much resizing math that it generated round-off diffs. TLDR: I moved the call to generate these fluxes to be after all the resizing again, and I'm hoping this will preserve b4b. |
|
Changes made results b4b. This PR is content complete. /glade/derecho/scratch/<>/tests_1009-121834de |
adrifoster
left a comment
There was a problem hiding this comment.
This looks great - straightforward!
|
Looks lie this is ready to merge, let's get this in the queue it at the SE meeting. |
Fix scheduled docs-update-ctsm_pylib workflow
ekluzek
left a comment
There was a problem hiding this comment.
This is a straightforward change to remove a call from the CTSM level. And also pass sites, bc_in, and bc_out to set_restart_vectors and bc_out to get_restart_vectors. This is something vetted by Ryan and just something that needs to come in.
There's one catch before approval though.
The thing that needs to be done is to include the latest FATES tag that has FATES side update that facilitates this. @glemieux is working on that now, and will start the testing for this when the tag is made.
|
Results: I'm seeing a couple ctsm testmod I'm attempting to resubmit to see if these pass. Results: |
|
@glemieux those failures look the same as what I see when I just need to resubmit. So your resubmission should resolve it. |
Description of changes
This is a bug fix for mass fluxes between fates and ctsm with N-limitations turned on.
This set of changes cleans up how litter fluxes are updated and restarted in FATES. Previously, we re-built the litter fluxes on every time-step, which was inneficient since these outputs are constant over the course of the day. On the fates side, the litter fluxes are generated a combination of fluxes from exudation/efflux from roots, to fragmentated litter. The call to update those fluxes on the CTSM side was omitting the exudation fluxes.
This change should make the model slightly faster and corrects a mass-balance bug in the nutrient limited model.
Syncronize with: NGEET/fates#1611
Specific notes
Contributors: @jingtao-lbl @glemieux
CTSM issues resolved or otherwise addressed, if any:
None
If answers are expected to change, describe (delete this line otherwise):
They should not change because there shouldn't be exudation flux in any of the c-only runs. CN runs should change values. There could be roundoff changes in c-only runs.
Any user interface changes (namelist or namelist defaults changes)?
No
Testing planned or performed, if any:
TBD
Requirements before merge: