SoilTemperatureMod Module



Subroutines

public subroutine SoilTemperature(bounds, num_urbanl, filter_urbanl, num_nolakec, filter_nolakec, atm2lnd_inst, urbanparams_inst, canopystate_inst, waterstate_inst, waterflux_inst, solarabs_inst, soilstate_inst, energyflux_inst, temperature_inst, urbantv_inst)

Arguments

Type IntentOptional Attributes Name
type(bounds_type), intent(in) :: bounds
integer, intent(in) :: num_urbanl
integer, intent(in) :: filter_urbanl(:)
integer, intent(in) :: num_nolakec
integer, intent(in) :: filter_nolakec(:)
type(atm2lnd_type), intent(in) :: atm2lnd_inst
type(urbanparams_type), intent(in) :: urbanparams_inst
type(CanopyState_type), intent(in) :: canopystate_inst
type(waterstate_type), intent(inout) :: waterstate_inst
type(waterflux_type), intent(inout) :: waterflux_inst
type(solarabs_type), intent(inout) :: solarabs_inst
type(soilstate_type), intent(inout) :: soilstate_inst
type(energyflux_type), intent(inout) :: energyflux_inst
type(temperature_type), intent(inout) :: temperature_inst
type(urbantv_type), intent(in) :: urbantv_inst

public subroutine ComputeGroundHeatFluxAndDeriv(bounds, num_nolakec, filter_nolakec, hs_h2osfc, hs_top_snow, hs_soil, hs_top, dhsdT, sabg_lyr_col, atm2lnd_inst, urbanparams_inst, canopystate_inst, waterstate_inst, waterflux_inst, solarabs_inst, energyflux_inst, temperature_inst)

Arguments

Type IntentOptional Attributes Name
type(bounds_type), intent(in) :: bounds
integer, intent(in) :: num_nolakec
integer, intent(in) :: filter_nolakec(:)
real(kind=r8), intent(out) :: hs_h2osfc(bounds%begc:)
real(kind=r8), intent(out) :: hs_top_snow(bounds%begc:)
real(kind=r8), intent(out) :: hs_soil(bounds%begc:)
real(kind=r8), intent(out) :: hs_top(bounds%begc:)
real(kind=r8), intent(out) :: dhsdT(bounds%begc:)
real(kind=r8), intent(out) :: sabg_lyr_col(bounds%begc:,-nlevsno+1:)
type(atm2lnd_type), intent(in) :: atm2lnd_inst
type(urbanparams_type), intent(in) :: urbanparams_inst
type(CanopyState_type), intent(in) :: canopystate_inst
type(waterstate_type), intent(in) :: waterstate_inst
type(waterflux_type), intent(in) :: waterflux_inst
type(solarabs_type), intent(inout) :: solarabs_inst
type(energyflux_type), intent(inout) :: energyflux_inst
type(temperature_type), intent(in) :: temperature_inst

public subroutine ComputeHeatDiffFluxAndFactor(bounds, num_nolakec, filter_nolakec, dtime, tk, cv, fn, fact, energyflux_inst, temperature_inst)

Arguments

Type IntentOptional Attributes Name
type(bounds_type), intent(in) :: bounds
integer, intent(in) :: num_nolakec
integer, intent(in) :: filter_nolakec(:)
real(kind=r8), intent(in) :: dtime
real(kind=r8), intent(in) :: tk(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: cv(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(out) :: fn(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(out) :: fact(bounds%begc:,-nlevsno+1:)
type(energyflux_type), intent(in) :: energyflux_inst
type(temperature_type), intent(in) :: temperature_inst

public subroutine SetRHSVec(bounds, num_nolakec, filter_nolakec, dtime, hs_h2osfc, hs_top_snow, hs_soil, hs_top, dhsdT, sabg_lyr_col, tk, tk_h2osfc, fact, fn, c_h2osfc, dz_h2osfc, temperature_inst, waterstate_inst, rvector)

Arguments

Type IntentOptional Attributes Name
type(bounds_type), intent(in) :: bounds
integer, intent(in) :: num_nolakec
integer, intent(in) :: filter_nolakec(:)
real(kind=r8), intent(in) :: dtime
real(kind=r8), intent(in) :: hs_h2osfc(bounds%begc:)
real(kind=r8), intent(in) :: hs_top_snow(bounds%begc:)
real(kind=r8), intent(in) :: hs_soil(bounds%begc:)
real(kind=r8), intent(in) :: hs_top(bounds%begc:)
real(kind=r8), intent(in) :: dhsdT(bounds%begc:)
real(kind=r8), intent(in) :: sabg_lyr_col(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: tk(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: tk_h2osfc(bounds%begc:)
real(kind=r8), intent(in) :: fact(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: fn(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: c_h2osfc(bounds%begc:)
real(kind=r8), intent(in) :: dz_h2osfc(bounds%begc:)
type(temperature_type), intent(in) :: temperature_inst
type(waterstate_type), intent(in) :: waterstate_inst
real(kind=r8), intent(out) :: rvector(bounds%begc:,-nlevsno:)

public subroutine SetRHSVec_Snow(bounds, num_nolakec, filter_nolakec, hs_top_snow, hs_top, dhsdT, sabg_lyr_col, fact, fn, t_soisno, t_h2osfc, rt)

Arguments

Type IntentOptional Attributes Name
type(bounds_type), intent(in) :: bounds
integer, intent(in) :: num_nolakec
integer, intent(in) :: filter_nolakec(:)
real(kind=r8), intent(in) :: hs_top_snow(bounds%begc:)
real(kind=r8), intent(in) :: hs_top(bounds%begc:)
real(kind=r8), intent(in) :: dhsdT(bounds%begc:)
real(kind=r8), intent(in) :: sabg_lyr_col(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: fact(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: fn(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: t_soisno(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: t_h2osfc(bounds%begc:)
real(kind=r8), intent(out) :: rt(bounds%begc:,-nlevsno:)

public subroutine SetRHSVec_SnowUrban(bounds, num_nolakec, filter_nolakec, hs_top_snow, hs_top, dhsdT, sabg_lyr_col, fact, fn, t_soisno, t_h2osfc, rt)

Arguments

Type IntentOptional Attributes Name
type(bounds_type), intent(in) :: bounds
integer, intent(in) :: num_nolakec
integer, intent(in) :: filter_nolakec(:)
real(kind=r8), intent(in) :: hs_top_snow(bounds%begc:)
real(kind=r8), intent(in) :: hs_top(bounds%begc:)
real(kind=r8), intent(in) :: dhsdT(bounds%begc:)
real(kind=r8), intent(in) :: sabg_lyr_col(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: fact(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: fn(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: t_soisno(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: t_h2osfc(bounds%begc:)
real(kind=r8), intent(inout) :: rt(bounds%begc:,-nlevsno:)

public subroutine SetRHSVec_SnowUrbanNonRoad(bounds, num_nolakec, filter_nolakec, hs_top_snow, hs_top, dhsdT, sabg_lyr_col, fact, fn, t_soisno, rt)

Arguments

Type IntentOptional Attributes Name
type(bounds_type), intent(in) :: bounds
integer, intent(in) :: num_nolakec
integer, intent(in) :: filter_nolakec(:)
real(kind=r8), intent(in) :: hs_top_snow(bounds%begc:)
real(kind=r8), intent(in) :: hs_top(bounds%begc:)
real(kind=r8), intent(in) :: dhsdT(bounds%begc:)
real(kind=r8), intent(in) :: sabg_lyr_col(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: fact(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: fn(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: t_soisno(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(inout) :: rt(bounds%begc:,-nlevsno:)

public subroutine SetRHSVec_SnowUrbanRoad(bounds, num_nolakec, filter_nolakec, hs_top_snow, hs_top, dhsdT, sabg_lyr_col, fact, fn, t_soisno, t_h2osfc, rt)

Arguments

Type IntentOptional Attributes Name
type(bounds_type), intent(in) :: bounds
integer, intent(in) :: num_nolakec
integer, intent(in) :: filter_nolakec(:)
real(kind=r8), intent(in) :: hs_top_snow(bounds%begc:)
real(kind=r8), intent(in) :: hs_top(bounds%begc:)
real(kind=r8), intent(in) :: dhsdT(bounds%begc:)
real(kind=r8), intent(in) :: sabg_lyr_col(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: fact(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: fn(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: t_soisno(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: t_h2osfc(bounds%begc:)
real(kind=r8), intent(inout) :: rt(bounds%begc:,-nlevsno:)

public subroutine SetRHSVec_SnowNonUrban(bounds, num_nolakec, filter_nolakec, hs_top_snow, hs_top, dhsdT, sabg_lyr_col, fact, fn, t_soisno, rt)

Arguments

Type IntentOptional Attributes Name
type(bounds_type), intent(in) :: bounds
integer, intent(in) :: num_nolakec
integer, intent(in) :: filter_nolakec(:)
real(kind=r8), intent(in) :: hs_top_snow(bounds%begc:)
real(kind=r8), intent(in) :: hs_top(bounds%begc:)
real(kind=r8), intent(in) :: dhsdT(bounds%begc:)
real(kind=r8), intent(in) :: sabg_lyr_col(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: fact(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: fn(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: t_soisno(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(inout) :: rt(bounds%begc:,-nlevsno:)

public subroutine SetRHSVec_StandingSurfaceWater(bounds, num_nolakec, filter_nolakec, dtime, hs_h2osfc, dhsdT, tk_h2osfc, c_h2osfc, dz_h2osfc, fn_h2osfc, t_soisno, t_h2osfc, rt)

Arguments

Type IntentOptional Attributes Name
type(bounds_type), intent(in) :: bounds
integer, intent(in) :: num_nolakec
integer, intent(in) :: filter_nolakec(:)
real(kind=r8), intent(in) :: dtime
real(kind=r8), intent(in) :: hs_h2osfc(bounds%begc:)
real(kind=r8), intent(in) :: dhsdT(bounds%begc:)
real(kind=r8), intent(in) :: tk_h2osfc(bounds%begc:)
real(kind=r8), intent(in) :: c_h2osfc(bounds%begc:)
real(kind=r8), intent(in) :: dz_h2osfc(bounds%begc:)
real(kind=r8), intent(out) :: fn_h2osfc(bounds%begc:)
real(kind=r8), intent(in) :: t_soisno(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: t_h2osfc(bounds%begc:)
real(kind=r8), intent(out) :: rt(bounds%begc:,1:)

public subroutine SetRHSVec_Soil(bounds, num_nolakec, filter_nolakec, hs_top_snow, hs_soil, hs_top, dhsdT, sabg_lyr_col, fact, fn, fn_h2osfc, c_h2osfc, frac_h2osfc, frac_sno_eff, t_soisno, rt)

Arguments

Type IntentOptional Attributes Name
type(bounds_type), intent(in) :: bounds
integer, intent(in) :: num_nolakec
integer, intent(in) :: filter_nolakec(:)
real(kind=r8), intent(in) :: hs_top_snow(bounds%begc:)
real(kind=r8), intent(in) :: hs_soil(bounds%begc:)
real(kind=r8), intent(in) :: hs_top(bounds%begc:)
real(kind=r8), intent(in) :: dhsdT(bounds%begc:)
real(kind=r8), intent(in) :: sabg_lyr_col(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: fact(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: fn(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: fn_h2osfc(bounds%begc:)
real(kind=r8), intent(in) :: c_h2osfc(bounds%begc:)
real(kind=r8), intent(in) :: frac_h2osfc(bounds%begc:)
real(kind=r8), intent(in) :: frac_sno_eff(bounds%begc:)
real(kind=r8), intent(in) :: t_soisno(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(out) :: rt(bounds%begc:,1:)

public subroutine SetRHSVec_SoilUrban(bounds, num_nolakec, filter_nolakec, hs_top_snow, hs_soil, hs_top, dhsdT, sabg_lyr_col, fact, fn, fn_h2osfc, c_h2osfc, frac_sno_eff, t_soisno, rt)

Arguments

Type IntentOptional Attributes Name
type(bounds_type), intent(in) :: bounds
integer, intent(in) :: num_nolakec
integer, intent(in) :: filter_nolakec(:)
real(kind=r8), intent(in) :: hs_top_snow(bounds%begc:)
real(kind=r8), intent(in) :: hs_soil(bounds%begc:)
real(kind=r8), intent(in) :: hs_top(bounds%begc:)
real(kind=r8), intent(in) :: dhsdT(bounds%begc:)
real(kind=r8), intent(in) :: sabg_lyr_col(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: fact(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: fn(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: fn_h2osfc(bounds%begc:)
real(kind=r8), intent(in) :: c_h2osfc(bounds%begc:)
real(kind=r8), intent(in) :: frac_sno_eff(bounds%begc:)
real(kind=r8), intent(in) :: t_soisno(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(inout) :: rt(bounds%begc:,1:)

public subroutine SetRHSVec_SoilUrbanNonRoad(bounds, num_nolakec, filter_nolakec, hs_top_snow, hs_soil, hs_top, dhsdT, sabg_lyr_col, fact, fn, fn_h2osfc, c_h2osfc, t_soisno, rt)

Arguments

Type IntentOptional Attributes Name
type(bounds_type), intent(in) :: bounds
integer, intent(in) :: num_nolakec
integer, intent(in) :: filter_nolakec(:)
real(kind=r8), intent(in) :: hs_top_snow(bounds%begc:)
real(kind=r8), intent(in) :: hs_soil(bounds%begc:)
real(kind=r8), intent(in) :: hs_top(bounds%begc:)
real(kind=r8), intent(in) :: dhsdT(bounds%begc:)
real(kind=r8), intent(in) :: sabg_lyr_col(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: fact(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: fn(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: fn_h2osfc(bounds%begc:)
real(kind=r8), intent(in) :: c_h2osfc(bounds%begc:)
real(kind=r8), intent(in) :: t_soisno(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(inout) :: rt(bounds%begc:,1:)

public subroutine SetRHSVec_SoilUrbanRoad(bounds, num_nolakec, filter_nolakec, hs_top_snow, hs_soil, hs_top, dhsdT, sabg_lyr_col, fact, fn, fn_h2osfc, c_h2osfc, frac_sno_eff, t_soisno, rt)

Arguments

Type IntentOptional Attributes Name
type(bounds_type), intent(in) :: bounds
integer, intent(in) :: num_nolakec
integer, intent(in) :: filter_nolakec(:)
real(kind=r8), intent(in) :: hs_top_snow(bounds%begc:)
real(kind=r8), intent(in) :: hs_soil(bounds%begc:)
real(kind=r8), intent(in) :: hs_top(bounds%begc:)
real(kind=r8), intent(in) :: dhsdT(bounds%begc:)
real(kind=r8), intent(in) :: sabg_lyr_col(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: fact(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: fn(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: fn_h2osfc(bounds%begc:)
real(kind=r8), intent(in) :: c_h2osfc(bounds%begc:)
real(kind=r8), intent(in) :: frac_sno_eff(bounds%begc:)
real(kind=r8), intent(in) :: t_soisno(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(inout) :: rt(bounds%begc:,1:)

public subroutine SetRHSVec_SoilNonUrban(bounds, num_nolakec, filter_nolakec, hs_top_snow, hs_soil, hs_top, dhsdT, sabg_lyr_col, fact, fn, fn_h2osfc, c_h2osfc, frac_sno_eff, t_soisno, rt)

Arguments

Type IntentOptional Attributes Name
type(bounds_type), intent(in) :: bounds
integer, intent(in) :: num_nolakec
integer, intent(in) :: filter_nolakec(:)
real(kind=r8), intent(in) :: hs_top_snow(bounds%begc:)
real(kind=r8), intent(in) :: hs_soil(bounds%begc:)
real(kind=r8), intent(in) :: hs_top(bounds%begc:)
real(kind=r8), intent(in) :: dhsdT(bounds%begc:)
real(kind=r8), intent(in) :: sabg_lyr_col(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: fact(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: fn(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: fn_h2osfc(bounds%begc:)
real(kind=r8), intent(in) :: c_h2osfc(bounds%begc:)
real(kind=r8), intent(in) :: frac_sno_eff(bounds%begc:)
real(kind=r8), intent(in) :: t_soisno(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(inout) :: rt(bounds%begc:,1:)

public subroutine SetRHSVec_Soil_StandingSurfaceWater(bounds, num_nolakec, filter_nolakec, hs_top_snow, hs_soil, hs_top, dhsdT, sabg_lyr_col, fact, fn, fn_h2osfc, c_h2osfc, frac_h2osfc, t_soisno, rt)

Arguments

Type IntentOptional Attributes Name
type(bounds_type), intent(in) :: bounds
integer, intent(in) :: num_nolakec
integer, intent(in) :: filter_nolakec(:)
real(kind=r8), intent(in) :: hs_top_snow(bounds%begc:)
real(kind=r8), intent(in) :: hs_soil(bounds%begc:)
real(kind=r8), intent(in) :: hs_top(bounds%begc:)
real(kind=r8), intent(in) :: dhsdT(bounds%begc:)
real(kind=r8), intent(in) :: sabg_lyr_col(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: fact(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: fn(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: fn_h2osfc(bounds%begc:)
real(kind=r8), intent(in) :: c_h2osfc(bounds%begc:)
real(kind=r8), intent(in) :: frac_h2osfc(bounds%begc:)
real(kind=r8), intent(in) :: t_soisno(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(inout) :: rt(bounds%begc:,1:)

public subroutine SetMatrix(bounds, num_nolakec, filter_nolakec, dtime, nband, dhsdT, tk, tk_h2osfc, fact, c_h2osfc, dz_h2osfc, waterstate_inst, bmatrix)

Arguments

Type IntentOptional Attributes Name
type(bounds_type), intent(in) :: bounds
integer, intent(in) :: num_nolakec
integer, intent(in) :: filter_nolakec(:)
real(kind=r8), intent(in) :: dtime
integer, intent(in) :: nband
real(kind=r8), intent(in) :: dhsdT(bounds%begc:)
real(kind=r8), intent(in) :: tk(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: tk_h2osfc(bounds%begc:)
real(kind=r8), intent(in) :: fact(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: c_h2osfc(bounds%begc:)
real(kind=r8), intent(in) :: dz_h2osfc(bounds%begc:)
type(waterstate_type), intent(in) :: waterstate_inst
real(kind=r8), intent(out) :: bmatrix(bounds%begc:,1:,-nlevsno:)

public subroutine AssembleMatrixFromSubmatrices(bounds, num_nolakec, filter_nolakec, nband, bmatrix_snow, bmatrix_ssw, bmatrix_soil, bmatrix_snow_soil, bmatrix_ssw_soil, bmatrix_soil_snow, bmatrix_soil_ssw, bmatrix)

Arguments

Type IntentOptional Attributes Name
type(bounds_type), intent(in) :: bounds
integer, intent(in) :: num_nolakec
integer, intent(in) :: filter_nolakec(:)
integer, intent(in) :: nband
real(kind=r8), intent(in) :: bmatrix_snow(bounds%begc:,1:,-nlevsno:)
real(kind=r8), intent(in) :: bmatrix_ssw(bounds%begc:,1:,0:)
real(kind=r8), intent(in) :: bmatrix_soil(bounds%begc:,1:,1:)
real(kind=r8), intent(in) :: bmatrix_snow_soil(bounds%begc:,1:,-1:)
real(kind=r8), intent(in) :: bmatrix_ssw_soil(bounds%begc:,1:,0:)
real(kind=r8), intent(in) :: bmatrix_soil_snow(bounds%begc:,1:,1:)
real(kind=r8), intent(in) :: bmatrix_soil_ssw(bounds%begc:,1:,1:)
real(kind=r8), intent(out) :: bmatrix(bounds%begc:,1:,-nlevsno:)

public subroutine SetMatrix_Snow(bounds, num_nolakec, filter_nolakec, nband, dhsdT, tk, fact, frac_sno_eff, bmatrix_snow)

Arguments

Type IntentOptional Attributes Name
type(bounds_type), intent(in) :: bounds
integer, intent(in) :: num_nolakec
integer, intent(in) :: filter_nolakec(:)
integer, intent(in) :: nband
real(kind=r8), intent(in) :: dhsdT(bounds%begc:)
real(kind=r8), intent(in) :: tk(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: fact(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: frac_sno_eff(bounds%begc:)
real(kind=r8), intent(out) :: bmatrix_snow(bounds%begc:,1:,-nlevsno:)

public subroutine SetMatrix_SnowUrban(bounds, num_nolakec, filter_nolakec, nband, dhsdT, tk, fact, bmatrix_snow)

Arguments

Type IntentOptional Attributes Name
type(bounds_type), intent(in) :: bounds
integer, intent(in) :: num_nolakec
integer, intent(in) :: filter_nolakec(:)
integer, intent(in) :: nband
real(kind=r8), intent(in) :: dhsdT(bounds%begc:)
real(kind=r8), intent(in) :: tk(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: fact(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(inout) :: bmatrix_snow(bounds%begc:,1:,-nlevsno:)

public subroutine SetMatrix_SnowUrbanNonRoad(bounds, num_nolakec, filter_nolakec, nband, dhsdT, tk, fact, bmatrix_snow)

Arguments

Type IntentOptional Attributes Name
type(bounds_type), intent(in) :: bounds
integer, intent(in) :: num_nolakec
integer, intent(in) :: filter_nolakec(:)
integer, intent(in) :: nband
real(kind=r8), intent(in) :: dhsdT(bounds%begc:)
real(kind=r8), intent(in) :: tk(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: fact(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(inout) :: bmatrix_snow(bounds%begc:,1:,-nlevsno:)

public subroutine SetMatrix_SnowUrbanRoad(bounds, num_nolakec, filter_nolakec, nband, dhsdT, tk, fact, bmatrix_snow)

Arguments

Type IntentOptional Attributes Name
type(bounds_type), intent(in) :: bounds
integer, intent(in) :: num_nolakec
integer, intent(in) :: filter_nolakec(:)
integer, intent(in) :: nband
real(kind=r8), intent(in) :: dhsdT(bounds%begc:)
real(kind=r8), intent(in) :: tk(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: fact(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(inout) :: bmatrix_snow(bounds%begc:,1:,-nlevsno:)

public subroutine SetMatrix_SnowNonUrban(bounds, num_nolakec, filter_nolakec, nband, dhsdT, tk, fact, bmatrix_snow)

Arguments

Type IntentOptional Attributes Name
type(bounds_type), intent(in) :: bounds
integer, intent(in) :: num_nolakec
integer, intent(in) :: filter_nolakec(:)
integer, intent(in) :: nband
real(kind=r8), intent(in) :: dhsdT(bounds%begc:)
real(kind=r8), intent(in) :: tk(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: fact(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(inout) :: bmatrix_snow(bounds%begc:,1:,-nlevsno:)

public subroutine SetMatrix_Snow_Soil(bounds, num_nolakec, filter_nolakec, nband, tk, fact, bmatrix_snow_soil)

Arguments

Type IntentOptional Attributes Name
type(bounds_type), intent(in) :: bounds
integer, intent(in) :: num_nolakec
integer, intent(in) :: filter_nolakec(:)
integer, intent(in) :: nband
real(kind=r8), intent(in) :: tk(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: fact(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(out) :: bmatrix_snow_soil(bounds%begc:,1:,-1:)

public subroutine SetMatrix_Snow_SoilUrban(bounds, num_nolakec, filter_nolakec, nband, tk, fact, bmatrix_snow_soil)

Arguments

Type IntentOptional Attributes Name
type(bounds_type), intent(in) :: bounds
integer, intent(in) :: num_nolakec
integer, intent(in) :: filter_nolakec(:)
integer, intent(in) :: nband
real(kind=r8), intent(in) :: tk(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: fact(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(inout) :: bmatrix_snow_soil(bounds%begc:,1:,-1:)

public subroutine SetMatrix_Snow_SoilUrbanNonRoad(bounds, num_nolakec, filter_nolakec, nband, tk, fact, bmatrix_snow_soil)

Arguments

Type IntentOptional Attributes Name
type(bounds_type), intent(in) :: bounds
integer, intent(in) :: num_nolakec
integer, intent(in) :: filter_nolakec(:)
integer, intent(in) :: nband
real(kind=r8), intent(in) :: tk(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: fact(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(inout) :: bmatrix_snow_soil(bounds%begc:,1:,-1:)

public subroutine SetMatrix_Snow_SoilUrbanRoad(bounds, num_nolakec, filter_nolakec, nband, tk, fact, bmatrix_snow_soil)

Arguments

Type IntentOptional Attributes Name
type(bounds_type), intent(in) :: bounds
integer, intent(in) :: num_nolakec
integer, intent(in) :: filter_nolakec(:)
integer, intent(in) :: nband
real(kind=r8), intent(in) :: tk(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: fact(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(inout) :: bmatrix_snow_soil(bounds%begc:,1:,-1:)

public subroutine SetMatrix_Snow_SoilNonUrban(bounds, num_nolakec, filter_nolakec, nband, tk, fact, bmatrix_snow_soil)

Arguments

Type IntentOptional Attributes Name
type(bounds_type), intent(in) :: bounds
integer, intent(in) :: num_nolakec
integer, intent(in) :: filter_nolakec(:)
integer, intent(in) :: nband
real(kind=r8), intent(in) :: tk(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: fact(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(inout) :: bmatrix_snow_soil(bounds%begc:,1:,-1:)

public subroutine SetMatrix_Soil(bounds, num_nolakec, filter_nolakec, nband, dhsdT, tk, tk_h2osfc, dz_h2osfc, fact, frac_h2osfc, frac_sno_eff, bmatrix_soil)

Arguments

Type IntentOptional Attributes Name
type(bounds_type), intent(in) :: bounds
integer, intent(in) :: num_nolakec
integer, intent(in) :: filter_nolakec(:)
integer, intent(in) :: nband
real(kind=r8), intent(in) :: dhsdT(bounds%begc:)
real(kind=r8), intent(in) :: tk(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: tk_h2osfc(bounds%begc:)
real(kind=r8), intent(in) :: dz_h2osfc(bounds%begc:)
real(kind=r8), intent(in) :: fact(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: frac_h2osfc(bounds%begc:)
real(kind=r8), intent(in) :: frac_sno_eff(bounds%begc:)
real(kind=r8), intent(out) :: bmatrix_soil(bounds%begc:,1:,1:)

public subroutine SetMatrix_SoilUrban(bounds, num_nolakec, filter_nolakec, nband, dhsdT, tk, tk_h2osfc, dz_h2osfc, fact, frac_sno_eff, bmatrix_soil)

Arguments

Type IntentOptional Attributes Name
type(bounds_type), intent(in) :: bounds
integer, intent(in) :: num_nolakec
integer, intent(in) :: filter_nolakec(:)
integer, intent(in) :: nband
real(kind=r8), intent(in) :: dhsdT(bounds%begc:)
real(kind=r8), intent(in) :: tk(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: tk_h2osfc(bounds%begc:)
real(kind=r8), intent(in) :: dz_h2osfc(bounds%begc:)
real(kind=r8), intent(in) :: fact(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: frac_sno_eff(bounds%begc:)
real(kind=r8), intent(inout) :: bmatrix_soil(bounds%begc:,1:,1:)

public subroutine SetMatrix_SoilUrbanNonRoad(bounds, num_nolakec, filter_nolakec, nband, dhsdT, tk, tk_h2osfc, dz_h2osfc, fact, bmatrix_soil)

Arguments

Type IntentOptional Attributes Name
type(bounds_type), intent(in) :: bounds
integer, intent(in) :: num_nolakec
integer, intent(in) :: filter_nolakec(:)
integer, intent(in) :: nband
real(kind=r8), intent(in) :: dhsdT(bounds%begc:)
real(kind=r8), intent(in) :: tk(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: tk_h2osfc(bounds%begc:)
real(kind=r8), intent(in) :: dz_h2osfc(bounds%begc:)
real(kind=r8), intent(in) :: fact(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(inout) :: bmatrix_soil(bounds%begc:,1:,1:)

public subroutine SetMatrix_SoilUrbanRoad(bounds, num_nolakec, filter_nolakec, nband, dhsdT, tk, tk_h2osfc, dz_h2osfc, fact, frac_sno_eff, bmatrix_soil)

Arguments

Type IntentOptional Attributes Name
type(bounds_type), intent(in) :: bounds
integer, intent(in) :: num_nolakec
integer, intent(in) :: filter_nolakec(:)
integer, intent(in) :: nband
real(kind=r8), intent(in) :: dhsdT(bounds%begc:)
real(kind=r8), intent(in) :: tk(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: tk_h2osfc(bounds%begc:)
real(kind=r8), intent(in) :: dz_h2osfc(bounds%begc:)
real(kind=r8), intent(in) :: fact(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: frac_sno_eff(bounds%begc:)
real(kind=r8), intent(inout) :: bmatrix_soil(bounds%begc:,1:,1:)

public subroutine SetMatrix_SoilNonUrban(bounds, num_nolakec, filter_nolakec, nband, dhsdT, tk, tk_h2osfc, dz_h2osfc, fact, frac_sno_eff, bmatrix_soil)

Arguments

Type IntentOptional Attributes Name
type(bounds_type), intent(in) :: bounds
integer, intent(in) :: num_nolakec
integer, intent(in) :: filter_nolakec(:)
integer, intent(in) :: nband
real(kind=r8), intent(in) :: dhsdT(bounds%begc:)
real(kind=r8), intent(in) :: tk(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: tk_h2osfc(bounds%begc:)
real(kind=r8), intent(in) :: dz_h2osfc(bounds%begc:)
real(kind=r8), intent(in) :: fact(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: frac_sno_eff(bounds%begc:)
real(kind=r8), intent(inout) :: bmatrix_soil(bounds%begc:,1:,1:)

public subroutine SetMatrix_Soil_Snow(bounds, num_nolakec, filter_nolakec, nband, tk, fact, frac_sno_eff, bmatrix_soil_snow)

Arguments

Type IntentOptional Attributes Name
type(bounds_type), intent(in) :: bounds
integer, intent(in) :: num_nolakec
integer, intent(in) :: filter_nolakec(:)
integer, intent(in) :: nband
real(kind=r8), intent(in) :: tk(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: fact(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: frac_sno_eff(bounds%begc:)
real(kind=r8), intent(out) :: bmatrix_soil_snow(bounds%begc:,1:,1:)

public subroutine SetMatrix_Soil_SnowUrban(bounds, num_nolakec, filter_nolakec, nband, tk, fact, frac_sno_eff, bmatrix_soil_snow)

Arguments

Type IntentOptional Attributes Name
type(bounds_type), intent(in) :: bounds
integer, intent(in) :: num_nolakec
integer, intent(in) :: filter_nolakec(:)
integer, intent(in) :: nband
real(kind=r8), intent(in) :: tk(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: fact(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: frac_sno_eff(bounds%begc:)
real(kind=r8), intent(inout) :: bmatrix_soil_snow(bounds%begc:,1:,1:)

public subroutine SetMatrix_Soil_SnowUrbanNonRoad(bounds, num_nolakec, filter_nolakec, nband, tk, fact, bmatrix_soil_snow)

Arguments

Type IntentOptional Attributes Name
type(bounds_type), intent(in) :: bounds
integer, intent(in) :: num_nolakec
integer, intent(in) :: filter_nolakec(:)
integer, intent(in) :: nband
real(kind=r8), intent(in) :: tk(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: fact(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(inout) :: bmatrix_soil_snow(bounds%begc:,1:,1:)

public subroutine SetMatrix_Soil_SnowUrbanRoad(bounds, num_nolakec, filter_nolakec, nband, tk, fact, frac_sno_eff, bmatrix_soil_snow)

Arguments

Type IntentOptional Attributes Name
type(bounds_type), intent(in) :: bounds
integer, intent(in) :: num_nolakec
integer, intent(in) :: filter_nolakec(:)
integer, intent(in) :: nband
real(kind=r8), intent(in) :: tk(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: fact(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: frac_sno_eff(bounds%begc:)
real(kind=r8), intent(inout) :: bmatrix_soil_snow(bounds%begc:,1:,1:)

public subroutine SetMatrix_Soil_SnowNonUrban(bounds, num_nolakec, filter_nolakec, nband, tk, fact, frac_sno_eff, bmatrix_soil_snow)

Arguments

Type IntentOptional Attributes Name
type(bounds_type), intent(in) :: bounds
integer, intent(in) :: num_nolakec
integer, intent(in) :: filter_nolakec(:)
integer, intent(in) :: nband
real(kind=r8), intent(in) :: tk(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: fact(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: frac_sno_eff(bounds%begc:)
real(kind=r8), intent(inout) :: bmatrix_soil_snow(bounds%begc:,1:,1:)

public subroutine SetMatrix_StandingSurfaceWater(bounds, num_nolakec, filter_nolakec, dtime, nband, dhsdT, tk, tk_h2osfc, fact, c_h2osfc, dz_h2osfc, bmatrix_ssw)

Arguments

Type IntentOptional Attributes Name
type(bounds_type), intent(in) :: bounds
integer, intent(in) :: num_nolakec
integer, intent(in) :: filter_nolakec(:)
real(kind=r8), intent(in) :: dtime
integer, intent(in) :: nband
real(kind=r8), intent(in) :: dhsdT(bounds%begc:)
real(kind=r8), intent(in) :: tk(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: tk_h2osfc(bounds%begc:)
real(kind=r8), intent(in) :: fact(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: c_h2osfc(bounds%begc:)
real(kind=r8), intent(in) :: dz_h2osfc(bounds%begc:)
real(kind=r8), intent(out) :: bmatrix_ssw(bounds%begc:,1:,0:)

public subroutine SetMatrix_StandingSurfaceWater_Soil(bounds, num_nolakec, filter_nolakec, dtime, nband, tk, tk_h2osfc, fact, c_h2osfc, dz_h2osfc, bmatrix_ssw_soil)

Arguments

Type IntentOptional Attributes Name
type(bounds_type), intent(in) :: bounds
integer, intent(in) :: num_nolakec
integer, intent(in) :: filter_nolakec(:)
real(kind=r8), intent(in) :: dtime
integer, intent(in) :: nband
real(kind=r8), intent(in) :: tk(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: tk_h2osfc(bounds%begc:)
real(kind=r8), intent(in) :: fact(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: c_h2osfc(bounds%begc:)
real(kind=r8), intent(in) :: dz_h2osfc(bounds%begc:)
real(kind=r8), intent(out) :: bmatrix_ssw_soil(bounds%begc:,1:,0:)

public subroutine SetMatrix_Soil_StandingSurfaceWater(bounds, num_nolakec, filter_nolakec, nband, tk_h2osfc, fact, dz_h2osfc, frac_h2osfc, bmatrix_soil_ssw)

Arguments

Type IntentOptional Attributes Name
type(bounds_type), intent(in) :: bounds
integer, intent(in) :: num_nolakec
integer, intent(in) :: filter_nolakec(:)
integer, intent(in) :: nband
real(kind=r8), intent(in) :: tk_h2osfc(bounds%begc:)
real(kind=r8), intent(in) :: fact(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: dz_h2osfc(bounds%begc:)
real(kind=r8), intent(in) :: frac_h2osfc(bounds%begc:)
real(kind=r8), intent(out) :: bmatrix_soil_ssw(bounds%begc:,1:,1:)