18 void SetSubBasinValuePointer(
int iLabel,
double* valPt);
20 void SetHydroUnitValuePointer(
int iUnit,
int iLabel,
double* valPt);
22 void SetHydroUnitFractionPointer(
int iUnit,
int iLabel,
double* valPt);
24 void SetDate(
double date);
26 void SaveInitialValues();
32 bool DumpOutputs(
const string& path);
34 axd GetOutletDischarge();
36 vecInt GetIndicesForSubBasinElements(
const string& item);
38 vecInt GetIndicesForHydroUnitElements(
const string& item);
40 double GetTotalSubBasin(
const string& item);
42 double GetTotalHydroUnits(
const string& item,
bool needsAreaWeighting =
false);
44 double GetTotalOutletDischarge();
48 double GetSubBasinInitialStorageState(
const string& tag);
50 double GetSubBasinFinalStorageState(
const string& tag);
52 double GetHydroUnitsInitialStorageState(
const string& tag);
54 double GetHydroUnitsFinalStorageState(
const string& tag);
56 double GetTotalWaterStorageChanges();
58 double GetTotalSnowStorageChanges();
60 const vecAxd& GetSubBasinValues() {
61 return m_subBasinValues;
64 const vecAxxd& GetHydroUnitValues() {
65 return m_hydroUnitValues;
68 void RecordFractions() {
69 m_recordFractions =
true;
75 bool m_recordFractions;
76 vecStr m_subBasinLabels;
77 axd m_subBasinInitialValues;
78 vecAxd m_subBasinValues;
79 vecDoublePt m_subBasinValuesPt;
80 vecInt m_hydroUnitIds;
82 vecStr m_hydroUnitLabels;
83 vecAxd m_hydroUnitInitialValues;
84 vecAxxd m_hydroUnitValues;
85 vector<vecDoublePt> m_hydroUnitValuesPt;
86 vecStr m_hydroUnitFractionLabels;
87 vecAxxd m_hydroUnitFractions;
88 vector<vecDoublePt> m_hydroUnitFractionsPt;