So when $\theta_{i} + \Delta\theta_{i}+\theta_{r} \geq 1$, the new liquid water content $\theta_{w}$ is set to $\theta_{r} = 0.0$, and the new ice fraction $\theta_{i} = 1.0$.
However, this means water is not conserved as the excess ice is discarded, therefore the layer regains less mass from refreezing.
This also leads to an overestimate for the refreeze parameter ($\theta_{i}h$) and an underestimate for the returned refrozen water ($\sum{-\Delta\theta_{w}z}$).
Possible Solutions:
Thicken the layer height in response to the excess ice: this may create a discrepancy with subsurface melt.
Convert excess ice back into liquid water, and percolate in the next timestep: this lets liquid water exist below freezing temperatures and requires yet another fix if the new $\theta_{w} \geq 1$.
Refreeze during percolation (Wheler & Flowers, 2011.; Vionnet et al. 2012 etc.): this forces percolation.py to depend on refreezing.py.
Issue: Refreezing does not conserve column water content when $
\theta_{i} + \Delta\theta_{i} > 1
$.In the following snippet in
refreezing.py
:So when $
\theta_{i} + \Delta\theta_{i}+\theta_{r} \geq 1
$, the new liquid water content $\theta_{w}
$ is set to $\theta_{r} = 0.0
$, and the new ice fraction $\theta_{i} = 1.0
$.However, this means water is not conserved as the excess ice is discarded, therefore the layer regains less mass from refreezing.
This also leads to an overestimate for the
refreeze
parameter ($\theta_{i}h
$) and an underestimate for the returned refrozen water ($\sum{-\Delta\theta_{w}z}
$).Possible Solutions:
\theta_{w} \geq 1
$.percolation.py
to depend onrefreezing.py
.