|
2.0.0b10
catchment modelling framework
|
Contains classes for numerical solving of ODE's. More...
Contains classes for numerical solving of ODE's.
Classes | |
| class | BDF2 |
| An order 2 BDF-Method with fixed-point iteration and variable step size. More... | |
| class | cubicspline |
| Interpolates points with a cubic spline interpolation. More... | |
| class | CVodeAdams |
| Explizit multistep solver using CVode. More... | |
| class | CVodeBanded |
| implicit BDF CVode solver with a banded Jacobian approximation More... | |
| class | CVodeBase |
| Abstract base class for different modes of the CVode solver. More... | |
| class | CVodeDense |
| implicit BDF CVode solver with full Jacobian approximation More... | |
| class | CVodeDiag |
| implicit BDF CVode solver with a one line diagonal Jacobian approximation More... | |
| struct | CVodeInfo |
| Reports the current state of a CVode solver. More... | |
| class | CVodeKrylov |
| implicit BDF CVode solver with a Krylov preconditioner More... | |
| struct | CVodeOptions |
| A set of options for all CVode3 solver. More... | |
| struct | Date |
| An absolute time, not for calculation. Date and Time are interchangable. More... | |
| class | ExplicitEuler_fixed |
| An explicit Euler integrator, with a fixed time step. More... | |
| class | HeunIntegrator |
| A simple predictor - corrector solver. More... | |
| class | ImplicitEuler |
| An implicit (backward) Euler integrator using fixpoint iteration. More... | |
| class | Integrator |
| Base class for any kind of integrator. More... | |
| class | MultiIntegrator |
| The MultiIntegrator is a wrapper for a bunch integrators. The states of the integrators should not have direct connections over integrator boundaries. More... | |
| class | num_array |
| A valarray kind of vector implementation with OpenMP capabilities. More... | |
| class | RKFIntegrator |
| Integrates a vector of cmf::math::StateVariable with the Runge-Kutta-Fehlberg (RKF54) method. More... | |
| class | SoluteWaterIntegrator |
| A SoluteWaterIntegrator implements the cmf::math::Integrator interface, but consists of two independent ODE-solvers. More... | |
| class | StateVariable |
| Abstract class state variable. More... | |
| class | Time |
| A time class, used to pass around current modelling times. More... | |
| class | timeseries |
| A timeseries is a list of values, equally distributed over time. More... | |
Functions | |
| int | get_parallel_threads () |
| Returns the max number of threads used by OpenMP in parallel sections of the code. | |
| double | nash_sutcliffe (const cmf::math::timeseries &model, const cmf::math::timeseries &observation) |
| Calculates the Nash-Sutcliffe efficiency of a modeled timeseries in comparison with an observed timeseries. | |
| int | set_parallel_threads (int numthreads) |
| Set the number of threads used by OpenMP in parallel sections of the code. | |
Variables | |
| const Time | day = 24 * h |
| 1 day | |
| const Time | h = 60 * min |
| 1 hour | |
| const Time | min = 60 * sec |
| 1 minute | |
| const Time | month = year/12 |
| 1 month = 30*day+10*h | |
| const Time | ms = timespan(1) |
| 1 milli second | |
| const Time | never =Time(0,0,-9999) |
| A date long before our time to indicate 'never'. | |
| const Time | sec = 1000 * ms |
| 1 second | |
| const Time | week = 7 * day |
| 1 week | |
| const Time | year = 365 * day |
| 1 year = 365*day | |
| double nash_sutcliffe | ( | const cmf::math::timeseries & | model, |
| const cmf::math::timeseries & | observation ) |
Calculates the Nash-Sutcliffe efficiency of a modeled timeseries in comparison with an observed timeseries.
The Nash-Sutcliffe efficiancy is defined as:
\[ E = 1 - \frac{\sum_{t=1}^{T}(M_t - O_t)^2}{\sum_{t=1}^{T}(O_t - \overline{O})^2}\]
where