SnowSnicarMod Module



Variables

Type Visibility Attributes Name Initial
integer, public, parameter :: sno_nbr_aer = 8
logical, public, parameter :: DO_SNO_OC = .false.
logical, public, parameter :: DO_SNO_AER = .true.
integer, public, parameter :: numrad_snw = 5
integer, public, parameter :: nir_bnd_bgn = 2
integer, public, parameter :: nir_bnd_end = 5
integer, public, parameter :: idx_Mie_snw_mx = 1471
integer, public, parameter :: idx_T_max = 11
integer, public, parameter :: idx_T_min = 1
integer, public, parameter :: idx_Tgrd_max = 31
integer, public, parameter :: idx_Tgrd_min = 1
integer, public, parameter :: idx_rhos_max = 8
integer, public, parameter :: idx_rhos_min = 1
integer, public, parameter :: snw_rds_max_tbl = 1500
integer, public, parameter :: snw_rds_min_tbl = 30
integer, public, parameter :: snw_rds_min_int = nint(snw_rds_min)
real(kind=r8), public, parameter :: snw_rds_max = 1500._r8
real(kind=r8), public, parameter :: snw_rds_refrz = 1000._r8
real(kind=r8), public, parameter :: min_snw = 1.0E-30_r8
real(kind=r8), public, parameter :: C1_liq_Brun89 = 0._r8
real(kind=r8), public, parameter :: C2_liq_Brun89 = 4.22E-13_r8
real(kind=r8), public, parameter :: tim_cns_bc_rmv = 2.2E-8_r8
real(kind=r8), public, parameter :: tim_cns_oc_rmv = 2.2E-8_r8
real(kind=r8), public, parameter :: tim_cns_dst_rmv = 2.2E-8_r8
logical, public :: flg_snoage_scl = .false.
real(kind=r8), public, parameter :: xdrdt = 1.0_r8
real(kind=r8), public :: ss_alb_snw_drc(idx_Mie_snw_mx,numrad_snw)
real(kind=r8), public :: asm_prm_snw_drc(idx_Mie_snw_mx,numrad_snw)
real(kind=r8), public :: ext_cff_mss_snw_drc(idx_Mie_snw_mx,numrad_snw)
real(kind=r8), public :: ss_alb_snw_dfs(idx_Mie_snw_mx,numrad_snw)
real(kind=r8), public :: asm_prm_snw_dfs(idx_Mie_snw_mx,numrad_snw)
real(kind=r8), public :: ext_cff_mss_snw_dfs(idx_Mie_snw_mx,numrad_snw)
real(kind=r8), public :: ss_alb_bc1(numrad_snw)
real(kind=r8), public :: asm_prm_bc1(numrad_snw)
real(kind=r8), public :: ext_cff_mss_bc1(numrad_snw)
real(kind=r8), public :: ss_alb_bc2(numrad_snw)
real(kind=r8), public :: asm_prm_bc2(numrad_snw)
real(kind=r8), public :: ext_cff_mss_bc2(numrad_snw)
real(kind=r8), public :: ss_alb_oc1(numrad_snw)
real(kind=r8), public :: asm_prm_oc1(numrad_snw)
real(kind=r8), public :: ext_cff_mss_oc1(numrad_snw)
real(kind=r8), public :: ss_alb_oc2(numrad_snw)
real(kind=r8), public :: asm_prm_oc2(numrad_snw)
real(kind=r8), public :: ext_cff_mss_oc2(numrad_snw)
real(kind=r8), public :: ss_alb_dst1(numrad_snw)
real(kind=r8), public :: asm_prm_dst1(numrad_snw)
real(kind=r8), public :: ext_cff_mss_dst1(numrad_snw)
real(kind=r8), public :: ss_alb_dst2(numrad_snw)
real(kind=r8), public :: asm_prm_dst2(numrad_snw)
real(kind=r8), public :: ext_cff_mss_dst2(numrad_snw)
real(kind=r8), public :: ss_alb_dst3(numrad_snw)
real(kind=r8), public :: asm_prm_dst3(numrad_snw)
real(kind=r8), public :: ext_cff_mss_dst3(numrad_snw)
real(kind=r8), public :: ss_alb_dst4(numrad_snw)
real(kind=r8), public :: asm_prm_dst4(numrad_snw)
real(kind=r8), public :: ext_cff_mss_dst4(numrad_snw)
real(kind=r8), public, pointer :: snowage_tau(:,:,:)
real(kind=r8), public, pointer :: snowage_kappa(:,:,:)
real(kind=r8), public, pointer :: snowage_drdt0(:,:,:)

Functions

public function FreshSnowRadius(c_idx, atm2lnd_inst)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: c_idx
type(atm2lnd_type), intent(in) :: atm2lnd_inst

Return Value real(kind=r8)


Subroutines

public subroutine SNICAR_RT(flg_snw_ice, bounds, num_nourbanc, filter_nourbanc, coszen, flg_slr_in, h2osno_liq, h2osno_ice, snw_rds, mss_cnc_aer_in, albsfc, albout, flx_abs, waterstate_inst)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: flg_snw_ice
type(bounds_type), intent(in) :: bounds
integer, intent(in) :: num_nourbanc
integer, intent(in) :: filter_nourbanc(:)
real(kind=r8), intent(in) :: coszen(bounds%begc:)
integer, intent(in) :: flg_slr_in
real(kind=r8), intent(in) :: h2osno_liq(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: h2osno_ice(bounds%begc:,-nlevsno+1:)
integer, intent(in) :: snw_rds(bounds%begc:,-nlevsno+1:)
real(kind=r8), intent(in) :: mss_cnc_aer_in(bounds%begc:,-nlevsno+1:,1:)
real(kind=r8), intent(in) :: albsfc(bounds%begc:,1:)
real(kind=r8), intent(out) :: albout(bounds%begc:,1:)
real(kind=r8), intent(out) :: flx_abs(bounds%begc:,-nlevsno+1:,1:)
type(waterstate_type), intent(in) :: waterstate_inst

public subroutine SnowAge_grain(bounds, num_snowc, filter_snowc, num_nosnowc, filter_nosnowc, waterflux_inst, waterstate_inst, temperature_inst, atm2lnd_inst)

* 1. DRY SNOW AGING ***

Read more…

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(waterflux_type), intent(in) :: waterflux_inst
type(waterstate_type), intent(inout) :: waterstate_inst
type(temperature_type), intent(inout) :: temperature_inst
type(atm2lnd_type), intent(in) :: atm2lnd_inst

public subroutine SnowOptics_init()

Arguments

None

public subroutine SnowAge_init()

Arguments

None