Versions Compared

Key

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


 

What

TimeSeriesDisplayConfig.xml

Config group

SystemConfigFiles

Required

no

Description

Configuration file for the time series display (line styles etc)

schema location

httphttps://fewsfewsdocs.wldelftdeltares.nl/schemas/version1.0/timeSeriesDisplay.xsd

Table of Contents

Introduction

...

With the use of legendFormat you can customise what information you wish to see on the legend of a graph plot. Use the following tags in the legendformat, they will be automatically replaced with the correct values:  

  • %LOCATION_ID%
  • %LOCATION_NAME%
  • %LOCATION_SHORTNAME%
  • %PARAMETER_ID%
  • %PARAMETER_NAME%
  • %FORECAST_INDEX%
  • %MODULE_INSTANCE%
  • %ENSEMBLE_ID%
  • %ENSEMBLE_MEMBER_ID%
  • %QUALIFIER_NAME%
  • %ADDITIONAL_PREFIX%
  • %HISTORICAL_EVENT_NAME%
  • %MODIFIED%
  • %CUSTOM_LABEL_EXTENSION%
  • %FUNCTION_LABEL%
  • %POSTPROCESSING%

Tags are case sensitive. If a tag configured that does not exist in the given time series, it will be replaced by an empty string. Example:
<legendTextFunction>%PARAMETER_NAME% %ENSEMBLEMEMBERID% measured at %LOCATION_NAME%</legendTextFunction>  → Water level measured at Lobith H105 
LegendTextFunction does not work with timeseries header label function.

...

  • unit identifies the time unit with which the time span is defined (enumeration of second, minute, hour, day, week).
  • start identifies the start time of the time span with reference to the T0 (in multiples of the unit defined).
  • end identifies the start time of the time span with reference to the T0 (in multiples of the unit defined).

Scroller default view period

The optional scrollerDefaultViewPeriod can be used to define the time span of data displayed in the long term scroller of the time series display (unless overruled by the user).

showAllScrollerData

When true the long term scroller always show the full period where the time series in the scroller have data. This can be configured instead of <scrollerDefaultViewPeriod> and is available since 2023.02.

Anchor
timeOfValidityDefaultViewPeriod
timeOfValidityDefaultViewPeriod
timeOfValidityDefaultViewPeriod

...

Multiple legendTooltip elements as show in this example can be added to the tooltips config element, the tooltip text can be formatted in HTML by putting it in a CDATA block and %property% and/or @attribute@ tags can be inserted, with support for user defined attributes for locations, parameters and modifiers as well as the following standard properties:

  • %LOCATION_ID%
  • %LOCATION_NAME%
  • %LOCATION_SHORTNAME%
  • %LOCATION_DESCRIPTION%
  • %PARAMETER_ID%
  • %PARAMETER_NAME%
  • %PARAMETER_SHORTNAME%
  • %PARAMETER_DESCRIPTION%
  • %PARAMETER_UNIT%
  • %QUALIFIER_NAME%
  • %MODULE_INSTANCE_ID%
  • %MODULE_INSTANCE_NAME%
  • %MODULE_INSTANCE_DESCRIPTION%

Time Markers Display Configuration

Time series display markers are informative lines in the display. These may be defined to display vertical lines for times of interest. The configuration of horizontal lines for thresholds and the zero baseline is also included in this definition. Markers can be defined for four time values as well as for the thresholds and the zero baseline. Vertical lines are also available as lineStyle for plotting of time series, see below.

for time series

...

Class Breaks

Class breaks (map legend) is used in the spatial plots and vertical profiles. The classbreaks can be configured in the Spatial Display configuration, but also in the TimeSeriesDisplayConfig file. When calssbreaks are added in this file, it requires a classbreak Id. The classBreak Id can then be used in the  Spatial Display or Display Groups.

Code Block
    <classBreaks>
        <classBreaks id="rainfall_forecasts">
            <description>Rainfall Forecasts</description>
            <unitVisible>true</unitVisible>
            <break color="FFFFFF" lowerValue="0" opaquenessPercentage="35"/>
            <break color="99E9FF" lowerValue="0.2" opaquenessPercentage="35"/>
            <break color="00C8FF" lowerValue="1" opaquenessPercentage="60"/>
            <break color="0053FF" lowerValue="5" opaquenessPercentage="60"/>
            <break color="00956A" lowerValue="10" opaquenessPercentage="60"/>
            <break color="00FA10" lowerValue="25" opaquenessPercentage="60"/>
            <break color="F5F50A" lowerValue="50" opaquenessPercentage="60"/>
            <break color="FF9600" lowerValue="75" opaquenessPercentage="60"/>
            <break color="FF0000" lowerValue="100" opaquenessPercentage="80"/>
            <break color="960000" lowerValue="200" opaquenessPercentage="80"/>
            <break color="FF00CC" lowerValue="400" opaquenessPercentage="80"/>
        </classBreaks>
	</classBreaks>


Time Markers Display Configuration

Time series display markers are informative lines in the display. These may be defined to display vertical lines for times of interest. The configuration of horizontal lines for thresholds and the zero baseline is also included in this definition. Markers can be defined for four time values as well as for the thresholds and the zero baseline. Vertical lines are also available as lineStyle for plotting of time series, see below.

for time series

  • systemTime
  • displayTime: time that can be set with the display time button (clock icon) in the time series dialog, by default equals the system time
  • timeZero: T0 of the external forecast time series
  • forecastStartTime (since stable build 2014.01). This will show vertical lines in charts for the start times of forecast time series, i.e. time series of type external forecasting, simulated forecasting. It will only be shown when the forecast time series is configured with "read complete forecast" as readWriteMode. 
  • threshold
  • zeroBaseline
  • Anchor
    timeSeriesDisplayConfig_TimeMarkersDisplayConfiguration
    timeSeriesDisplayConfig_TimeMarkersDisplayConfiguration
    timeOfValidity (since 2016.01). This marker should be visualized in the display when the Tv button is activated. This will show vertical lines in charts placed at the Time of Validity (Tv) of that display node. The Tv is determined using the timeOfValiditySearchPeriod. The functionality of Time of Validity is more exhaustively described in the Validation Status page.

The following marker options can be used to display forecast confidence time spans in the time series display. Up to three forecast confidence time spans can be defined for each sub plot in the displayGroups configuration file.

  • forecastConfidence1
  • forecastConfidence2
  • forecastConfidence3

Within longitudinal profile displays, the markers can be set to display the minimum or maximum values. A variety of river bed levels can be included in a display if these are specified in the branches.xml file. Available are: 

  • riverBedLevel
  • leftBankLevel
  • leftFloodPlainLevel
  • leftMainChannelLevel
  • longitudinalProfileMaximum
  • longitudinalProfileMinimum
  • rightBankLevel
  • rightFloodPlainLevel
  • rightMainChannelLevel

Example config code for the marker riverBedLevel: 

Code Block
languagexml
titletimeMarkerDisplayOptions config for riverBedLevel marker
	<timeMarkerDisplayOptions marker="riverBedLevel">
		<color>black</color>
		<lineStyle>solid</lineStyle>
		<label>Most recent survey</label>
	</timeMarkerDisplayOptions>

To visualize model layer elevations when drawing a cross section in a spatial plot, one should use:

  • bottomLayerLevel
  • topLayerLevel

This applies only for parameters with unit in meters

It is possible to display vertical lines in the slider bar in the spatial display that mark the start and/or end times of the displayed grid time series. These markers will only be visible when more than one grid is displayed, i.e. multiple data layers in one grid plot. In that case the start and/or end times can be different for each grid time series. These markers are configurable using the following marker options in the time markers display configuration:

  • startTime
  • endTime


Image Added
Figure 14 Elements in the TimeMarkersDisplay section of the TimeSeriesDisplay configuration

timeMarkerDisplayOptions

Root element of a definition time markers (multiple entries may exist).

Attributes;

  • marker enumeration of the possible markers (see list above).
color

Colour of the time series marker line (see enumeration of colours in appendix A).

lineStyle

Line style of time series marker line. Enumeration of "solid", "none", "bar", "dashdot", "dashed", "dotted", "solid;thick", "dashdot;thick", "dashed;thick"; "dotted;thick"; "area"; "constant".

The "constant" label should preferably only be applied if the time series holds only one value.

label

Define the name of time series marker line.

tableBackgroundColors

Since 2014.01 it is possible to have a time dependent background color in the table, for example to visualise the different night and day hours. This is possible per weekday.

Code Block
xml
xml
<tableBackgroundColors>
  <timeZone>PST</timeZone>
  <background startTime="07:00:00" endTime="23:00:00" dayOfWeek="Sunday" color="gray80"/>
  <background startTime="07:00:00" endTime="23:00:00" dayOfWeek="Monday" color="gray80"/>
  ...
  <background startTime="07:00:00" endTime="23:00:00" dayOfWeek="Saturday" color="gray80"/>
</tableBackgroundColors>

highlightedDateTickColor

Color to be used for the highlighted date tick that shows the date on the selected time step, default is blue.

defaultColorsList

Since 2021.01 it is possible to adjust the default colors. A default color is used when no color is configured for a series or to prevent duplicate colors for non-predefined plots. The colors are used in the order as configured. The list below is used when no default colors are configured.

Code Block
xml
xml
<defaultColorList>
    <color>blue</color>
    <color>red</color>
    <color>green</color>
    <color>aquamarine</color>
    <color>brown</color>
    <color>cadet blue</color>
    <color>coral</color>
    <color>cornflower blue</color>
    <color>cyan</color>
    <color>dark goldenrod</color>
    <color>dark green</color>
    <color>deep pink</color>
    <color>deep sky blue</color>
    <color>firebrick</color>
    <color>gold</color>
    <color>light coral</color>
    <color>blue violet</color>
    <color>magenta</color>
    <color>medium orchid</color>
    <color>medium violet red</color>
    <color>medium spring green</color>
    <color>orange</color>
    <color>royal blue</color>
    <color>sea green</color>
    <color>sky blue</color>
    <color>violet</color>
    <color>chocolate</color>
</defaultColorList>

The following marker options can be used to display forecast confidence time spans in the time series display. Up to three forecast confidence time spans can be defined for each sub plot in the displayGroups configuration file.

  • forecastConfidence1
  • forecastConfidence2
  • forecastConfidence3

Within longitudinal profile displays, the markers can be set to display the minimum or maximum values. A variety of river bed levels can be included in a display if these are specified in the branches.xml file. Available are: 

  • riverBedLevel
  • leftBankLevel
  • leftFloodPlainLevel
  • leftMainChannelLevel
  • longitudinalProfileMaximum
  • longitudinalProfileMinimum
  • rightBankLevel
  • rightFloodPlainLevel
  • rightMainChannelLevel

Example config code for the marker riverBedLevel: 

Code Block
languagexml
titletimeMarkerDisplayOptions config for riverBedLevel marker
	<timeMarkerDisplayOptions marker="riverBedLevel">
		<color>black</color>
		<lineStyle>solid</lineStyle>
		<label>Most recent survey</label>
	</timeMarkerDisplayOptions>

To visualize model layer elevations when drawing a cross section in a spatial plot, one should use:

  • bottomLayerLevel
  • topLayerLevel

This applies only for parameters with unit in meters

It is possible to display vertical lines in the slider bar in the spatial display that mark the start and/or end times of the displayed grid time series. These markers will only be visible when more than one grid is displayed, i.e. multiple data layers in one grid plot. In that case the start and/or end times can be different for each grid time series. These markers are configurable using the following marker options in the time markers display configuration:

  • startTime
  • endTime

 

Image Removed
Figure 14 Elements in the TimeMarkersDisplay section of the TimeSeriesDisplay configuration

timeMarkerDisplayOptions

Root element of a definition time markers (multiple entries may exist).

Attributes;

  • marker enumeration of the possible markers (see list above).
color

Colour of the time series marker line (see enumeration of colours in appendix A).

lineStyle

Line style of time series marker line. Enumeration of "solid", "none", "bar", "dashdot", "dashed", "dotted", "solid;thick", "dashdot;thick", "dashed;thick"; "dotted;thick"; "area"; "constant".

The "constant" label should preferably only be applied if the time series holds only one value.

label

Define the name of time series marker line.

tableBackgroundColors

Since 2014.01 it is possible to have a time dependent background color in the table, for example to visualise the different night and day hours. This is possible per weekday.

Code Block
xmlxml
<tableBackgroundColors>
  <timeZone>PST</timeZone>
  <background startTime="07:00:00" endTime="23:00:00" dayOfWeek="Sunday" color="gray80"/>
  <background startTime="07:00:00" endTime="23:00:00" dayOfWeek="Monday" color="gray80"/>
  ...
  <background startTime="07:00:00" endTime="23:00:00" dayOfWeek="Saturday" color="gray80"/>
</tableBackgroundColors>

Parameters display configuration

...

The example config below can be used to produce a graph with custom direction icons (displayed on the left in the image above). Removing the <markerIcon> element will result in the default arrow icons being used (displayed on the right in the image above). 

Code Block
languagexml
titleExample config for rotated arrow markers
		<parameterDisplayOptions id="WindSpeed">
			<preferredColor>purple</preferredColor>
			<lineStyle>solid</lineStyle>
			<markerRotationParameterId>WindDirection</markerRotationParameterId>
			<markerIcon>arrow_icon.png</markerIcon>
			<markerRotationOffset>180</markerRotationOffset>
		</parameterDisplayOptions>

...

Size of the marker in points

Precision

Decimal precision with which values are given in the GUI. Also used when displaying the tool tip value and tick corresponding to the selected value in the time series chart. Not used for other ticks in time series chart.

precision

Number of decimals displayed on the screen for a parameter value. Normally you don't have to configure this because it is derived from the value resolution configured for the parameter. This screen precision will not affect the precision in the database. The total number of digits (including decimals) is limited to 9. Scientific notation wil be used as fallback. Maximum number of significant digits is 7 because the values are stored in memory as 32 bits floats. When neither the value resolution nor the precision are configured 3 decimals will be displayed. When both are configured the precision will be truncated to the number of decimals derived from the value resolutionWhen very high precision is configured, for instance <precision>10<precision/> and the value is a lot bigger than 10-10, FEWS will visualize the value as it is stored without extra 0's behind the last decimal.

min

Minimum of the y-scale to be used as a default for all displays of this parameter. The minimum is used, unless a value in the time series is lower than this minimum, in which case that is used. The minimum defined here can also be overruled in individual template definition in the DisplayGroups (see below).

...

Controls whether the time series is drawn as a step function in graphs. Note that for step functions, drawing markers is not supportedare only supported from 2022.02.

maxTimeSpan

Optional field, only intended to be used for viewing non-equidistant series. Specifying this value will prevent the drawing of line segments in the TimeSeriesDisplay between adjacent time/value points for which the time difference exceeds the specified maximum time span.

...

  • function: historicalAnalysis
  • historicalPeriods: Definition of season as well as the moment when the display should look forward instead of backward to plot the coming season
Code Block
languagexml
titleSpecification of season
   <historicalPeriods>
    <historicalPeriod>
     <startForwardLookingPeriod>--04-01</startForwardLookingPeriod>
     <season startMonthDay="--04-01" endMonthDay="--10-01" label="zomer"/>
    </historicalPeriod>
   </historicalPeriods>

...

  • function: historicalScatterPlot
  • season: Definition of seasons
code
Code Block
language
xml
titleSpecification of season
<statisticalFunction function="historicalShowPeaksAbove">
	<season startMonthDay="--01-01" endMonthDay="--12-31" label="Year" color="black"/>
	<season startMonthDay="--04-01" endMonthDay="--09-30" label="Grow Season" color="gray"/>		
</statisticalFunction>	

...

  • function: normalizedFlow
  • label: caption used in function selection
  • ignoreMissings: when true, missing values are ignored and each average will be calculated from the available values within the current time window.
    When false, calculated values will be set to missing if one or more values within the current time window are missing.
  • areaFunction: attribute aware function to transfer input parameter series
  • parameterId: parameter used for unit in display
  • allowedInputParameterId: series to be converted using area function

Code Block
languagexml
titleTurn series Q.obs (in m3/s) into Q.mmd (in mm/day)
<statisticalFunction function="normalizedFlow" label="Flow (mm/day)" ignoreMissings="true">
  <areaFunction>@AREA_HA@*10/86400</areaFunction>
  <parameterId>Q.mmd</parameterId>
  <allowedInputParameterId>Q.obs</allowedInputParameterId>
</statisticalFunction>

...

  • function: principalcomponentanalysis
  • observedParameterId: parameter referencing the independent (observed) series
  • simulatedParameterId:  parameter referencing the dependent (simulated) series
  • dateFormat: optional 


Code Block
languagexml
<statisticalFunction function="principalcomponentanalysis">
   <observedParameterId>SWE.m</observedParameterId>
   <simulatedParameterId>SWE.sim</simulatedParameterId>
   <dateFormat>MM-dd-yyyy</dateFormat>
</statisticalFunction>

...

  • function: showPeaksAbove
  • label: label used in the combobox to select a statistical function (since 2015.01).  


Subelements:

  • season (since 2015.01): one ore more color seasons can be configured with a color that will be used to display a point if the time of the show peaks above plot point is in that period. Periods should NOT be overlapping.

...

See "show peaks above" for label and season functionality.

Schemas for the slider

movingAccumulationTimeSpan

Defines the time spans that the user can select using the slider for this function in the TimeSeriesDisplay. MovingAccumulationTimeSpan can only be used for functions of the following type: relativeAggregation, movingAverage, centralMovingAverage, accumulationInterval, accumulationAggregation.
Image Added

timeStep

Defines the time steps that the user can select using the slider

movingAccumulationTimeSpan

for this function in the TimeSeriesDisplay. TimeStep can only be used for functions of the following type: calendarAggregation, accumulationInterval, accumulationAggregation.
Image Added

samples

Defines the time spans amounts of samples that the user can select using the slider for this function in the TimeSeriesDisplay. MovingAccumulationTimeSpan Samples can only be used for functions of the following type: relativeAggregation, movingAverage, centralMovingAverage, accumulationInterval, accumulationAggregation.
Image Removed

timeStep

Defines the time steps that the user can select using the slider for this function in the TimeSeriesDisplay. TimeStep can only be used for functions of the following type: calendarAggregation, accumulationInterval, accumulationAggregation.
Image Removed

samples

Defines the amounts of samples that the user can select using the slider for this function in the TimeSeriesDisplay. Samples can only be used for functions of the following type: frequencyDistribution, gaussianCurve.
Image Removed

quickViewStatisticalFunction

Through the quickViewStatisticalFunction you can define a shortcut key (with optional icon) at the toolbar to a statistical function.

LongTermPeriodic

This function adds periodic time series based on the long term scroller (see highlighted in red).

This can be used to compare values of time series compared to what is “normal” on that date of different years.

Multiple different statistic types can be configured within this function, for each type a time series is added.

The statistics wil be calculated based on all values on the same day of the years, for all years included in the whole period of the long term scroller.

For this the long term scroller should be visible.

This is especially designed for time series with a daily time step.

frequencyDistribution, gaussianCurve.
Image Added

quickViewStatisticalFunction

Through the quickViewStatisticalFunction you can define a shortcut key (with optional icon) at the toolbar to a statistical function.

LongTermPeriodic

This function adds periodic time series based on the long term scroller (see highlighted in red).

This can be used to compare values of time series compared to what is “normal” on that date of different years.

Multiple different statistic types can be configured within this function, for each type a time series is added.

The statistics wil be calculated based on all values on the same day of the years, for all years included in the whole period of the long term scroller.

For this the long term scroller should be visible.

This is especially designed for time series with a daily time step.

Code Block
languagexml
titleExample configuration of Long Term Periodic Function
<statisticalFunction function="longTermPeriodic" label="Long Term Periodic" ignoreMissings="true">
	<statisticType type="MIN" label="Minimum"/>
	<statisticType type="MAX" label="Maximum"/>
	<statisticType type="PERCENTILEEXCEEDENCE" value="50" label="50 percentiel"/>
</statisticalFunction>

Image Added

combinedTimeSeriesStatisticalFunctions

This option add a new timeseries to a plot which is the result of a statistical operation based the available timeseries in that plot. It will be filtered per parameter. E.g. if you have 4 waterlevel timeseries of 4 different gauges and you select the MAX statisticType, a new timeseries with the maximum value (per timestep) of those 4 gauges will be plotted.

Code Block
languagexml
titleExample configuration of Long Term Periodic Function
<statisticalFunction function="longTermPeriodic" label="Long Term Periodic" ignoreMissings="true">
	<statisticType type="MIN" label="Minimum"/>
	<statisticType type="MAX" label="Maximum"/>
	<statisticType type="PERCENTILEEXCEEDENCE" value="50" label="50 percentiel"/>
</statisticalFunction>
combined time series statistical functions
	<combinedTimeSeriesStatisticalFunctions>
		<combinedTimeSeriesStatisticalFunction>
			<statisticType>MAX</statisticType>
		</combinedTimeSeriesStatisticalFunction>
		<combinedTimeSeriesStatisticalFunction>
			<statisticType>WEIGHTED_AVERAGE</statisticType>
			<weightAttributeId>AREA</weightAttributeId>
		</combinedTimeSeriesStatisticalFunction>
		<combinedTimeSeriesStatisticalFunction>
			<statisticType>SUM</statisticType>
		</combinedTimeSeriesStatisticalFunction>
	</combinedTimeSeriesStatisticalFunctions>

When this is configured a dropdown button will appear on the left of the statistic functions.

In the screenshot below the red time series has been added which is the sum of the green and blue time series:

Image AddedImage Removed

Descriptive Function Group

...

Buttons in the TimeSeries Dialog can individually be set to be shown or hidden with use of the buttonsSettings element. More information on which sub-element controls which button can be found on the Button Visibility Settings subpage.

thresholdDisplayConfig

The thresholdDisplayConfig The thresholdDisplayConfig element allows more detailed configuration of threshold colours and location in the timeseries display. The example below shows the different attributes and elements of the thresholdDisplayConfig the thresholdDisplayConfig. For each threshold a thresholdDisplayOptions element is added containing the following elements.

  • id: this is the Threshold ID as used in the Thresholds.xml file
  • visible: set to true to indicate the threshold must be visible in the graph
  • color: select the correct color of the threshold line
  • backgroundOpaquenessPercentage: set the opaqueness percentage of the threshold background, filled area below between the threshold value values in the graph
  • labelIncludesValue: set to true to add the threshold value in the threshold label
  • labelAlignment: select right or left to align the threshold label in the graphright or left to align the threshold label in the graph

In addition to the above options per threshold, an extra noThresholdDisplayOptions can be added to configure a color and opaqueness for the area of the chart that is outside the range of any threshold, for example when the thresholds are displayed as filled areas in yellow/orange/red colors, you may want to show the area below any threshold to be filled with a green color.

Display Group hide all tool windows

...

Code Block
languagexml
titleTime steps used as default in the Resampling Dialog
	<resampling>
		<timeStep label="minute" unit="minute"/>
		<timeStep label="5 minutes" unit="minute" multiplier="5"/>
		<timeStep label="10 minutes" unit="minute" multiplier="10"/>
		<timeStep label="15 minutes" unit="minute" multiplier="15"/>
		<timeStep label="30 minutes" unit="minute" multiplier="30"/>
		<timeStep label="hour" unit="hour"/>
		<timeStep label="2 hour" unit="hour" multiplier="2"/>
		<timeStep label="3 hour" unit="hour" multiplier="3"/>
		<timeStep label="6 hour" unit="hour" multiplier="6"/>
		<timeStep label="12 hour" unit="hour" multiplier="212"/>
		<timeStep label="day"3 hour" unit="hour" multiplier="3unit="day"/>
		<timeStep label="week" unit="week"/>
		<timeStep label="6 hourmonth" unit="hour" multiplier="6"month"/>
		<timeStep label="12 houryear" unit="hour" multiplier="12"/>
		<timeStep label="day" unit="day"/>
		<timeStep label="week" unit="week"/>
		<timeStep label="month" unit="month"/>
		<timeStep label="year" unit="year"/>
	</resampling>

 

year"/>
	</resampling>

Info Attributes

In order to show attribute values for locations of time series in the time series dialog <infoAttrribute> elements can be configured:

Code Block
languagexml
titleExample configuration attibutes to show in the Time Series Information Panel
	</resampling>

	<infoAttribute id="MAAIVELD"/>
	<infoAttribute id="PEILBESLUIT"/>
	<infoAttribute id="GERELATEERD"/>

	<documentViewer>

They will then appear in the Attributes table of the time series information panel:

Image Added

This needs to be configured in order to prevent to many attributes to be shown.

...