Overview
Watch out, this version does bring some changes to the configuration keys!
Details
Bugs
- 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 assigning 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 behavior is unchanged.
Documentation
- 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