- removed dependancy on rgdal
- Fix bug in get_states method

- 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

- Release for CRAN

- 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

- 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

- 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

- changes to improve plotting

- 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

- None

- None

- Adapted hillslope solution to Finite Volume to address mass balance issues in v0.2.0.9020
- Improved mass balance checking and output

- Addition of two further transmissivity profiles - these
implementations should be considered
**experimental**

- 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.

- 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.

- Model structure altered to contain a further data frame containing all the HRU linkages

- 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.

- 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

- improved calculations within the saturated zone
- improved mass_check
- more complete vignette - model equation and coding notes

- 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

- Reformulation allows for data and code to saved in a single object allowing fuller reproducibility
- Additional plotting and data extraction functions

- 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

- 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.

- Added time delay histogram river routing. See vignettes on theory and use.

- Fixed some mass balance issues in dynatop relating to the saturated zone solution in dynatop
- Improved handling of case of infinite saturated zone deficit

- 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.

- Fixed minor formatting issues in the vignettes
- Added vignette on checking mass balances

- Added purl=FALSE where error=TRUE in vignette

- Removed unused Rcpp functions and library dependencies

- Removed vignette data from package to reduce size. Now on git hub
- Minor spelling and format changes to vignette

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 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.

- 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