Simulates the loss of nitrate and phosphorus via surface runoff, lateral flow, tile flow, and percolation out of the profile. More...

Classes

class  NutrientMovementViaWater
 Nutrient removed and loss in surface runoff, lateral flow, tile flow, and percolation out of the profile. More...
 

Detailed Description

Simulates the loss of nitrate and phosphorus via surface runoff, lateral flow, tile flow, and percolation out of the profile.


Class Documentation

◆ NutrientMovementViaWater

class NutrientMovementViaWater

Nutrient removed and loss in surface runoff, lateral flow, tile flow, and percolation out of the profile.

Inheritance diagram for NutrientMovementViaWater:
SimulationModule ccgl::Interface

Public Member Functions

void SetValue (const char *key, FLTPT value) OVERRIDE
 Set data, DT_Single, float point number (float or double)
 
void SetValue (const char *key, int value) OVERRIDE
 Set data, DT_Single, integer.
 
void Set1DData (const char *key, int n, FLTPT *data) OVERRIDE
 Set 1D data, by default, DT_Raster1D, float.
 
void Set1DData (const char *key, int n, int *data) OVERRIDE
 Set 1D data, by default, DT_Raster1D, integer.
 
void Set2DData (const char *key, int nrows, int ncols, FLTPT **data) OVERRIDE
 Set 2D data, by default, DT_Raster2D, float.
 
void Set2DData (const char *key, int nrows, int ncols, int **data) OVERRIDE
 Set 2D data, by default, DT_Raster2D, integer.
 
bool CheckInputData () OVERRIDE
 Check the input data. More...
 
void InitialOutputs () OVERRIDE
 Initialize output variables. More...
 
int Execute () OVERRIDE
 Execute the simulation. Return 0 for success.
 
void GetValue (const char *key, FLTPT *value) OVERRIDE
 Get value, DT_Single, float.
 
void Get1DData (const char *key, int *n, FLTPT **data) OVERRIDE
 Get 1D data, by default, DT_Raster1D, float.
 
void SetSubbasins (clsSubbasins *subbasins) OVERRIDE
 Set pointer of clsSubbasins class which contains all subbasins information. Added by LJ, 2016-7-28.
 
- Public Member Functions inherited from SimulationModule
 SimulationModule ()
 Constructor.
 
virtual void SetDate (time_t t, int year_idx)
 Set date time, as well as the sequence number of the entire simulation. Added by LJ for statistics convenient.
 
virtual void SetTheadNumber (const int thread_num)
 Set thread number for OpenMP.
 
virtual void SetClimateDataType (int data_type)
 Set climate data type, P, M, PET etc.
 
virtual void SetValueByIndex (const char *key, int index, int value)
 Set single value to array1D by index, used in MPI version for passing values of subbasins, integer.
 
virtual void SetValueByIndex (const char *key, int index, FLTPT value)
 Set single value to array1D by index, used in MPI version for passing values of subbasins, float.
 
virtual void GetValue (const char *key, int *value)
 Get value, DT_Single, integer.
 
virtual void Get1DData (const char *key, int *n, int **data)
 Get 1D data, by default, DT_Raster1D, integer.
 
virtual void Get2DData (const char *key, int *nrows, int *ncols, int ***data)
 Get 2D data, by default, DT_Raster2D, integer.
 
virtual void Get2DData (const char *key, int *nrows, int *ncols, FLTPT ***data)
 Get 2D data, by default, DT_Raster2D, float.
 
virtual void SetScenario (Scenario *sce)
 Set pointer of Scenario class which contains all BMP information. Added by LJ, 2016-6-14.
 
virtual void SetReaches (clsReaches *rches)
 Set pointer of clsReaches class which contains all reaches information. Added by LJ, 2016-7-2.
 
virtual bool CheckInputSize (const char *module_id, const char *key, int nrows, int &m_nrows)
 Check data length of the first dimension (i.e., nRows) of the input array-based data. More...
 
virtual bool CheckInputSize2D (const char *module_id, const char *key, int nrows, int ncols, int &m_nrows, int &m_ncols)
 Check data length of the two dimensions (i.e., nRows and nCols) of the input array-based data. More...
 
virtual void InitialIntermediates ()
 Initialize intermediate parameters for reducing computing amount. More...
 
virtual TimeStepType GetTimeStepType ()
 Get time step type, default is hillslope process. More...
 
virtual void ResetSubTimeStep ()
 Reset subtime step.
 
bool IsInputsSetDone ()
 Whether the inputs (i.e., inputs derived from other modules) have been set.
 
void SetInputsDone (const bool set_done)
 Change the status of setting inputs parameters.
 
void SetReCalIntermediates (const bool recal)
 set whether intermediate parameters need to recalculated
 

Additional Inherited Members

- Protected Attributes inherited from SimulationModule
time_t m_date
 date time
 
int m_yearIdx
 index of current year of simulation, e.g., the simulation period from 2010 to 2015, m_yearIdx is 2 when simulate 2012.
 
int m_year
 year
 
int m_month
 month since January - [1,12]
 
int m_day
 day of the month - [1,31]
 
int m_dayOfYear
 day of year - [1, 366]
 
int m_tsCounter
 sub-timestep counter
 
bool m_inputsSetDone
 Whether the inputs parameters (i.e., parameters derived from other modules) have been set.
 
bool m_reCalIntermediates
 need to recalculate intermediate parameters?
 

Member Function Documentation

◆ CheckInputData()

bool NutrientMovementViaWater::CheckInputData ( void  )
virtual

Check the input data.

Make sure all the input data is available.

   This function is optional to be overridden.
Returns
bool The validity of the input data.

Reimplemented from SimulationModule.

◆ InitialOutputs()

void NutrientMovementViaWater::InitialOutputs ( void  )
virtual

Initialize output variables.

   This function is optional to be overridden.
   Only allocate memory address and initialize outputs.

Reimplemented from SimulationModule.