Changelog3 1 0

This is the changelog for Snowpack release 3.1.0

  • code cleanup, debugging

    • renaming indices
    • more meaningful names for Alpine3D flags
    • re-indenting
    • small improvements for padding purposes
    • constification, aliases
    • effective c++ recommendations
    • define three albedos: parametrized, measured and current albedo
    • extra, advanced warnings enabled when compiling Snowpack in debug mode
    • implement a few << class operators, convenient for debugging
    • better debug/error messages
  • elements merging, joining and suppression

    • fixed possible merging of snow and soil elements
    • fixed issues with elements merging and sums of mass contents
    • revise/improve joining/merging of elements, renaming suppression, merging, joining
    • the properties of two snow layers that are merged are computed by a weighted average on the ice mass
    • fixed numerous small bug when merging specific elements (very small element, large or small ice content, etc)
  • mass and energy balance

    • redefinition of the implicit soil heat flux when soil and snow are present
    • the melt/freeze part of the internal energy change is now computed and written out in met file
    • mass balance checking script for postprocessing met files
    • energy balance checking script for postprocessing met files
    • change order of soil/snow heat flux and surface fluxes in order to achieve a better energy balance
    • PhaseChange is now called twice: after the temperature equation and again after waterTransport (if infiltrating water would need to refreeze). A call to initialize() and to finalize() must be done
    • better branching between implicit and semi-implicit boundary conditions strongly reducing oscillations in soil
    • improve energy balance by treating boundary heat fluxes explicitly in melt conditions
    • better handling of maximum allowed number of iterations for the temperature equation (depending on the number of elements)
    • more tests on masses in debug mode (using asserts)
  • water transport

    • excess rain water that can not be stored in the snow is added to snowpack runoff
    • the water that can not be stored in a snow element is forwarded to the elements below through some kind of preferetial flow path
    • MS_RUNOFF has been changed in MS_SNOWPACK_RUNOFF and only contains runoff from a snowpack
    • fixed an index bug in WaterTransport::compSurfaceSublimation()
    • discard MS_TOTALMASS from output to sn_gui
    • better runoff "classification" for various cases
  • compilation and tests

    • add automated tests
    • CMakeLists cleanup
    • better possibilities to find inishell and meteoio (including when check outs have been made alongside one another)
    • FindLibsnowpack cmake script has been fixed
  • Miscellaneous

    • fixed invalid flags for using with Alpine3D, reduce log output
    • reuse more atmosphere/radiation classes from MeteoIO
    • properly print exceptions on all platforms
    • radiation on the East and West slopes was swapped...
    • improve the documentation by adding new graphics and a new page
    • new key: output hardness in newton instead of index
    • new key: CLASSIFY_PROFILE (set to false by default) in order to chose if the profile classification should take place (and unless otherwise specified, it won't take place anymore)
    • less insertions of out of range numbers into the database