CAM
snowsnicarmod Module Reference

Functions/Subroutines

subroutine, public 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_vars)
 
subroutine, public snowage_grain (bounds, num_snowc, filter_snowc, num_nosnowc, filter_nosnowc, waterflux_vars, waterstate_vars, temperature_vars)
 
subroutine, public snowoptics_init ()
 
subroutine, public snowage_init ()
 

Variables

integer, parameter, public sno_nbr_aer = 8
 
logical, parameter, public do_sno_oc = .false.
 
logical, parameter, public do_sno_aer = .true.
 
integer, parameter numrad_snw = 5
 
integer, parameter nir_bnd_bgn = 2
 
integer, parameter nir_bnd_end = 5
 
integer, parameter idx_mie_snw_mx = 1471
 
integer, parameter idx_t_max = 11
 
integer, parameter idx_t_min = 1
 
integer, parameter idx_tgrd_max = 31
 
integer, parameter idx_tgrd_min = 1
 
integer, parameter idx_rhos_max = 8
 
integer, parameter idx_rhos_min = 1
 
integer, parameter idx_bc_nclrds_min = 1
 
integer, parameter idx_bc_nclrds_max = 10
 
integer, parameter idx_bcint_icerds_min = 1
 
integer, parameter idx_bcint_icerds_max = 8
 
integer, parameter snw_rds_max_tbl = 1500
 
integer, parameter snw_rds_min_tbl = 30
 
real(r8), parameter snw_rds_max = 1500._r8
 
real(r8), parameter snw_rds_refrz = 1000._r8
 
real(r8), parameter min_snw = 1.0E-30_r8
 
real(r8), parameter c1_liq_brun89 = 0._r8
 
real(r8), parameter c2_liq_brun89 = 4.22E-13_r8
 
real(r8), parameter tim_cns_bc_rmv = 2.2E-8_r8
 
real(r8), parameter tim_cns_oc_rmv = 2.2E-8_r8
 
real(r8), parameter tim_cns_dst_rmv = 2.2E-8_r8
 
logical flg_snoage_scl = .false.
 
real(r8), parameter xdrdt = 1.0_r8
 
real(r8), dimension(idx_mie_snw_mx, numrad_snwss_alb_snw_drc
 
real(r8), dimension(idx_mie_snw_mx, numrad_snwasm_prm_snw_drc
 
real(r8), dimension(idx_mie_snw_mx, numrad_snwext_cff_mss_snw_drc
 
real(r8), dimension(idx_mie_snw_mx, numrad_snwss_alb_snw_dfs
 
real(r8), dimension(idx_mie_snw_mx, numrad_snwasm_prm_snw_dfs
 
real(r8), dimension(idx_mie_snw_mx, numrad_snwext_cff_mss_snw_dfs
 
real(r8), dimension(numrad_snw, idx_bc_nclrds_maxss_alb_bc1
 
real(r8), dimension(numrad_snw, idx_bc_nclrds_maxasm_prm_bc1
 
real(r8), dimension(numrad_snw, idx_bc_nclrds_maxext_cff_mss_bc1
 
real(r8), dimension(numrad_snw, idx_bc_nclrds_maxss_alb_bc2
 
real(r8), dimension(numrad_snw, idx_bc_nclrds_maxasm_prm_bc2
 
real(r8), dimension(numrad_snw, idx_bc_nclrds_maxext_cff_mss_bc2
 
real(r8), dimension(numrad_snwss_alb_oc1
 
real(r8), dimension(numrad_snwasm_prm_oc1
 
real(r8), dimension(numrad_snwext_cff_mss_oc1
 
real(r8), dimension(numrad_snwss_alb_oc2
 
real(r8), dimension(numrad_snwasm_prm_oc2
 
real(r8), dimension(numrad_snwext_cff_mss_oc2
 
real(r8), dimension(numrad_snwss_alb_dst1
 
real(r8), dimension(numrad_snwasm_prm_dst1
 
real(r8), dimension(numrad_snwext_cff_mss_dst1
 
real(r8), dimension(numrad_snwss_alb_dst2
 
real(r8), dimension(numrad_snwasm_prm_dst2
 
real(r8), dimension(numrad_snwext_cff_mss_dst2
 
real(r8), dimension(numrad_snwss_alb_dst3
 
real(r8), dimension(numrad_snwasm_prm_dst3
 
real(r8), dimension(numrad_snwext_cff_mss_dst3
 
real(r8), dimension(numrad_snwss_alb_dst4
 
real(r8), dimension(numrad_snwasm_prm_dst4
 
real(r8), dimension(numrad_snwext_cff_mss_dst4
 
real(r8), dimension(numrad_snw, idx_bc_nclrds_max, idx_bcint_icerds_maxbcenh
 
real(r8), dimension(:,:,:), pointer snowage_tau
 
real(r8), dimension(:,:,:), pointer snowage_kappa
 
real(r8), dimension(:,:,:), pointer snowage_drdt0
 

Function/Subroutine Documentation

◆ snicar_rt()

subroutine, public snowsnicarmod::snicar_rt ( integer, intent(in)  flg_snw_ice,
type (bounds_type), intent(in)  bounds,
integer, intent(in)  num_nourbanc,
integer, dimension(:), intent(in)  filter_nourbanc,
real(r8), dimension ( bounds%begc: ), intent(in)  coszen,
integer, intent(in)  flg_slr_in,
real(r8), dimension ( bounds%begc: , -nlevsno+1: ), intent(in)  h2osno_liq,
real(r8), dimension ( bounds%begc: , -nlevsno+1: ), intent(in)  h2osno_ice,
integer, dimension ( bounds%begc: , -nlevsno+1: ), intent(in)  snw_rds,
real(r8), dimension ( bounds%begc: , -nlevsno+1: , 1: ), intent(in)  mss_cnc_aer_in,
real(r8), dimension ( bounds%begc: , 1: ), intent(in)  albsfc,
real(r8), dimension ( bounds%begc: , 1: ), intent(out)  albout,
real(r8), dimension ( bounds%begc: , -nlevsno+1: , 1: ), intent(out)  flx_abs,
type(waterstate_type), intent(in)  waterstate_vars 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ snowage_grain()

subroutine, public snowsnicarmod::snowage_grain ( type(bounds_type), intent(in)  bounds,
integer, intent(in)  num_snowc,
integer, dimension(:), intent(in)  filter_snowc,
integer, intent(in)  num_nosnowc,
integer, dimension(:), intent(in)  filter_nosnowc,
type(waterflux_type), intent(in)  waterflux_vars,
type(waterstate_type), intent(inout)  waterstate_vars,
type(temperature_type), intent(inout)  temperature_vars 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ snowage_init()

subroutine, public snowsnicarmod::snowage_init ( )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ snowoptics_init()

subroutine, public snowsnicarmod::snowoptics_init ( )
Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ asm_prm_bc1

real(r8), dimension(numrad_snw,idx_bc_nclrds_max) snowsnicarmod::asm_prm_bc1

◆ asm_prm_bc2

real(r8), dimension(numrad_snw,idx_bc_nclrds_max) snowsnicarmod::asm_prm_bc2

◆ asm_prm_dst1

real(r8), dimension(numrad_snw) snowsnicarmod::asm_prm_dst1

◆ asm_prm_dst2

real(r8), dimension(numrad_snw) snowsnicarmod::asm_prm_dst2

◆ asm_prm_dst3

real(r8), dimension(numrad_snw) snowsnicarmod::asm_prm_dst3

◆ asm_prm_dst4

real(r8), dimension(numrad_snw) snowsnicarmod::asm_prm_dst4

◆ asm_prm_oc1

real(r8), dimension(numrad_snw) snowsnicarmod::asm_prm_oc1

◆ asm_prm_oc2

real(r8), dimension(numrad_snw) snowsnicarmod::asm_prm_oc2

◆ asm_prm_snw_dfs

real(r8), dimension(idx_mie_snw_mx,numrad_snw) snowsnicarmod::asm_prm_snw_dfs

◆ asm_prm_snw_drc

real(r8), dimension(idx_mie_snw_mx,numrad_snw) snowsnicarmod::asm_prm_snw_drc

◆ bcenh

real(r8), dimension(numrad_snw,idx_bc_nclrds_max,idx_bcint_icerds_max) snowsnicarmod::bcenh

◆ c1_liq_brun89

real(r8), parameter snowsnicarmod::c1_liq_brun89 = 0._r8

◆ c2_liq_brun89

real(r8), parameter snowsnicarmod::c2_liq_brun89 = 4.22E-13_r8

◆ do_sno_aer

logical, parameter, public snowsnicarmod::do_sno_aer = .true.

◆ do_sno_oc

logical, parameter, public snowsnicarmod::do_sno_oc = .false.

◆ ext_cff_mss_bc1

real(r8), dimension(numrad_snw,idx_bc_nclrds_max) snowsnicarmod::ext_cff_mss_bc1

◆ ext_cff_mss_bc2

real(r8), dimension(numrad_snw,idx_bc_nclrds_max) snowsnicarmod::ext_cff_mss_bc2

◆ ext_cff_mss_dst1

real(r8), dimension(numrad_snw) snowsnicarmod::ext_cff_mss_dst1

◆ ext_cff_mss_dst2

real(r8), dimension(numrad_snw) snowsnicarmod::ext_cff_mss_dst2

◆ ext_cff_mss_dst3

real(r8), dimension(numrad_snw) snowsnicarmod::ext_cff_mss_dst3

◆ ext_cff_mss_dst4

real(r8), dimension(numrad_snw) snowsnicarmod::ext_cff_mss_dst4

◆ ext_cff_mss_oc1

real(r8), dimension(numrad_snw) snowsnicarmod::ext_cff_mss_oc1

◆ ext_cff_mss_oc2

real(r8), dimension(numrad_snw) snowsnicarmod::ext_cff_mss_oc2

◆ ext_cff_mss_snw_dfs

real(r8), dimension(idx_mie_snw_mx,numrad_snw) snowsnicarmod::ext_cff_mss_snw_dfs

◆ ext_cff_mss_snw_drc

real(r8), dimension(idx_mie_snw_mx,numrad_snw) snowsnicarmod::ext_cff_mss_snw_drc

◆ flg_snoage_scl

logical snowsnicarmod::flg_snoage_scl = .false.

◆ idx_bc_nclrds_max

integer, parameter snowsnicarmod::idx_bc_nclrds_max = 10

◆ idx_bc_nclrds_min

integer, parameter snowsnicarmod::idx_bc_nclrds_min = 1

◆ idx_bcint_icerds_max

integer, parameter snowsnicarmod::idx_bcint_icerds_max = 8

◆ idx_bcint_icerds_min

integer, parameter snowsnicarmod::idx_bcint_icerds_min = 1

◆ idx_mie_snw_mx

integer, parameter snowsnicarmod::idx_mie_snw_mx = 1471

◆ idx_rhos_max

integer, parameter snowsnicarmod::idx_rhos_max = 8

◆ idx_rhos_min

integer, parameter snowsnicarmod::idx_rhos_min = 1

◆ idx_t_max

integer, parameter snowsnicarmod::idx_t_max = 11

◆ idx_t_min

integer, parameter snowsnicarmod::idx_t_min = 1

◆ idx_tgrd_max

integer, parameter snowsnicarmod::idx_tgrd_max = 31

◆ idx_tgrd_min

integer, parameter snowsnicarmod::idx_tgrd_min = 1

◆ min_snw

real(r8), parameter snowsnicarmod::min_snw = 1.0E-30_r8

◆ nir_bnd_bgn

integer, parameter snowsnicarmod::nir_bnd_bgn = 2

◆ nir_bnd_end

integer, parameter snowsnicarmod::nir_bnd_end = 5

◆ numrad_snw

integer, parameter snowsnicarmod::numrad_snw = 5

◆ sno_nbr_aer

integer, parameter, public snowsnicarmod::sno_nbr_aer = 8

◆ snowage_drdt0

real(r8), dimension(:,:,:), pointer snowsnicarmod::snowage_drdt0

◆ snowage_kappa

real(r8), dimension(:,:,:), pointer snowsnicarmod::snowage_kappa

◆ snowage_tau

real(r8), dimension(:,:,:), pointer snowsnicarmod::snowage_tau

◆ snw_rds_max

real(r8), parameter snowsnicarmod::snw_rds_max = 1500._r8

◆ snw_rds_max_tbl

integer, parameter snowsnicarmod::snw_rds_max_tbl = 1500

◆ snw_rds_min_tbl

integer, parameter snowsnicarmod::snw_rds_min_tbl = 30

◆ snw_rds_refrz

real(r8), parameter snowsnicarmod::snw_rds_refrz = 1000._r8

◆ ss_alb_bc1

real(r8), dimension(numrad_snw,idx_bc_nclrds_max) snowsnicarmod::ss_alb_bc1

◆ ss_alb_bc2

real(r8), dimension(numrad_snw,idx_bc_nclrds_max) snowsnicarmod::ss_alb_bc2

◆ ss_alb_dst1

real(r8), dimension(numrad_snw) snowsnicarmod::ss_alb_dst1

◆ ss_alb_dst2

real(r8), dimension(numrad_snw) snowsnicarmod::ss_alb_dst2

◆ ss_alb_dst3

real(r8), dimension(numrad_snw) snowsnicarmod::ss_alb_dst3

◆ ss_alb_dst4

real(r8), dimension(numrad_snw) snowsnicarmod::ss_alb_dst4

◆ ss_alb_oc1

real(r8), dimension(numrad_snw) snowsnicarmod::ss_alb_oc1

◆ ss_alb_oc2

real(r8), dimension(numrad_snw) snowsnicarmod::ss_alb_oc2

◆ ss_alb_snw_dfs

real(r8), dimension(idx_mie_snw_mx,numrad_snw) snowsnicarmod::ss_alb_snw_dfs

◆ ss_alb_snw_drc

real(r8), dimension(idx_mie_snw_mx,numrad_snw) snowsnicarmod::ss_alb_snw_drc

◆ tim_cns_bc_rmv

real(r8), parameter snowsnicarmod::tim_cns_bc_rmv = 2.2E-8_r8

◆ tim_cns_dst_rmv

real(r8), parameter snowsnicarmod::tim_cns_dst_rmv = 2.2E-8_r8

◆ tim_cns_oc_rmv

real(r8), parameter snowsnicarmod::tim_cns_oc_rmv = 2.2E-8_r8

◆ xdrdt

real(r8), parameter snowsnicarmod::xdrdt = 1.0_r8