SnowHydrologyMod Module



Variables

Type Visibility Attributes Name Initial
real(kind=r8), public, parameter :: scvng_fct_mlt_bcphi = 0.20_r8
real(kind=r8), public, parameter :: scvng_fct_mlt_bcpho = 0.03_r8
real(kind=r8), public, parameter :: scvng_fct_mlt_ocphi = 0.20_r8
real(kind=r8), public, parameter :: scvng_fct_mlt_ocpho = 0.03_r8
real(kind=r8), public, parameter :: scvng_fct_mlt_dst1 = 0.02_r8
real(kind=r8), public, parameter :: scvng_fct_mlt_dst2 = 0.02_r8
real(kind=r8), public, parameter :: scvng_fct_mlt_dst3 = 0.01_r8
real(kind=r8), public, parameter :: scvng_fct_mlt_dst4 = 0.01_r8
integer, public, parameter :: LoTmpDnsSlater2017 = 2
integer, public, parameter :: LoTmpDnsTruncatedAnderson1976 = 1
real(kind=r8), public, parameter :: reset_snow_h2osno = 35._r8
real(kind=r8), public, parameter :: reset_snow_timesteps_per_layer = 4

Subroutines

public subroutine SnowHydrology_readnl(NLFilename)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: NLFilename

public subroutine SnowWater(bounds, num_snowc, filter_snowc, num_nosnowc, filter_nosnowc, atm2lnd_inst, waterflux_inst, waterstate_inst, aerosol_inst)

Arguments

Type IntentOptional Attributes Name
type(bounds_type), intent(in) :: bounds
integer, intent(in) :: num_snowc
integer, intent(in) :: filter_snowc(:)
integer, intent(in) :: num_nosnowc
integer, intent(in) :: filter_nosnowc(:)
type(atm2lnd_type), intent(in) :: atm2lnd_inst
type(waterflux_type), intent(inout) :: waterflux_inst
type(waterstate_type), intent(inout) :: waterstate_inst
type(aerosol_type), intent(inout) :: aerosol_inst

public subroutine SnowCompaction(bounds, num_snowc, filter_snowc, temperature_inst, waterstate_inst, atm2lnd_inst)

Arguments

Type IntentOptional Attributes Name
type(bounds_type), intent(in) :: bounds
integer, intent(in) :: num_snowc
integer, intent(in) :: filter_snowc(:)
type(temperature_type), intent(in) :: temperature_inst
type(waterstate_type), intent(in) :: waterstate_inst
type(atm2lnd_type), intent(in) :: atm2lnd_inst

public subroutine CombineSnowLayers(bounds, num_snowc, filter_snowc, aerosol_inst, temperature_inst, waterflux_inst, waterstate_inst)

Arguments

Type IntentOptional Attributes Name
type(bounds_type), intent(in) :: bounds
integer, intent(inout) :: num_snowc
integer, intent(inout) :: filter_snowc(:)
type(aerosol_type), intent(inout) :: aerosol_inst
type(temperature_type), intent(inout) :: temperature_inst
type(waterflux_type), intent(inout) :: waterflux_inst
type(waterstate_type), intent(inout) :: waterstate_inst

public subroutine DivideSnowLayers(bounds, num_snowc, filter_snowc, aerosol_inst, temperature_inst, waterstate_inst, is_lake)

Arguments

Type IntentOptional Attributes Name
type(bounds_type), intent(in) :: bounds
integer, intent(in) :: num_snowc
integer, intent(in) :: filter_snowc(:)
type(aerosol_type), intent(inout) :: aerosol_inst
type(temperature_type), intent(inout) :: temperature_inst
type(waterstate_type), intent(inout) :: waterstate_inst
logical, intent(in) :: is_lake

public subroutine InitSnowLayers(bounds, snow_depth)

Arguments

Type IntentOptional Attributes Name
type(bounds_type), intent(in) :: bounds
real(kind=r8), intent(in) :: snow_depth(bounds%begc:)

public subroutine SnowCapping(bounds, num_initc, filter_initc, num_snowc, filter_snowc, aerosol_inst, waterflux_inst, waterstate_inst, topo_inst)

Arguments

Type IntentOptional Attributes Name
type(bounds_type), intent(in) :: bounds
integer, intent(in) :: num_initc
integer, intent(in) :: filter_initc(:)
integer, intent(in) :: num_snowc
integer, intent(in) :: filter_snowc(:)
type(aerosol_type), intent(inout) :: aerosol_inst
type(waterflux_type), intent(inout) :: waterflux_inst
type(waterstate_type), intent(inout) :: waterstate_inst
class(topo_type), intent(in) :: topo_inst

public subroutine SnowCappingExcess(bounds, num_snowc, filter_snowc, h2osno, topo, h2osno_excess, apply_runoff)

Arguments

Type IntentOptional Attributes Name
type(bounds_type), intent(in) :: bounds
integer, intent(in) :: num_snowc
integer, intent(in) :: filter_snowc(:)
real(kind=r8), intent(in) :: h2osno(bounds%begc:)
real(kind=r8), intent(in) :: topo(bounds%begc:)
real(kind=r8), intent(out) :: h2osno_excess(bounds%begc:)
logical, intent(out) :: apply_runoff(bounds%begc:)

public subroutine NewSnowBulkDensity(bounds, num_c, filter_c, atm2lnd_inst, bifall)

Arguments

Type IntentOptional Attributes Name
type(bounds_type), intent(in) :: bounds
integer, intent(in) :: num_c
integer, intent(in) :: filter_c(:)
type(atm2lnd_type), intent(in) :: atm2lnd_inst
real(kind=r8), intent(inout) :: bifall(bounds%begc:)

public subroutine BuildSnowFilter(bounds, num_nolakec, filter_nolakec, num_snowc, filter_snowc, num_nosnowc, filter_nosnowc)

Arguments

Type IntentOptional Attributes Name
type(bounds_type), intent(in) :: bounds
integer, intent(in) :: num_nolakec
integer, intent(in) :: filter_nolakec(:)
integer, intent(out) :: num_snowc
integer, intent(out) :: filter_snowc(:)
integer, intent(out) :: num_nosnowc
integer, intent(out) :: filter_nosnowc(:)

public subroutine SnowHydrologySetControlForTesting(set_winddep_snowdensity, set_new_snow_density, set_reset_snow, set_reset_snow_glc, set_reset_snow_glc_ela)

Arguments

Type IntentOptional Attributes Name
logical, intent(in), optional :: set_winddep_snowdensity
integer, intent(in), optional :: set_new_snow_density
logical, intent(in), optional :: set_reset_snow
logical, intent(in), optional :: set_reset_snow_glc
real(kind=r8), intent(in), optional :: set_reset_snow_glc_ela