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 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 surface 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::graupel_options
Type:

integer

Permitted:

0 or 1 or 2

Default:

0

Switch for treatment of graupel in the snow scheme

  1. Include graupel as snowfall

  2. Ignore graupel in the surface snowfall

  3. 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 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 or l_elev_land_ice are true

Values 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_albedo

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.

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 surface tile and l_embedded_snow = TRUE.

The model of snow under the canopy is currently only suitable for coniferous trees.

The inverse of this parameter specifies the fraction of the canopy over which snow is distributed when calculating the albedo.

JULES_SNOW::n_lai_exposed
Type:

real(npft)

Default:

MDI

LAI distribution parameter for calculation of snow albedo.

A power-law distribution of leaf area density is assumed within the canopy for calculating masking of snow by vegetation using the embedded scheme. Larger values imply greater densities toward the base of the canopy.

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.

A minimum albedo is imposed when calculating the albedo of plant canopies (historically 0.5). This parameter allows it to be set for each PFT in the presence of snow. A separate variable, lai_alb_lim_io is used in the absence 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. If nsmax > 0, snow density is prognostic.

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 and cansnowpft = TRUE on that surface 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 and cansnowpft = TRUE on that surface tile.

JULES_SNOW::i_snow_cond_parm
Type:

integer

Permitted:

0 or 1

Default:

MDI

Scheme used to calculate the conductivity of snow

Two parametrizations of snow conductivity are available taken from the papers of Yen (1981) and Calonne et al. (2011).

Only used if nsmax > 0.

0

Yen (1981)

1

Calonne et al. (2011)

JULES_SNOW::l_et_metamorph
Type:

logical

Default:

F

TRUE

Include the effect of thermal metamorphism on the snow density.

FALSE

No effect.

This parametrization follows the form used by eg. Dutra et al. (2010)

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

6.14.3. JULES_SNOW references

  • Calonne, N., Flin, F., Morin, S., Lesaffre, B., du Roscoat, S. Rolland, and Geindreau, C. (2011), Numerical and experimental investigations of the effective thermal conductivity of snow, Geophys. Res. Lett., 38, L23501, https://doi.org/10.1029/2011GL049234.

  • Yen, Y.-C. (1981). Review of thermal properties of snow, ice and sea ice. Cold Regions Research and Engineering Laboratory (CRREL) Report 81-10. https://hdl.handle.net/11681/9469