awips2/nativeLib/rary.ohd.ofs/inc/SetElevation.h
2017-04-21 18:33:55 -06:00

77 lines
2.4 KiB
C++

//------------------------------------------------------------------------------
// SetElevation - Object containing all SetElevation scheme information.
//------------------------------------------------------------------------------
// Copyright: See the COPYRIGHT file.
//------------------------------------------------------------------------------
// Notes:
//
//------------------------------------------------------------------------------
// History:
//
// 04 Mar 1998 Matthew J. Rutherford, Riverside Technology, inc
// Created initial version.
// 14 Apr 1998 Daniel Weiler, RTi Added first cut at data members and
// set/gets.
// 24 Sep 1998 DKW, RTi Moved to the Method-centric idea of
// input TS storage.
// 12 Nov 2001 James R. VanShaar, RTi Added setInactiveState
// 12 Nov 2001 JRV, RTi Added function setCOstring
//------------------------------------------------------------------------------
// Variables: I/O Description
//
//
//------------------------------------------------------------------------------
#ifndef SetElevation_INCLUDED
#define SetElevation_INCLUDED
#include "ReservoirMethod.h"
class SetElevation : public ReservoirMethod
{
public:
SetElevation( Reservoir* ); // Default constructor
SetElevation( const SetElevation&, Reservoir* );
// Copy constructor.
virtual ~SetElevation(); // Destructor
int buildElevationTS( char**, int );
int construct( char**, int ); // Time series construction.
SetElevation* copy( Component* ); // Calls copy constructor.
int freeDataSpace(); // Deletes dynamically allocated data.
void setInactiveState(); // Resets any variables which represent
// a continuation of method activity
// from the previous time step
int setCOstring(); // Prepares carryover string for original
// parameter input and CO array sizing
int setCOstring(TSDate&); // Prepares adds carryover string to the
// ResJSys carryover array
int solveMethod( TSDate &, int, double** = NULL );
// Solving algorithm.
int print( FILE* ); // Prints all the info about the
// SetElevation object.
private:
int initialize(); // Initialize data members
DistributedTS _elev_ctl; // TS read from the control file
HourTS* _pool_obs; // Obs TS as input from the database.
int _n_blend_tbl, // Number of blending time steps.
_n_blend_ts,
_tbl_step,
_ts_step;
};
#endif