Cmf

Latest version: v2.0.1

Safety actively analyzes 723217 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 2

2.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](https://github.com/LLNL/sundials) package. CVODE is configured to link with the KLU solver from the
[SUITESPARSE](https://github.com/DrTimothyAldenDavis/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

1.5

- Compiles on MacOS again (57)
- Safe and downcasted item retrieval from solver states (53)
- New ET method (OudinET, 34)
- Added number of tolerable solver errors (56)
- Fixed ImplicitEuler (58)
- Fixed usage of scalars for retentioncurve functions (60)

1.4

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
- 45 Technical Flux and Waterbalance Tutorials need reworking
- 30 Error API Manning equation
- 35 GIR of ShuttleworthWallace description

1.3

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.

1.2

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

Page 1 of 2

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.