SimulationModule.h File Reference

Parent class for all modules in SEIMS. More...

#include "basic.h"
#include "utils_time.h"
#include "Scenario.h"
#include "clsReach.h"
#include "clsSubbasin.h"
#include <string>
#include <ctime>

Go to the source code of this file.

Classes

class  SimulationModule
 Base module for all simulation modules in SEIMS. More...
 

Macros

#define CHECK_DATA(moduleID, expression, desc)
 Macros for CheckInputData function BE REMEMBER OF SEMICOLON! More...
 
#define CHECK_POINTER(moduleID, param)
 CHECK_POINTER is used for 1D or 2D raster and other pointer of data.
 
#define CHECK_POSITIVE(moduleID, param)
 CHECK_POSITIVE is used for single value that must be positive.
 
#define CHECK_NONNEGATIVE(moduleID, param)
 CHECK_NONNEGATIVE is used for single value that must be greater or equal than zero.
 
#define CHECK_NEGATIVE(moduleID, param)
 CHECK_NEGATIVE is used for single value that must be negative.
 
#define CHECK_ZERO(moduleID, param)
 CHECK_ZERO is used for single value that must not be ZERO.
 
#define CHECK_NODATA(moduleID, param)
 CHECK_NODATA is used for single value that must not be NODATA_VALUE.
 

Enumerations

enum  TimeStepType {
  TIMESTEP_HILLSLOPE ,
  TIMESTEP_CHANNEL ,
  TIMESTEP_SIMULATION
}
 Time step types. More...
 

Detailed Description

Parent class for all modules in SEIMS.

Changelog:

  • 1. 2010-07-31 - jz - Initial implementation.
  • 2. 2016-06-14 - lj - Add SetScenario etc. functions.
  • 3. 2018-03-03 - lj - Add CHECK_XXX series macros for data checking.
  • 4. 2020-09-18 - lj - Using Easyloggingpp
  • 5. 2021-10-29 - ss,lj - Add InitialIntermediates to initialize intermediate params.
Author
Junzhi Liu, Liangjun Zhu

Macro Definition Documentation

◆ CHECK_DATA

#define CHECK_DATA (   moduleID,
  expression,
  desc 
)
Value:
if ((expression)) \
throw ModelException(moduleID, "CheckInputData", string(desc))
Print the exception message.
Definition: basic.h:416

Macros for CheckInputData function BE REMEMBER OF SEMICOLON!

CHECK_DATA is used for the unforeseen situation