mHM
The mesoscale Hydrological Model
|
Soil moisture of the different layers. More...
Functions/Subroutines | |
subroutine, public | soil_moisture (processcase, frac_sealed, water_thresh_sealed, pet, evap_coeff, soil_moist_sat, frac_roots, soil_moist_fc, wilting_point, soil_moist_exponen, jarvis_thresh_c1, aet_canopy, prec_effec, runoff_sealed, storage_sealed, infiltration, soil_moist, aet, aet_sealed) |
Soil moisture in different soil horizons. | |
elemental pure real(dp) function, public | feddes_et_reduction (soil_moist, soil_moist_fc, wilting_point, frac_roots) |
stress factor for reducing evapotranspiration based on actual soil moisture | |
elemental pure real(dp) function, public | jarvis_et_reduction (soil_moist, soil_moist_sat, wilting_point, frac_roots, jarvis_thresh_c1) |
stress factor for reducing evapotranspiration based on actual soil moisture | |
Soil moisture of the different layers.
Soil moisture in the different layers is calculated with infiltration as \( (\theta / \theta_{sat})^\beta \) Then evapotranspiration is calculated from PET with a soil water stress factor \( f_{SM} \) either using the Feddes equation - processCase(3) = 1:
\[ f_{SM} = \frac{\theta - \theta_\mathit{pwp}}{\theta_\mathit{fc} - \theta_\mathit{pwp}} \]
or using the Jarvis equation - processCase(3) = 2:
\[ f_{SM} = \frac{1}{\theta_\mathit{stress-index-C1}} \frac{\theta - \theta_\mathit{pwp}}{\theta_\mathit{sat} - \theta_\mathit{pwp}} \]
COPYING
and COPYING.LESSER
provided with this software. The complete GNU license text can also be found at http://www.gnu.org/licenses/. elemental pure real(dp) function, public mo_soil_moisture::feddes_et_reduction | ( | real(dp), intent(in) | soil_moist, |
real(dp), intent(in) | soil_moist_fc, | ||
real(dp), intent(in) | wilting_point, | ||
real(dp), intent(in) | frac_roots | ||
) |
stress factor for reducing evapotranspiration based on actual soil moisture
Potential evapotranspiration is reduced to 0 if SM is lower PWP. PET is equal fraction of roots if soil moisture is exceeding field capacity. If soil moisture is in between PWP and FC PET is reduced by fraction of roots times a stress factor. The ET reduction factor \( f \) is estimated as
\[ f = \left\{ \begin{array}{lr} f_{roots} & if \theta \ge \theta_{fc}\\ f_{roots} \cdot \frac{\theta - \theta_\mathit{pwp}}{\theta_\mathit{fc} - \theta_\mathit{pwp}} & if \theta < \theta_{fc} \\ 0 & if \theta < \theta_{pwp} \end{array} \right. \]
[in] | real(dp) :: soil_moist | Soil moisture of each horizon [mm] |
[in] | real(dp) :: soil_moist_FC | Soil moisture below which actual ET is reduced [mm] |
[in] | real(dp) :: wilting_point | Permanent wilting point |
[in] | real(dp) :: frac_roots | Fraction of Roots in soil horizon is reduced [mm] |
Definition at line 333 of file mo_soil_moisture.f90.
References feddes_et_reduction().
Referenced by feddes_et_reduction(), and soil_moisture().
elemental pure real(dp) function, public mo_soil_moisture::jarvis_et_reduction | ( | real(dp), intent(in) | soil_moist, |
real(dp), intent(in) | soil_moist_sat, | ||
real(dp), intent(in) | wilting_point, | ||
real(dp), intent(in) | frac_roots, | ||
real(dp), intent(in) | jarvis_thresh_c1 | ||
) |
stress factor for reducing evapotranspiration based on actual soil moisture
The soil moisture stress factor is estimated based on the normalized soil water content. The normalized soil water content \( \theta_{norm} \) is estimated as:
\[ \theta_{norm} = \frac{\theta - \theta_\mathit{pwp}} {\theta_{sat} - \theta_{pwp}} \]
The ET reduction factor \( f \) is estimated as
\[ f = \left\{ \begin{array}{lr} f_{roots} & if \theta_{norm} \ge jarvis\_sm\_threshold\_c1 \\ f_{roots}\frac{\theta_{norm}}{jarvis\_sm\_threshold\_c1} & if \theta_{norm} < jarvis\_sm\_threshold\_c1 \\ \end{array} \right. \]
[in] | real(dp) :: soil_moist | Soil moisture of each horizon [mm] |
[in] | real(dp) :: soil_moist_sat | saturated Soil moisture content [mm] |
[in] | real(dp) :: wilting_point | Permanent wilting point |
[in] | real(dp) :: frac_roots | Fraction of Roots in soil horizon is reduced [mm] |
[in] | real(dp) :: jarvis_thresh_c1 | parameter C1 from Jarvis formulation |
Definition at line 405 of file mo_soil_moisture.f90.
References jarvis_et_reduction().
Referenced by jarvis_et_reduction(), and soil_moisture().
subroutine, public mo_soil_moisture::soil_moisture | ( | integer(i4), intent(in) | processcase, |
real(dp), intent(in) | frac_sealed, | ||
real(dp), intent(in) | water_thresh_sealed, | ||
real(dp), intent(in) | pet, | ||
real(dp), intent(in) | evap_coeff, | ||
real(dp), dimension(:), intent(in) | soil_moist_sat, | ||
real(dp), dimension(:), intent(in) | frac_roots, | ||
real(dp), dimension(:), intent(in) | soil_moist_fc, | ||
real(dp), dimension(:), intent(in) | wilting_point, | ||
real(dp), dimension(:), intent(in) | soil_moist_exponen, | ||
real(dp), intent(in) | jarvis_thresh_c1, | ||
real(dp), intent(in) | aet_canopy, | ||
real(dp), intent(in) | prec_effec, | ||
real(dp), intent(inout) | runoff_sealed, | ||
real(dp), intent(inout) | storage_sealed, | ||
real(dp), dimension(size(soil_moist_sat, 1)), intent(inout) | infiltration, | ||
real(dp), dimension(size(soil_moist_sat, 1)), intent(inout) | soil_moist, | ||
real(dp), dimension(size(soil_moist_sat, 1)), intent(out) | aet, | ||
real(dp), intent(out) | aet_sealed | ||
) |
Soil moisture in different soil horizons.
Infiltration \(I\) from one layer \(k-1\) to the next \(k\) on pervious areas is calculated as (omit \(t\))
\[ I[k] = I[k-1] (\theta[k] / \theta_{sat}[k])^{\beta[k]} \]
Then soil moisture can be calculated as (omit \(k\))
\[ \theta[t] = \theta[t-1] + I[t] - \mathit{ET}[t] \]
with \( \mathit{ET} \) (omit \([k,t]\)) being
\[ \mathit{ET} = f_\mathrm{roots} \cdot f_{SM} \cdot \mathit{PET} \]
.
[in] | integer(i4) :: processCase | 1 - Feddes equation for PET reduction2 - Jarvis equation for PET reduction3 - Jarvis equation for PET reduction and FC dependency on root fraction coefficient |
[in] | real(dp) :: frac_sealed | Fraction of sealed area |
[in] | real(dp) :: water_thresh_sealed | Threshhold water depth in impervious areas [mm TS-1] |
[in] | real(dp) :: pet | Reference evapotranspiration [mm TS-1] |
[in] | real(dp) :: evap_coeff | Evaporation coefficent for free-water surface of that current month |
[in] | real(dp), dimension(:) :: soil_moist_sat | Saturation soil moisture for each horizon [mm] |
[in] | real(dp), dimension(:) :: frac_roots | Fraction of Roots in soil horizon |
[in] | real(dp), dimension(:) :: soil_moist_FC | Soil moisture below which actual ET is reduced [mm] |
[in] | real(dp), dimension(:) :: wilting_point | Permanent wilting point for each horizon [mm] |
[in] | real(dp), dimension(:) :: soil_moist_exponen | Exponential parameter to how non-linear is the soil water retention |
[in] | real(dp) :: jarvis_thresh_c1 | Jarvis critical value for normalized soil water content |
[in] | real(dp) :: aet_canopy | Actual ET from canopy [mm TS-1] |
[in,out] | real(dp) :: prec_effec | Effective precipitation (rain + snow melt) [mm] |
[in,out] | real(dp) :: runoff_sealed | Direct runoff from impervious areas |
[in,out] | real(dp) :: storage_sealed | Retention storage of impervious areas |
[in,out] | real(dp), dimension(size(soil_moist_sat, 1)) :: infiltration | Recharge, infiltration intensity oreffective precipitation of each horizon [mm TS-1] |
[in,out] | real(dp), dimension(size(soil_moist_sat, 1)) :: soil_moist | Soil moisture of each horizon [mm] |
[out] | real(dp), dimension(size(soil_moist_sat, 1)) :: aet | actual ET [mm TS-1] |
[out] | real(dp) :: aet_sealed | actual ET from free-water surfaces,i.e impervious cover [mm TS-1] |
Definition at line 94 of file mo_soil_moisture.f90.
References mo_common_constants::eps_dp, feddes_et_reduction(), and jarvis_et_reduction().
Referenced by mo_mhm::mhm().