5.13.2-dev0
mHM
The mesoscale Hydrological Model
Loading...
Searching...
No Matches
mo_mpr_smhorizons Module Reference

setting up the soil moisture horizons More...

Functions/Subroutines

subroutine, public mpr_smhorizons (param, processmatrix, iflag_soil, nhorizons_mhm, horizondepth, lcover0, soilid0, nhorizons, ntillhorizons, thetas_till, thetafc_till, thetapw_till, thetas, thetafc, thetapw, wd, db, dbm, rzdepth, mask0, cell_id0, upp_row_l1, low_row_l1, lef_col_l1, rig_col_l1, nl0_in_l1, l1_beta, l1_sms, l1_fc, l1_pw, l1_froots, latwat_till, cosmic_l3_till, latwat, cosmic_l3, l1_bulkdens, l1_latticewater, l1_cosmicl3)
 upscale soil moisture horizons
 

Detailed Description

setting up the soil moisture horizons

This module sets up the soil moisture horizons

Authors
Stephan Thober, Rohini Kumar
Date
Dec 2012

Function/Subroutine Documentation

◆ mpr_smhorizons()

subroutine, public mo_mpr_smhorizons::mpr_smhorizons ( real(dp), dimension(:), intent(in)  param,
integer(i4), dimension(:, :), intent(in)  processmatrix,
integer(i4), intent(in)  iflag_soil,
integer(i4), intent(in)  nhorizons_mhm,
real(dp), dimension(:), intent(in)  horizondepth,
integer(i4), dimension(:), intent(in)  lcover0,
integer(i4), dimension(:, :), intent(in)  soilid0,
integer(i4), dimension(:), intent(in)  nhorizons,
integer(i4), dimension(:), intent(in)  ntillhorizons,
real(dp), dimension(:, :, :), intent(in)  thetas_till,
real(dp), dimension(:, :, :), intent(in)  thetafc_till,
real(dp), dimension(:, :, :), intent(in)  thetapw_till,
real(dp), dimension(:, :), intent(in)  thetas,
real(dp), dimension(:, :), intent(in)  thetafc,
real(dp), dimension(:, :), intent(in)  thetapw,
real(dp), dimension(:, :, :), intent(in)  wd,
real(dp), dimension(:, :, :), intent(in)  db,
real(dp), dimension(:, :), intent(in)  dbm,
real(dp), dimension(:), intent(in)  rzdepth,
logical, dimension(:, :), intent(in)  mask0,
integer(i4), dimension(:), intent(in)  cell_id0,
integer(i4), dimension(:), intent(in)  upp_row_l1,
integer(i4), dimension(:), intent(in)  low_row_l1,
integer(i4), dimension(:), intent(in)  lef_col_l1,
integer(i4), dimension(:), intent(in)  rig_col_l1,
integer(i4), dimension(:), intent(in)  nl0_in_l1,
real(dp), dimension(:, :), intent(inout)  l1_beta,
real(dp), dimension(:, :), intent(inout)  l1_sms,
real(dp), dimension(:, :), intent(inout)  l1_fc,
real(dp), dimension(:, :), intent(inout)  l1_pw,
real(dp), dimension(:, :), intent(inout)  l1_froots,
real(dp), dimension(:,:,:), intent(in)  latwat_till,
real(dp), dimension(:,:,:), intent(in)  cosmic_l3_till,
real(dp), dimension(:,:), intent(in)  latwat,
real(dp), dimension(:,:), intent(in)  cosmic_l3,
real(dp), dimension(:,:), intent(inout)  l1_bulkdens,
real(dp), dimension(:,:), intent(inout)  l1_latticewater,
real(dp), dimension(:,:), intent(inout)  l1_cosmicl3 
)

upscale soil moisture horizons

calculate soil properties at the level 1. Global parameters needed (see mhm_parameter.nml):

  • param(1) = rootFractionCoefficient_forest
  • param(2) = rootFractionCoefficient_impervious
  • param(3) = rootFractionCoefficient_pervious
  • param(4) = infiltrationShapeFactor
    Parameters
    [in]real(dp), dimension(:) :: paramparameters
    [in]integer(i4), dimension(:, :) :: processMatrix- matrix specifying user defined processes
    [in]integer(i4) :: iFlag_soil- flags for handling multiple soil databases
    [in]integer(i4) :: nHorizons_mHM- number of horizons to model
    [in]real(dp), dimension(:) :: HorizonDepth[10^-3 m] horizon depth from surface, postive downwards
    [in]integer(i4), dimension(:) :: LCOVER0Land cover at level 0
    [in]integer(i4), dimension(:, :) :: soilID0soil ID at level 0
    [in]integer(i4), dimension(:) :: nHorizonshorizons per soil type
    [in]integer(i4), dimension(:) :: nTillHorizonsNumber of Tillage horizons
    [in]real(dp), dimension(:, :, :) :: thetaS_tillsaturated water content of soil horizons upto tillage depth, f(OM, management)
    [in]real(dp), dimension(:, :, :) :: thetaFC_tillField capacity of tillage layers; LUC dependent, f(OM, management)
    [in]real(dp), dimension(:, :, :) :: thetaPW_tillPermament wilting point of tillage layers; LUC dependent, f(OM, management)
    [in]real(dp), dimension(:, :) :: thetaSsaturated water content of soil horizons after tillage depth
    [in]real(dp), dimension(:, :) :: thetaFCField capacity of deeper layers
    [in]real(dp), dimension(:, :) :: thetaPWPermanent wilting point of deeper layers
    [in]real(dp), dimension(:, :, :) :: Wdweights of mHM Horizons according to horizons provided in soil database
    [in]real(dp), dimension(:, :, :) :: DbBulk density
    [in]real(dp), dimension(:, :) :: DbMmineral Bulk density
    [in]real(dp), dimension(:) :: RZdepth[mm] Total soil depth
    [in]logical, dimension(:, :) :: mask0mask at L0
    [in]integer(i4), dimension(:) :: cell_id0Cell ids of hi res field
    [in]integer(i4), dimension(:) :: upp_row_L1Upper row of hi res block
    [in]integer(i4), dimension(:) :: low_row_L1Lower row of hi res block
    [in]integer(i4), dimension(:) :: lef_col_L1Left column of hi res block
    [in]integer(i4), dimension(:) :: rig_col_L1Right column of hi res block
    [in]integer(i4), dimension(:) :: nL0_in_L1Number of L0 cells within a L1 cel
    [in,out]real(dp), dimension(:, :) :: L1_betaParameter that determines the relative contribution to SM, upscaled Bulk density
    [in,out]real(dp), dimension(:, :) :: L1_SMs[10^-3 m] depth of saturated SM cont
    [in,out]real(dp), dimension(:, :) :: L1_FC[10^-3 m] field capacity
    [in,out]real(dp), dimension(:, :) :: L1_PW[10^-3 m] permanent wilting point
    [in,out]real(dp), dimension(:, :) :: L1_fRootsfraction of roots in soil horizons
    Authors
    Luis Samaniego, Rohini Kumar, Stephan Thober
    Date
    Dec 2012

Definition at line 120 of file mo_mpr_smhorizons.f90.

References mo_common_constants::nodata_dp, and mo_upscaling_operators::upscale_harmonic_mean().

Referenced by mo_multi_param_reg::mpr().

Here is the call graph for this function:
Here is the caller graph for this function: