Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Rating curve modifiers are used to modify a rating curve.  Two modifier types  are available for this purpose :  tableRatingCurveModifier and shiftMultiplyRatingCurveModifier

...

Table rating curve modifier

This modifier  allows the users  to edit  the rating curve in both the table and the chart. 

...

The picture below shows both the  original and the referenced rating curves:

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 forecaster can define a single value modifier in the modifier panel by selecting a date and a value. The combination of the selected time and value is the definition of the single value modifier.

An example of the use of a single value modifier is the WECHNG-modifier used in several NWS (National Weather Service) applications. This modifier sets the snow water-equivalent for the date specified. The single value modifier is applied to an empty time series which holds after the application of the modifier only the value of the modifier. This time series is used as an input time series to the model. The model adapter reads the time series and knows that it has to change the snow water-equivalent for the mod date to the specified value.

Display

The display for the single value modifiers is shown below.

Image Removed

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.

Shift rating curve modifier

Rating curve modifiers are used to modify a rating curve. The rating curve can be modified by shifting the whole rating curve a constant value or by multiplying it with a factor. The constant value or the multiplication factor is calculated by the following procedure. The forecaster defines a stage/discharge pair, from the given stage the discharge is calculated by using the rating curve, the difference or factor between the given discharge and the calculated discharge is calculated. This type of modifier is in use by North-Central RFC (NCRFC) one of the River Forecast Centers of the NWS. They use this modifier to temporarily modify the rating curve.

However, when new rating curves are available they are imported in their system.

In addition, when hovering the mouse over the rating curve points in the modifier display, a tooltip is shown which shows the rating id, stage and flow values.

Display

An example of the display of this modifier is shown below. The forecaster can define a stage/discharge pair by defining a pair in the text boxes. However it is also possible to double click on a point in the graph to define a pair. From the defined stage/discharge pair automatically the constant value or multiplication factor is derived, which is displayed besides the given stage/discharge pair.  The radio button at the top of the display can be used to switch between the two types of modifier (constant value or percentage).

Image Added

The date of the modifier can be selected in the area above which the forecaster can enter a value for the modifier. The units of the modifier is shown at the right side of the slider bar.Configuration example

Code Block
languagexml
<singleValueModifier<ratingCurveModifiers>
	<shiftMultiplyRatingCurveModifier id="wechngqpcshift" name="wechngqpcshift">
		<timeSeries><defaultStartTime>start run</defaultStartTime>
			<parameterId>WECHNG</parameterId><defaultEndTime>end run</defaultEndTime>
		</timeSeries>
		<softLimits>
			<maximumValue>25</maximumValue>
			<minimumValue>0</minimumValue>
		</softLimits>
		<hardLimits>
			<maximumValue>100</maximumValue>
			<minimumValue>0</minimumValue>
		</hardLimits>
		<defaultTime>time zero</defaultTime>
		<defaultValue>1</defaultValue>
</singleValueModifier>

 

timeSeries

The element timeseries is used to define to which timeseries this modifier can be applied.

softLimits

The slider in the display is bounded to the soft limits defined. However they can be overruled by entering a higher or lower value in the text box.

hardLimits

The values entered in the text box or the slider are bounded by the hard limits defined.

defaultTime

The default time of the modifier. Currently two options are available: time zero and start run.

defaultValue

It is possible to assign a default value to a single value modifier.

In the config example above a default value is configured as the initial value for the modifier.

Below a summary of the options which can be used to define the initial value of the modifier.

default value

This option defines a hard-coded value as the initial value for the modifier

derive a default value from a time series

This option defines a set of time series. The initial value will be derived from the time series which has the same location as the location of the modifier.

From this time series the the value at the time of the modifier will be chosen.

derive default value from a statistical function

The last option allows the forecaster to configure a statistical function from which the value should be derived. Currently only the principal component analysis-functions support this option.

When the principal component analysis is run in the plot display by selecting the principal component analysis-function the output value of this function will be default value for the modifier.

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.

An example of the use of the constant value modifier is the MFC-modifier. This modifier adjusts the melt factor of the snow17-model over the specified period of time with the specified value. It is (just as the WECHNG-modifier) applied to an
empty time series and used as an input time series to the snow17-model.

Display

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. The constant value of the modifier can be specified in the
text box or with the slider. The period can be defined by using the start and end date boxes.

<offsetDefaultEndTime unit="day" multiplier="3"/>
	</shiftMultiplyRatingCurveModifier>
</ratingCurveModifiers>

 

defaultStartTime
The default start time of the modifier. The available options are startrun and time zero. It corresponds to the same fields in the modifier display. This is only a default value, which can be changed by the user.

offsetDefaultStartTime
The offset start time compared to the option defined in defaultStartTime. For example when an offset of 1 day is configured in this option and the defaultStartTime is set to timezero than the default starttime of the modifier will be set to time zero plus 1 day. It corresponds to the same fields in the modifier display. This is only a default value, which can be changed by the user.

defaultEndTime
The default end time of the modifier. The available options are time zero and end run. It corresponds to the same fields in the modifier display. This is only a default value, which can be changed by the user.

offsetDefaultEndTime
The offset of the end time compared to the option defined in defaultEndTime. It corresponds to the same fields in the modifier display. This is only a default value, which can be changed by the user.

expiryTime
This element can be used to overrule the default expiry time. The expiryTime is not related to the display (and is thus hidden from the user) and can be used to maximize the period a rating table modifier can be applied. This expiryTime is related to the period to which the modifier is applied, it does not indicate the period after which the rating table will be removed by the rollingBarrel. By using this option, you can overrule the default expiryTime.

expiryTimeDeletedModifiers
The expiryTimeDeletedModifiers is related to the rollingBarrel. When a modifier is deleted by the user (in the GUI) it will not be deleted but only set to invisible, so that it can be restored. However, when the expiryTimeDeletedModifiers has passed, the modifier will be removed from the database and the modifier can no longer be restored. So if the expiry time is 50 years, the modifier remains 50 years in the database, visible or invisible.

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 forecaster can define a single value modifier in the modifier panel by selecting a date and a value. The combination of the selected time and value is the definition of the single value modifier.

An example of the use of a single value modifier is the WECHNG-modifier used in several NWS (National Weather Service) applications. This modifier sets the snow water-equivalent for the date specified. The single value modifier is applied to an empty time series which holds after the application of the modifier only the value of the modifier. This time series is used as an input time series to the model. The model adapter reads the time series and knows that it has to change the snow water-equivalent for the mod date to the specified value.

Display

The display for the single value modifiers is shown below.

Image Added

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.


The date of the modifier can be selected in the area above which the forecaster can enter a value for the modifier. The units of the modifier is shown at the right side of the slider bar.

Image RemovedConfiguration example

Code Block
languagexml
<constantValueModifier<singleValueModifier id="mfcwechng" name="mfcwechng">
		<timeSeries>
			<parameterId>MFC<<parameterId>WECHNG</parameterId>
		</timeSeries>
		<softLimits>
			<maximumValue>3<<maximumValue>25</maximumValue>
			<minimumValue>0</minimumValue>
		</softLimits>
		<hardLimits>
			<maximumValue>10<<maximumValue>100</maximumValue>
			<minimumValue>0</minimumValue>
		</hardLimits>
		<sliderTicksStepSize>1</sliderTicksStepSize>
		<spinnerStepSize>1</spinnerStepSize>
		<defaultStartTime>start run</defaultStartTime>
		<defaultEndTime>end run</defaultEndTime><defaultTime>time zero</defaultTime>
		<defaultValue>1</defaultValue>
	</constantValueModifier>singleValueModifier>

 

timeseriestimeSeries

The user can define a timeseries filter in this element element timeseries is used to define to which time series the timeseries this modifier can be applied.

softLimits

...

The values entered in the text box or the slider are bounded by the hard limits defined.

sliderTicksStepSizedefaultTime

The step size of the the ticks in the slider.

spinnerStepSize

The step size by which the value in the spinner box increases or decreases by each click on the spinner.

defaultstarttime

The default start time of the modifier can be defined here. It corresponds to the same fields in the modifier display. This is only a default value, which can be changed by the user.

Possible options are: "start run" or "time zero"

defaultendtime

The default end time of the modifier can be defined here. It corresponds to the same fields in the modifier display. These are only default values, which can be changed by the user.

Possible options are: "time zero" or "end run"

defaultvalue

A default value can be defined here.

Enumeration modifiers

Enumeration modifiers are modifiers in which the user can select an option from a dropdown-list. Each available option in the drop-down list is represented by a value.

This value is applied by the modifier to a period of time.

An example of the use of the eneration modifier is the rain snow modifier from the NWS. In this modifier the forecaster can determine the precipitation in the snow17-model. Only two options are available rain and snow. If the forecaster chooses option rain than
a value of 1 is set into the timeseries, if an option snow is chosen than the value 2 is set into the timeseries at the specified time. The modifier is applied to an empty time series and used an input to the model. The model knows that if value 1 is set into the
timeseries that the user has chosen option rain and that if value is 2 that option snow was chosen.

Display

Below an example of the display for an enumeration modifier.

default time of the modifier. Currently two options are available: time zero and start run.

defaultValue

It is possible to assign a default value to a single value modifier.

In the config example above a default value is configured as the initial value for the modifier.

Below a summary of the options which can be used to define the initial value of the modifier.

default value

This option defines a hard-coded value as the initial value for the modifier

derive a default value from a time series

This option defines a set of time series. The initial value will be derived from the time series which has the same location as the location of the modifier.

From this time series the the value at the time of the modifier will be chosen.

derive default value from a statistical function

The last option allows the forecaster to configure a statistical function from which the value should be derived. Currently only the principal component analysis-functions support this option.

When the principal component analysis is run in the plot display by selecting the principal component analysis-function the output value of this function will be default value for the modifier.

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.

An example of the use of the constant value modifier is the MFC-modifier. This modifier adjusts the melt factor of the snow17-model over the specified period of time with the specified value. It is (just as the WECHNG-modifier) applied to an
empty time series and used as an input time series to the snow17-model.

Display

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. The constant value of the modifier can be specified in the
text box or with the slider. The period can be defined by using the start and end date boxes.


Image AddedImage Removed

Configuration example

Code Block
languagexml
<enumerationModifier<constantValueModifier id="rainsnowmfc" name="rainsnowmfc">
		<timeSeries>
			<parameterId>RAINSNOW<<parameterId>MFC</parameterId>
		</timeSeries>
		<descriptionEnumeration>choose precipitation:</descriptionEnumeration><softLimits>
		<enumeration>
			<item text="rain" value="1"/>	<maximumValue>3</maximumValue>
			<item text="snow" value="2"/><minimumValue>0</minimumValue>
		</enumeration>softLimits>
		<defaultStartTime>start run</defaultStartTime><hardLimits>
		<defaultEndTime>end			<maximumValue>10</maximumValue>
			<minimumValue>0</minimumValue>
		</hardLimits>
		<sliderTicksStepSize>1</sliderTicksStepSize>
		<spinnerStepSize>1</spinnerStepSize>
		<defaultStartTime>start run</defaultStartTime>
		<defaultEndTime>end run</defaultEndTime>
		<defaultValue>1</defaultValue>
	</enumerationModifier>constantValueModifier>

 

timeseries

The user can define a timeseries filter in this element to define to which time series the modifier can be applied.

descriptionEnumeration

softLimits

The slider Define the text value in the display which is shown before the dropdown list

enumeration

Define the list of options available in the drop down list and its associated value which will be placed into the time series.

defaultstarttime

is bounded to the soft limits defined. However they can be overruled by entering a higher or lower value in the text box.

hardLimits

The values entered in the text box or the slider are bounded by the hard limits defined.

sliderTicksStepSize

The step size of the the ticks in the slider.

spinnerStepSize

The step size by which the value in the spinner box increases or decreases by each click on the spinner.

defaultstarttime

The default start time of the modifier can be defined here. It corresponds to the same fields in the modifier display. The default start time of the modifier can be defined here. It corresponds to the same fields in the modifier display. This is only a default value, which can be changed by the user.

...

The default end time of the modifier can be defined here. It corresponds to the same fields in the modifier display. This is These are only a default valuevalues, which can be changed by the user.

Possible options are: "time zero" or "end run"

Time series modifier

The time series modifier is a modifier which allows the forecaster to modify a timeseries by selecting points in a graph (graphical appointment of modifiers, aka GAM, see below) or by changing values in a modifier table. In most applications of this modifier the forecaster is directly modifying a time series that is used by trasnformations or external models.  It might, for example, be used to directly modify a precipitation time series. This is contrary to how for example the single value modifier WECHNG is used. This modifier modifies an empty time series that is used by a snow17-model for modifying its state based on the input from this modifier. A time series modifier has the following characteristics:

  • The time series modifier has always a start- and end date.
  • The time series modifier can (Optionally, if configured) have a valid time.

When a valid time is used the behaviour is different for time series types:

  • When a modified time series is a simulated forecast timeseries and the valid time is equal to time zero (or later) then the entire modifier will be applied, otherwise the modifier will only be applied up to the valid time. When a modifier is created the valid time will be equal to the system time. In this situation the entire modifier will be applied. When the modifier is still available and used in later runs with a later time zero then the modifier will only be partly applied up to the valid time. This functionality was developed for the following situation. When the data of a simulated time series before time zero is a copy of the observed data this part of the simulation is not likely to change in simulations which are executed at a later time. So the part of the modifier before time zero (valid time) is still valid in later runs. However the part of the modifier after time zero is likely to be invalid because this part of the time series more likely to change in later runs.
  • When a modified time series is an external forecast time series, and no valid time is configured, the modifier is valid for all external forecast times.
  • When a modified time series is an external forecast time series, and a valid time is configured, the modifier is valid for the valid time only.

The forecaster can modify 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.

Besides modifying the time series by editing values in the graph or table, processing functions can be selected from the dropdownbox. Available processing functions are:

  • add
  • subtract
  • multiply
  • divide
  • replace
  • missing
  • ignore time series
  • time series

When one of the options add, subtract, multiply, divide or replace is chosen than a text box in which a value can be entered appears next to the operation type-dropdownbox.

Image Removed
The options add, subtract, multiply, divide or replace are self-explaining. They add, subtract, multiply, divide or replace the timeseries with the specified value over the specified period of time.

The option missing replaces the values in the time series with missing values over the specified period of time, the ignore time series sets the value over the specified period of time to unreliable.

The last option time series is the default option which will be selected after the initial creation of this modifier and this option allows the forecaster to freely edit the timeseries.

An example of the use of the time series modifier is the RRICHNG modifier.

Display

Below a screenshot of the timeseries modifier.

Image Removed

Configuration example

Code Block
languagexml
<timeSeriesModifier id="rrichng" name="rrichng">
		<timeSeries>
			<moduleInstanceSetId>SNOW17_Forecast</moduleInstanceSetId>
			<valueType>scalar</valueType>
			<parameterId>RAIM</parameterId>
			<locationSetId>Gages_Catchments</locationSetId>
			<timeSeriesType>simulated forecasting</timeSeriesType>
			<timeStep unit="hour" multiplier="6"/>
		</timeSeries>
		<defaultStartTime>start run</defaultStartTime>
		<defaultEndTime>end run</defaultEndTime>
		<defaultValidTime/>
		<resolveInWorkflow>true</resolveInWorkflow>
		<resolveInPlots>false</resolveInPlots>
		<createContinuousModifiers>true</createContinuousModifiers>
</timeSeriesModifier>

 

timeSeries

This element can be used to identify to which timeseries this modifier can be applied.

onlyApplyLastModifier

If this option is enabled only the most recent applicable modifier of this type will be applied

mergeUncommittedModifiers

If this option is enabled uncommitted modifiers will be merged into one modifier. This option is limited to modifiers which only modify a single time series

referenceTimeSeries

This option can be used to define a filter for reference time series. The available time series for the selected node in the topology will be filtered by using the defined filter. 

Only the reference time series which belong to the same parameter group as the modifiers which are being editted in the display will be displayed.

In addition only the reference time series which have the same location(s) as the time series which are being modified will be shown. 

resolveInWorkflow
In the element timeSeries is a filter defined which defines which timeseries can be modified with this timeseries. If the element resolveInWorkflow is set than the modifier can be applied to all timeseries in the current workflow to which the defined time
series filter applies. In an IFD-environment the current workflow is the workflow which is associated to the selected topology node.

resolveInPlots
This element can only be used in IFD-environments. If this element is enabled than the timeseries-filter is also applied to all timseries in the plots associated with the current selected topology node.

editInPlots
It is possible to create a timeseries modifier in the plot displays. This can be done by selecting a timeseries by selecting a legend. After selection the timeseries can be modified by graphically editing the timeseries or by changing values in the graph. This feature can
be disabled by setting this option to false.

createContinousModifiers
If a modifier is created in the graph by default one modifier will be created. However when the option createContinousModifiers is disabled one modifier will be created for every continuous range of modifications made. For example if the forecaster changes a 6 hours timeseries at 00z and at 12z but not a 0600z than by default this will result in creating a single modifier, but when this option is disabled two modifiers will be created. One for each continuous range of changes. In this case there is a change at 00z and one at 12z therefore two modifiers will be created.

Graphical appointment of modifiers (aka GAM)

Image Removed

To make use of the graphical appointment of modifiers menu, you need to configure several things in the ModifierTypes.xml

Create a modifier type for the parameter you want to modify (as described on this page), e.g.:

 

Code Block
languagexml
<timeSeriesModifier id="timeseries.to.modify" name="GAM.timeseries"> 
	<timeSeries> <moduleInstanceId>My.Module.Instance.Id</moduleInstanceId> 
	<!-- optional --> <parameterId>My.parameter</parameterId> </timeSeries> 
	<defaultStartTime>start run</defaultStartTime> 
	<defaultEndTime>end run</defaultEndTime>
 	<resolveInWorkflow>true</resolveInWorkflow> 
	<resolveInPlots>true</resolveInPlots> 
</timeSeriesModifier>

In the DisplayGroups.xml, you need to define a displayGroup with a display showing a plotId containing the timeseries you just made a modifierType for, e.g.:

Code Block
languagexml
<displayGroup name="Graphical Appointment of Modifiers" id="GAM"> 
	<display name="GAM"> <relativeViewPeriod unit="day" start="-3" end="7"/> 
		<locationId>H-MS-SINT</locationId> 
		<plotId>Maas_kansverwachtingen_GAM</plotId> 
</display> </displayGroup>

In the Topology.xml you need to define a node in the topology linked to the displayGroupId of the displayGroup you've just created, e.g.:

Code Block
languagexml
<nodes id="GAM"> 
	<node id="GAM_node">
		<displayGroupId>GAM</displayGroupId>
	</node> 
</nodes>

In the TimeSeriesDisplayConfig.xml, there's an optional configuration setting.

If you want to be assisted by default markers when graphically editing the time series, you can configure this behavior, e.g.:

Code Block
languagexml
<graphicalEditingConfig> 
	<adjustShapeByDragging> 
	<preSelectTimeStepsPeriodically> 
		<parameterId>My.parameter</parameterId> 
		<timeSpan unit="hour" multiplier="12"/> 
	</preSelectTimeStepsPeriodically> 
	</adjustShapeByDragging> 
</graphicalEditingConfig>


...

defaultvalue

A default value can be defined here.

Enumeration modifiers

Enumeration modifiers are modifiers in which the user can select an option from a dropdown-list. Each available option in the drop-down list is represented by a value.

This value is applied by the modifier to a period of time.

An example of the use of the eneration modifier is the rain snow modifier from the NWS. In this modifier the forecaster can determine the precipitation in the snow17-model. Only two options are available rain and snow. If the forecaster chooses option rain than
a value of 1 is set into the timeseries, if an option snow is chosen than the value 2 is set into the timeseries at the specified time. The modifier is applied to an empty time series and used an input to the model. The model knows that if value 1 is set into the
timeseries that the user has chosen option rain and that if value is 2 that option snow was chosen.

Display

Below an example of the display for an enumeration modifier.


Image Added

Configuration example

Code Block
languagexml
<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>



timeseries

The user can define a timeseries filter in this element.

descriptionEnumeration

Define the text value in the display which is shown before the dropdown list

enumeration

Define the list of options available in the drop down list and its associated value which will be placed into the time series.

defaultstarttime

The default start time of the modifier can be defined here. It corresponds to the same fields in the modifier display. This is only a default value, which can be changed by the user.

Possible options are: "start run" or "time zero"

defaultendtime

The default end time of the modifier can be defined here. It corresponds to the same fields in the modifier display. This is only a default value, which can be changed by the user.

Possible options are: "time zero" or "end run"

Time series modifier

The time series modifier is a modifier which allows the forecaster to modify a timeseries by selecting points in a graph (graphical appointment of modifiers, aka GAM, see below) or by changing values in a modifier table. In most applications of this modifier the forecaster is directly modifying a time series that is used by trasnformations or external models.  It might, for example, be used to directly modify a precipitation time series. This is contrary to how for example the single value modifier WECHNG is used. This modifier modifies an empty time series that is used by a snow17-model for modifying its state based on the input from this modifier. A time series modifier has the following characteristics:

  • The time series modifier has always a start- and end date.
  • The time series modifier can (Optionally, if configured) have a valid time.

When a valid time is used the behaviour is different for time series types:

  • When a modified time series is a simulated forecast timeseries and the valid time is equal to time zero (or later) then the entire modifier will be applied, otherwise the modifier will only be applied up to the valid time. When a modifier is created the valid time will be equal to the system time. In this situation the entire modifier will be applied. When the modifier is still available and used in later runs with a later time zero then the modifier will only be partly applied up to the valid time. This functionality was developed for the following situation. When the data of a simulated time series before time zero is a copy of the observed data this part of the simulation is not likely to change in simulations which are executed at a later time. So the part of the modifier before time zero (valid time) is still valid in later runs. However the part of the modifier after time zero is likely to be invalid because this part of the time series more likely to change in later runs.
  • When a modified time series is an external forecast time series, and no valid time is configured, the modifier is valid for all external forecast times.
  • When a modified time series is an external forecast time series, and a valid time is configured, the modifier is valid for the valid time only.

The forecaster can modify 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.

Besides modifying the time series by editing values in the graph or table, processing functions can be selected from the dropdownbox. Available processing functions are:

  • add
  • subtract
  • multiply
  • divide
  • replace
  • missing
  • ignore time series
  • time series

When one of the options add, subtract, multiply, divide or replace is chosen than a text box in which a value can be entered appears next to the operation type-dropdownbox.

Image Added
The options add, subtract, multiply, divide or replace are self-explaining. They add, subtract, multiply, divide or replace the timeseries with the specified value over the specified period of time.

The option missing replaces the values in the time series with missing values over the specified period of time, the ignore time series sets the value over the specified period of time to unreliable.

The last option time series is the default option which will be selected after the initial creation of this modifier and this option allows the forecaster to freely edit the timeseries.

An example of the use of the time series modifier is the RRICHNG modifier.

Display

Below a screenshot of the timeseries modifier.

Image Added

Configuration example

Code Block
languagexml
<timeSeriesModifier id="rrichng" name="rrichng">
		<timeSeries>
			<moduleInstanceSetId>SNOW17_Forecast</moduleInstanceSetId>
			<valueType>scalar</valueType>
			<parameterId>RAIM</parameterId>
			<locationSetId>Gages_Catchments</locationSetId>
			<timeSeriesType>simulated forecasting</timeSeriesType>
			<timeStep unit="hour" multiplier="6"/>
		</timeSeries>
		<defaultStartTime>start run</defaultStartTime>
		<defaultEndTime>end run</defaultEndTime>
		<defaultValidTime/>
		<resolveInWorkflow>true</resolveInWorkflow>
		<resolveInPlots>false</resolveInPlots>
		<createContinuousModifiers>true</createContinuousModifiers>
</timeSeriesModifier>

 

timeSeries

This element can be used to identify to which timeseries this modifier can be applied.

onlyApplyLastModifier

If this option is enabled only the most recent applicable modifier of this type will be applied

mergeUncommittedModifiers

If this option is enabled uncommitted modifiers will be merged into one modifier. This option is limited to modifiers which only modify a single time series

referenceTimeSeries

This option can be used to define a filter for reference time series. The available time series for the selected node in the topology will be filtered by using the defined filter. 

Only the reference time series which belong to the same parameter group as the modifiers which are being editted in the display will be displayed.

In addition only the reference time series which have the same location(s) as the time series which are being modified will be shown. 


resolveInWorkflow
In the element timeSeries is a filter defined which defines which timeseries can be modified with this timeseries. If the element resolveInWorkflow is set than the modifier can be applied to all timeseries in the current workflow to which the defined time
series filter applies. In an IFD-environment the current workflow is the workflow which is associated to the selected topology node.

resolveInPlots
This element can only be used in IFD-environments. If this element is enabled than the timeseries-filter is also applied to all timseries in the plots associated with the current selected topology node.

editInPlots
It is possible to create a timeseries modifier in the plot displays. This can be done by selecting a timeseries by selecting a legend. After selection the timeseries can be modified by graphically editing the timeseries or by changing values in the graph. This feature can
be disabled by setting this option to false.

createContinousModifiers
If a modifier is created in the graph by default one modifier will be created. However when the option createContinousModifiers is disabled one modifier will be created for every continuous range of modifications made. For example if the forecaster changes a 6 hours timeseries at 00z and at 12z but not a 0600z than by default this will result in creating a single modifier, but when this option is disabled two modifiers will be created. One for each continuous range of changes. In this case there is a change at 00z and one at 12z therefore two modifiers will be created.

Graphical appointment of modifiers (aka GAM)

Image Added

To make use of the graphical appointment of modifiers menu, you need to configure several things in the ModifierTypes.xml

Create a modifier type for the parameter you want to modify (as described on this page), e.g.:

 

Code Block
languagexml
<timeSeriesModifier id="timeseries.to.modify" name="GAM.timeseries"> 
	<timeSeries> <moduleInstanceId>My.Module.Instance.Id</moduleInstanceId> 
	<!-- optional --> <parameterId>My.parameter</parameterId> </timeSeries> 
	<defaultStartTime>start run</defaultStartTime> 
	<defaultEndTime>end run</defaultEndTime>
 	<resolveInWorkflow>true</resolveInWorkflow> 
	<resolveInPlots>true</resolveInPlots> 
</timeSeriesModifier>

In the DisplayGroups.xml, you need to define a displayGroup with a display showing a plotId containing the timeseries you just made a modifierType for, e.g.:

Code Block
languagexml
<displayGroup name="Graphical Appointment of Modifiers" id="GAM"> 
	<display name="GAM"> <relativeViewPeriod unit="day" start="-3" end="7"/> 
		<locationId>H-MS-SINT</locationId> 
		<plotId>Maas_kansverwachtingen_GAM</plotId> 
</display> </displayGroup>

In the Topology.xml you need to define a node in the topology linked to the displayGroupId of the displayGroup you've just created, e.g.:

Code Block
languagexml
<nodes id="GAM"> 
	<node id="GAM_node">
		<displayGroupId>GAM</displayGroupId>
	</node> 
</nodes>

In the TimeSeriesDisplayConfig.xml, there's an optional configuration setting.

If you want to be assisted by default markers when graphically editing the time series, you can configure this behavior, e.g.:

Code Block
languagexml
<graphicalEditingConfig> 
	<adjustShapeByDragging> 
	<preSelectTimeStepsPeriodically> 
		<parameterId>My.parameter</parameterId> 
		<timeSpan unit="hour" multiplier="12"/> 
	</preSelectTimeStepsPeriodically> 
	</adjustShapeByDragging> 
</graphicalEditingConfig>



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 display is very similar to the display used for the timeseries modifier however the dropdownbox is disabled and the option ignore timeseries is enabled. 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.

An example of the use of this modifier is the modifier IGNORETS. This modifier is available in the NWS (National Weather Service) applications. To arrange that the model RESSNGL or the transformation AdjustQ ingores certain types of data.
By setting the correct filter in configuration only certain input time series of ressngl or adjustQ can be ignored by using the 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 display is very similar to the display used for the timeseries modifier however the dropdownbox is disabled and the option ignore timeseries is enabled. 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.

An example of the use of this modifier is the modifier IGNORETS. This modifier is available in the NWS (National Weather Service) applications. To arrange that the model RESSNGL or the transformation AdjustQ ingores certain types of data.
By setting the correct filter in configuration only certain input time series of ressngl or adjustQ can be ignored by using the modifier.

Display

Below an example of the display of the mark unreliable modifier.

Image Removed

Configuration example

Code Block
languagexml
<markUnreliableModifier id="ignorets" name="ignorets">
		<expiryTime unit="day" multiplier="150"/>
		<timeSeries>
			<moduleInstanceId>ImportIHFSDB</moduleInstanceId>
			<valueType>scalar</valueType>
			<parameterId>QIN</parameterId>
			<locationSetId>Gages_AK</locationSetId>
			<timeSeriesType>external historical</timeSeriesType>
			<timeStep unit="hour" multiplier="1"/>
		</timeSeries>
		<defaultStartTime>start run</defaultStartTime>
		<defaultEndTime>end run</defaultEndTime>
</markUnreliableModifier>

 

timeSeries
This element can be used to identify which timeseries this modifier can be applied.

defaultstarttime

The default start time of the modifier can be defined here. It corresponds to the same fields in the modifier display. This is only a default value, which can be changed by the user.

Possible options are: "start run: or "time zero"

defaultendtime

The default end time of the modifier can be defined here. It corresponds to the same fields in the modifier display. This is only a default value, which can be changed by the user.

Possible options are: "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. If no modification is made the value of the slider will be equal to the reference value. If a modification is made the slider will always be equal to the value of the modifier. Too indicate that a modification was made the text box will be made yellow.

An example of the use of the compound modifier is the sacco-modifier. This modifier is used to modify the state of the Sacramento-model. Each slider represents a state parameter. In blue the current value is shown, the slider is equal to current value of the model or if the state parameter is changed it will be equal to the modification.

Display

Below an example of the display of this the mark unreliable modifier.

Image RemovedSchemaImage Added

Configuration example 

Code Block
languagexml
<compoundModifier<markUnreliableModifier id="saccoignorets" name="saccoignorets">
		<slider><expiryTime unit="day" multiplier="150"/>
			<currentTimeSeries><timeSeries>
				<moduleInstanceSetId>SACSMA_Forecast</moduleInstanceSetId><moduleInstanceId>ImportIHFSDB</moduleInstanceId>
				<valueType>scalar</valueType>
				<parameterId>UZTWC<<parameterId>QIN</parameterId>
				<locationSetId>Gages_Catchments<AK</locationSetId>
				<timeSeriesType>simulated<timeSeriesType>external forecasting<historical</timeSeriesType>
				<timeStep unit="hour" multiplier="61"/>
			</currentTimeSeries>timeSeries>
			<modifiedTimeSeries><defaultStartTime>start run</defaultStartTime>
		<defaultEndTime>end run</defaultEndTime>
</markUnreliableModifier>

 

timeSeries
This element can be used to identify which timeseries this modifier can be applied.

defaultstarttime

The default start time of the modifier can be defined here. It corresponds to the same fields in the modifier display. This is only a default value, which can be changed by the user.

Possible options are: "start run: or "time zero"

defaultendtime

The default end time of the modifier can be defined here. It corresponds to the same fields in the modifier display. This is only a default value, which can be changed by the user.

Possible options are: "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. If no modification is made the value of the slider will be equal to the reference value. If a modification is made the slider will always be equal to the value of the modifier. Too indicate that a modification was made the text box will be made yellow.

An example of the use of the compound modifier is the sacco-modifier. This modifier is used to modify the state of the Sacramento-model. Each slider represents a state parameter. In blue the current value is shown, the slider is equal to current value of the model or if the state parameter is changed it will be equal to the modification.

Display

Below an example of the display of this modifier.

Image AddedSchema

Configuration example

 

Code Block
languagexml
<compoundModifier id="sacco" name="sacco">		<moduleInstanceId>ExportMODS</moduleInstanceId>
				<valueType>scalar</valueType>
				<parameterId>UZTWC</parameterId>
				<locationSetId>Gages_Catchments</locationSetId>
				<timeSeriesType>external historical</timeSeriesType>
				<timeStep unit="nonequidistant"/>
			</modifiedTimeSeries>
			<hardLimits>
				<maximumValue>10</maximumValue>
				<minimumValue>0</minimumValue>
			</hardLimits>
		</slider>
		<slider>
			<currentTimeSeries>
				<moduleInstanceSetId>SACSMA_Forecast</moduleInstanceSetId>
				<valueType>scalar</valueType>
				<parameterId>UZFWC</parameterId>
				<locationSetId>Gages_Catchments</locationSetId>
				<timeSeriesType>simulated forecasting</timeSeriesType>
				<timeStep unit="hour" multiplier="6"/>
			</currentTimeSeries>
			<modifiedTimeSeries>
				<moduleInstanceId>ExportMODS</moduleInstanceId>
				<valueType>scalar</valueType>
				<parameterId>UZFWC</parameterId>
				<locationSetId>Gages_Catchments</locationSetId>
				<timeSeriesType>external historical</timeSeriesType>
				<timeStep unit="nonequidistant"/>
			</modifiedTimeSeries>
			<maximumAllowedValueParameterId>UZFWM</maximumAllowedValueParameterId>
		</slider>
		<slider>
			<currentTimeSeries>
				<moduleInstanceSetId>SACSMA_Forecast</moduleInstanceSetId>
				<valueType>scalar</valueType>
				<parameterId>LZTWC<<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>LZTWC<<parameterId>UZTWC</parameterId>
				<locationSetId>Gages_Catchments</locationSetId>
				<timeSeriesType>external historical</timeSeriesType>
				<timeStep unit="nonequidistant"/>
			</modifiedTimeSeries>
			<hardLimits>
				<maximumValue>10</maximumValue>
				<minimumValue>0</minimumValue>
			<maximumAllowedValueParameterId>LZTWM<</maximumAllowedValueParameterId>hardLimits>
		</slider>
		<slider>
			<currentTimeSeries>
				<moduleInstanceSetId>SACSMA_Forecast</moduleInstanceSetId>
				<valueType>scalar</valueType>
				<parameterId>LZFSC<<parameterId>UZFWC</parameterId>
				<locationSetId>Gages_Catchments</locationSetId>
				<timeSeriesType>simulated forecasting</timeSeriesType>
				<timeStep unit="hour" multiplier="6"/>
			</currentTimeSeries>
			<modifiedTimeSeries>
				<moduleInstanceId>ExportMODS</moduleInstanceId>
				<valueType>scalar</valueType>
				<parameterId>LZFSC<<parameterId>UZFWC</parameterId>
				<locationSetId>Gages_Catchments</locationSetId>
				<timeSeriesType>external historical</timeSeriesType>
				<timeStep unit="nonequidistant"/>
			</modifiedTimeSeries>
			<maximumAllowedValueParameterId>LZFSM<<maximumAllowedValueParameterId>UZFWM</maximumAllowedValueParameterId>
		</slider>
		<slider>
			<currentTimeSeries>
				<moduleInstanceSetId>SACSMA_Forecast</moduleInstanceSetId>
				<valueType>scalar</valueType>
				<parameterId>LZFPC<<parameterId>LZTWC</parameterId>
				<locationSetId>Gages_Catchments</locationSetId>
				<timeSeriesType>simulated forecasting</timeSeriesType>
				<timeStep unit="hour" multiplier="6"/>
			</currentTimeSeries>
			<modifiedTimeSeries>
				<moduleInstanceId>ExportMODS</moduleInstanceId>
				<valueType>scalar</valueType>
				<parameterId>LZFPC<<parameterId>LZTWC</parameterId>
				<locationSetId>Gages_Catchments</locationSetId>
				<timeSeriesType>external historical</timeSeriesType>
				<timeStep unit="nonequidistant"/>
			</modifiedTimeSeries>
			<maximumAllowedValueParameterId>LZFPM<<maximumAllowedValueParameterId>LZTWM</maximumAllowedValueParameterId>
		</slider>
		<slider>
			<currentTimeSeries>
				<moduleInstanceId>ExportMODS<<moduleInstanceSetId>SACSMA_Forecast</moduleInstanceId>moduleInstanceSetId>
				<valueType>scalar</valueType>
				<parameterId>ADIMC<<parameterId>LZFSC</parameterId>
				<locationSetId>Gages_Catchments</locationSetId>
				<timeSeriesType>external<timeSeriesType>simulated historical<forecasting</timeSeriesType>
				<timeStep unit="nonequidistant"/>hour" multiplier="6"/>
			</currentTimeSeries>
			<modifiedTimeSeries>
				<moduleInstanceId>ExportMODS</moduleInstanceId>
				<valueType>scalar</valueType>
				<parameterId>LZFSC</parameterId>
				<locationSetId>Gages_Catchments</locationSetId>
				<timeSeriesType>external historical</timeSeriesType>
				<timeStep unit="nonequidistant"/>
			</modifiedTimeSeries>
			<maximumAllowedValueParameterId>LZFSM</maximumAllowedValueParameterId>
		</slider>
		<slider>
			<currentTimeSeries>
				<moduleInstanceSetId>SACSMA_Forecast</moduleInstanceSetId>
				<valueType>scalar</valueType>
				<parameterId>ADIMC<<parameterId>LZFPC</parameterId>
				<locationSetId>Gages_Catchments</locationSetId>
				<timeSeriesType>simulated forecasting</timeSeriesType>
				<timeStep unit="hour" multiplier="6"/>
			</modifiedTimeSeries>currentTimeSeries>
			<modifiedTimeSeries>
				<moduleInstanceId>ExportMODS</moduleInstanceId>
				<valueType>scalar</valueType>
			<maximumAllowedValueParameterId>UZTWM+LZTWM</maximumAllowedValueParameterId>
		</slider>	<parameterId>LZFPC</parameterId>
				<locationSetId>Gages_Catchments</locationSetId>
		<defaultTime>start		<timeSeriesType>external run<historical</defaultTime>timeSeriesType>
				<offsetDefaultTime<timeStep unit="day" multiplier="1"nonequidistant"/>
	</compoundModifier>

 

slider
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 element maximumAllowedValueParameterId identifies which parameter should be used to identify the maximum. Note that the parameters of the current time series and of the modified time series must be the same. 

			</modifiedTimeSeries>
			<maximumAllowedValueParameterId>LZFPM</maximumAllowedValueParameterId>
		</slider>
		<slider>
			<currentTimeSeries>
				<moduleInstanceId>ExportMODS</moduleInstanceId>
				<valueType>scalar</valueType>
				<parameterId>ADIMC</parameterId>
				<locationSetId>Gages_Catchments</locationSetId>
				<timeSeriesType>external historical</timeSeriesType>
				<timeStep unit="nonequidistant"/>
			</currentTimeSeries>
			<modifiedTimeSeries>
				<moduleInstanceSetId>SACSMA_Forecast</moduleInstanceSetId>
				<valueType>scalar</valueType>
				<parameterId>ADIMC</parameterId>
				<locationSetId>Gages_Catchments</locationSetId>
				<timeSeriesType>simulated forecasting</timeSeriesType>
				<timeStep unit="hour" multiplier="6"/>
			</modifiedTimeSeries>
			<maximumAllowedValueParameterId>UZTWM+LZTWM</maximumAllowedValueParameterId>
		</slider>
		<defaultTime>start run</defaultTime>
		<offsetDefaultTime unit="day" multiplier="1"/>
	</compoundModifier>

 

slider
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 element maximumAllowedValueParameterId identifies which parameter should be used to identify the maximum. Note that the parameters of the current time series and of the modified time series must be the same. 

current time series
This time series holds the current time series
This time series holds the current value of the model and will be used to determine the value of the blue reference value.

...

Code Block
languagexml
<switchOptionModifier id="ssarreg" name="SSARREG">
		<expiryTime unit="day" multiplier="365"/>
		<timeValueTimeSeries>
			<moduleInstanceId>ExportMODS</moduleInstanceId>
			<valueType>scalar</valueType>
			<parameterId>SETQ</parameterId>
			<qualifierId>US</qualifierId>
			<locationSetId>Reservoirs</locationSetId>
			<timeSeriesType>simulated forecasting</timeSeriesType>
			<timeStep unit="nonequidistant"/>
			<!--                    <ensembleId>main</ensembleId>   -->
		</timeValueTimeSeries>
		<timeValueTimeSeries>
			<moduleInstanceId>ExportMODS</moduleInstanceId>
			<valueType>scalar</valueType>
			<parameterId>SETH</parameterId>
			<qualifierId>US</qualifierId>
			<locationSetId>Reservoirs</locationSetId>
			<timeSeriesType>external forecasting</timeSeriesType>
			<timeStep unit="nonequidistant"/>
		</timeValueTimeSeries>
		<timeValueTimeSeries>
			<moduleInstanceId>ExportMODS</moduleInstanceId>
			<valueType>scalar</valueType>
			<parameterId>SETS</parameterId>
			<qualifierId>US</qualifierId>
			<locationSetId>Reservoirs</locationSetId>
			<timeSeriesType>external forecasting</timeSeriesType>
			<timeStep unit="nonequidistant"/>
		</timeValueTimeSeries>
		<timeValueTimeSeries>
			<moduleInstanceId>ExportMODS</moduleInstanceId>
			<valueType>scalar</valueType>
			<parameterId>SETDQ</parameterId>
			<qualifierId>US</qualifierId>
			<locationSetId>Reservoirs</locationSetId>
			<timeSeriesType>external forecasting</timeSeriesType>
			<timeStep unit="nonequidistant"/>
		</timeValueTimeSeries>
		<timeValueTimeSeries>
			<moduleInstanceId>ExportMODS</moduleInstanceId>
			<valueType>scalar</valueType>
			<parameterId>SETDH</parameterId>
			<qualifierId>US</qualifierId>
			<locationSetId>Reservoirs</locationSetId>
			<timeSeriesType>external forecasting</timeSeriesType>
			<timeStep unit="nonequidistant"/>
		</timeValueTimeSeries>
		<timeValueTimeSeries>
			<moduleInstanceId>ExportMODS</moduleInstanceId>
			<valueType>scalar</valueType>
			<parameterId>SETDS</parameterId>
			<qualifierId>US</qualifierId>
			<locationSetId>Reservoirs</locationSetId>
			<timeSeriesType>external forecasting</timeSeriesType>
			<timeStep unit="nonequidistant"/>
		</timeValueTimeSeries>
		<booleanTimeSeries>
			<moduleInstanceId>ExportMODS</moduleInstanceId>
			<valueType>scalar</valueType>
			<parameterId>FREEFLOW</parameterId>
			<qualifierId>US</qualifierId>
			<locationSetId>Reservoirs</locationSetId>
			<timeSeriesType>external forecasting</timeSeriesType>
			<timeStep unit="nonequidistant"/>
		</booleanTimeSeries>
		<timeValueTimeSeries>
			<moduleInstanceId>ExportMODS</moduleInstanceId>
			<valueType>scalar</valueType>
			<parameterId>SETQ</parameterId>
			<qualifierId>DS</qualifierId>
			<locationSetId>Reservoirs</locationSetId>
			<timeSeriesType>external forecasting</timeSeriesType>
			<timeStep unit="nonequidistant"/>
		</timeValueTimeSeries>
		<timeValueTimeSeries>
			<moduleInstanceId>ExportMODS</moduleInstanceId>
			<valueType>scalar</valueType>
			<parameterId>SETH</parameterId>
			<qualifierId>DS</qualifierId>
			<locationSetId>Reservoirs</locationSetId>
			<timeSeriesType>external forecasting</timeSeriesType>
			<timeStep unit="nonequidistant"/>
		</timeValueTimeSeries>
		<timeValueTimeSeries>
			<moduleInstanceId>ExportMODS</moduleInstanceId>
			<valueType>scalar</valueType>
			<parameterId>SETS</parameterId>
			<qualifierId>DS</qualifierId>
			<locationSetId>Reservoirs</locationSetId>
			<timeSeriesType>external forecasting</timeSeriesType>
			<timeStep unit="nonequidistant"/>
		</timeValueTimeSeries>
		<timeValueTimeSeries>
			<moduleInstanceId>ExportMODS</moduleInstanceId>
			<valueType>scalar</valueType>
			<parameterId>SETDQ</parameterId>
			<qualifierId>DS</qualifierId>
			<locationSetId>Reservoirs</locationSetId>
			<timeSeriesType>external forecasting</timeSeriesType>
			<timeStep unit="nonequidistant"/>
		</timeValueTimeSeries>
		<timeValueTimeSeries>
			<moduleInstanceId>ExportMODS</moduleInstanceId>
			<valueType>scalar</valueType>
			<parameterId>SETDH</parameterId>
			<qualifierId>DS</qualifierId>
			<locationSetId>Reservoirs</locationSetId>
			<timeSeriesType>external forecasting</timeSeriesType>
			<timeStep unit="nonequidistant"/>
		</timeValueTimeSeries>
		<timeValueTimeSeries>
			<moduleInstanceId>ExportMODS</moduleInstanceId>
			<valueType>scalar</valueType>
			<parameterId>SETDS</parameterId>
			<qualifierId>DS</qualifierId>
			<locationSetId>Reservoirs</locationSetId>
			<timeSeriesType>external forecasting</timeSeriesType>
			<timeStep unit="nonequidistant"/>
		</timeValueTimeSeries>
		<booleanTimeSeries>
			<moduleInstanceId>ExportMODS</moduleInstanceId>
			<valueType>scalar</valueType>
			<parameterId>FREEFLOW</parameterId>
			<qualifierId>DS</qualifierId>
			<locationSetId>Reservoirs</locationSetId>
			<timeSeriesType>external forecasting</timeSeriesType>
			<timeStep unit="nonequidistant"/>
		</booleanTimeSeries>
		<startTime>time zero</startTime>
</switchOptionModifier>

The timeValueTimeSeries and the booleanTimeSeries define which options are available in the radio button. A timeValueTimeSeries will define an option for which a value can be entered. A booleanTimeSeries will define an option which can only be selected. The startTime defines the initial time of the modifier after creation. The available values are "time zero" and "start run".

Option modifiers

This modifier is very similar to the switch option modifier. However this modifier doesn't allow to define an option per date. It only allows to define one option which will be always valid after creation of the modifier. Note that this modifier is obsolete and should not be used anymore. This modifier is replaced by the generic location attribute modifier by which the same functionality can be created. An example of the use of this modifier is the rainfall_switch of the seqwater-system. This option allows the forecaster to choose a forecast type (user defined forecast, no rainfall forecast or use the rainfall forecast). Secondly it is also possible to choose which rainfall observations to use the forecast.

Display

Below an example of a option modifier. In this case the example shows the rainfall switch-modifier.
Image Removed

Schema

Code Block
languagexml
<optionModifier id="Rainfall_Switch" name="Rainfall Switch"> 
<booleanTimeSeries> 
	<parameterId>Grid</parameterId> 
	<qualifierId>observed</qualifierId> 
</booleanTimeSeries> 
<booleanTimeSeries> 
	<parameterId>Stations</parameterId> 
	<qualifierId>observed</qualifierId> 
</booleanTimeSeries> 
<booleanTimeSeries> 
	<parameterId>SeqGrid</parameterId> 
	<qualifierId>observed</qualifierId> 
	</booleanTimeSeries> 
<booleanTimeSeries> 
	<parameterId>SeqStations</parameterId> 
	<qualifierId>observed</qualifierId> 
</booleanTimeSeries> 
<booleanTimeSeries> 
	<parameterId>Forecast ON</parameterId> 
	<qualifierId>forecast</qualifierId> 
</booleanTimeSeries> 
<booleanTimeSeries> 
	<parameterId>Forecast OFF</parameterId> 
	<qualifierId>forecast</qualifierId> 
</booleanTimeSeries> 
<booleanTimeSeries> 
	<parameterId>User ON</parameterId>
	 <qualifierId>forecast</qualifierId> 
</booleanTimeSeries> 
<expiryTime unit="day" multiplier="1000"/> 
</optionModifier>

 

timeValueTimeSeries

First the timeValueTimeSeries are defined. The parameterid of the defined timeseries will be used as an identifier
in radiobutton which can be used to select an option. When an option is selected which is defined as a timeValue-timeseries
than the user can also define a value.

booleanTimeSeries

This option allows the user to define option-types which can only be selected by used, but doesn't offer the possibility to
enter a additional value.

expiryTime

This option can be used to define an expiry time for this modifier which overrules the default expiry time. The expiryTime is not related to the modifier display (and is thus hidden from the user) and can be used to maximize the period a rating table modifier can be applied. This expiryTime is related to the period to which the modifier is applied, it does not indicate the period after which the rating table will be removed by the rollingBarrel. By using this option, you can overrule the default expiryTime.

Shift rating curve modifiers

Rating curve modifiers are used to modify a rating curve. The rating curve can be modified by shifting the whole rating curve a constant value or by multiplying it with a factor. The constant value or the multiplication factor is calculated by the following procedure. The forecaster defines a stage/discharge pair, from the given stage the discharge is calculated by using the rating curve, the difference or factor between the given discharge and the calculated discharge is calculated. This type of modifier is in use by North-Central RFC (NCRFC) one of the River Forecast Centers of the NWS. They use this modifier to temporarily modify the rating curve.

However, when new rating curves are available they are imported in their system.

In addition, when hovering the mouse over the rating curve points in the modifier display, a tooltip is shown which shows the rating id, stage and flow values.

Display

An example of the display of this modifier is shown below. The forecaster can define a stage/discharge pair by defining a pair in the text boxes. However it is also possible to double click on a point in the graph to define a pair. From the defined stage/discharge pair automatically the constant value or multiplication factor is derived, which is displayed besides the given stage/discharge pair.  The radio button at the top of the display can be used to switch between the two types of modifier (constant value or percentage).

Image Removed

Configuration example

<timeSeriesType>external forecasting</timeSeriesType>
			<timeStep unit="nonequidistant"/>
		</timeValueTimeSeries>
		<timeValueTimeSeries>
			<moduleInstanceId>ExportMODS</moduleInstanceId>
			<valueType>scalar</valueType>
			<parameterId>SETDH</parameterId>
			<qualifierId>DS</qualifierId>
			<locationSetId>Reservoirs</locationSetId>
			<timeSeriesType>external forecasting</timeSeriesType>
			<timeStep unit="nonequidistant"/>
		</timeValueTimeSeries>
		<timeValueTimeSeries>
			<moduleInstanceId>ExportMODS</moduleInstanceId>
			<valueType>scalar</valueType>
			<parameterId>SETDS</parameterId>
			<qualifierId>DS</qualifierId>
			<locationSetId>Reservoirs</locationSetId>
			<timeSeriesType>external forecasting</timeSeriesType>
			<timeStep unit="nonequidistant"/>
		</timeValueTimeSeries>
		<booleanTimeSeries>
			<moduleInstanceId>ExportMODS</moduleInstanceId>
			<valueType>scalar</valueType>
			<parameterId>FREEFLOW</parameterId>
			<qualifierId>DS</qualifierId>
			<locationSetId>Reservoirs</locationSetId>
			<timeSeriesType>external forecasting</timeSeriesType>
			<timeStep unit="nonequidistant"/>
		</booleanTimeSeries>
		<startTime>time zero</startTime>
</switchOptionModifier>

The timeValueTimeSeries and the booleanTimeSeries define which options are available in the radio button. A timeValueTimeSeries will define an option for which a value can be entered. A booleanTimeSeries will define an option which can only be selected. The startTime defines the initial time of the modifier after creation. The available values are "time zero" and "start run".

Option modifiers

This modifier is very similar to the switch option modifier. However this modifier doesn't allow to define an option per date. It only allows to define one option which will be always valid after creation of the modifier. Note that this modifier is obsolete and should not be used anymore. This modifier is replaced by the generic location attribute modifier by which the same functionality can be created. An example of the use of this modifier is the rainfall_switch of the seqwater-system. This option allows the forecaster to choose a forecast type (user defined forecast, no rainfall forecast or use the rainfall forecast). Secondly it is also possible to choose which rainfall observations to use the forecast.

Display

Below an example of a option modifier. In this case the example shows the rainfall switch-modifier.
Image Added

Schema

Code Block
languagexml
<optionModifier id="Rainfall_Switch" name="Rainfall Switch"> 
<booleanTimeSeries> 
	<parameterId>Grid</parameterId> 
	<qualifierId>observed</qualifierId> 
</booleanTimeSeries> 
<booleanTimeSeries> 
	<parameterId>Stations</parameterId> 
	<qualifierId>observed</qualifierId> 
</booleanTimeSeries> 
<booleanTimeSeries> 
	<parameterId>SeqGrid</parameterId> 
	<qualifierId>observed</qualifierId> 
	</booleanTimeSeries> 
<booleanTimeSeries> 
	<parameterId>SeqStations</parameterId> 
	<qualifierId>observed</qualifierId> 
</booleanTimeSeries> 
<booleanTimeSeries> 
	<parameterId>Forecast ON</parameterId> 
	<qualifierId>forecast</qualifierId> 
</booleanTimeSeries> 
<booleanTimeSeries> 
	<parameterId>Forecast OFF</parameterId> 
	<qualifierId>forecast</qualifierId> 
</booleanTimeSeries> 
<booleanTimeSeries> 
	<parameterId>User ON</parameterId>
	 <qualifierId>forecast</qualifierId> 
</booleanTimeSeries> 
<expiryTime
Code Block
languagexml
<ratingCurveModifiers>
	<shiftMultiplyRatingCurveModifier id="qpcshift" name="qpcshift">
		<defaultStartTime>start run</defaultStartTime>
		<defaultEndTime>end run</defaultEndTime>
		<offsetDefaultEndTime unit="day" multiplier="3"/>
	</shiftMultiplyRatingCurveModifier>
</ratingCurveModifiers>

 

defaultStartTime
The default start time of the modifier. The available options are startrun and time zero. It corresponds to the same fields in the modifier display. This is only a default value, which can be changed by the user.

offsetDefaultStartTime
The offset start time compared to the option defined in defaultStartTime. For example when an offset of 1 day is configured in this option and the defaultStartTime is set to timezero than the default starttime of the modifier will be set to time zero plus 1 day. It corresponds to the same fields in the modifier display. This is only a default value, which can be changed by the user.

defaultEndTime
The default end time of the modifier. The available options are time zero and end run. It corresponds to the same fields in the modifier display. This is only a default value, which can be changed by the user.

offsetDefaultEndTime
The offset of the end time compared to the option defined in defaultEndTime. It corresponds to the same fields in the modifier display. This is only a default value, which can be changed by the user.

1000"/> 
</optionModifier>

 

timeValueTimeSeries

First the timeValueTimeSeries are defined. The parameterid of the defined timeseries will be used as an identifier
in radiobutton which can be used to select an option. When an option is selected which is defined as a timeValue-timeseries
than the user can also define a value.

booleanTimeSeries

This option allows the user to define option-types which can only be selected by used, but doesn't offer the possibility to
enter a additional value.

expiryTime

This option can be used to define an expiry time for this modifier which overrules expiryTime
This element can be used to overrule the default expiry time. The expiryTime is not related to the modifier display (and is thus hidden from the user) and can be used to maximize the period a rating table modifier can be applied. This expiryTime is related to the period to which the modifier is applied, it does not indicate the period after which the rating table will be removed by the rollingBarrel. By using this option, you can overrule the default expiryTime.expiryTimeDeletedModifiers
The expiryTimeDeletedModifiers is related to the rollingBarrel. When a modifier is deleted by the user (in the GUI) it will not be deleted but only set to invisible, so that it can be restored. However, when the expiryTimeDeletedModifiers has passed, the modifier will be removed from the database and the modifier can no longer be restored. So if the expiry time is 50 years, the modifier remains 50 years in the database, visible or invisible.


Spatial Copy Modifier

Since 2019.02. The spatial copy modifier is used to modify a grid time series. It is a spatial modifier which needs to be created through the spatial display instead of the modifiers panel. The time series is modified by copying part of a different grid time series. The forecaster defines the area and period where they wish to apply the modifier. They select a different grid time series of which they wish to use and copy and paste this time series. In the selected area and at the selected time steps, the values of the modified time series will be changed to the values of the copied time series. 

...