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, 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 separately (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 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 or l_embedded_snow = TRUE.

JULES_SNOW::rmax
Type:

real

Default:

2000.0

Maximum snow grain size (μm).

Only used if l_snow_albedo = TRUE or l_embedded_snow = TRUE.

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 or l_embedded_snow = TRUE, and requires a snow grain size to calculate the albedo.

The three values are for melting snow, cold fresh snow and cold aged snow respectively, the use of which depends on the setting i_grain_growth_opt as follows:

i_grain_growth_opt

Growth rates used

Notes

0

snow_ggr (1:3)

Uses all values; melting snow, cold fresh snow and cold aged snow

1

snow_ggr (1)

Uses values for melting snow only.

For cold snow a separate scheme is used following Taillandier et al. (2007), where the parameters are currently hard-wired.

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 is TRUE.

Values 1 and 2 are for VIS and NIR wavebands respectively.

When:

l_snow_albedo = TRUE

These parameters are used as limits at all snow-covered grid points.

l_embedded_snow = TRUE

These parameters are not used.

l_elev_land_ice = TRUE

Irrespective of whether either of the two previous options are selected, these parameters are used to adjust the albedo of dense snow to a value more appropriate for firn. See also aicemax.

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 the calculation of the weighting factor for snow in the setting of the overall surface albedo, the surface resistance and surface melting. It represents the inverse of the e-folding depth for masking by snow. A higher value indicates that masking by snow is more effective.

N.B. This was originally used to multiply the snow mass (with a standard value of 0.2), but is now used to multiply the snow depth.

JULES_SNOW::dtland
Type:

real

Default:

2.0

Degrees Celsius below zero at which snow albedo equals cold deep snow albedo.

This is used only if the diagnostic snow albedo scheme is selected, i.e. if l_snow_albedo = FALSE and l_embedded_snow = FALSE. This is 2.0 in HCTN30 Eq4.

Must not be zero.

JULES_SNOW::kland_numerator
Type:

real

Default:

0.3

Used in snow-ageing effect on albedo.

This is used only if the diagnostic snow albedo scheme is selected, i.e. if l_snow_albedo = FALSE and l_embedded_snow = FALSE. This is 2.0 in HCTN30 Eq4.

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

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

The inverse of this parameter specifies the fraction of the canopy over which snow is distributed when calculating the albedo. It should not be less than 1 and higher values indicate that snow on a canopy is more clumped, leaving more of the bare canopy exposed.

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. Higher values indicate that snow is more effective in covering vegetation.

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. Crudely, it represents the stem area of vegetation remaining when the true LAI is 0. 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).

If nsmax = 0, snow is modelled as a single layer of constant density using this value.

If nsmax > 0, snow density is prognostic, except for snow on the canopy when cansnowpft is TRUE, and for thin layers of snow when nsmax > 0.

JULES_SNOW::rho_snow_fresh
Type:

real

Default:

100.0

Density of fresh snow (kg m-3).

Only used if nsmax > 0.

JULES_SNOW::rho_firn_albedo
Type:

real

Default:

550.0

Only used if l_elev_land_ice = TRUE.

This is the threshold density (as measured over the ~top 10 cm, 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 density the of ice (917 kg m-3).

JULES_SNOW::snow_hcon
Type:

real

Default:

0.265

Thermal conductivity of lying snow (W m-1 K-1).

This value is used for all snow if nsmax = 0, but only for thin snow if nsmax > 0. See HCTN30 Eq.42. for its application.

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. Snow is unloaded from the canopy as a background process or because it is melting.

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 the background 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

Only used if nsmax > 0.

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

  1. Yen (1981)

  2. Calonne et al. (2011)

JULES_SNOW::l_et_metamorph
Type:

logical

Default:

F

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

Only used if nsmax > 0.

TRUE

Include the effect of thermal metamorphism on the snow density.

FALSE

No effect.

JULES_SNOW::l_snow_infilt
Type:

logical

Default:

F

Only used if nsmax > 0.

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

Only used if nsmax > 0.

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

  1. Invokes the original scheme based on Marshall (1989), with no dependence of the rate of growth of small grains on the temperature.

  2. Invokes the scheme for growth of snow grains proposed by Taillandier et al. (2007) for equitemperature metamorphism. Growth 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.

Only used if nsmax > 0.

  1. Invokes the original scheme with relayering of the grain size involving the grain size itself.

  2. Relayering is done using the inverse of the grain size. This is more consistent with conserving the specific surface area of snow, though full conservation would require mass weighting to be invoked during regridding.

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.

  1. Default: Basal melting is omitted.

  2. Basal melting takes 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.

  • Dutra, E., Balsamo, G., Viterbo, P., Miranda, P. M., Beljaars, A., Schar, C., and Elder, K. (2010). An improved snow scheme for the ECMWF land surface model: Description and offline validation, J. Hydrometeorol., 11, 899–916, https://doi.org/10.1175/2010JHM1249.1.

  • Marshall, S.E. (1989). A physical parameterization of snow albedo for use in climate models. NCAR Cooperative Thesis 123. Boulder, CO : National Center for Atmospheric Research. https://atmos.washington.edu/~sgw/PAPERS/1989_Marshall.pdf

  • Taillandier, A.-S., F. Domine, W. R. Simpson, M. Sturm, and T. A. Douglas (2007). Rate of decrease of the specific surface area of dry snow: Isothermal and temperature gradient conditions, J. Geophys. Res., 112, F03003, https://doi.org/10.1029/2006JF000514.

  • 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