SNOWPACK 20240419.9b8fae6
SMET

Format

This plugin reads the SMET files as specified in the MeteoIO pre-processing library documentation (under "Available plugins and usage", then "smet").

Note
There is also a python library, pySMET available, to read SMET files.

Fluxes timeseries

These files are very regular SMET files with a large number of fields.

Layers data

The snow/soil layers file has the structure described below:

  • the SMET signature (to identify the file as SMET as well as the format version)
  • a Header section containing the metadata for the location
  • a Data section containing description of the layers (if any). Please note that the layers are given from the bottom to the top.

The following points are important to remember:

  • the station_id field is often used to generate output file names
  • you don't have to provide lat/lon, you can provide easiting/northing instead alongside an epsg code (see MeteoIO documentation)
  • the ProfileDate will be used as starting date for the simulation. Therefore, make sure you have meteorological data from this point on!
  • the number of soil and snow layers must be right!
  • timestamps follow the ISO format, temperatures are given in Kelvin, thicknesses in m, fractional volumes are between 0 and 1 (and the total sum must be exactly one), densities are in kg/m3 (see the definition of the fields in the table below)
initial snow profile fields description
FieldDescription
timestampISO formatted time
Layer_Thicklayer thickness [mm]
Tlayer temperature [K]
Vol_Frac_Ifractional ice volume [0-1]
Vol_Frac_Wfractional water volume [0-1]
Vol_Frac_WPfractional preferential water volume [0-1]
Vol_Frac_Vfractional voids volume [0-1]
Vol_Frac_Sfractional soil volume [0-1]
Rho_Ssoil density [kg/m3]
Conduc_Smineral phase soil thermal conductivity [w/(mK)]
HeatCapac_Smineral phase soil thermal capacity [J/(kg*K)]
FieldDescription
rggrain radius [mm]
rbbond radius [mm]
dddendricity [0-1]
spspericity [0-1]
mkmarker, see Metamorphism.cc
mass_hoarmass of surface hoar []
nenumber of elements
CDotstress change rate (initialize with 0.)
metamocurrently unused

Usually, simulations are started at a point in time when no snow is on the ground, therefore not requiring the definition of snow layers. An example is given below with one snow layer (and some comments to explain the different keys in the header):

SMET 1.1 ASCII
[HEADER]
station_id = DAV2
station_name = Davos:Baerentaelli
latitude = 46.701
longitude = 9.82
altitude = 2560
nodata = -999 ;code indicating a missing value
tz = 1 ;time zone in hours
source = WSL-SLF ;optional key
ProfileDate = 2009-10-01T00:00 ;when was the profile made, see explanations above
HS_Last = 0.0000 ;last measured snow height
SlopeAngle = 38.0
SlopeAzi = 0.0
nSoilLayerData = 0 ;number of soil layers
nSnowLayerData = 1 ;number of snow layers
SoilAlbedo = 0.20 ;albedo of the exposed soil
BareSoil_z0 = 0.020 ;roughtness length of the exposed soil
CanopyHeight = 0.00 ;height (in m) of the canopy
CanopyLeafAreaIndex = 0.00
CanopyDirectThroughfall = 1.00
WindScalingFactor = 1.00 ;some stations consistently measure a wind that is too low
ErosionLevel = 0
TimeCountDeltaHS = 0.000000
fields = timestamp Layer_Thick T Vol_Frac_I Vol_Frac_W Vol_Frac_V Vol_Frac_S Rho_S Conduc_S HeatCapac_S rg rb dd sp mk mass_hoar ne CDot metamo
[DATA]
2009-09-19T02:30 0.003399 273.15 0.579671 0.068490 0.351839 0.000000 0.0 0.0 0.0 1.432384 1.028390 0.000000 1.000000 22 0.000000 1 0.000000 0.000000

Hazard data

The hazards file contain the temporal history of various parameters that are relevant for avalanche warning (such as three hours new snow fall, etc). If such file is not provided, the internal data structures for such data will be initialized to zero (which is what you usually want when starting a simulation before the start of the snow season). The hazards file has the following structure:

SMET 1.1 ASCII
[HEADER]
station_id = DAV2
station_name = Davos:Baerentaelli
latitude = 46.701
longitude = 9.82
altitude = 2560
nodata = -999
tz = 1
ProfileDate = 2012-06-11T17:30
fields = timestamp SurfaceHoarIndex DriftIndex ThreeHourNewSnow TwentyFourHourNewSnow
[DATA]
2010-06-08T18:00 -999 -999 0.000000 0.000000
2010-06-08T18:30 -999 -999 0.000000 0.000000
2010-06-08T19:00 -999 -999 0.000000 0.000000
2010-06-08T19:30 -999 -999 0.000000 0.000000
2010-06-08T20:00 -999 -999 0.000000 0.000000
2010-06-08T20:30 -999 -999 0.000000 0.000000
2010-06-08T21:00 -999 -999 0.000000 0.000000
...
2010-06-11T17:30 -999 -999 0.000000 0.000000

As can be seen in this example, the various indices as well as the snow statistics are given every half an hour in reverse chronological order until the profile date.