Open rgknox opened 3 years ago
At this point, this post might be more for me to describe the problem out-loud to help think through it. There are still several moving parts to this.
Some notes: 1) For context on the fates side. I'm working on a new branch which fixes a few errors on the fates-side mass balance checking: https://github.com/rgknox/fates/tree/fix-recruit-fuse-mem-hydro 2) I'm running tests using fates_main_api to see if the errors are triggered there too. However, its possible that they passed on that branch because the error checking was not as stringent? or maybe not, will report what I find
Brief summary of bug
FATES-hydro is a special mode where vegetation can uptake and store water via the transpiration stream. This requires an accounting of how much water is stored in FATES vegetation, which must be passed back to CLM for its water mass balance checking. The water mass balance check (BalanceCheckMod.F90 at line 760) is failing. Details below.
General bug information
CTSM version you are using: [output of
git describe
]hash: 3ac4305
tag: ctsm5.1.dev029-3-g3ac43057
Does this bug cause significantly incorrect results in the model's science? [Yes / No]
Not sure, but I don't think so.
Configurations affected: [Fill this in if known.]
These namelist options must be set:
use_fates = .true. use_fates_planthydro = .true.
Details of bug
I generate this error using a specialized site setup for Barro Colorado Island Panama, where I also initialize a forest stand structure from inventory data. The simulation runs 26+ months and then fails with the following error:
From the log, I can see that the check is failing after a FATES dynamics call. I have to investigate further to see a call to FATES hydraulics follows. If only the dynamics call has transpired (pun intended) prior to the balance check fail, then we should expect that that the total water stored in vegetation should had remained unchanged during the process. During dynamics, we only shuffle water around internally in FATES, but should conserve it. We do have a check in place to verify this (but checks can be wrong too of course).
Key variables that FATES passes to CLM are:
The total water stored in vegetation, an example of the transfer found here: https://github.com/ESCOMP/CTSM/blob/master/src/utils/clmfates_interfaceMod.F90#L1011-L1012
The water uptake by roots: https://github.com/ESCOMP/CTSM/blob/master/src/utils/clmfates_interfaceMod.F90#L2632
Key variable that CLM passes to FATES: Transpiration rate of the patch: https://github.com/ESCOMP/CTSM/blob/master/src/utils/clmfates_interfaceMod.F90#L2752
Important details of your setup / configuration so we can reproduce the bug
I will need to reproduce this error on a supported resolution, this error was generated on a user-defined single cell grid.
Here is the compset and key namelist variables though: 2000_DATM%CRUv7_CLM50%FATES_SICE_SOCN_SROF_SGLC_SWAV use_fates = .true. use_fates_planthydro = .true.