12#ifndef SEIMS_INPUT_ARGUMENTS_H
13#define SEIMS_INPUT_ARGUMENTS_H
22void Usage(
const string& appname,
const string& error_msg = std::string());
Base type of all interfaces.
Definition: basic.h:407
bool mpi_version
is running the MPI version?
Definition: invoke.h:83
int thread_num
thread number for OpenMP
Definition: invoke.h:71
string model_cfgname
config name of specific model, the default is "", it corresponds to a subfolder
Definition: invoke.h:67
FlowDirMethod fdir_mtd
Flow direction method for flow routing, default is 0 (D8)
Definition: invoke.h:72
string model_path
full path of model folder which contains all inputs and outputs of all models
Definition: invoke.h:66
static InputArgs * Init(int argc, const char **argv, bool mpi_version=false)
Initializer.
int time_slices
Time slices for Temporal-Spatial discretization method, Wang et al. (2013). Unfinished!
Definition: invoke.h:81
string output_path
full path of model outputs
Definition: invoke.h:70
int subbasin_id
Subbasin ID, which will be executed, 0 for whole basin, 9999 for field-version.
Definition: invoke.h:78
GroupMethod grp_mtd
Group method for parallel task scheduling, default is 0.
Definition: invoke.h:79
string log_level
logging level, i.e., Trace, Debug, Info (default), Warning, Error, and Fatal
Definition: invoke.h:82
string output_scene
output identifier concatenated with scenario_id, calibration_id, lyr_mtd, fdir_mtd
Definition: invoke.h:69
ScheduleMethod skd_mtd
Parallel task scheduling strategy at subbasin level by MPI.
Definition: invoke.h:80
int scenario_id
scenario ID defined in Database, -1 for no use.
Definition: invoke.h:76
string host
Host IP address or name of MongoDB database.
Definition: invoke.h:74
uint16_t port
port of MongoDB, 27017 is default
Definition: invoke.h:75
int calibration_id
calibration ID defined in Database (PARAMETERS), -1 for no use.
Definition: invoke.h:77
string model_name
model_name
Definition: invoke.h:68
LayeringMethod lyr_mtd
Layering method for sequencing computing, default is 0.
Definition: invoke.h:73
InputArgs(const string &model_path, const string &model_cfgname, int thread_num, FlowDirMethod fdir_mtd, LayeringMethod lyr_mtd, const string &host, uint16_t port, int scenario_id, int calibration_id, int subbasin_id, GroupMethod grp_mtd, ScheduleMethod skd_mtd, int time_slices, const string &log_level, bool mpi_version=false)
Constructor by detailed parameters.
ScheduleMethod
Parallel task scheduling strategy at subbasin level by MPI.
Definition: seims.h:59
GroupMethod
Group method for parallel task scheduling.
Definition: seims.h:48
LayeringMethod
Grid layering method for routing and parallel computing.
Definition: seims.h:25
FlowDirMethod
Flow direction method for flow routing.
Definition: seims.h:36
void Usage(const string &appname, const string &error_msg=std::string())
Full usage information.
Common Cross-platform Geographic Library (CCGL)
The SEIMS related definitions and utilities header.