hydrobricks
Loading...
Searching...
No Matches
SplitterSnowRainCemaNeige Class Reference

#include <SplitterSnowRainCemaNeige.h>

Inheritance diagram for SplitterSnowRainCemaNeige:
Splitter

Public Member Functions

void SetParameters (const SplitterSettings &splitterSettings) override
 
void AttachForcing (Forcing *forcing) override
 
double * GetValuePointer (const string &name) override
 
void SetHydroUnitProperties (HydroUnit *unit) override
 
bool IsValid () const override
 
void Compute () override
 
- Public Member Functions inherited from Splitter
virtual void Validate () const
 
const float * GetParameterValuePointer (const SplitterSettings &splitterSettings, const string &name)
 
void AttachFluxIn (Flux *flux)
 
void AttachFluxOut (std::unique_ptr< Flux > flux)
 
const string & GetName () const
 
void SetName (const string &name)
 

Protected Attributes

Forcing_precipitation
 
Forcing_temperature
 
Forcing_temperatureMin
 
Forcing_temperatureMax
 
double _elevation
 
- Protected Attributes inherited from Splitter
string _name
 
vector< Flux * > _inputs
 
std::vector< std::unique_ptr< Flux > > _outputs
 

Additional Inherited Members

- Static Public Member Functions inherited from Splitter
static std::unique_ptr< SplitterFactory (const SplitterSettings &splitterSettings)
 

Detailed Description

CemaNeige rain/snow splitter (Valéry et al., 2014).

Solid fraction formula: fsolid = max(0, min(1, (Tmax - Tmean) / (Tmax - Tmin)))

Temperature interval depends on HydroUnit mean elevation: elevation >= 1500 m: Tmin = -1 °C, Tmax = 3 °C (hardcoded) elevation < 1500 m: Tmin and Tmax are daily observed forcings

No calibrated parameters — only forcing inputs.

Member Function Documentation

◆ AttachForcing()

void SplitterSnowRainCemaNeige::AttachForcing ( Forcing * forcing)
overridevirtual

Attach forcing.

Parameters
forcingincoming forcing

Reimplemented from Splitter.

◆ Compute()

void SplitterSnowRainCemaNeige::Compute ( )
overridevirtual

Compute the output value.

Implements Splitter.

◆ GetValuePointer()

double * SplitterSnowRainCemaNeige::GetValuePointer ( const string & name)
overridevirtual

Get the pointer to an output value.

Parameters
namename of the output value.

Implements Splitter.

◆ IsValid()

bool SplitterSnowRainCemaNeige::IsValid ( ) const
nodiscardoverridevirtual

Check that everything is correctly defined.

Returns
true if everything is correctly defined.

Implements Splitter.

◆ SetHydroUnitProperties()

void SplitterSnowRainCemaNeige::SetHydroUnitProperties ( HydroUnit * unit)
overridevirtual

Set HydroUnit properties (e.g. elevation) needed by spatially-aware splitters. Default is a no-op; override in subclasses that require spatial data.

Parameters
unitthe HydroUnit this splitter belongs to.

Reimplemented from Splitter.

◆ SetParameters()

void SplitterSnowRainCemaNeige::SetParameters ( const SplitterSettings & splitterSettings)
overridevirtual

Assign the parameters to the splitter.

Parameters
splitterSettingssettings of the splitter containing the parameters.

Implements Splitter.


The documentation for this class was generated from the following files: