Skip to content

This is the changelog for Snowpack release 3.2.0

Configuration keys changes

First, several configuration keys have been changed (and potentially moved to another section):

  • Renamed TRESH_DT_AIRSNOW to THRESH_DTEMP_AIR_SNOW
  • Renamed INCOMING_LONGWAVE to MEAS_INCOMING_LONGWAVE
  • Disentangle HN_DENSITY and HN_DENSITY_MODEL to HN_DENSITY, HN_DENSITY_PARAMETERIZATION and HN_DENSITY_FIXEDVALUE
  • SW_ABSORPTION_SCHEME (formerly MULTISTREAM); FORCE_SW_MODE (formerly SW_MODE_CHANGE), and HARDNESS_PARAMETERIZATION (formerly HARDNESS_MODEL)
  • SW_MODE is now a string and has a value of either INCOMING, REFLECTED, or BOTH
  • The NEUTRAL key has been renamed as "ATMOSPHERIC_STABILITY" and now takes values as strings (RICHARDSON, MONIN_OBUKHOV, NEUTRAL_MO)

And some new keys added:

  • WATERTRANSPORTMODEL_SNOW, WATERTRANSPORTMODEL_SOIL (it is recommended to set DEBUG_ARITHM to OFF when using Richardson)
  • ADVECTIVE_HEAT, HEAT_BEGIN, HEAT_END
  • ALBEDO_MODEL key allows to choose an albedo parameterization from the 5 available
  • ISWR_IS_NET
  • SNOW_ALBEDO, ALBEDO_PARAMETERIZATION, ALBEDO_FIXEDVALUE
  • SNOW_EROSION
  • PROFILE_FORMAT (either PRO, PRF or IMIS or a combination)

Detailed changelog

  • code cleanup

    • warnings, using some optimized routines, reducing some variables' scope
    • breaking methods into smaller units
    • removing pointers and passing by pointers, unused variables
    • not using int as bool, more usage of STL where possible
    • checking code against published papers
    • making code more similar to the published papers
    • more consistent handling of default values
    • removing some macros
    • 64 bytes platforms
    • removing obsolete comments
    • data structure cleanup to remove redundant (and misplaced) information
    • less verbose for Alpine3D
    • more robust code in places where common user errors happen
    • removing Snowpack data generation strategy to fully rely on MeteoIO's DataGenerators
  • Utility scripts, build system and packaging

    • new scripts: to run snowpack and to extract data out of simulations
    • packaging: enabling building a fully static Snowpack on OsX and Linux
    • packaging: better compilation options for Snowpack standalone on osX
    • improved the massbalancecheck script
    • CMakeLists simplified (now requiring at least cmake 2.8.0)
    • cleanup of the tests for ctest
  • Documentation, user-friendliness

    • renaming/moving keys and working on their dependency to get a more consistent configuration
    • cleaning up and bringing up to date the examples
    • documentation improvements and updates
    • soil example
    • Windows batch file example
    • change a few default values
    • ALPINE3D soil profile introduced
    • more formats supported for snow profiles
    • putting the timestamps always at the same position in screen messages
  • Bug fixes

    • fixes after running cppcheck
    • fixing a bug in Canopy::Interception
    • fixed phase change related bug that could make all soil layers isothermal at once
    • fixed issues with high infiltration rate
    • bug fixed when writing sno files out
    • bug fix: MINIMUM_L_ELEMENT and HEIGHT_NEW_ELEM declared in the ini file were never read
    • bug fix for small elements in stop-and-go
    • fixed the grass detection algorithm to properly work in stop-and-go mode
    • bug fix: add a newline at the end of exception messages
    • bug fix when writing ascii files
    • fixed empty profiles incorrectly writen
    • limit the settling to the amount of air available in a given layer, in order to naturally keep proper volumetric contents
    • fixed a bug when validating the data: if ENFORCE_SNOW_HEIGHT, HS is necessary!
    • fixed an incomplete energy balance in the canopy
  • Water transport

    • NIED water transport and Richards equation solver
    • Detection and support of LAPACK and BLAS in cmake for the Richards equation solver
    • UPSTREAM hydrolic conductivity averaging option
    • fixed bug in volumetric contents after ice sublimation in Richards solver
    • removing wrong averaging scheme for hydrolic conductivity
    • multiple hydrolic conductivities parametrizations
  • Other improvements and features

    • improved the canopy energy balance and made it closer to the papers
    • new snow albedo parametrizations
    • the layer tagging feature has been reintroduced but not carefuly verified yet (read: highly experimental)
    • implement the possibility to inject a heat flux at a specific depth (ADVECTIVE_HEAT key)
    • it is now possible to use only 2 virtual slopes
    • implement liquid water index for virtual north and south slopes
    • new key: "SNOW_EROSION" so it is possible to erode a single slope while it still requires multiple virtual slopes to deposit snow
    • energy balance improvement when evaporating liquid water from the top layer
    • energy balance improvement when new snow falls on wet snow
  • Misc

    • better glacier detection
    • better boundary conditions
    • add possibility to provide short wave as net short wave
    • using Unsworth parametrization when no ILWR is available. This works better with ATMOSPHERIC_STABILITY=MONIN_OBUKHOV
    • ImisDBIO now direclty write the profiles to the database
    • ImisDBIO writes the calculation date to the database
    • ImisDBIO speed optimizations