Note
Last update 25/11/2023
Change log
Version 1.3.2
Minor changes
Pull request from alessandro-mariotti-zupit that upgrades python and packages versions.
Version 1.3.1
Minor changes
Added the classifier
Topic :: Scientific/Engineering :: Hydrology
Version 1.3.0
Major changes to existing components
ODEsElements
can now return the derivative of the fluxes together with the fluxes. This enables the usage of numerical solvers that use the derivatives (e.g., Newton methods).Folder structure improved. The numerical approximators and the root finders have been moved from the folder
implementation/computation
toimplementation/numerical_approximators
andimplementation/root_finders
, respectively. Names of the files have been slightly modified to be coherent with this new folder organization.
New code
Implemented a new numerical approximator implementing Runge Kutta 4
Implemented a new root finder implementing a Newton-bisection method
Implemented a new root finder implementing a trivial algorithm to solve explicit algebraic equations.
Version 1.2.1
Minor changes
The network attribute
topography
has been changed totopology
.
Version 1.2.0
Major changes to existing components
The abbreviation of “differential equation” changes, in the code, from
dif_eq
todiff_eq
. This change regards variables names, both in the methods arguments and implementation.The class
FastReservoir
has been changed toPowerReservoir
. No changes in the functionality of the class.
Minor changes
Testing improved.
Version 1.1.0
Major changes to existing components
Form this version, SuperflexPy is released under license LGPL. For details, read License
Minor changes to existing components
Bug fix on the solution of the differential equations of the reservoirs. The calculation of the maximum storage was not correct.
Version 1.0.0
Version 1.0.0 represents the first mature release of SuperflexPy. Many aspects have changed since earlier 0.x releases both in terms of code organization and conceptualization of the framework. Models built with versions 0.x are not compatible with this version and with the following releases.
Major changes to existing components
New numerical solver structure for elements controlled by ordinary differential equations (ODEs). A new component, the
NumericaApproximator
is introduced; its task it to get the fluxes from the elements and construct an approximation of the ODEs. In the previous release of the framework the approximation was hard coded in the element implementation.ODEsElement
have now to implement the methods_fluxes
and_fluxes_python
instead of_differential_equation
Added the possibility for nodes and units to have local states and parameters. To this end, some internal functionalities for finding the element given the
id
have been changed to account for the presence of states and parameters at a level higher then the elements.
Minor changes to existing components
Added implicit or explicit check at initialization of units, nodes, and network that the components that they contain are of the right type (e.g. a node must contain units)
Minor changes to
RootFinder
to accommodate the new numerical implementation.Added Numba implementation of GR4J elements
New code
Added
hymod
elements