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:
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 [ALPINE3D] section (this is still an experimental feature).
Several types of outputs are supported: gridded outputs and full snowpack stratigraphy.
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 key (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 multiple given depths can be written out simply by setting the SOIL_TEMPERATURE_DEPTHS key in the [Output] section to the chosen depths (in meters). In this case, there is no need to declare a TSOILx parameter for the GRIDS_PARAMETERS key (it is currently limited to at most 5 different depths but could be increased in the future). It is possible to do the same in the snow at a given depth by setting the SNOW_TEMPERATURE_DEPTH key, or the average snow temperature from the surface until a given depth (SNOW_AVG_TEMPERATURE_DEPTH key) or the snow density from the surface until a given depth (SNOW_AVG_DENSITY_DEPTH key). When averaging either temperature or density, if the snow height is less than the requested depth, the average is performed on the whole snow pack.
If the parameters you want to write out do not already exist in SnGrids::Parameters, then you have a few extra steps to perform:
Several Snowpack objects are available for the current point (and documented in Snowpack itself in the Dataclasses.h file):
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).