Opened 2 years ago
Closed 2 years ago
#773 closed defect (fixed)
Mass balance error on PFT 9 in analytical spinup
Reported by: | mmcgrath | Owned by: | luyssaert |
---|---|---|---|
Priority: | major | Milestone: | ORCHIDEE 4.1 |
Component: | Biogeochemical processes | Version: | |
Keywords: | Cc: |
Description
When running with r7157 on Irene with a production executable and 127 CPUs, I have a mass balance error in year 4 of analytical spinup (FG1).
14pixel number to lat/lon: 6 69.0000000000 13.0000000000 14 Entering functional allocation growth 14 Error: mass balance is not closed in stomate_allocation for carbon 14 ipts, ivm; 6 9 14 Difference is, -1.008621702631228E-005 14 pool_end,pool_start: 1.84495063822095 1.84495063822095 14 14FATAL ERROR FROM ROUTINE stomate_allocation 14 --> Mass balance error 14 --> 14 --> 14 14Fatal error from ORCHIDEE. STOP in ipslerr_p with code
I can continue running by making
ERR_ACT=1
in orchidee.def But should this be looked into more carefully?
Change History (5)
comment:1 Changed 2 years ago by mmcgrath
comment:2 Changed 2 years ago by mmcgrath
Attempted to fix it in r7160 by moving the calculation of kfact_root to just after the calculation of root_depth, but before kfact_root is used in hydrol_soil. Two years have run with no crash, as opposed to a crash immediately in the first year.
comment:3 Changed 2 years ago by mmcgrath
Using r7160 on Irene in debug mode for the above test case on a single pixel results in a similar error in year 4, although once again the magnitude of the difference is a not exactly the same.
0 Entering functional allocation growth 0 Error: mass balance is not closed in stomate_allocation for carbon 0 ipts, ivm; 1 9 0 Difference is, -4.670998382867592E-005 0 pool_end,pool_start: 4.73556467966789 4.73556467966789 0 0FATAL ERROR FROM ROUTINE stomate_allocation 0 --> Mass balance error 0 --> 0 --> 0 0Fatal error from ORCHIDEE. STOP in ipslerr_p with code
comment:4 Changed 2 years ago by luyssaert
- Owner changed from somebody to luyssaert
- Status changed from new to assigned
The problem was related to how dark respiration was accounted for when plant_status was isenescent or ipresenescence. That part of the code was only correct for plant_status = icanopy. The problem has been fixed in r7167.
comment:5 Changed 2 years ago by luyssaert
- Resolution set to fixed
- Status changed from assigned to closed
I have attempted to reproduce the problem on a single processor.
while also setting ERR_ACT=3, so that the code crashes on mass balance errors. The code crashes in the same year and for the same PFT, though the magnitude of the difference is different.
I tried with a debug executable, and it crashes almost immediately in the first year.
The lines of code it's referring to are: