Versions Compared

Key

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

...


Code Block
xml
xml
		<chart id="Example7" formatId="chartFormat2" width="500" height="306">
			<timeSeries preferredColor="green" lineStyle="solid;thick" axis="right" visibleInLegend="true" label="Gemessen">series1</timeSeries>
			<timeSeries preferredColor="red" lineStyle="solid;thick" axis="right" visibleInLegend="true" label="COSMO2">series2</timeSeries>
			<timeSeries preferredColor="orange" lineStyle="solid;thick" axis="left" visibleInLegend="true" label="COSMO7">series3</timeSeries>
			<timeSeries preferredColor="violet" lineStyle="solid;thick" axis="left" visibleInLegend="true" label="ECMWF">series4</timeSeries>
			<fileName>Example7</fileName>
		</chart>


Image Modified
Threshold line only for timeseries on the left y axis

Stage/discharge plots

When a discharge is displayed, it is possible to show the stage on the right axis. It is not possible to configure this rating on the left axis (and the timeseries on the right axis), since a plot has to have at least one timeseries on the left axis.

...

Code Block
languagexml
titleExample config for forecastThresholdCrossingXml
<report>
   <inputVariable variableId="forecast_series">
      ...
   </inputVariable>
   <inputVariable variableId="ensemble_series">
      ...
   </inputVariable>
   <inputVariable variableId="level_series">
      ...
   </inputVariable>
   <forecastThresholdCrossingXml fileName="threshold-crossing.xml" locationNameAttribute="REPORT_NAME" externalLocationIdAttribute="EXTERNAL_ID">
      <forecastThresholdCrossingXmlTemplate>ForecastThresholdCrossing_template.xml</forecastThresholdCrossingXmlTemplate>
      <forecastEnsembleTimeSeries>ensemble_series</forecastEnsembleTimeSeries>
      <forecastScenarios>
         <forecastTimeSeries id="1" name="Forecast Policy" numberFormatId="numberFormatId">forecast_series</forecastTimeSeries>
      </forecastScenarios>
      <percentileScenarios><exceedance>
         <percentile name="90% likely">90</percentile><numberFormatId>numberFormatId</numberFormatId>
         <minEnsembleMembers>5</minEnsembleMembers>
 <percentile name="75% likely">75</percentile>
      </percentileScenarios>
<belowMinimumLabel>&lt;10%</belowMinimumLabel>
         <earliestExceedanceTimeStep <currentLevelTimeSeries numberFormatIdunit="hour" multiplier="numberFormatId1">level_series</currentLevelTimeSeries>>
      <floodClasses>
     <scenarios>
    <default>less-than-minor</default>
        <earliest <floodClass thresholdIdname="levelThreshold1earliest">minor</floodClass>>
         <floodClass thresholdId   <percentile name="levelThreshold225%">moderate<>25</floodClass>percentile>
         <floodClass thresholdId="levelThreshold3">major</floodClass>   <percentile name="50% (most likely)">50</percentile>
      </floodClasses>
       <additionalThresholds><percentile name="75%">75</percentile>
         <thresholdId>levelThreshold3</thresholdId>   <latest name="latest"/>
         <thresholdId>levelThreshold4<</thresholdId>scenarios>
         <thresholdId>levelThreshold4</thresholdId>
</exceedance>
       </additionalThresholds><currentLevelTimeSeries numberFormatId="numberFormatId">level_series</currentLevelTimeSeries>
      <siteFigures><floodClasses>
         <siteFigure><default>less-than-minor</default>
            <id>1</id><floodClass thresholdId="levelThreshold1">minor</floodClass>
            <name>@NAME@Forecast1</name><floodClass thresholdId="levelThreshold2">moderate</floodClass>
            <fileName>@NAME@-forecast-1.png</fileName><floodClass thresholdId="levelThreshold3">major</floodClass>
      </floodClasses>
      <type>png</type><additionalThresholds>
         <thresholdId>levelThreshold3</thresholdId>
     <alternativeText>Graphical  forecast for @NAME@<<thresholdId>levelThreshold4</alternativeText>thresholdId>
         <thresholdId>levelThreshold4</thresholdId>
   <viewPort left="0" top="0" width="800" height="600"/> </additionalThresholds>
         </siteFigure><siteFigures>
         <siteFigure>
            <id>2<<id>1</id>
            <name>@NAME@Forecast2<<name>@NAME@Forecast1</name>
            <fileName>@NAME@-forecast-21.png</fileName>
            <type>png</type>
            <alternativeText>Graphical forecast for @NAME@</alternativeText>
            <viewPort left="1000" top="1000" width="900800" height="700600"/>
         </siteFigure>
      </siteFigures>   <siteFigure>
   </forecastThresholdCrossingXml>
         <id>2</id>
         <template>ForecastThresholdCrossing_template.xml</template> <!-- irrelevant, the report module will use the <forecastThresholdCrossingXmlTemplate> element to determine the template -->
   <outputSubDir>thresholdcrossing</outputSubDir>
   <outputFileName>crossingTest.html</outputFileName> <!-- irrelevant, the report module will use the "filename" attribute of the <forecastThresholdCrossingXml> element to determine the output file name -->
</report> <name>@NAME@Forecast2</name>
            <fileName>@NAME@-forecast-2.png</fileName>
            <type>png</type>
            <alternativeText>Graphical forecast for @NAME@</alternativeText>
            <viewPort left="100" top="100" width="900" height="700"/>
         </siteFigure>
      </siteFigures>
   </forecastThresholdCrossingXml>
   <template>ForecastThresholdCrossing_template.xml</template> <!-- irrelevant, the report module will use the <forecastThresholdCrossingXmlTemplate> element to determine the template -->
   <outputSubDir>thresholdcrossing</outputSubDir>
   <outputFileName>crossingTest.html</outputFileName> <!-- irrelevant, the report module will use the "filename" attribute of the <forecastThresholdCrossingXml> element to determine the output file name -->
</report>

The ForecastThresholdCrossing_template.xml can contain normal report tags which will be replaced as usual. This report type also allows several report specific tags:

...

The forecastThresholdCrossingXml report type generates an <ensemble> element for the given ensemble input time series. This ensemble element will first contain a number of <scenario> elements equal to the number of forecast scenario time series specified in the configuration. The id and name attributes of each of these <scenario> elements will match the configured id and name for the <forecastTimeSeries> in the configuration. After the <scenario> elements, there will be a <sites> element in which for each location in the given ensemble time series, the current level (taken from the level time series), figures (determined using the <siteFigures> in the configuration) and threshold crossings for each of the scenarios (both the configured forecast and percentile scenariosconfigured in the <exceedance> element) will be reported. The thresholds which are to be included in the report are all the thresholds named in the <floodClasses> element as well as the thresholds configured in the <additionalThresholds> element.

With each value reported for the forecast scenario time series as well as the level time series, the report will also contain a "flood-class". This flood class is determined using the <floodClasses> configured. The flood class corresponding to a value is the highest of the configured flood class thresholds which is exceeded by the value, or the configured default flood class if none of the thresholds is exceeded.

For each of the sites, the number of ensemble members which cross a threshold is calculated. This is reported as the "exceedance" in the generated report: the percentage of ensemble members which crossed the threshold. This percentage will be formatted using the number format reference by <numberFormatId> if configured. If at least one but less than the configured <minEnsembleMembers> cross the threshold, and there is a <belowMinimumLabel> configured, than the <belowMinimumLabel> will be reported as the "exceedance" instead. In this example "<10%".

If more than the configured <minEnsembleMembers> cross the threshold, the earliest exceedance times for each of the configured <scenario> elements is reported. To obtain these times, only the ensemble members that cross the threshold are taken into account. The times at which these members first cross the threshold are determined and ordered from earliest to latest. For an <earliest> scenario the first time at which an ensemble member crosses the threshold is reported. For a <latest> scenario, the last time is reported. For the configured <percentile> scenarios, the x-th percentile is taken from the ordered list of crossing times. If the percentile would "fall between two values in the list" their weighted average is taken. If an <earliestExceedanceTimeStep> is configured, each of the reported earliest exceedance times is changed to the closest time in the configured configured <percentileScenarios> a percentile time series will be calculated. For example for a percentile of 90, FEWS will calculate the (100 - 90) = 10th percentile value for the ensemble time series for each time step (the value for which 90% of ensembles have a higher value) to obtain a "90% likely" time series. The generated report file will then include whether this calculated percentile time series exceeded each of the thresholds and if so, the earliest exceedance time step.

floodScenarioXml

...