Releases: CSHS-CWRA/RavenHydroFramework
v4.1 Release
This is a major new release, This version has been improved with a handful of modelling features, new algorithms, quality checks on inputs, increased speed, and minor bug fixes. Notably, the following features have been added:
- Isotope tracers - support for transport simulation of 18O and 2H isotopes. Works in any model configuration.
- Management optimization upgrades:
- Significantly stability upgrades to handle drying out lakes in management optimization.
- Improved diagnostics for infeasible solutions.
- Management optimization now can be applied in models with direct insertion assimilation.
- Support for non-linear management expressions.
- New functions for building management expressions and reverting to stage-discharge curve operation
- New time series commands – new :AnnualCycleStep, :AnnualPattern, and :IrregularPattern time series input formats
- Improved output options - Support for :CustomOutput BY_DRAINAGE_AREA; new ObsVsSim.csv output generated for all state observations.
- New and improved algorithms - New orographic temperature correction OROCORR_WETDRY; new :SnowRedistribute hydrologic process for handling snow towers; new hydrologic process command :LateralDivert. :LateralFlush can now handle multiple recipient HRUs; improved routing with semi-analytical calculation of DIFFUSIVE_WAVE discrete transfer functions; new algorithms for estimating time of concentration
- Speed improvements - especially for partially disabled models using NetCDF gridded inputs.
- State overrides - state variable overriding with new :StateOverride time series command.
- Bug fixes - fixes to EnKF assimilation with and without stage overriding.
Backward compatibility issues:
- Improved handling of transfer functions in the DIFFUSIVE_WAVE routing algorithm, which now uses an analytically integrated exact mapping to discrete time rather than an approximate one. This will lead to changes in timing of hydrographs, particularly in large hourly models with many cascading subbasins.
- Management optimization now requires that all penalties be less than 100000
The model has been benchmarked against a suite of 40+ models to ensure no unintentional code drift errors are added.
v4.0.5 update
various intermediate changes. Updated for PAVICS
v4.0.1 update
minor fix to support compilation without lp_solve
Release v4.0
This is a major new release, and has been improved with new modelling features, new algorithms, quality checks on inputs, and minor bug fixes. First, the big one:
- Water Management Optimization
Raven is now a fully integrated surface water hydrology/water resources management model, supporting general user-defined and conditionally-applied management goals expressed in terms of flows, reservoir stages, water demands, soil and SWE states, date, or time of year. Users set priorities for management goals, and Raven will determine the optimal satisfaction of these goals in a manner consistent with real world operation of managed systems. This toolkit can support evaluation of reservoir operating plans, water demand licensing during drought, dam safety protocols, or the resilience of watershed management plans. Critically, it allows the user to encode complex real-world operational decisions about water delivery, diversion, or release within a hydrologic model. This new functionality is supported with the open-source lp_solve linear programming library.
The following features have also been added since the v3.8 release (Jan 2024):
- Frozen wetlands which can accumulate snow using the LakeFreeze process.
- WATER-type HRUs via special soil profile. These water HRUs, intended to represent stream reaches or other small water bodies, support canopy processes and use sub-canopy incoming longwave radiation (unlike LAKE type HRUs) while still disabling soil processes.
- Transport simulation with :Convolution is now supported. This was the only process type which did not previously support transport, enabling temperature and tracer transport with (e.g.) the GR4J or HMETS model configurations.
- New :AnnualPattern command - Provision of time series as repeating patterns.
- New diagnostic metrics: ABS_ERR_RUN (running average absolute error), KGE_PRIME (revised Kling-Gupta which uses coefficient of variation instead of standard deviation), FUZZY_NASH (Nash Sutcliffe Efficiency which only penalizes errors greater than a fixed percentage of observed flow); Lake area can be provided as observation type; New diagnostic variable TOTAL_SWE for tracking sum of multilayer SNOW and SNOW_LIQ.
- netCDF output of stream temperature output model results.
- Command line support for writing RVP template file with the -template command line argument.
- New command :AllowSoilOverfill to better support :Overflow process in conceptual/compartment soil models.
- New command :WriteNetReservoirInflows which adds reservoir net inflow reporting to Hydrographs.csv output.
- Support for nested :RedirectToFile commands, allowing this command to be used not only in the primary model rvt, rvp, and rvm files, but also files referenced from the primary model files.
- Can now support subbasin and HRU IDs longer than 9 digits.
- Major bug fixes: Issue with :LandUseChange command introduced in v3.8 fixed; failure of stream temperature model with zero-length streams; multiple minor bug fixes.
v3.8.1
Intermediate release; update descriptions forthcoming in next major release
Version 3.8
This version has been improved with a handful of modelling features, new algorithms, quality checks on inputs, and minor bug fixes. Notably, the following features have been added:
• New Models Added – full (level 1) emulation support for the HYMOD2 hydrological model (Roy et al., 2017).
• Radiation/ET/Rain-snow partitioning Algorithms – added new algorithms for estimating PET, LW incoming radiation, and partitioning between rain and snow
• Lake Freezing – simple treatment of lake freezing and snow accumulation on frozen lakes with the :LakeFreeze command
• Improved Stream Temperature simulation – better handling of longwave radiation, support for sensible heat exchange and groundwater mixing during in-catchment routing , support for gridded rainfall temperature inputs,
• Basic Model Interface (BMI) interoperability – Raven can now be compiled as a linked library and interface directly with other BMI-compliant applications
• Other – correction factors for wind speed and relative humidity; Spearman ranked correlation coefficient diagnostic, improved support for EnKF in a FEWS environment, improved handling of orographic corrections when using gridded precipitation/temperature data, temperature bias correction, writing of reservoir mass balance file in netCDF format, some previously hard-coded parameters now exposed to users; support for multiple water demands from a single subbasin
• Notable Bug Fixes – repairs to handling of daily-averaged PET estimates, default estimation of longwave radiation, handling lake evaporation when :HRUID not supplied to reservoir, fix to rainfall on reservoirs when :LakeStorage is something other than SURFACE_WATER, repair of reservoir stage assimilation via direct insertion, fixes of netCDF issues when elevation attributes are provided
• Improvements/updates to the Raven documentation and to Raven input quality checking.
Version 3.7.1
Intermediate patch release v3.7.1
- new
:TemperatureCorrectioncommand - support for
:WriteLocalFlowscommand, adding local basin inflows to Hydrographs.csv - support for writing ReservoirMassBalance file in NetCDF format
- includes minor bug fixes for reading FEWS state updates using EnKF, area inconsistencies in lake energy balance, issues with UBCWM snow balance at sub-daily timestep, requirements for relative height variable with most interception models, and issues when no
:HRUIDis included with reservoir
This release has been benchmarked and is available for production use
Version 3.7
Raven hydrological modelling framework release version 3.7, released May 2023