mHM
The mesoscale Hydrological Model
|
Multiscale parameter regionalization (MPR) for soil moisture. More...
Functions/Subroutines | |
subroutine, public | mpr_sm (param, processmatrix, is_present, nhorizons, ntillhorizons, sand, clay, dbm, id0, soilid0, lcover0, thetas_till, thetafc_till, thetapw_till, thetas, thetafc, thetapw, ks, db, ksvar_h0, ksvar_v0, sms_fc0) |
multiscale parameter regionalization for soil moisture | |
elemental pure subroutine | pwp (genu_mual_n, genu_mual_alpha, thetas, thetapwp) |
Permanent Wilting point. | |
elemental pure subroutine | field_cap (thetafc, ks, thetas, genu_mual_n) |
calculates the field capacity | |
subroutine | genuchten (thetas, genu_mual_n, genu_mual_alpha, param, sand, clay, db) |
calculates the Genuchten shape parameter | |
subroutine | hydro_cond (ks, param, sand, clay) |
calculates the hydraulic conductivity Ks | |
Multiscale parameter regionalization (MPR) for soil moisture.
This module contains all routines required for parametrizing soil moisture processes.
COPYING
and COPYING.LESSER
provided with this software. The complete GNU license text can also be found at http://www.gnu.org/licenses/.
|
private |
calculates the field capacity
estimate Field capacity; FC – Flux based approach (Twarakavi, et. al. 2009, WRR) According to the above reference FC is defined as the soil water content at which the drainage from a profile ceases under natural conditions. Since drainage from a soil profile in a simulation never becomes zero, we assume that drainage ceases when the bottom flux from the soil reaches a value that is equivalent to the minimum amount of precipitation that could be recorded (i.e. 0.01 cm/d == 1 mm/d). It is assumed that ThetaR = 0.0_dp ADDITIONAL INFORMATION Twarakavi, et. al. 2009, WRR
[out] | real(dp) :: thetaFC | - Field capacity |
[in] | real(dp) :: Ks | - saturated hydraulic conductivity |
[in] | real(dp) :: thetaS | - saturated water content |
[in] | real(dp) :: Genu_Mual_n | - Genuchten shape parameter |
Definition at line 560 of file mo_mpr_soilmoist.f90.
References mo_mpr_constants::field_cap_c1, and mo_mpr_constants::field_cap_c2.
Referenced by mpr_sm().
|
private |
calculates the Genuchten shape parameter
estimate SMs_till & van Genuchten's shape parameter (n) (Zacharias et al, 2007, soil Phy.) Global parameters needed (see mhm_parameter.nml):
[out] | real(dp) :: thetaS | - saturated water content |
[out] | real(dp) :: Genu_Mual_n | - van Genuchten shape parameter |
[out] | real(dp) :: Genu_Mual_alpha | - van Genuchten shape parameter |
[in] | real(dp), dimension(6) :: param | parameters |
[in] | real(dp) :: sand | - [%] sand content |
[in] | real(dp) :: clay | - [%] clay content |
[in] | real(dp) :: Db | - [10^3 kg/m3] bulk density |
Definition at line 626 of file mo_mpr_soilmoist.f90.
References mo_mpr_constants::vgenuchten_sandtresh, mo_mpr_constants::vgenuchtenn_c1, mo_mpr_constants::vgenuchtenn_c10, mo_mpr_constants::vgenuchtenn_c11, mo_mpr_constants::vgenuchtenn_c12, mo_mpr_constants::vgenuchtenn_c13, mo_mpr_constants::vgenuchtenn_c14, mo_mpr_constants::vgenuchtenn_c15, mo_mpr_constants::vgenuchtenn_c16, mo_mpr_constants::vgenuchtenn_c17, mo_mpr_constants::vgenuchtenn_c18, mo_mpr_constants::vgenuchtenn_c2, mo_mpr_constants::vgenuchtenn_c3, mo_mpr_constants::vgenuchtenn_c4, mo_mpr_constants::vgenuchtenn_c5, mo_mpr_constants::vgenuchtenn_c6, mo_mpr_constants::vgenuchtenn_c7, mo_mpr_constants::vgenuchtenn_c8, and mo_mpr_constants::vgenuchtenn_c9.
Referenced by mpr_sm().
|
private |
calculates the hydraulic conductivity Ks
By default save this value of Ks, particularly for the deeper layers where OM content plays relatively low or no role Global parameters needed (see mhm_parameter.nml):
[out] | real(dp) :: KS | |
[in] | real(dp), dimension(4) :: param | |
[in] | real(dp) :: sand | - [%] sand content |
[in] | real(dp) :: clay | - [%] clay content |
Definition at line 736 of file mo_mpr_soilmoist.f90.
References mo_mpr_constants::ks_c.
Referenced by mpr_sm().
subroutine, public mo_mpr_soilmoist::mpr_sm | ( | real(dp), dimension(13), intent(in) | param, |
integer(i4), dimension(:, :), intent(in) | processmatrix, | ||
integer(i4), dimension(:), intent(in) | is_present, | ||
integer(i4), dimension(:), intent(in) | nhorizons, | ||
integer(i4), dimension(:), intent(in) | ntillhorizons, | ||
real(dp), dimension(:, :), intent(in) | sand, | ||
real(dp), dimension(:, :), intent(in) | clay, | ||
real(dp), dimension(:, :), intent(in) | dbm, | ||
integer(i4), dimension(:), intent(in) | id0, | ||
integer(i4), dimension(:, :), intent(in) | soilid0, | ||
integer(i4), dimension(:), intent(in) | lcover0, | ||
real(dp), dimension(:, :, :), intent(out) | thetas_till, | ||
real(dp), dimension(:, :, :), intent(out) | thetafc_till, | ||
real(dp), dimension(:, :, :), intent(out) | thetapw_till, | ||
real(dp), dimension(:, :), intent(out) | thetas, | ||
real(dp), dimension(:, :), intent(out) | thetafc, | ||
real(dp), dimension(:, :), intent(out) | thetapw, | ||
real(dp), dimension(:, :, :), intent(out) | ks, | ||
real(dp), dimension(:, :, :), intent(out) | db, | ||
real(dp), dimension(:), intent(out) | ksvar_h0, | ||
real(dp), dimension(:), intent(out) | ksvar_v0, | ||
real(dp), dimension(:), intent(out) | sms_fc0 | ||
) |
multiscale parameter regionalization for soil moisture
This subroutine is a wrapper around all soil moisture parameter routines. This subroutine requires 13 parameters. These parameters have to correspond to the parameters in the original parameter array at the following locations: 10-12, 13-18, 27-30. Global parameters needed (see mhm_parameter.nml):
[in] | real(dp), dimension(13) :: param | global parameters |
[in] | integer(i4), dimension(:) :: is_present | indicates whether soiltype is present |
[in] | integer(i4), dimension(:) :: nHorizons | Number of Horizons per soiltype |
[in] | integer(i4), dimension(:) :: nTillHorizons | Number of Tillage Horizons |
[in] | real(dp), dimension(:, :) :: sand | sand content |
[in] | real(dp), dimension(:, :) :: clay | clay content |
[in] | real(dp), dimension(:, :) :: DbM | mineral Bulk density |
[in] | integer(i4), dimension(:) :: ID0 | cell ids at level 0 |
[in] | integer(i4), dimension(:, :) :: soilId0 | soil ids at level 0 |
[in] | integer(i4), dimension(:) :: LCOVER0 | land cover ids at level 0 |
[out] | real(dp), dimension(:, :, :) :: thetaS_till | saturated soil moisture tillage layer |
[out] | real(dp), dimension(:, :, :) :: thetaFC_till | field capacity tillage layer |
[out] | real(dp), dimension(:, :, :) :: thetaPW_till | permanent wilting point tillage layer |
[out] | real(dp), dimension(:, :) :: thetaS | saturated soil moisture |
[out] | real(dp), dimension(:, :) :: thetaFC | field capacity |
[out] | real(dp), dimension(:, :) :: thetaPW | permanent wilting point |
[out] | real(dp), dimension(:, :, :) :: Ks | saturated hydraulic conductivity |
[out] | real(dp), dimension(:, :, :) :: Db | Bulk density |
[out] | real(dp), dimension(:) :: KsVar_H0 | rel. var. of Ks for horizontal flow |
[out] | real(dp), dimension(:) :: KsVar_V0 | rel. var. of Ks for vertical flow |
[out] | real(dp), dimension(:) :: SMs_FC0 | soil mositure deficit from field cap. w.r.t to saturation |
Definition at line 100 of file mo_mpr_soilmoist.f90.
References mo_mpr_constants::bulkdens_orgmatter, field_cap(), genuchten(), hydro_cond(), mo_mpr_global_variables::iflag_soildb, mo_common_constants::nodata_dp, mo_common_constants::nodata_i4, and pwp().
Referenced by mo_multi_param_reg::mpr().
|
private |
Permanent Wilting point.
This subroutine calculates the permanent wilting point according to Zacharias et al. (2007, Soil Phy.) and using van Genuchten 1980's equation. For the water retention curve at a matrix potential of -1500 kPa, it is assumed that thetaR = 0. ADDITIONAL INFORMATION Zacharias et al. 2007, Soil Phy.
[in] | real(dp) :: Genu_Mual_n | - Genuchten shape parameter |
[in] | real(dp) :: Genu_Mual_alpha | - Genuchten shape parameter |
[in] | real(dp) :: thetaS | - saturated water content |
[out] | real(dp) :: thetaPWP | - Permanent Wilting point |
Definition at line 489 of file mo_mpr_soilmoist.f90.
References mo_mpr_constants::pwp_c, and mo_mpr_constants::pwp_matpot_thetar.
Referenced by mpr_sm().