NGEET / fates

repository for the Functionally Assembled Terrestrial Ecosystem Simulator (FATES)
Other
100 stars 92 forks source link

Hydro 1D solve - negative water content in rhizosphere 1 #740

Open mariuslam opened 3 years ago

mariuslam commented 3 years ago

I Run Fates-Hydro with Cosmorea6km forcing over a regional domain in Norway. The model stops after 7 months because the 1D solver yields negative water content in the first rhizosphere. -We tried with "Adding control of leaf water potential on transpiration through inner leaf humidity" k_lwp=4 and 6 (https://github.com/NGEET/fates/pull/736) -We tried increasing iterations and decreasing errors, we also tried controlling the lower boundary of the Campbell water retention function when low water contents. -We finally tried VG scheme, it worked but no vegetation grew, because the water potentials were off by several orders of magnitudes with the default parameters and the boundary linear interpolation provides even more extreme and unrealistic water potentials. -We wonder if it could be related to issue #706, Crash if no cohorts (https://github.com/NGEET/fates/issues/706)

Could not find a stable solution for hydro 1D solve

error code: 1 error diag: 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000 layer: 19 wb_step_err = NaN leaf water: 2.087388559964174E-003 kg/plant stem_water: 2.939413685376974E-004 kg/plant troot_water: 2.443714820352908E-006 aroot_water: 5.936195408652058E-004 LWP: -1.12120424477937 dbh: 3.502967046624923E-002 pft: 10 z nodes: 0.224434731407678 8.721736570383874E-002 -0.132445165945683 -8.60000000000000 -8.60000000000000 -8.60000000000000 -8.60000000000000 -8.60000000000000 -8.60000000000000 psi_z: 2.199460367795281E-003 8.547301838975896E-004 -1.297962626267690E-003 -8.428000000000002E-002 NaN -8.428000000000001E-002 -8.428000000000001E-002 -8.428000000000001E-002 -8.428000000000001E-002 ERROR in FatesPlantHydraulicsMod.F90 at line 3226

Model versions: -CESM: https://github.com/mariuslam/fates_main_api -> It is the SP_api from Rosie, last commit is 0ba5ae96f6bd00ca0f43cb2e26841d0dc16fd271 -FATES:https://github.com/mariuslam/Fates_biogeog_rosie -> c7e4df8e01fe66a2dacd89527849c7c1d9a4629b

log_files.zip

rgknox commented 3 years ago

Thanks for reminding us of issue #706, that should be strait-forward to implement. Hopefully we can get you running with cohorts though!

Re: "The model stops after 7 months because the 1D solver yields negative water content in the first rhizosphere."

@xuchongang and I uncovered an issue during review of #727, that could generate negative water potentials. When newly recruited plants are given water, this happens on the first hydraulics time-step, following the daily dynamics calls. However, when we set aside water for these new plants, we generate a flux, but we don't update (ie draw down) the available water prior to performing the hydraulic solves on plants. So the plants think there is more soil water than there really is, they greedily draw in soil water.

Question: do you initialize your site with mature, seed bearing vegetation from inventory? I'm curious if at month 7, your site would be generating new recruits, or if we can rule out this problem.

My sense though is that your simulations could benefit from a bunch of the work that is going on. @JunyanDing has submitted several PR's that improve stability, which it seems like you are testing, which is good. We are also getting close to using permafrost depth to guide rooting depths, which certainly seems germane in Norway. The recruitment phenomenon mentioned above could also be important.

mariuslam commented 3 years ago

Thanks @rgknox Ryan.

I tried the recruitment changes today without resolving the Hydro issue. I start my simulations from coldstart. I wondered also why is there no lower limit water content control in Campbell? "if (th<this%th_min)"