-
Notifications
You must be signed in to change notification settings - Fork 13
Description
The model restricts the water to be at a maximum of saturated water content (watsat). I see in regions mainly in Northern Europe that the water content is frequently over the saturated water content over the course of a simulation, sometimes even larger than 1. This ONLY happens for the top soil layer. When the model is restarted at one point, the restriction of watsat is again applied for the first timestep, causing jumps in my SM timeseries in these regions every time that I restart the model.
The CLM5 technical note says: "Any excess liquid water that remains after saturating the entire soil column (plus a maximum surface ponding depth 𝑤𝑝𝑜𝑛𝑑 𝑙𝑖𝑞 = 10 kg m-2), is added to drainage 𝑞𝑑𝑟𝑎𝑖." So if a layer is saturated, the water is basically moved up and the excessive water should be added to the above unsaturated layer like a bucket. If the column is fully saturated, excess water goes to runoff.
The LateralFlowPowerLaw is used to adjust the soil and ice water when bedrock is used. Water is moved up like this:
do j = nlevsoi,2,-1
do fc = 1, num_hydrologyc
c = filter_hydrologyc(fc)
xsi(c) = max(h2osoi_liq(c,j)-eff_porosity(c,j)*dzmm(c,j),0._r8)
h2osoi_liq(c,j) = min(eff_porosity(c,j)*dzmm(c,j), h2osoi_liq(c,j))
h2osoi_liq(c,j-1) = h2osoi_liq(c,j-1) + xsi(c)
end do
end do
Then, a variable xs1 is computed that should be subtracted from the top layer if there is excess:
xs1(c) = max(max(h2osoi_liq(c,1)-watmin,0._r8)- &
max(0._r8,(pondmx+watsat(c,1)*dzmm(c,1)-h2osoi_ice(c,1)-watmin)),0._r8)
This is then subtracted from the liquid water: h2osoi_liq(c,1) = h2osoi_liq(c,1) - xs1(c)
Even when the water content in this layer is above watsat (I did a test for some column where the water is above watsat), xs1 is still 0, so nothing is subtracted which leads to the water content being above watsat.
Here some numbers for the test column: watsat = 0.535042921829201, liq = 2.34733592668982, ice = 8.35351079085568, dzmm = 20, watmin = 0.01. When computing h2osoi_vol based on these, you get 0.572847210230657 which is above watsat. Still, xs1 is 0. pondmx in the equation is 0.
@kvrigor @jjokella Is this a bug or do I not get something? Note that when the model is restarted, the water content is up to 0.1 lower than before. I had a similar issue when applying these restrictions for the top layer in my data assimilation but did not go further into this. Now as I want to compare some simulation settings, I cannot really do this when I restart my simulations at different time steps.