Alpine3D  Alpine3D-3.1.0
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Snowpack

This module call the Snowpack energy balance model on each relevant cell of the domain (see Distributed 1D soil/snow/canopy column). The cells that are excluded are the following:

  • cells those altitude is nodata (in the dem);
  • cells those land cover is undefined/nodata (in the lus);
  • cells marked as "water body".

During a parallel simulation, it is often more efficient (but not always possible) to let each node perform its I/O on its local disk instead of requesting the data from another single node. This is enabled with the LOCAL_IO key in the [General] section (default: true).

Several corrections are applied on glaciated pixels: the albedo of such pixels is reset to a fixed glacier albedo when no snow is present and when the air temperature is higher than 5°C the atmospheric stability is forced to MONIN_OBUKHOV. It is also possible to apply an air temperature correction simulating the effect of katabatic flows by setting GLACIER_KATABATIC_FLOW to true in the [Snowpack] section (this is still an experimental feature).

Several types of outputs are supported: gridded outputs and full snowpack stratigraphy.

Gridded outputs

The gridded outputs are written out for all requested the parameters every GRIDS_DAYS_BETWEEN (in days), starting at GRIDS_START (in days, 0 being noon). The available parameters are provided in SnGrids::Parameters and should be written as a space delimited list of parameters as GRIDS_PARAMETERS keys (in the [Output] section).

It is possible to mask the glaciated areas (in order to keep a relevant scaling on snow water equivalent or similar parameters) either statically (performed once and for all at the begining of the run) or dynamically (performed at every time step). The criteria to decide if a pixel is glaciated is defined in Snowpack, in SnowStation::isGlacier(). This is currently defined as more than 2 meters of pure ice in the whole snowpack. The keys to enable glaciers masking and dynamic masking are MASK_GLACIERS and MASK_DYNAMIC in the [Output] section.

Finally, the soil temperature at a given depth can be written out simply by setting the SOIL_TEMPERATURE_DEPTH key in the [Output] section to the chosen depth (in meters).

[Output]
GRID2D = ARC
A3D_VIEW = TRUE ;naming scheme compatible with the viewer of Alpine3D
GRID2DPATH = ../output
MASK_GLACIERS = TRUE
MASK_DYNAMIC = FALSE
SOIL_TEMPERATURE_DEPTH = 0.1 ;output soil temperatures at 0.1m - leave this key out to skip this output
GRIDS_WRITE = TRUE ;default
GRIDS_START = 0.
GRIDS_DAYS_BETWEEN = 1.
GRIDS_PARAMETERS = HS SWE ISWR ILWR

Writing new grids out

If the parameters you want to write out do not already exist in SnGrids::Parameters, then you have a few extra steps to perform:

  1. add the parameter in SnGrids::Parameters as well as its string representation in SnGrids::initStaticData()
  2. add the proper code (similarly as for the already existing parameters) in SnowpackInterfaceWorker::fillGrids();
  3. after recompiling, it will be possible to specify the newly created grid as explained in Gridded outputs.

Several Snowpack objects are available for the current point (and documented in Snowpack itself in the Dataclasses.h file):

  • meteoPixel is an object of type CurrentMeteo;
  • snowPixel is an object of type SnowStation (this also contains CanopyData, NodeData and ElementData);
  • surfaceFlux is an object of type SurfaceFluxes;

Snow stratigraphy

Full snowpack stratigraphy outputs are provided at specific Points Of Interest, as defined with the POI key in the [Input] section. These outputs contain time series of snow profiles and fluxes as well as meteorological forcing at these points, allowing to re-run these points manually in the Snowpack model. These outputs are written in the path pointed to by METEOPATH in the [Ouput] section. The time resolution is controlled similarly to standard Snowpack runs with the TS_WRITE and PROF_WRITE groups of keys (see Snowpack documentation).

[Input]
POI = A3D
POIFILE = ../input/surface-grids/poi.pts
[Output]
PROF_WRITE = TRUE
PROFILE_FORMAT = PRO
PROF_START = 0.0
PROF_DAYS_BETWEEN = 1.
TS_WRITE = TRUE
TS_START = 0.0
TS_DAYS_BETWEEN = 1.
METEO = SMET
METEOPATH = ../output