Snowpack performs physical modeling of the various processes taking place between the soil, snow cover and atmosphere in order to simulate the evolution of the snow cover based on meteorological input data. It requires the following meteorological parameters:
These parameters should best be available at a hourly time step and preferably in MKSA units (please check the MeteoIO plugins documentation for specific cases, like GRIB, NetCDF... that are automatically handled). Please have a look at the other input parameters that are required to run your simulation!
[*] Please note that it is possible to parametrize the incoming long wave radiation (ILWR) from the short wave radiation, obviously with reduced performance compared to measured ILWR. This is achieved by configuring a data generator in MeteoIO such as an all sky parametrization. if ISWR is available, this is straightforward: the clearness index iswr_meas / iswr_pot gives the cloudiness which is used by a ilwr parametrization. If only RSWR is available, at each timestep Snowpack computes the matching iswr based on its modelled albedo iswr = rswr / albedo_mod and then calls all data generator that you may have defined for ILWR (which now have access to ISWR). It is also possible to use such a data generator directly on rswr (thus based on a fixed soil or snow albedo to internally compute iswr) but this is less performant...
In order to help Snowpack handle the (sometimes broken) data sets to be used in a simulation, the MeteoIO library is used. This enables Snowpack to get data from a variety of sources (several input file formats, connection to a database, connection to a web service) and to pre-process real-world data, by filtering the data on the fly and by resampling the data on the fly. Please read the MeteoIO documentation (available online for the last official release) to learn about the supported file formats, the available filters and resampling/re-accumulation strategies as well as the available parametrizations that can help generate some otherwise missing data (either from other parameters or fully synthetic, as last resort).
It is recommended to prepare the data in the SMET file format for its ease of use.
In case incoming and reflected short wave radiation as well as incoming long wave radiation are all measured under ventilated and heated conditions, the best approach in terms of energy flux calculations seems to be by using:
In case you only have reflected short wave and snow surface temperature, using Dirichlet boundary condition would be recommended:
For energy balance interpretation the change of internal energy is for that case better than the sum of fluxes.
Please keep in mind that any inaccuracy on the input parameters will have an impact on the quality of the simulation. Since the modelling is physically-based, manually re-constructing missing data can lead to completely wrong results if not done with great care (the model performing various checks on the physical consistency of the input data, it will exclude data points that are not consistent with the other parameters. For example, precipitation occuring simultaneously with quite dry air will be refused).
For example, the figure above allows to check the following points:
When using spurious data or when faced with a bad behaving simulation, one should first look at the consistency of the input data. The vast majority of the problems can be traced back to some low quality data (either for sensor issues or spurious data manipulation at some stage).
Up to 5 snow and/or soil temperatures, either measured or modelled or both can be monitored. Measured temperatures are read in from the input file. If you use the smet format, do not forget to properly label the columns as TS1, TS2, TS3, etc. If you use the snio format, refer to the documentation. User defined positions (m) should be provided in the SnowpackAdvanced section of the "io.ini" file, for example, FIXED_POSITIONS = "0.25 0.50 -0.10":
If the precipitation phase is available, you can provide it along the meteorological input under the name "PSUM_PH". This phase represents the fraction of liquid precipitation; for example:
If no precipitation phase is provided, Snowpack will rely on a fixed threshold approach: for air temperatures above the value given by THRESH_RAIN in the SnowpackAdvanced section of the "io.ini" file, liquid precipitation is assumed while in the contrary fully solid precipitation is assumed.
It is possible to use other spliting schemes by defining a data generator in the "io.ini" file (see in MeteoIO's documentation the section "Available data generators and usage" for the full list of available generators):