6.9. jules_snow.nml

This file sets the snow options and parameters. It contains one namelist called JULES_SNOW.

6.9.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 of nsmax = 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.

  1. Off
  2. On
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 is 2 * dzsnow(1). For all other layers iz, the minimum thickness is dzsnow(iz - 1), i.e. the given thickness of the previous layer, and the maximum thickness is 2 * dzsnow(iz), i.e. twice the layer dzsnow 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 depth dzsnow(b) and a new bottom layer b + 1 is added to hold the remaining snow. If a layer becomes thinner than its value in dzsnow 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 = TRUE.

Values 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 by dtland - see HCTN30 Eq4.

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::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.

6.9.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.