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

Compare with Current View Page History

« Previous Version 17 Next »

What

ModifierTypes.xml

Required

no

Description

Define and declare the available modifiers

schema location

http://fews.wldelft.nl/schemas/version1.0/modifierTypes.xsd

A forecaster can modify a forecast with so-called Modifiers.  Within FEWS there are two types of modifiers: time series modifiers and parameter modifiers. Parameter modifiers can modify a parameter of a model or of a transformation.

Time series modifiers modify a time series. The original time series is stored in the database. However as soon as this time series is retrieved from the database the modifier will be applied to it. But it is important to note that the original time series is always available in the database.

Time series modifiers

Single value modifiers

A single value modifier is a modifier which modifies only one value at one time step in a time series. The display which is used for single value modifiers is shown below.


The user can enter a value in the text box by entering a value and by clicking on the spinner box next to it. The value can also be adjusted by the slider bar on the right side of FEWS.

In the example above we see the display of the single value modifier WECHNG. The WECHNG mod sets the value of the snow water equivalent in a specific snow model at one point in time. 

Below the configuration of this modifier is shown.

<singleValueModifier id="wechng" name="WECHNG">
	<timeSeries>
		<parameterId>WECHNG</parameterId>
	</timeSeries>
	<softLimits>
		<maximumValue>5</maximumValue>
		<minimumValue>0</minimumValue>
	</softLimits>
	<hardLimits>
		<minimumValue>0</minimumValue>
	</hardLimits>
	<defaultTime>start run</defaultTime>
	<defaultValue>0</defaultValue>
</singleValueModifier>

     

First the id and name of the modifier is declared. The timeSeries-part identifies that this modifier can be applied to any time series which have the parameter WECHNG. The modifiers has some soft limits. These limits are used to limit the slider bar in the display. In this case the slider bar will start at 0 and end at 5. But these soft limits can be overruled by manually typing a value lower than zero or higher than 5. The hardLimits identify the upper and lower limit of the mod and they can not be overruled. This means that for this mod only the maximum value of the soft limit of 5 can be overruled.  A single value modifier is only applied at one time step. By default this is set to the start of the run in this modifier. The default value is set to 0.

Constant value modifiers

Constant value modifiers are very similar to single value modifiers. But instead of modifying a single value at a particular point in time, they modify a time series over a period of time with a fixed value. Below the display of a constant value modifier is shown. Which is very similar to the display of single value modifier. Note however that this modifier has a start and an end time.

Below an example configuration of a constant value modifer is shown.

<constantValueModifier id="mfc" name="MFC">
	<timeSeries>
		<parameterId>MFC</parameterId>
	</timeSeries>
	<softLimits>
		<maximumValue>10</maximumValue>
		<minimumValue>0</minimumValue>
	</softLimits>
	<defaultStartTime>start run</defaultStartTime>
	<defaultEndTime>end run</defaultEndTime>
	<defaultValue>1</defaultValue>
</constantValueModifier>

The only difference in the configuration of a constant value modifier and a single value modifier is that a default start- and endtime should be configured instead of default time.

Enumaration modifiers

Below an example of the display for an enumeration modifier.


In this type of modifier the forecaster can select several options from a dropdownlist. Each option is translated to a certain value in the time series.  

Below is an example of the configuration of an enumeration modifier.

<enumerationModifier id="rainsnow" name="RAINSNOW">
	<timeSeries>
		<parameterId>RAINSNOW</parameterId>
	</timeSeries>
	<descriptionEnumeration>choose precipitation:</descriptionEnumeration>
	<enumeration>
		<item text="rain" value="1"/>
		<item text="snow" value="2"/>
	</enumeration>
	<defaultStartTime>start run</defaultStartTime>
	<defaultEndTime>end run</defaultEndTime>
</enumerationModifier>

This modifier can be applied to every time series which has parameter id RAINSNOW because a filter is defined with only the parameterId RAINSNOW.

The text of the label in front of the dropdownlist is configurable. The items in the dropdownlist are also configurable. For this modifier the forecaster can choose between options rain and snow. If snow is selected a value of 2 in set into the time series for the selected period. If rain is selected a value of 1 is written into the time series.  The numbers are treated as flags by the model to which the time series is passed.

Time series modifier

The time series modifier is a modifier which directly edits a certain time series. In the example below the display for the RunOff Change (ROCHNG) modifier which is configured to change the model produced runoff. The forecaster can edit this time series by making changes in table or in the graph. The changes in the graph are made by clicking in the graph. When the user clicks from left to right then the values between the points are interpolated. When the user clicks from right to left only the newly added or changed points are adjusted but no interpolation will be done between the last two points. When more than one time series is shown in the display it is possible to make a selection of which time series should edited when making changes by clicking in the graph. The time series which should be changed can be selected by clicking on the legend of that example time series in the graph.


Below is an example of how a time series modifier should be configured.

<timeSeriesModifier id="rochng" name="ROCHNG">

               <timeSeries>

<moduleInstanceSetId>SACSMA_Forecast</moduleInstanceSetId>

                              <valueType>scalar</valueType>

                              <parameterId>INFW</parameterId>

                              <locationSetId>Gages_Catchments</locationSetId>

                              <timeSeriesType>simulated forecasting</timeSeriesType>

                              <timeStep unit="hour" multiplier="6"/>

                              <ensembleId>QPF</ensembleId>

</timeSeries>

               <defaultStartTime>start run</defaultStartTime>

               <defaultEndTime>end run</defaultEndTime>

               <resolveInWorkflow>true</resolveInWorkflow>

               <resolveInPlots>false</resolveInPlots>

</timeSeriesModifier>

This modifier can be applied to the time series identified in tag timeseries. The modifier will have a start time equal to the start of the run and will end at the end of the run. The option resolveInWorkflow is set to true and the option resolveInPlots is set to false. This means that the IFD will search for time series which might be modified in the workflow of the selected node but it will not search in the time series which are displayed in the plots for this node.

Mark unreliable modifier

This modifier sets all the values in a time series to unreliable over a period so the data will not be used in the models, but the original values will be displayed.

The forecaster can only edit the start and end dates of the period in which the time series will be set to invalid. In the Modifiers Display table the unreliable values in the modified time series are marked yellow.


Below an configuration example of this type of modifier

<markUnreliableModifier id="ignorets" name="IGNORETS">

               <timeSeries>

                              <moduleInstanceSetId>RESSNGL_Forecast</moduleInstanceSetId>

                              <valueType>scalar</valueType>

                              <parameterId>PELV</parameterId>

                              <locationSetId>Reservoirs</locationSetId>

                              <timeSeriesType>simulated forecasting</timeSeriesType>

                              <timeStep unit="hour" multiplier="1"/>

               </timeSeries>

               <defaultStartTime>start run</defaultStartTime>

               <defaultEndTime>end run</defaultEndTime>

</markUnreliableModifier>

In the tag time series can be specified to which time series this modifier can be applied. In the tag defaultStartTime the default start of the modifier can be specified. The configuration can choose start run or time zero. The tag defaultEndTime can be used to specify the default end time of the modifier. The configuration can choose time zero or end run.

Compound modifier

The compound modifier can be used to modify a set of time series with slider bars.  Each slider shows a reference value in blue and the modified value. Initially the modified value is equal to the reference value. For each slider there is a time series configured which stores the modified value and a time series configured which holds the reference value. This type of modifier is typically used as a state modifier of models. The reference values show the current state of the model. The modified values in the boxes show the modified state values. The maximum value of the slider bar is derived from a parameter in the linked module parameter file.


Below an example of the configuration of a compound modifier. In this example a part of the sacco configuration is not shown but only the configuration of one of the five sliders is shown.

For each slider the time series which holds the reference values should be configured, and the time series which should contain the modified value should be configured. Each slider also has maximum value. This maximum is retrieved from the module parameter file of the model. The tag maximumAllowedValueParameterId identifies which parameter should be used to identify the maximum.

<compoundModifier id="sacco" name="SACCO">

                                        <slider>

                                                            <currentTimeSeries>

                                                                                <moduleInstanceSetId>SACSMA_Forecast</moduleInstanceSetId>

                                                                                <valueType>scalar</valueType>

                                                                                <parameterId>UZTWC</parameterId>

                                                                                <locationSetId>Gages_Catchments</locationSetId>

                                                                                <timeSeriesType>simulated forecasting</timeSeriesType>

                                                                                <timeStep unit="hour" multiplier="6"/>

                                                            </currentTimeSeries>

                                                            <modifiedTimeSeries>

                                                                                <moduleInstanceId>ExportMODS</moduleInstanceId>

                                                                                <valueType>scalar</valueType>

                                                                                <parameterId>UZTWC</parameterId>

                                                                                <locationSetId>Gages_Catchments</locationSetId>

                                                                                <timeSeriesType>external historical</timeSeriesType>

                                                                                <timeStep unit="nonequidistant"/>

                                                            </modifiedTimeSeries>

                                                            <maximumAllowedValueParameterId>UZTWM</maximumAllowedValueParameterId>

                                        </slider>

                                        <defaultTime>start run</defaultTime>

          </compoundModifier>

The default time of the model can also be configured. The configurator can choose between start run or time zero.

Missing value modifier

The missing value modifier can be used to set the values in a time series to missing over a period of time.


Like the Mark Unreliable Modifier, for the Missing Value modifier, the forecaster can only edit the start date and the end date of period in which the values of the time series should be set to missing. In the table and the graph of the Modifiers Display the values of the modified time series are not shown when they have been set to missing.

Below an example of the configuration of a missing value modifier.

<missingValueModifier id="setmsng" name="setmsng">

<defaultStartTime>start run</defaultStartTime>

               <defaultEndTime>end run</defaultEndTime>

               <resolveInWorkflow>false</resolveInWorkflow>

               <resolveInPlots>true</resolveInPlots>

</missingValueModifier>

The tag resolveInWorkflow is set to false and the resolveInPlots tag is set to true which means that the modifier can be applied to all time series in the plots of the node, but will not be applied to the time series identified in the workflow of the node. In this example there are no time series defined to which this modifier should be applied. This means it can applied to all time series which are defined in the plots of a node.


Switch option modifier

This modifier allows the forecaster to generate several linked time series.  This modifier is currently used to set regulation options for a basin. For each regulation option a time series should be identified. There are two types of time series which can be configured, time series in which the forecaster can enter any value and time series which can only contain a 1 when the option is switched on.

Below an example of the display of a switch option modifier.


For each data at a model time step one of the options can be selected by the radio-button-field. In the value field the forecaster can enter a value or if the option is only a switch on option, the value field is blocked. The add-icon automatically adds a new entry to the table. By default the new entry will have the data of the current row plus one model time step. The delete-icon deletes all the selected rows. The entries are allways in sequence. 

Below an example of a switch option modifier. For each regulation option available in the display a time series should be defined. The parameterid of the configured time series will be used as the name of the regulation option in the column regulation.

<switchOptionModifier id="ssarreg" name="ssarreg">

                       <timeValueTimeSeries>

                           <moduleInstanceId>ExportMODS</moduleInstanceId>

                           <valueType>scalar</valueType>

                           <parameterId>SETH</parameterId>

                           <qualifierId>US</qualifierId>

                           <locationSetId>ImportIHFSDB</locationSetId>

                           <timeSeriesType>external forecasting</timeSeriesType>

                           <timeStep unit="nonequidistant"/>       

                           <ensembleId>main</ensembleId>

                       </timeValueTimeSeries>

                       <timeValueTimeSeries>

                           <moduleInstanceId>ExportMODS</moduleInstanceId>

                           <valueType>scalar</valueType>

                           <parameterId>SETQ</parameterId>

                           <qualifierId>US</qualifierId>

                           <locationSetId>ImportIHFSDB</locationSetId>

                           <timeSeriesType>external forecasting</timeSeriesType>

                           <timeStep unit="nonequidistant"/>           

                           <ensembleId>main</ensembleId>

                       </timeValueTimeSeries>

                       <timeValueTimeSeries>

                           <moduleInstanceId>ExportMODS</moduleInstanceId>

                           <valueType>scalar</valueType>

                           <parameterId>SETS</parameterId>

                           <qualifierId>US</qualifierId>

                           <locationSetId>ImportIHFSDB</locationSetId>

                           <timeSeriesType>external forecasting</timeSeriesType>

                           <timeStep unit="nonequidistant"/>

                           <ensembleId>main</ensembleId>

                       </timeValueTimeSeries>

                       <timeValueTimeSeries>

                           <moduleInstanceId>ExportMODS</moduleInstanceId>

                           <valueType>scalar</valueType>

                           <parameterId>SETDH</parameterId>

                           <qualifierId>US</qualifierId>

                           <locationSetId>ImportIHFSDB</locationSetId>

                           <timeSeriesType>external forecasting</timeSeriesType>

                           <timeStep unit="nonequidistant"/>

                           <ensembleId>main</ensembleId>

                       </timeValueTimeSeries>

                       <timeValueTimeSeries>

                           <moduleInstanceId>ExportMODS</moduleInstanceId>

                           <valueType>scalar</valueType>

                           <parameterId>SETDQ</parameterId>

                           <qualifierId>US</qualifierId>

                           <locationSetId>ImportIHFSDB</locationSetId>

                           <timeSeriesType>external forecasting</timeSeriesType>

                           <timeStep unit="nonequidistant"/>

                           <ensembleId>main</ensembleId>

                       </timeValueTimeSeries>

                       <booleanTimeSeries>

                           <moduleInstanceId>ExportMODS</moduleInstanceId>

                           <valueType>scalar</valueType>

                           <parameterId>FREEFLOW</parameterId>

                           <qualifierId>US</qualifierId>

                           <locationSetId>ImportIHFSDB</locationSetId>

                           <timeSeriesType>external forecasting</timeSeriesType>

                           <timeStep unit="nonequidistant"/>

                           <ensembleId>main</ensembleId>

                       </booleanTimeSeries>

                       <timeValueTimeSeries>

                           <moduleInstanceId>ExportMODS</moduleInstanceId>

                           <valueType>scalar</valueType>

                           <parameterId>SETDS</parameterId>

                           <qualifierId>US</qualifierId>

                           <locationSetId>ImportIHFSDB</locationSetId>

                           <timeSeriesType>external forecasting</timeSeriesType>

                           <timeStep unit="nonequidistant"/>

                           <ensembleId>main</ensembleId>

                       </timeValueTimeSeries>

                       <startTime>start run</startTime>

                    <effectiveDate></effectiveDate>

    </switchOptionModifier>

  • No labels