C_Options | Holds global options for specific cmf behaviour, accessbile via cmf.options |
►CAdsorption | Abstract class to use adsorption process for tracers on surfaces |
CLangmuirAdsorption | This class calculates the adsorption equilibrium between sorbat and sorbent using the Langmuir isotherme |
CLinearAdsorption | This class calculates the adsorption equilibrium between sorbat and sorbent using the linear (Henry) isotherme |
CNullAdsorption | A class for tracers without interaction with the storage container. freesolute returns xt |
►Caerodynamic_resistance | Abstract class. Child classes can be used to calculate aerodynamic resistances against turbulent heat fluxes |
Clog_wind_profile | , A logarithmic wind profile |
CShuttleworthWallace | Calculates the sum of soil evaporation and transpiration according to Shuttleworth & Wallace 1985, as implemented in BROOK 90 (Federer 1990) |
CCell | This class is the basic landscape object |
Ccell_vector | A cell vector holds a bunch of cells |
CCellConnector | A helper class to connect cells with flux_connection objects. This is generated by flux_connection classes, intended to connect cells |
CCellMap | |
►Cconductable | An abstract interface for all classes providing a conductivity (e.g |
CSoilLayer | A representation of a SoilLayer |
Caquifer | A class to represent large groundwater storages, not bounded to the usual horizontal discretization scheme, the Cell |
Cconnection_list | A self sorting list of connections |
Ccubicspline | Interpolates points with a cubic spline interpolation |
CCVodeInfo | Reports the current state of a CVode solver |
CCVodeOptions | A set of options for all CVode3 solver |
CDate | An absolute time, not for calculation. Date and Time are interchangable |
►Cflux_connection | The connections in cmf hold the processes for the calculation of fluxes between water storages and model boundaries |
►CManning | Calculates the flux between two open water bodies, using Manning's equation |
CManning_Diffusive | Connecting surface water bodies using a diffusive wave |
CManning_Kinematic | Connecting surface water bodies using a kinematic wave |
CCanopyStorageEvaporation | Calculates the evaporation from a canopy storage |
CPenmanEvaporation | Calculates evaporation from an open water body |
CSW_evap_from_canopy | Connection for Shuttleworth-Wallace canopy interception evaporation |
CSW_evap_from_layer | Connection for Shuttleworth-Wallace ground evaporation |
CSW_evap_from_snow | Connection for Shuttleworth-Wallace canopy interception evaporation |
CSW_evap_from_surfacewater | Connection for Shuttleworth-Wallace canopy interception evaporation |
CSW_transpiration | Connection for Shuttleworth-Wallace transpiration |
►CstressedET | An abstract base class for ET Methods with a WaterStressFunction |
CHargreaveET | Calculates the Evapotranspiration using Hargreave's equation |
COudinET | Calculates ETpot after Oudin et al 2005 |
CPenmanMonteithET | Calculates the potential evapotranspiration according to FAO(1998) |
CPriestleyTaylorET | Calculates the Evapotranspiration using Priestley-Taylor equation |
CTurcET | Calculates ETpot after Turc (DVWK) |
CconstantETpot | A constant evapotranspiration |
CtimeseriesETpot | A timeseries driven evapotranspiration |
Caquifer_Darcy | Lateral darcy flow between aquifer objects |
CCanopyOverflow | Calculates the overflow of a canopy storage using a kinematic wave approach |
CConceptualInfiltration | Connects the surfacewater and the most upper layer using a simplified infiltration model suitable for conceptional models |
CDiffusiveMacroMicroExchange | A simple first order diffusive water exchange between MacroPore and matrix (SoilLayer) |
CDiffusiveSurfaceRunoff | A connection to route water from a SurfaceWater storage to another node following the gradient of the water level |
CEnergyBudgetSnowMelt | Calculates snow melt using the surface energy budget method |
CFreeDrainagePercolation | Calculates a free drainage (unit gradient) from a layer to somewhere else |
CGradientMacroMicroExchange | A gradient based exchange term between macropores and micropores, using a fixed (air-) potential for macropores |
CGreenAmptInfiltration | Connects the surfacewater and the most upper layer using a Green-Ampt equation like infiltration |
CKinematicSurfaceRunoff | A connection to route water from a SurfaceWater storage to another node following a topographic gradient |
CLayerBypass | A simplification of macro pore flux for swelling soils |
CMACROlikeMacroMicroExchange | This connection models the water exchange between macropores and micropores as in the MACRO Model (Larsbo & Jarvis, 2003), which follows Gerke & van Genuchten 1996 |
CMatrixInfiltration | Connects the surfacewater and the most upper layer using a Richards equation like infiltration model |
CRainfall | A connection routing rainfall to surface water and to an eventually existing canopy storage |
CRichards | Calculates flow according to the Richards equation |
CRutterInterception | Interception storage overflow according to the Rutter and Morton (1977) model |
CSWATPercolation | A tipping bucket percolation approach similar to the approach in SWAT |
CSnowfall | A connection routing snowfall (precipitation below freezing Temp) to the snow pack |
CTOPModelFlow | Calculates a flux from a soil layer using TOPMODELs (Beven & Kirkby 1979) exponential transmissivity concept |
CTempIndexSnowMelt | Calculates snow melt using a simple degree day method |
►Clateral_sub_surface_flux | An abstract base class for lateral subsurface fluxes |
CDarcy | Calculates the lateral flow using the gravitational potential gradient only |
CDarcyKinematic | A simple kinemtic wave model for subsurface flux |
CRichards_lateral | Calculates the flux using Richard's equation for adjacent layers |
CTopographicGradientDarcy | Calculates the lateral flow using the topographic gradient |
CConstantFlux | Produces a constant but changeable flux from a source to a target, if enough water is present in the source |
CConstantStateFlux | Calculates a flux to or from a water storage to hold it's state at a more or less constant level |
CConstraintLinearStorageFlux | Calculates flux out of a storage as a linear function of its volume, constraint by the volume stored in the target storage |
CExponentialDeclineConnection | A conceptual TOPmodel inspired connection |
CExternallyControlledFlux | Flux from one node to another, controlled by the user or an external program, by changing the flux constant |
CLinearGradientFlux | A generic node-to-node gradient based connection |
CLinearStorageConnection | Calculates flux out of a storage as a linear function of its volume |
CNeumannFlux | Connection between Neumann-boundary and a flux node |
CPartitionFluxRoute | Routes a fraction of the flux calculated from a master flux_connection between source to target1 directly further to target2 without any timelag |
CPowerLawConnection | Calculates flux out of a storage as a linear function of its volume to a power |
CWaterbalanceFlux | Routes the sum of all other fluxes to a target |
►Cflux_node | Base class for everything that can be connected by fluxes |
►CRainSource | An abstract class for different types of rainfall sources |
CConstantRainSource | A simple implementation of RainSource |
CIDWRainfall | A RainSource using a spatially interpolated rainfall intensity from all stations |
CRainfallStationReference | References a single RainfallStation to provide rainfall intensity data |
CTimeseriesRainSource | A rainsource with a timeseries |
CDirichletBoundary | Dirichlet (constant head) boundary condition |
CNeumannBoundary | A Neumann boundary condition (constant flux boundary condition) |
►CWaterStorage | A state variable for the storage of water |
►COpenWaterStorage | An open water body |
CReach | A reach represents the section of a riover and is a specialization of an open water storage |
CSurfaceWater | A child class of OpenWaterStorage to model surface water on a cell |
CMacroPore | An additional water storage for a soil layer to model matrix water and macro pore water seperately |
CSoilLayer | A representation of a SoilLayer |
Caquifer | A class to represent large groundwater storages, not bounded to the usual horizontal discretization scheme, the Cell |
CFluxMap | |
CHillPlot | |
►CIntegrator | Base class for any kind of integrator |
CBDF2 | An order 2 BDF-Method with fixed-point iteration and variable step size |
►CCVodeBase | Abstract base class for different modes of the CVode solver |
CCVodeAdams | Explizit multistep solver using CVode |
CCVodeBanded | Implicit BDF CVode solver with a banded Jacobian approximation |
CCVodeDense | Implicit BDF CVode solver with full Jacobian approximation |
CCVodeDiag | Implicit BDF CVode solver with a one line diagonal Jacobian approximation |
CCVodeKrylov | Implicit BDF CVode solver with a Krylov preconditioner |
CExplicitEuler_fixed | An explicit Euler integrator, with a fixed time step |
CHeunIntegrator | A simple predictor - corrector solver |
CImplicitEuler | An implicit (backward) Euler integrator using fixpoint iteration |
CMultiIntegrator | The MultiIntegrator is a wrapper for a bunch integrators. The states of the integrators should not have direct connections over integrator boundaries |
CRKFIntegrator | Integrates a vector of cmf::math::StateVariable with the Runge-Kutta-Fehlberg (RKF54) method |
CSoluteWaterIntegrator | A SoluteWaterIntegrator implements the cmf::math::Integrator interface, but consists of two independent ODE-solvers |
►CIVolumeHeightFunction | Volume height relations are functional objects, which return a height and a crosssectional area of a volume for different geometric bodies |
►CIChannel | Structure for the description of structural parameters of a reach Abstract base class for different IChannel geometries |
CChannel | A wrapper for channel geometries |
CCrossSectionReach | Structure for the description of reaches with a freely defined cross section |
CMeanChannel | A combination of two channel geometries |
CPipeReach | Describes the geometry of a closed pipe |
CRectangularReach | Describes a IChannel with a rectangular crosssection |
CSWATReachType | Structure for the description of structural parameters of a reach |
CTriangularReach | Structure for the description of reaches with a triangular cross section |
CPrism | Height of a volume in a Prism with a defined base area |
Cvolume_height_function | A wrapper class for volume / height functional relations |
CJacobian | |
Clayer_list | A vector of layers, with array access to the properties of the layers, for fast data exchange |
Clinear_scale | A linear scaling functor, with slope and displacement |
►CMap | |
CNearestNeighborMap | |
CPolygonMap | |
►CMeteorology | An abstract class, for objects generating Weather records at a specific time |
CConstantMeteorology | A primitive implementation of the Meteorology interface |
CIDW_Meteorology | Regionalizes meteorological measurements using a simple inverse distance weighted (IDW) method |
CMeteoStationReference | A reference to a meteorological station |
CMeteoStation | A meteorological station holding timeseries to create Weather records |
CMeteoStationList | A list of meteorological stations |
Cneighbor_iterator | A class to iterate through the neighbors of a cell (const). Not needed from the Python side, use the generator cell.neighbors instead |
CNeumannBoundary_list | Provides fast access to Neumann boundaries for flux update |
Cnode_list | A collection of nodes for fast access of the waterbalance |
Cnum_array | A valarray kind of vector implementation with OpenMP capabilities |
Cpoint | 2D-Point Class |
Cpoint_vector | Holds three arrays x,y and z for fast access of point coordinates |
Cproject | The study area, holding all cells, outlets and streams |
CQuadtree | |
CRainfallStation | RainfallStation describes a rainfall timeseries in mm/day at a certain place |
CRainfallStationList | A list of rainfall stations |
CReachIterator | An iterator over every upstream reach from a start reach |
►CRetentionCurve | Abstract base class for different types of retention curves |
CBrooksCoreyRetentionCurve | Provides the use of the Brooks-Corey retention curve |
CLinearRetention | The linear retention curve provides a simple linear relationship between storage and head |
CVanGenuchtenMualem | Provides the use of the Van Genuchten - Mualem retention curve (Van Genuchten 1980) |
►CRootUptakeStressFunction | An abstract class to calculate the actual transpiration from potential transpiration |
CContentStress | A simple water content based stress model based on Feddes (1978) |
CSuctionStress | The classical suction depending transpiration Stress curve after Feddes |
CVolumeStress | A WaterStressFunction based on the stored water volume of a layer |
CShapeMap | |
Csolute | A structure to identify a solute |
Csolute_vector | Manages the solutes of the model |
►CSoluteReaction | Abstract class for a solute reaction |
CSolute1stOrderReaction | A solute reaction of 1st order kinetics (linear decline to product) A->B |
CSolute2ndOrderReaction | A solute reaction of 2nd order kinetics A + B -> C |
CSoluteConstantFluxReaction | Adds a constant flux to the solute storage |
CSoluteDecayReaction | Adds a linear decay to solute storages |
CSoluteDiffusiveTransport | Calculates a diffusive flux between solute storages |
CSoluteEquilibriumReaction | An equilibrium reaction between two solutes A<->B |
CSoluteRateReaction | A general solute reaction system to describe multi-species kinetics with a power law |
CSoluteTimeseries | A map of concentration time series for solutes |
►CStateVariable | Abstract class state variable |
CSoluteStorage | A class for the storage of any tracer |
CWaterStorage | A state variable for the storage of water |
CStopWatch | |
Csubcatchment | A class to structure cells in a project using their main outlets |
CTime | A time class, used to pass around current modelling times |
Ctimerange | |
Ctimeseries | A timeseries is a list of values, equally distributed over time |
CTopology | Connectivity of cells to each other |
CVegetation | Holds the vegetation parameters for the calculation of ET and fractionating rainfall. Not every ET method uses all parameters |
CWeather | |