6.14. jules_snow.nml
¶
This file sets the snow options and parameters. It contains one namelist called JULES_SNOW
.
6.14.1. JULES_SNOW
namelist members¶
HCTN30 refers to Hadley Centre technical note 30, available from the Met Office Library.
-
JULES_SNOW::
nsmax
¶ Type: integer Permitted: >= 0 Default: 0 Maximum possible number of snow layers.
- 0
- A composite soil/snow layer is used. This value gives the behaviour found in JULES2.0 and earlier.
- > 0
- The state of up to
nsmax
separate snow layers is modelled. Values ofnsmax = 3
or more are recommended.
-
JULES_SNOW::
l_snowdep_surf
¶ Type: logical Default: F - TRUE
- Use equivalent canopy snow depth for surface calculations on tiles with a snow canopy.
- FALSE
- No effect.
-
JULES_SNOW::
frac_snow_subl_melt
¶ Type: integer Permitted: 0 or 1 Default: 0 Switch for use of snow-cover fraction in the calculation of sublimation and melting.
- Off
- On
-
JULES_SNOW::
graupel_options
¶ Type: integer Permitted: 0 or 1 or 2 Default: 0 Switch for treatment of graupel in the snow scheme
- Include graupel as snowfall
- Ignore graupel in the surface snowfall
- Treat graupel separately
Always “Include graupel as snowfall” (option 0) in standalone JULES because separate snow and graupel driving data are not available. If graupel is included in the UM surface snowfall diagnostic then JULES can either include this graupel as snow in the surface scheme (option 0), ignore this graupel completely, thereby breaking conservation of water and energy in the coupled land-atmosphere model (option 1) or treat graupel seperately (currently this only means allowing graupel to fall straight through the canopy)
-
JULES_SNOW::
dzsnow
¶ Type: real(nsmax) Default: None Prescribed thickness of each snow layer (m).
Only used if
nsmax
> 0.The interpretation of
dzsnow
is slightly complicated and an example of the evolution of the snow layers is given below.dzsnow
gives the thickness of each layer when it is not the bottom layer.For the top layer, the minimum thickness is
dzsnow(1)
and the maximum thickness is2 * dzsnow(1)
. For all other layersiz
, the minimum thickness isdzsnow(iz - 1)
, i.e. the given thickness of the previous layer, and the maximum thickness is2 * dzsnow(iz)
, i.e. twice the layerdzsnow
value, except for the last possible layer (nsmax
) which has no upper limit.As a snowpack deepens, the bottom layer (closest to the soil; label this as layer
b
) thickens until it reaches its maximum allowed thickness, at which point it will split into a layer of depthdzsnow(b)
and a new bottom layerb + 1
is added to hold the remaining snow. If a layer becomes thinner than its value indzsnow
it is removed and the snow partitioned between the remaining layers. Whenever a layer splits or is removed, the properties of the layer (e.g. temperature) are allocated to the remaining layers.Note that
dzsnow(nsmax)
, the final thickness, is not used but a value must be input.
-
JULES_SNOW::
cansnowpft
¶ Type: logical(npft) Default: F Flag indicating whether snow can be held under the canopy of each PFT.
Only used if
can_model
= 4.The model of snow under the canopy is currently only suitable for coniferous trees.
- TRUE
- Snow can be held under the canopy.
- FALSE
- Snow cannot be held under the canopy.
Radiation parameters
-
JULES_SNOW::
r0
¶ Type: real Default: 50.0 Grain size for fresh snow (μm).
Only used if
l_snow_albedo
= TRUE. See HCTN30 Eq.15.
-
JULES_SNOW::
rmax
¶ Type: real Default: 2000.0 Maximum snow grain size (μm).
Only used if
l_snow_albedo
= TRUE. See HCTN30 p4.
-
JULES_SNOW::
snow_ggr
¶ Type: real(3) Default: 0.6, 0.06, 0.23e6 Snow grain area growth rates (μm2 s-1).
Only used if
l_snow_albedo
= TRUE. See HCTN30 Eq.16.The 3 values are for melting snow, cold fresh snow and cold aged snow respectively.
-
JULES_SNOW::
amax
¶ Type: real(2) Default: 0.98, 0.7 Maximum albedo for fresh snow.
Only used if
l_snow_albedo
orl_elev_land_ice
are trueValues 1 and 2 are for VIS and NIR wavebands respectively.
-
JULES_SNOW::
aicemax
¶ Type: real(2) Default: 0.78, 0.36 Maximum albedo for bare ice
Only used if
l_elev_land_ice
= TRUE. See also rho_firn_albedoValues 1 and 2 are for VIS and NIR wavebands respectively.
-
JULES_SNOW::
maskd
¶ Type: real Default: 50.0 Used in exponent of equation weighting snow-covered and snow-free albedo.
-
JULES_SNOW::
dtland
¶ Type: real Default: 2.0 Degrees Celsius below zero at which snow albedo equals cold deep snow albedo.
Only used if
l_snow_albedo
= FALSE. This is 2.0 in HCTN30 Eq4.
-
JULES_SNOW::
kland_numerator
¶ Type: real Default: 0.3 Used in snow-ageing effect on albedo.
Only used if
l_snow_albedo
= FALSE.Must not be zero.
kland
is computed by dividing this value bydtland
- see HCTN30 Eq4.
-
JULES_SNOW::
can_clump
¶ Type: real(npft) Default: MDI Clumping parameter for snow on the canopy in calculation of albedo.
Only used if
can_model
= 4,cansnowpft
= TRUE on that tile andl_embedded_snow
= TRUE.
-
JULES_SNOW::
n_lai_exposed
¶ Type: real(npft) Default: MDI LAI distribution parameter for calculation of snow albedo.
Only used if
l_embedded_snow
= TRUE.
-
JULES_SNOW::
lai_alb_lim_sn
¶ Type: real(npft) Default: MDI Minimum LAI in calculation of albedo in the presence of snow.
Other snow parameters
-
JULES_SNOW::
rho_snow_const
¶ Type: real Default: 250.0 Constant density of lying snow (kg m-3).
This value is used if
nsmax
= 0, in which case all snow is modelled as a single layer of constant density.
-
JULES_SNOW::
rho_snow_fresh
¶ Type: real Default: 100.0 Density of fresh snow (kg m-3).
This value is only used if
nsmax
> 0.
-
JULES_SNOW::
rho_firn_albedo
¶ Type: real Default: 550.0 If
l_elev_land_ice
= TRUE, this is the threshold density (as measured over the ~top 10cm, depending on how the dzsnow layers are specified) at which the grain-size calculation of prognostic snow albedo will switch to one dependent on the surface density of the snowpack. Albedo is linearly scaled between amax for rho_snow_const and aicemax for rho_ice=917 kg/m^3.
-
JULES_SNOW::
snow_hcon
¶ Type: real Default: 0.265 Thermal conductivity of lying snow (W m-1 K-1).
See HCTN30 Eq.42.
-
JULES_SNOW::
snow_hcap
¶ Type: real Default: 0.63e6 Thermal capacity of lying snow (J K-1 m-3).
-
JULES_SNOW::
snowliqcap
¶ Type: real Default: 0.05 Liquid water holding capacity of lying snow, as a fraction of snow mass.
Only used if
nsmax
> 0.
-
JULES_SNOW::
snowinterceptfact
¶ Type: real Default: 0.7 Constant in relationship between mass of intercepted snow and snowfall rate.
Only used if
can_model
= 4.
-
JULES_SNOW::
snowloadlai
¶ Type: real Default: 4.4 Ratio of maximum canopy snow load to leaf area index (kg m-2).
Only used if
can_model
= 4.
-
JULES_SNOW::
snowunloadfact
¶ Type: real Default: 0.4 Constant in relationship between canopy snow unloading and canopy snow melt rate.
Only used if
can_model
= 4.
-
JULES_SNOW::
unload_rate_cnst
¶ Type: real(npft) Default: MDI Constant term in the background unloading rate for snow on the canopy.
Only used if
can_model
= 4 andcansnowpft
= TRUE on that tile.
-
JULES_SNOW::
unload_rate_u
¶ Type: real(npft) Default: MDI Term proportional to wind speed in unloading rate for snow on the canopy.
Only used if
can_model
= 4 andcansnowpft
= TRUE on that tile.
-
JULES_SNOW::
i_snow_cond_parm
¶ Type: integer Permitted: 0 or 1 Default: MDI Scheme used to calculate the conductivity of snow
Only used if
nsmax
> 0.
-
JULES_SNOW::
l_et_metamorph
¶ Type: logical Default: F - TRUE
- Include the effect of thermal metamorphism on the snow density.
- FALSE
- No effect.
-
JULES_SNOW::
l_snow_infilt
¶ Type: logical Default: F - TRUE
- Pass rainfall and melting from the canopy to the snowpack as infiltration.
- FALSE
- No effect.
-
JULES_SNOW::
l_snow_nocan_hc
¶ Type: logical Default: F - TRUE
- Do not include the canopy heat capacity in the surface energy balance at the top of the snow pack on tiles without a canopy snow model.
- FALSE
- The canopy heat capacity is include in the surface energy balance at the top of the snow pack.
-
JULES_SNOW::
a_snow_et
¶ Type: real Default: MDI Constant in parametrization of thermal metamorphism.
Only used if
l_et_metamorph
= TRUE.
-
JULES_SNOW::
b_snow_et
¶ Type: real Default: MDI Constant in parametrization of thermal metamorphism.
Only used if
l_et_metamorph
= TRUE.
-
JULES_SNOW::
c_snow_et
¶ Type: real Default: MDI Constant in parametrization of thermal metamorphism.
Only used if
l_et_metamorph
= TRUE.
-
JULES_SNOW::
rho_snow_et_crit
¶ Type: real Default: MDI Critical density in parametrization of thermal metamorphism.
Only used if
l_et_metamorph
= TRUE.
-
JULES_SNOW::
i_grain_growth_opt
¶ Type: integer Permitted: 0 or 1 Default: 0 Scheme used to calculate the rate of growth of snow grains.
Setting this to 0 invokes the original scheme based on Marshall (1989), with no dependence of the rate of growth of small grains on the temperature.
Setting it to 1 invokes the scheme for growth of snow grains proposed by Taillandier et al. (2007) for equitemperature metamorphism. This is significantly slower than the default scheme at low temperatures.
-
JULES_SNOW::
i_relayer_opt
¶ Type: integer Permitted: 0 or 1 Default: 0 Scheme used to relayer the snowpack. Setting the option to 0 invokes the original scheme with relayering of the grain size involving the grain size itself, while setting it to 1 causes the relayering to be done using the inverse of the grain size. This is more consistent with conserving the SSA, though full conservation would require mass weighting to be invoked during regridding.
Only used if
nsmax
> 0.
-
JULES_SNOW::
i_basal_melting_opt
¶ Type: integer Permitted: 0 or 1 Default: 0 Option to treat basal melting of the snow pack. When snow falls on warm ground, it will melt from the base of the snowpack, where the temperature of the snow will rise to the melting point. The 0-layer snow scheme, which is used for thin snow even when the multilayer scheme is selected, did not represent this process and included only melting at the surface. This option allows basal melting to be omitted if it is set to the defaut value of 0, but offers an alternative setting of 1, which results in basal melting taking place instantaneously if the temperature of the first soil layer is above freezing, until the snow is removed or the temperature of soil layer is reduced to freezing.
6.14.2. Example of the evolution of snow layer thickness¶
The table below gives an example of how the number and thickness of snow layers varies with total snow depth for the case of nsmax
= 3 and dzsnow = (0.1, 0.15, 0.2)
. Note that if the values given by the user for dzsnow
are a decreasing series with dzsnow(i) <= 2 * dzsnow(i - 1)
, the algorithm will result in layers i
and i + 1
being added at the same time. Don’t panic - this should not be a problem for the simulation.
Snow depth (m) | Number of layers | Layer thickness, uppermost layer first (m) | Comments |
---|---|---|---|
d < 0.1 |
0 | While the depth of snow is less than dzsnow(1) , the layer model is not
active and snow and soil are combined in a composite layer. |
|
0.1 <= d < 0.2 |
1 | Total snow depth | The single layer grows until it is twice as thick as dzsnow(1) . |
0.2 <= d < 0.4 |
2 | 0.1, remainder | Above 0.2m, the single layer splits into a top layer of 0.1m and the remaining snow in the bottom layer. |
>= 0.4 |
3 | 0.1, 0.15, remainder | At 0.4m depth, layer 2 (which has grown to 0.3m thick, i.e. 2 * dzsnow(2) ),
splits into a layer of 0.15m and a new bottom layer holding the the remaining
0.15m. As all layers are now in use, any subsequent deepening of the pack is
dealt with by increasing the thickness in this bottom layer. |