Table of Content

Brief changelog of Snowpack-3.6.0

This version does bring some changes to the configuration keys


  • Packaging / compiling
    • packaging: the pugixml files were not installed, so it was not possible to compile Alpine3D anymore
    • better search priorities when cmake searches for snowpack or meteoio
    • niviz is not bundled anymore, nor Inishell (more work is needed to bundle the new Inishell)
    • for some versions of some compilers, an include was missing...
    • better handling of RPATH so snowpack can more often find its libraries by itself
  • Others
    • depending on the user's system configuration, the output files were either UTF8 or something else. They are now consistently UTF-8 (on Windows, there are still cases when this could fail)
    • wrong roughness length was used for snow free pixels when canopy module was OFF
    • in the Main, now once the potential exceptions are caught, an EXIT_FAILURE error code is returned instead of "throw()". This prevents having the exceptions printing their message twice and makes it much easier to integrate into Inishell
    • the -v command line option does not take any arguments!
    • fixed an inconvenience: when "stability" throws an arithmetic exception, it can not be caught by C++ (since it is a CPU exception). This means that if this happens in Alpine3D, instead of asisgning a max_stability value to the pixel and moving on, the simulation stops. This happened in getYoungModule because of a negative density. So now the density is checked before computing anything else and if negative, a c++ exception is thrown (which will be caught by alpine3d).

New features

  • allow drift index calculation if more than 1 exposition is calculated
  • a technical snow module has been implemented (grooming and snow production)
  • Integration into other models
    • ADJUST_HEIGHT_OF_WIND_VALUE and ADJUST_HEIGHT_OF_METEO_VALUES are now checked at each calls so different pixels in Alpine3D can have different values
    • output logs are now flushed at each line so when Snowpack is wrapped into another application (such as Inishell) the run progression is shown "live".
    • the output logs do not show the julian date anymore
    • now ACDD metadata is supported in SMetIO for timeseries
  • Changes to configuration keys
    • new key SLOPE_FROM_SNO that allows to choose if the metadata should come from the sno file or from the meteorological data (this is important for virtual stations)
    • the ISWR_IS_NET key has been removed, now if a field named "NET_SW" is found, it will be properly handled
    • making the ROUGHNESS_LENGTH key optional (ie it now has a default value) since most users keep the default value anyway
    • the BACKUP_DAYS_BETWEEN key has been renamed into SNOW_DAYS_BETWEEN for consistency with the other parameters and Alpine3D
    • the soil evaporation model is configured with an new SNOWPACKADVANCED::SOIL_EVAP_MODEL key (as in dev branch). In addition, the soil thermal conductivity computation from fitted data can now be bypassed with another new SNOWPACKADVANCED::SOIL_THERMAL_CONDUCTIVITY key. Default behaviour is unchanged.


  • various small improvements
  • the Swiss code is now included
  • added some documentation about using spatial resampling in Snowpack
  • the example ini files were using the deprecated BUFF_CHNUK SIZE key
  • changed some default options: now most example don't write the snow files

Created: 14 days 22 hours ago
by Mathias Bavay