NEWS
dynatop 0.13
New features
- C++ implementation of hillslope simulation code can now return states and is
fully feature compatible with R implementation.
- R implementation of hillslope simulations will be depreciated in a future release.
dynatop 0.12
New features
- Main hydrological simulation code implemented in C++ using Rcpp for better performance.
- The R version of the code can be used instead by setting the use_R input parameter to TRUE. This will be depreciated in a later version.
- Currently C++ code does not return intermediate states, use the R version if these are required
dynatop 0.11
New features
- improved calculations within the saturated zone
- improved mass_check
- more complete vignette - model equation and coding notes
dynatop 0.3.0.1003
- Improved linear search in optimisation step of solution
- Updated vignettes
dynatop 0.3.0.1002
- Add scale in output definition
- Add warning if output flux type not defined
dynatop 0.3.0.1000
Breaking changes
- New solution to the surface and saturated zone
- Revised model structure
dynatop 0.2.3 (2022-10-10)
- removed dependency on rgdal
- Fix bug in get_states method
dynatop 0.2.2 (2022-04-13)
- Fixed missing time step in some Courant number calculations
- Fixed accounting of channel inflow in mass balance computations and added
matching test. Previously impacted simulations with a sub step.
- Added Runoff Attenuation Feature (RAF) representation to surface of Hillslope HRU
dynatop 0.2.1 (2022-01-18)
dynatop 0.2.0.9200
- Fix so using a single channel works correctly
- Fix so fluxes passed correctly during initialisation
- Fix bug in get_states() so returns correctly when record=FALSE
- Tidying for release to CRAN
dynatop 0.2.0.9101
Breaking changes
- New model structure allowing for the transmissivity profile to be specified per HRU
- New transmissivity profile (double exponential) meaning additional parameter columns (m_2, omega) in the model
Other changes
- dropping of Boost bisection algorithm for direct implementation with user
specified tolerance and maximum iterations
- C++ code refactored for speed improvements, making use of a single hillslope_hru class
- Refinements to the vignettes and documentation to reflect changes
dynatop 0.2.0.9035
- Adapted R and C++ code to pass data frames of hillslope and channel properties
- tidy up of C++ code
- Fix bug in hillslope HRU solution which was indexing incorrect PET value - this will only impact simulations with multiple PET series, if constant then results should be identical to v0.2.0.9030.
- Revert Channel routing to compute average flux over the time step
New features
Breaking Changes
dynatop 0.2.0.9030
- Adapted hillslope solution to Finite Volume to address mass balance issues in v0.2.0.9020
- Improved mass balance checking and output
New features
- Addition of two further transmissivity profiles - these implementations should be considered experimental
Breaking Changes
- Alterations to model structure
- Two new data.frames added for defining Precipitation and PET inputs. These can now be specified as weighted sums of observed series.
- The parameter vector
$param
is dropped. Numeric parameters are now stored in the $hillslope
and $channel
data.frames. This is to allow for cleaner code and future development of different model storage less dependent of *.rds
files.
dynatop 0.2.0.9020
- Adapted to use a contour (cross section) solution. This brings brings the model into line with the original
dynamic TOPMODEL concept.
- Complete rewrite of the hillslope simulation code making better use of std C++ classes and
Boost libraries.
Breaking Changes
- Model structure altered to contain a further data frame containing all the HRU linkages
dynatop 0.2.0.904
- changes to improve plotting
dynatop 0.1
Breaking Changes
- Code base reformulated in an Object orientated form using the
R6
package. Except for change below algorithms as for v0.0.4
- Input format of model changed to reflect
dynatopGIS
v0.1
- Removal of banding functions since these are now in dynatopGIS
- All units now in m and seconds
- Precipitation and PET inputs now expected to be metres accrued over the time step rather then m per hour
New Features
- Reformulation allows for data and code to saved in a single object allowing fuller
reproducibility
- Additional plotting and data extraction functions
dynatop 0.0.4
Breaking changes
- New solutions to the surface and saturated zone means models for previous
versions of dynatop will not work. See the model description and the
dynatopGIS
package (0.0.4) for a method of generating models in the
revised format
Other changes
- The surface store, previously labelled $s_{ex}$ has been relabelled $s_{sf}$
since this is felt to be more logical.
- The
Matrix
package is allowing the use of sparse matrices.
- Computation bands have been introduced for the surface and saturated
zones. These allow the revised solutions below. See the associated vignette
on banding HSUs
- A revised approximation to the surface water movement has been implemented
allowing for larger numbers of HSUs without the performance overhead of
computing large matrix exponential.
- A four point kinematic wave solution to the saturated zone is utilised. This
is both more performant and has better representation of hillslope length
then the numerical ODE solution used in v0.0.3.
dynatop 0.0.3
New features
- Added time delay histogram river routing. See vignettes on theory and use.
Bug fixes
- Fixed some mass balance issues in dynatop relating to the saturated zone
solution in dynatop
- Improved handling of case of infinite saturated zone deficit
Breaking changes
- The model structure has been adapted to allow for the channel connectivity
and specification of gauges and inputs on the channel network. See the model
object vignette. If using dynatopGIS then rerun create_model.
Other changes
- Fixed minor formatting issues in the vignettes
- Added vignette on checking mass balances
dynatop 0.0.2
Bug fixes
- Added purl=FALSE where error=TRUE in vignette
Other changes
- Removed unused Rcpp functions and library dependencies
dynatop 0.0.1
Other changes
- Removed vignette data from package to reduce size. Now on git hub
- Minor spelling and format changes to vignette
dynatop 0.0.0.9000
Context
This package is the result of an almost complete rewrite of the dynatopmodel package
formally CRAN and the associated development code (not in the public
domain).
This package contains the code for model evaluation and helpers for preparing time
series input data. The package dynatopGIS contains the
tools for preparing models from GIS data.
New Features
- New definition of a dynamic TOPMODEL 'object'
- separates out GIS data for more compact size
- introduces the concept of Hydrological Response Unit (HRU) types
- Altered HRU definition table to allow for more transparent and easy
reparametrisation
- Altered HRU definition table to allow for more transparent use of
multiple input series (referenced by name, not input column)
- Altered input of time series data to a single xts object containing names
columns
- New output list containing:
- model object, with final states of the system
- xts object of flows to channel HRUs
- Rewritten initialisation and main execution loop of dynamic TOPMODEL so that
- Channels are handled explicitly not as 'special cases' (parametrisations) of hillslope units
- Analytical solution of root zone can handle case where both pet and
precip are positive
- Initialisation does not return a new workspace
- Vignettes documenting
- use of dynamic TOPMODEL
- Equations and solution methodology
- Performance of code for larger simulations
- 'Hard' checks are now implemented, previously code was performing various
'corrections' sometimes without warning.
- Model simulation can be initialised by passed in states allowing for
chinking of the longer simulations.
Regressions of note
- Plotting functions and performance calculations have not been replicated
- The time delay histogram method for river routing is not implemented
- Model no longer outputs states and fluxes at every time step