Controls Module

API Reference

Below is the API reference for custom implementation of the Controls module (see the documentation page here).

Custom Components

FallsLakeMinEnvFlowControl.h

class FallsLakeMinEnvFlowControl : public MinEnvFlowControl
#include <FallsLakeMinEnvFlowControl.h>

Public Functions

FallsLakeMinEnvFlowControl(int water_source_id, int neuse_river_intake_id, vector<int> week_interval, vector<double> base_min_env_flows, vector<double> base_gage_flows, Catchment &crabtree)
FallsLakeMinEnvFlowControl(const FallsLakeMinEnvFlowControl &min_env_control)
virtual double getRelease(int week) override

Get the Release object. This function is a pure virtual function that must be implemented by derived classes.

Parameters:

week – The week for which the release is requested.

Returns:

double

virtual void setRealization(unsigned long r, vector<double> &rdm_factors) override

Sets the realization for the MinEnvFlowControl object. This function is a pure virtual function that must be implemented by derived classes.

Parameters:
  • r – Unsigned long integer representing the realization ID.

  • rdm_factors – Reference to a vector of doubles containing the RDM factors to be applied.

Returns:

void

~FallsLakeMinEnvFlowControl() override

Private Members

const vector<int> week_interval
const vector<double> base_min_env_flows
const vector<double> base_min_gage_flows
const int neuse_river_intake_id
Catchment crabtree

JordanLakeMinEnvFlowControl.h

class JordanLakeMinEnvFlowControl : public MinEnvFlowControl
#include <JordanLakeMinEnvFlowControl.h>

Public Functions

JordanLakeMinEnvFlowControl(int jordan_lake_id, Catchment &lillington_gage_catchment, double rel02, double rel04, double rel06_up, double min_rel_llt06, double min_rel_llt08, double min_rel_llt08_up, double quality_capacity, double supply_capacity)
JordanLakeMinEnvFlowControl(const JordanLakeMinEnvFlowControl &jl_min_flow_control)
JordanLakeMinEnvFlowControl &operator=(const JordanLakeMinEnvFlowControl &jl_min_flow_control)
virtual double getRelease(int week) override

Get the Release object. This function is a pure virtual function that must be implemented by derived classes.

Parameters:

week – The week for which the release is requested.

Returns:

double

virtual void setRealization(unsigned long r, vector<double> &rdm_factors) override

Sets the realization for the MinEnvFlowControl object. This function is a pure virtual function that must be implemented by derived classes.

Parameters:
  • r – Unsigned long integer representing the realization ID.

  • rdm_factors – Reference to a vector of doubles containing the RDM factors to be applied.

Returns:

void

~JordanLakeMinEnvFlowControl() override

Private Members

Catchment lillington_gage_catchment
double rel02
double rel04
double rel06_up
double min_rel_llt06
double min_rel_llt08
double min_rel_llt08_up
double quality_capacity
double supply_capacity