hydrobricks
Loading...
Searching...
No Matches
TimeSeries Class Referenceabstract
Inheritance diagram for TimeSeries:
TimeSeriesDistributed TimeSeriesUniform

Public Member Functions

 TimeSeries (VariableType type)
 
virtual bool SetCursorToDate (double date)=0
 
virtual bool AdvanceOneTimeStep ()=0
 
virtual bool IsDistributed () const =0
 
virtual double GetStart () const =0
 
virtual double GetEnd () const =0
 
virtual double GetTotal (const SettingsBasin *basinSettings)=0
 
virtual TimeSeriesDataGetDataPointer (int unitId)=0
 
VariableType GetVariableType () const
 
virtual bool IsValid () const =0
 
virtual void Validate () const
 

Static Public Member Functions

static bool Parse (const string &path, vector< TimeSeries * > &vecTimeSeries)
 
static TimeSeriesCreate (const string &varName, const axd &time, const axi &ids, const axxd &data)
 

Protected Attributes

VariableType _type
 

Member Function Documentation

◆ AdvanceOneTimeStep()

virtual bool TimeSeries::AdvanceOneTimeStep ( )
nodiscardpure virtual

Advance the internal cursor to the next time step.

Returns
true if the cursor was successfully advanced to the next time step.

Implemented in TimeSeriesDistributed, and TimeSeriesUniform.

◆ Create()

TimeSeries * TimeSeries::Create ( const string & varName,
const axd & time,
const axi & ids,
const axxd & data )
static

Create a time series from the provided data.

Parameters
varNamename of the variable.
timetime data.
idsunit IDs.
datatime series data.
Returns
pointer to the created time series.

◆ GetDataPointer()

virtual TimeSeriesData * TimeSeries::GetDataPointer ( int unitId)
pure virtual

Get the data pointer for the provided unit ID.

Parameters
unitIdID of the unit.
Returns
pointer to the time series data for the provided unit ID.

Implemented in TimeSeriesDistributed, and TimeSeriesUniform.

◆ GetEnd()

virtual double TimeSeries::GetEnd ( ) const
pure virtual

Get the time end of the time series.

Returns
the time end of the time series.

Implemented in TimeSeriesDistributed, and TimeSeriesUniform.

◆ GetStart()

virtual double TimeSeries::GetStart ( ) const
pure virtual

Get the time start of the time series.

Returns
the time start of the time series.

Implemented in TimeSeriesDistributed, and TimeSeriesUniform.

◆ GetTotal()

virtual double TimeSeries::GetTotal ( const SettingsBasin * basinSettings)
pure virtual

Get the sum of the time series data for the provided basin settings.

Parameters
basinSettingssettings of the basin.
Returns
the sum of the time series data.

Implemented in TimeSeriesDistributed, and TimeSeriesUniform.

◆ GetVariableType()

VariableType TimeSeries::GetVariableType ( ) const
inline

Get the variable type of the time series.

Returns
the variable type of the time series.

◆ IsDistributed()

virtual bool TimeSeries::IsDistributed ( ) const
nodiscardpure virtual

Check if the time series is distributed.

Returns
true if the time series is distributed.

Implemented in TimeSeriesDistributed, and TimeSeriesUniform.

◆ IsValid()

virtual bool TimeSeries::IsValid ( ) const
nodiscardpure virtual

Check if the time series is valid. Verifies that the time series has data and proper configuration.

Returns
true if the time series is valid, false otherwise.

Implemented in TimeSeriesDistributed, and TimeSeriesUniform.

◆ Parse()

bool TimeSeries::Parse ( const string & path,
vector< TimeSeries * > & vecTimeSeries )
staticnodiscard

Parse the time series netCDF file.

Parameters
pathpath to the netCDF file.
vecTimeSeriesvector to store the parsed time series.

◆ SetCursorToDate()

virtual bool TimeSeries::SetCursorToDate ( double date)
nodiscardpure virtual

Set the internal cursor to the provided date.

Parameters
datedate to set the cursor to.
Returns
true if the cursor was successfully set to the provided date.

Implemented in TimeSeriesDistributed, and TimeSeriesUniform.

◆ Validate()

void TimeSeries::Validate ( ) const
virtual

Validate the time series. Throws an exception if the time series is invalid.

Exceptions
ModelConfigErrorif validation fails.

Reimplemented in TimeSeriesDistributed, and TimeSeriesUniform.


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