skip to main content
Data Management Interface (DMI) : Control File-Executable DMI : About the Control File-Executable DMI
About the Control File-Executable DMI
The Control File-Executable DMI consists of several components. Refer to Figure 2.1 for the relation between these components.
• The user-specified Control File is created by the user and contains a list of slots which the user wants imported or exported from the RiverWare model. The control file is an ASCII file which maps data between object.slots in the Workspace and data files
• The external DMI Executable is a separate software component which is called by the RiverWare DMI facility. For import DMIs, this external executable provides the data files which RiverWare loads into the model. For output DMIs, the external executable processes data files exported by RiverWare and performs such functions as saving the data in the database, reprocessing the data into reports, and preparing the data for use by statistical analysis programs.
• The RiverWare DMI Data Files are a set of files used to transfer the data to and from the RiverWare model. Each of these files contains the data for a single slot in the model. The files are created by either the External DMI Executable or RiverWare, depending on whether it is an input or an output DMI.
As shown in Figure 2.1, the user must minimally create a control file and an executable. Following is an example of how the DMI works. In this example we assume it is an Input DMI, but it is the same, just reversed for an Output DMI.
1. The user Invokes the Input DMI. RiverWare verifies the DMI to make sure it is valid.
2. RiverWare reads the user Control File and resolves all wild carding.
3. RiverWare writes the Meta Control File which has a fully specified line for each slot in the Control File.
4. RiverWare runs the External DMI Executable.
5. The executable reads the Meta Control File.
6. The executable interacts with the Data Source (i.e. the database) to retrieve the data.
7. The executable creates the DMI Data Files. .
8. Once the executable is complete, RiverWare reads the DMI Data Files and places data in the slots.
Note:  Alternatively, the user can create the DMI Data Files separately without using an executable. In this case steps 4-7 will be skipped
Figure 2.1  Control File - Executable Input DMI schematic
Revised: 07/09/2023