Skip to content

Realization Config

program-- edited this page Oct 10, 2023 · 27 revisions

The realization configuration file is a used-defined JSON file representing the unit(s) of work for a model engine run. A unit of work for model engine is represented by a conceptual catchment, particularly the geographical boundary of a catchment: its divide.

🔹 Note: Model engine's concept of a unit of work may be conceptualized simply as an area of interest, as defined in the GIS/spatial community.

Each unit of work is associated to a specific type of work - a formulation - that wraps a model implementation in a supported programming language. These formulations are dynamically loaded "plug-ins" specified in the realization configuration file.

🔹 Note: For information on defining formulations or modeling, refer to Formulations.

This representation of work aims to align with the overarching goal of model engine, and the NextGen Framework as a whole, of hetereogenous modeling, such that different types of work can be applied to units of work on an individual basis.

Schema

The model engine realization configuration files are structured to represent these concepts with the following components:

  1. "Global"/default formulation,
  2. Specific formulation(s),
  3. Temporal domain,
  4. and, additional options or operations, such as flow routing.

Now, to represent these components in JSON, we provide the following (pseudo) schema:

{
  // (1) Default Formulation
  "global": {<single-bmi> | <multi-bmi>},

  // (2) Specific Formulation(s)
  "catchments": {
    "<id-1>": {<single-bmi> | <multi-bmi>},
    "<id-2>": {<single-bmi> | <multi-bmi>},
    ...
  },

  // (3) Temporal Domain
  "time": {
    "start_time": "timestamp",
    "end_time": "timestamp",
    "output_interval": 0
  },

  // (4) Additional Options/Operations
  "output_root": "path",
  "routing": {<routing-config>}
}

🔹 Note:

The <single-bmi> and <multi-bmi> reference schemas are located in the Formulations documentation.

The <routing-config> reference schema is located in the Routing documentation.

Clone this wiki locally