Releases: philippkraft/cmf
v2.0.0
New CVODE solvers, reaction objects and connection directors
This CMF version breaks compatibility to older versions but contains many improvements:
Build system
CMF is now build as a pure C++ static library and linked to independently built CVODE solver from the
SUNDIALS package. CVODE is configured to link with the KLU solver from the
SUITESPARSE library. Both solvers and the CMF core library are build as CMAKE projects. Build instructions can be found in tools/install_solvers.bat/.sh
and tools/install_cmf_core.bat/.sh
. The setup.py
script invokes these scripts as needed.
Solvers
In v1.6 there was one wrapper for the CVode solver with several options for solver configuration. Now different solver types are selected per different wrappers, CVodeDense, CVodeKrylov (default CVodeIntegrator in v1.6), CVodeBanded and CVodeDiagonal.
New versions (not available in v1.6) are CVodeAdams as an explicit multistep solver with up to 12th order and CVodeKLU with a direct sparse solver. The CVodeKLU solver analysis the hydrological network and uses a specialized solver for the sparse structure of the Jacobi-Matrix.
Reaction objects
Reactive fluxes can be modelled using a simplified chemistry module to model 1st and 2nd order reaction kinetics and equilibrium
reactions.
Connection directors
It is now possible to use the BaseConnection object to create connections directly in Python. This will be in most cases unacceptable slow, but a good opportunity for connection development
Cell geometries
Cells can be amended by a geometry, the network and area can be derived from the geometry.
1.6 Improved dependency management
v1.6 Updated docs to 1.6
Final Python 2 release
This release is meant to be the final cmf release running under Python 2. Only bug fixes will be published for this version, new features are only available for Python >= 3.5 and only for 64bit.
Rational: Python 2.7 and 3.4 are reaching their end of life and supporting them gets more and more a burden, especially for the new features of cmf v2.0.
New features and fixes in cmf v1.5:
Bracket access for solute storages
cmf 1.4 is mainly a bug / documentation fix release, with mild enhancments.
Major enhancment is the bracket access for solutes, however, not all tutorials / demos are already updated.
Fixed issues:
Bugs and inconsistent equations
- #46 pip install cmf fails for linux / mac os
- #37 Shuttleworth-Wallace: Inconsistent behavior in wet to dry leaves transition
- #38 Surfacewater: Inconsistent methods to calculate covered area
Enhancements:
- #31 More crossection types can be implemented on demand
- #29 Bracket access to solute storage
- #50 New connection names are already available as alias
Documentation
Documentation and Python 3 first
The documentation is moved to GitHub and tutorial and API documentation are tied together. All Python code is now Python 3 compatible and Appveyor is used to produce binary distributions of cmf for Windows. cmf.draw is modernized and better documented. Other obsolete and undocumented extra packages have been removed from the source.
Geometry revisited
A new approach for dealing with Geometry in cmf using saved geometry data in cells. Handled MacOS problems and fixed a regression from v1.1.1
New constraint linear storage
New conceptual connections
v1.1.0 Update README.rst
Kinematic wave and scale of water storages
- Added LinearStorageConnection and PowerLawConnection to replace kinematic_wave with more clarity.
- Fixed #2.
CMF v0.1315 05/2016
CMF as used in
Maier, N., Breuer, L. and Kraft, P.: Prediction and uncertainty analysis of a parsimonious floodplain surface water – groundwater interaction model, Water Resources Research, 7678–7695, doi:10.1002/2017WR020749, 2017.
and follow up publications