Function: |
Sets the forecast length |
---|
Module Name: |
ForecastLengthEstimator |
---|---|
Where to Use? |
In a workflow |
Why to Use? |
To set the length of a forecast based on (external) timeseries |
Description: |
The forecastLengthEstimator is a module that can be used at the start of a workflow the set the length of the operations in the other modules in that workflow. |
Preconditions: |
the endoverrulable attribute in the relative view period in the time series sets must be set to true in all modules you want to apply the forecast length to |
Outcome(s): |
|
Scheendump(s): |
link to attached screendump(s) for displays only |
Remark(s): |
|
Available since: |
DelftFEWS200803 |
Contents
Overview
The forecastLengthEstimator is a module that can be used at the start of a workflow to set the length of the operations in the other modules in that workflow. As most models cannot handle gaps in the input data, this option can be useful if you want to run a hydrological model only with the data available and thus avoid e.g. extrapolating the meteorological forecast data.
Configuration
A configuration example of the forecast length estimator using an external forecast time series is given below:
<?xml version="1.0" encoding="UTF-8"?> <forecastLengthEstimator xmlns="http://www.wldelft.nl/fews" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.wldelft.nl/fews http://fews.wldelft.nl/schemas/version1.0/forecastLengthEstimator.xsd"> <externalForecastTimeSeries> <moduleInstanceId>ImportCOSMO2</moduleInstanceId> <valueType>grid</valueType> <parameterId>P.fg</parameterId> <locationId>COSMO2</locationId> <timeSeriesType>external forecasting</timeSeriesType> <timeStep unit="hour" multiplier="1"/> <relativeViewPeriod unit="hour" start="0" end="30"/> <readWriteMode>read only</readWriteMode> </externalForecastTimeSeries> <minForecastLength multiplier="3" unit="hour"/> <maxForecastLength multiplier="30" unit="hour"/> </forecastLengthEstimator>
The forecast length is defined by the length of the external forecast time series (in this example ImportCOSMO2). You can define a mimimum and / or maximum forecast length (minForcastLength / maxForecastLength). If the actual forecast length of the external forecast looked at is shorter than the minimum forecast length the forecast length is set to this minimum length (in this example 3 hours). If the actual forecast length is longer than the maximum forecast length the forecast length is set to this maximum length (in this example 30 hours).
The logging will provide you with the information which forecast length was used in the run, see example below
[] INFO - Workflow.run - Workflow.ActivityStarted: Workflow 'HBV_FlowForecast_ECMWF'
[] INFO - WorkflowPluginActivity.run - Started Activity ForecastLength_ECMWF
[] INFO - ForecastLengthEstimator.updateForecastLength - ForecastLengthEstimator.Info: Established Forecast Length as 234 hours
Here is a configuration example of the forecast length estimator using a simulated forecast time series. Make sure that your are using the read write mode "read complete forecast" or define a relative view period instead.
<?xml version="1.0" encoding="UTF-8"?> <forecastLengthEstimator xmlns="http://www.wldelft.nl/fews" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.wldelft.nl/fews http://fews.wldelft.nl/schemas/version1.0/forecastLengthEstimator.xsd"> <simulatedForecastTimeSeries> <moduleInstanceId>HBV_AlpenRhein_COSMO2</moduleInstanceId> <valueType>scalar</valueType> <parameterId>Q.fh</parameterId> <locationId>H-2473</locationId> <timeSeriesType>simulated forecasting</timeSeriesType> <timeStep unit="hour"/> <readWriteMode>read complete forecast</readWriteMode> </simulatedForecastTimeSeries> <minForecastLength multiplier="3" unit="hour"/> <maxForecastLength multiplier="30" unit="hour"/> </forecastLengthEstimator>
Note
The endoverrulable attribute in the relative view period in time series sets must be set to true in all subsequent modules in which you want to use the actual forecast length.
Since 2011.02, the forecastLengthEstimator can also be used to set a fixed end date, e.g. the end of the water year.
<?xml version="1.0" encoding="UTF-8"?> <forecastLengthEstimator xmlns="http://www.wldelft.nl/fews" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.wldelft.nl/fews http://fews.wldelft.nl/schemas/version1.0/forecastLengthEstimator.xsd"> <timeZone>GMT-12:00</timeZone> <externalForecastTimeSeries> <moduleInstanceId>ImportDATACARD</moduleInstanceId> <valueType>scalar</valueType> <parameterId>MAP</parameterId> <locationSetId>Catchments</locationSetId> <timeSeriesType>external forecasting</timeSeriesType> <timeStep unit="hour" multiplier="6"/> <relativeViewPeriod unit="day" start="0" end="365" endOverrulable="true"/> <readWriteMode>read only</readWriteMode> </externalForecastTimeSeries> <minForecastEndDay>--09-30</minForecastEndDay> </forecastLengthEstimator>
As of 2012.02, the forecast length can be forced to the end of the 2nd wateryear by using a combination of <minForecastLength> and <minForecastEndDay>. The code will first evaluate the minForecastLength before evaluating <minForecastEndDay>.
<minForecastLength multiplier="365" unit="day"/> <minForecastEndDay>--09-30</minForecastEndDay>
Sample input and output
Sample input and output
Error and warning messages
Description of errors and warnings that may be generated
Error: |
Error message |
---|---|
Action: |
Action to fix |
Known issues
Describe all known issues and unexpected behaviour
Related modules and documentation
Links to related parts of the system
Technical reference
Entry in moduleDescriptors: |
nl.wldelft.fews.system.plugin.forecastlength.ForecastLengthEstimator |
---|---|
Link to schema: |
http://fews.wldelft.nl/schemas/version1.0/forecastLengthEstimator.xsd |