NGen
Loading...
Searching...
No Matches
HY_HydroNexus Class Referenceabstract

#include <HY_HydroNexus.hpp>

+ Inheritance diagram for HY_HydroNexus:
+ Collaboration diagram for HY_HydroNexus:

Public Types

typedef long time_step_t
 
using Catchments = std::vector<std::string>
 
using HydroLocation = std::shared_ptr<hy_features::hydrolocation::HY_HydroLocation>
 

Public Member Functions

 HY_HydroNexus (std::string nexus_id, Catchments receiving_catchments)
 
 HY_HydroNexus (std::string nexus_id, Catchments receiving_catchments, Catchments contributing_catchments)
 
 HY_HydroNexus (std::string nexus_id, HydroLocation location, Catchments receiving_catchments, Catchments contributing_catchments)
 
virtual ~HY_HydroNexus ()
 
virtual void add_upstream_flow (double val, std::string catchement_id, time_step_t t)=0
 Increase the downstream flow for timestep_t by input amount.
 
virtual double get_downstream_flow (std::string catchment_id, time_step_t t, double percent_flow)=0
 get a precentage of the downstream flow at requested time_step.
 
virtual std::pair< double, int > inspect_upstream_flows (time_step_t t)=0
 
virtual std::pair< double, int > inspect_downstream_requests (time_step_t t)=0
 
virtual std::string get_flow_units ()=0
 get the units that the flows are described in
 
const Catchmentsget_receiving_catchments ()
 
const Catchmentsget_contributing_catchments ()
 
std::string & get_id ()
 

Protected Attributes

std::string id
 

Private Attributes

HydroLocation realization
 
Catchments receiving_catchments
 
Catchments contributing_catchments
 
int number_of_downstream_catchments
 

Member Typedef Documentation

◆ Catchments

using HY_HydroNexus::Catchments = std::vector<std::string>

◆ HydroLocation

◆ time_step_t

Constructor & Destructor Documentation

◆ HY_HydroNexus() [1/3]

HY_HydroNexus::HY_HydroNexus ( std::string nexus_id,
Catchments receiving_catchments )

◆ HY_HydroNexus() [2/3]

HY_HydroNexus::HY_HydroNexus ( std::string nexus_id,
Catchments receiving_catchments,
Catchments contributing_catchments )

◆ HY_HydroNexus() [3/3]

HY_HydroNexus::HY_HydroNexus ( std::string nexus_id,
HydroLocation location,
Catchments receiving_catchments,
Catchments contributing_catchments )

◆ ~HY_HydroNexus()

HY_HydroNexus::~HY_HydroNexus ( )
virtual

Member Function Documentation

◆ add_upstream_flow()

virtual void HY_HydroNexus::add_upstream_flow ( double val,
std::string catchement_id,
time_step_t t )
pure virtual

Increase the downstream flow for timestep_t by input amount.

Implemented in HY_PointHydroNexus.

◆ get_contributing_catchments()

const Catchments & HY_HydroNexus::get_contributing_catchments ( )
inline

◆ get_downstream_flow()

virtual double HY_HydroNexus::get_downstream_flow ( std::string catchment_id,
time_step_t t,
double percent_flow )
pure virtual

get a precentage of the downstream flow at requested time_step.

Record the requesting percentage

Implemented in HY_PointHydroNexus.

Referenced by ngen::SurfaceLayer::update_models().

◆ get_flow_units()

virtual std::string HY_HydroNexus::get_flow_units ( )
pure virtual

get the units that the flows are described in

Implemented in HY_PointHydroNexus.

◆ get_id()

std::string & HY_HydroNexus::get_id ( )
inline

References id.

◆ get_receiving_catchments()

const Catchments & HY_HydroNexus::get_receiving_catchments ( )
inline

◆ inspect_downstream_requests()

virtual std::pair< double, int > HY_HydroNexus::inspect_downstream_requests ( time_step_t t)
pure virtual

Implemented in HY_PointHydroNexus.

◆ inspect_upstream_flows()

virtual std::pair< double, int > HY_HydroNexus::inspect_upstream_flows ( time_step_t t)
pure virtual

Implemented in HY_PointHydroNexus.

Member Data Documentation

◆ contributing_catchments

Catchments HY_HydroNexus::contributing_catchments
private

◆ id

std::string HY_HydroNexus::id
protected

Referenced by get_id().

◆ number_of_downstream_catchments

int HY_HydroNexus::number_of_downstream_catchments
private

Referenced by HY_HydroNexus().

◆ realization

HydroLocation HY_HydroNexus::realization
private

◆ receiving_catchments

Catchments HY_HydroNexus::receiving_catchments
private

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