You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

All OpenMI compliant components can be accessed through a standardized interface (the OpenMI.Standard. ILinkableComponent interface). One obvious way to take advantage of this is to create generic optimization or calibration components. Such components can be designed in such a way that any OpenMI compliant numerical model can be optimized or calibrated by use of such component. However, such optimization or calibration component will use the OpenMI.Standard.IManageState interface, which is not required in the standard. So, if you are interested in using your optimization of calibration component for a specific OpenMI compliant component please check if this component implements the IManageState interface.

Since the design pattern will be the same for optimization and calibration only calibration is explained below.

It is assumed that your calibration component can be used within any OpenMI configuration using any OpenMI configuration editor (e.g. the configuration editor provided the OpenMI Association Technical Committee). So, your calibration component must be an OpenMI compliant component it selves (implement the OpenMI.Standard.IlinkableComponent interface).

In the example below the calibration component is used to calibrate a conceptual rainfall-runoff model. However, please notice that the calibration component can be used for any type of model.

When calibrating a rainfall-runoff model you typically run the model several times. After each run you compare the simulated runoff time series with the corresponding measured runoff time series. Based on this comparison you will estimate new model parameters and run again. This procedure is repeated until you have a satisfactory agreement between measured and simulated runoff.

When you create (implement) your calibration component, you should make sure that this component has an input exchange item that can connect to the simulated runoff and an input exchange item that can connect to the measured runoff. Your component should also have output exchange items from where the RR-model can retrieve the improved parameters. In order to make your component work for any model you can (e.g.) name the input exchange items "simulated" and "measured", and your output exchange items" parameter 1", "parameter 2", "parameter 3", etc.

In figure 1 below the example configuration for the calibration of the RR model is shown. The calibration component is an OpenMI compliant component and appears, as the remaining components in the configuration, as a yellow box. The calibration component will get the measured runoff from an OpenMI compliant time series component (1). Alternatively, the calibration component could get these data from a file or other sources. The calibration component provides model parameter to the RR-model through an OpenMI link (2) and obtains simulated runoff through another OpenMI link (3). Finally, the calibration component is linked to a trigger, which will drive the whole thing forward.

  • No labels