-
Notifications
You must be signed in to change notification settings - Fork 15
Example: Executing NextGen Jobs with Multi BMI Models via DMOD GUI
The model exec workflow GUI menus begin with a map view displaying the hydrofabric and the individual catchments within it. Users must select which catchments are to be included in the executed job.
The next view in the workflow GUI menus deals with the configuration of NextGen framework model formulations. This begins with the global formulation config, which is applied by default to any catchments in the selected domain that does not have its own specific formulation configuration.
The first item required is a name value for the formulation, for use within the framework. Next, a selection from the available formulation types must be made.
For this walk-through, we select the MultiBMI formulation type.
Using MultiBMI allows us to combine nested BMI modules to form a composite model formulation for the catchment(s) to which this MultiBMI formulation is applied. We add these individual modules in the Modules subsection.
This then gives us a nested config menu that essentially works the same way as the outer formulation config menu. Here, for the first module, we will select NoahOWP.
As discussed here, NextGen formulation configs support a variables_names_map
parameter. This defines correspondences between different variables, in either the framework or the individual BMI modules, that represent the same value.
The DMOD model exec GUI populates several of these automatically, though the config can also be manually adjusted if necessary.
This mapping is important when configuring BMI formulations, especially multi BMI formulations. One BMI module may not refer to the same actual value (e.g., temperature) using EXACTLY the same name as the framework, or as another BMI module used in the same multi BMI formulation (e.g., SFCTMP versus land_surface_air__temperature).
With the first nested module added, we will now add a second.
For this formulation, we will build a composite formulation that combines the capabilities of NoahOWP with the CFE module.
The BMI specification requires modules support an initialization config file, which the module uses to initialize itself via the BMI function of the same name.
However, some OWP-developed modules also support setting these parameters via NextGen's realization config file directly. As a result, supported module params can optionally be configured via the DMOD GUI (though we do not do so in this example).
This example only added these two BMI modules - NoahOWP and CFE - to create this multi BMI formulation. However, there is not a strict limit on how many modules can be combined, except for what module types are available.
We now have a complete formulation config constructed for the global formulation. But recall that this applies to catchments in the selected domain that do not have individual formulation configurations.
If desired, we can now begin adding individual catchment formulation config entries. The config components work the same way as for the global config, except that there is also a field to specify catchment id.
The last items to configure are the time parameters for the simulation, including the begin and end of the simulation, as well as the time step size.