NGen
|
TODO: Link to Doxygen build
A Realization Configuration needs to be in JSON format (JavaScript Object Notation)
The Configuration is a key-value object and must contain these three first level object keys:
global
formulations
that defines the default formulation(s) and also an object key for forcing
that defines the default forcing file name pattern and path for any catchment that is not defined in catchments
global
can be omitted only if every catchment is assigned a formulationtime
catchments
The configuration may optionally contain an output_root
key with a user-defined root output directory as the key, for nexus and catchment outputs.
The global
key-value object must contain the following two object keys:
formulations
name
and value of a model that is registered with the ngen framework and includes a key-value subobject for params
params
into additional key-value subobjects for options
and initial_conditions
params
must be a list that holds key-value pairsforcing
file_pattern
and path
that define the default CSV file pattern and path for the input forcings relative to the executable directoryThe time
key-value object must contain the following three keys:
start_time
yyyy-mm-dd hh:mm:ss
end_time
yyyy-mm-dd hh:mm:ss
output_interval
The catchments
key-value object must contain a list of all of the catchment object keys that will have defined formulations, and each catchment key will have the following format:
cat-
Each catchment is a key-value object and must have the following two object keys:
formulations
name
and value of a model that is registered with the ngen framework and includes a key-value subobject for params
params
into additional key-value subobjects for options
and initial_conditions
params
must be a list that holds key-value pairsforcing
path
that defines the CSV file name and path for the input forcings relative to the executable directoryAn example realization configuration.
BMI is a commonly used model interface and formulation type used in ngen. BMI documenation with an example for both Linux and macOS realizations.