Skip to content

Modeling wind effects in SNOWPACK:
Options and Best Practices

Bert Kruyt, NVE, October 2025

Introduction

This document describes some of the possibilities to simulate the effect of wind on snow in the SNOWPACK model. Options available as namelist (.ini) settings are written in CAPITAL CASE. Some of the features described here ( SNOW_EROSION=REDEPOSIT and SNOW_REDISTRIBUTION=ADVANCED) are currently only implemented on the branch NVE of the SLF snowpack repository. It is envisioned that this will merge into the master branch at some point in the future.

1-D Simulations and virtual slopes

In this document, we will mainly concern ourselves with the standard, stand-alone application of SNOWPACK. In this application, simulations are run as 1D individual simulations, meaning there is no exchange of mass or information between simulations at different locations. Even if the forcing data comes from a gridded NWP model, the snowpack simulation does not know anything about the simulation run 'next door'. Note that there is a gridded version of SNOWPACK that is able to handle some 3D effects like snow-redistribution called Alpine3D.

Within a single, 1D SNOWPACK simulation, we do have the option to specify virtual slopes. Typically these are the four cardinal wind directions in addition to the main, flat field simulation, but a higher (or smaller) number of virtual slopes is also possible. It is common (but not mandatory) to give these virtual slopes an incline (typically 38 degrees), to simulate the differing effects of radiation and (described here) wind. The examples in this document assume 4 virtual slopes (N/E/W/S @ 38 deg) in addition to the main, flat simulation (nSlopes=5). But in principle the examples should work for any other number of virtual slopes.

virtual slopes inherit several properties from their main slope, the most notable being snowfall. Where appropriate, the effects of the virtual slope's incline is taken into account. For example, incoming radiation is projected onto the slope, and stability calculations also take into account the slope angle. It's confusing, but simulations are sometimes called virtual stations in SNOWPACK. (maybe something we should get rid of).

We can thus visually represent a SNOWPACK simulation with 4 virtual slopes (N-E-S-W @ 38 deg) in the following way:

Schematic representation of a SNOWPACK simulation with 4 virtual slopes
Fig 1: Schematic representation of a SNOWPACK simulation with 4 virtual slopes at 38 degrees. (picture courtesy of S.Horton?)

Wind affects the snow in our SNOWPACK simulations:

  • During snowfall:
    • New snow density
    • Microstructure parameters dendricity and sphericity (dd & sp)
  • After snowfall:
    • Densification at the same slope, either through ENHANCED_WIND_SLAB (simple, upper 7 cm only ) or SNOW_EROSION=REDEPOSIT (more sophisticated)
    • Redistribution of snow between virtual slopes through SNOW_REDISTRIBUTION

New Snow Density

The namelist setting HN_DENSITY_PARAMETERIZATION controls the density of new snow. Most of the schemes available here include a term for wind speed in the density parameterization. As can be seen in the figure below however, there are large differences between the parameterizations. It is also relevant to note that some parameterizations are based on field data that did not include periods of high wind, and as a consequence these parameterizations have a hard upper limit hardcoded in SNOWPACK (often 250 kg/m3 of 350 kg/m3).

New snow density parameterizations Fig 2: A few selected new snow density parameterizations available in SNOWPACK. Red dotted lines indicate the measurement data the parameterization was based upon (if known).

Microstructure: dendricity and sphericity

Grain shape in SNOWPACK is governed by the two parameters dendricity (dd) and sphericity (sp). Unfortunately, these are somewhat inconsistently tied to the HN_DENSITY_PARAMETERIZATION, allowing the user little flexibility over their settings. Figure 3 below attempts to show some of the differences, and includes the parameterization from CROCUS for comparison.
The HN_DENSITY_PARAMETERIZATION options LEHNING_NEW, BELLAIRE, use a step function for dd & sp (new_snow_dd_wind/new_snow_sp_wind), whereas ZWART has a power function for dd. For the other hn_density_parameterizations there is a difference between the git branches NVE and master, where on the NVE branch the other hn_density_parameterizations default to the heuristic parameterization (yellow dotted line in fig below), while on the master branch, the default is the step function described above.

New snow dendricity and sphericity Fig 3: Dendricity and Sphericity of new snow, as function of wind speed during snowfall (or redeposition).

Microstructure: grain size and bond radius.

The new snow grain size (rg) can be set in the namelist. Only for the hn_density_parameterization JORDY is the grain and bond size adjusted for wind speed. In all the other cases the namelist setting is used. There is a wind speed- and temperature-dependent parameterization available in the code, but it is currently turned off.

ENHANCED_WIND_SLAB

TRUE/FALSE(default)
The namelist setting ENHANCED_WIND_SLAB=TRUE enhances the basic strain rate in the upper 7 cm of the snowpack. See Eqs. 2 and 3 in Groot Zwaaftink et al. (2013). The idea behind this feature is to simulate wind compaction in the upper layers of the snowpack. This is a simplified representation of the process simulated by SNOW_EROSION=REDEPOSIT (see below), and therefore it is suggested to use only one of these.

SNOW_EROSION

NONE(default)/HS_DRIVEN/REDEPOSIT/VIRTUAL/FREE
As the name suggests, SNOW_EROSION determines the erosion of snow through wind. If !NONE, the model calculates a variable ErosionMass, which depending on the setting is either removed from the snowpack (FREE/HS_DRIVEN), or redeposited on the same slope while increasing the density based on the wind speed (REDEPOSIT). This is thought to simulate the densification of snow through saltation. The REDEPOSIT scheme was originally developed for Antarctic simulations (Keenan et al. 2021, Wever et al 2023), where it is assumed that snow is added to the snow cover permanently only during periods of strong winds (so-called 'event-driven deposition'). Since this assumption is not valid for lower latitudes, some modifications were made w.r.t. the density parameterizations for this scheme. The new parameter DENSITY_REDEPOSIT selects the density scheme that is used for redeposit events. The default value remains the EVENT scheme for Antarctic simulations, which may lead to many small layers with high densities. Selecting 'Parameterized' for DENSITY_REDEPOSIT uses the same density scheme as for new snowfall (i.e. the one set under HN_DENSITY_PARAMETERIZATION). In case the user wants a different density scheme for redeposited snow than for new snow, DENSITY_REDEPOSIT can be set to a specific density scheme (i.e. LEHNING_OLD, LEHNING_NEW, JORDY, BELLAIRE, ZWART, PAHAUT, NIED, VANKAMPENHOUT or KRAMPE (under construction)).

redeposition
Fig 4: The process of erosion and redeposition of snow, leading to densification. Picture from Keenan et al. 2021.

Other settings

  • SNOW_EROSION=HS_DRIVEN requires measured snow height as input to the model. In this case erosion (at the main station) is determined from the difference between modelled and measured snow height.
  • SNOW_EROSION=FREE leads to unlimited erosion.
  • SNOW_EROSION=VIRTUAL does not remove mass from any slope, but calculates a virtual erosion, that can be used to determine the drift index.

SNOW_REDISTRIBUTION

NONE (default)/SIMPLE/ADVANCED
While SNOWPACK (in its default configuration) is a 1-D model and does not transfer mass between different simulations, there is the option to transfer mass between the windward and leeward virtual slopes 'within' one simulation. This feature is called SNOW_REDISTRIBUTION. The original implementation of this function uses the mass eroded at the windward slope, and deposits it at the lee slope with the original density, meaning no densification or slab formation takes place. Previously this was the only option, activated by setting SNOW_REDISTRIBUTION to TRUE. It is now available as SNOW_REDISTRIBUTION=SIMPLE.

The new advanced redistribution scheme builds on the snow_erosion=redeposit scheme, but rather than depositing the snow on the original slope, deposition occurs on the lee slope. It thus uses the same wind-dependent density parameterization DENSITY_REDEPOSIT

Interactions between SNOW_EROSION and SNOW_REDISTRIBUTION

Since both of these options use the ErosionMass, there is some interaction between these settings that is worth noting. The examples below assume a flatfield main station with 4 virtual slopes at 38 degrees.

  • Case: SNOW_EROSION=REDEPOSIT , SNOW_REDISTRIBUTION=NONE
    In this case erosion and redeposition occur on all slopes (virtual and main).
  • Case: SNOW_EROSION=NONE , SNOW_REDISTRIBUTION=SIMPLE/ADVANCED
    In this case only the windward slope is eroded, while the mass eroded there is redeposited on the lee slope.
  • Case: SNOW_EROSION=REDEPOSIT , SNOW_REDISTRIBUTION=SIMPLE/ADVANCED
    In this case Erosion occurs on all slopes except for the lee slope. The mass eroded at the windward slope is redeposited on the lee slope. The mass eroded at the main slope, and all vslopes that are not windward or leeward, is redeposited on the same slope.

These cases are illustrated in the figure below, for a timestep with wind coming from the north: Erosion settings Fig 5: Schematic representation of the different combinations of SNOW_EROSION and SNOW_REDISTRIBUTION.

DRIFT INDEX

The wind drift index, or drift index, is a diagnostic variable calculated from the drifting snow fluxes. The settings for SNOW_EROSION and SNOW_REDISTRIBUTION determine whether the index is calculated or not. The Drift Index represents a virtual wind slab deposition (in cm/24h). To calculate this, a fixed deposition density is assumed, which is currently set (hardcoded) at an unrealistic low value of 77 kg/m3. The resulting drift index should therefor not be interpreted too literally. Rather, it serves as an indicator for wind slab formation. Some forecasting centers have been relying on this for some time, and as a result have developed an intuitive feel for the interpretation of the current index. Changing the calculation of the index should probably not be done without consensus amongst its users.