scrollbar |
---|
Table of Contents |
---|
Water Coach script configuration
What | script_config.xml (stand alone WaterCoach), or waterCoachScript.xml (embedded WaterCoach, from 2016.01 and up) |
---|---|
Description | Configuration of a script in the Water Coach |
schema location | http://fews.wldelft.nl/watercoachschemas/version1.0/script_config.xsd, or http://fews.wldelft.nl/schemas/version1.0/waterCoachScript.xsd |
In a script configuration, the start and end time, and events for the script are specified. A script is a directory in the scenario/script database in which files relevant for that script are collected, including the script configuration file. For more information, see scenario/script database.
Section | |||||
---|---|---|---|---|---|
|
...
|
...
|
...
|
...
The configuration of stories
(events), the forecastTable
, forecastNote, and dictionaryFiles for a script are explained below.
...
Stories
Two types of stories can be specified:
...
Each story must have a title by specifying the title
key (but the title for the inbox is optional). This title will be used as the title of the story button. The title can be different for various languages, using the attribute lang
. If the language attribute for title
is specified and it corresponds to the preferred language in the application configuration, then this title is used in the script. If no language attribute is found that corresponds to the preferred language, then the default title
for which no language attribute was specified will be used. For example:
...
<story>
<title lang="NL">Telefoongesprek</title>
<title lang="GE">Anruf</title>
<title>Telephone call</title>
</story>
In the stories
section of the script configuration, an arbitrary number of stories can be specified.
...
Frames
A story (including the inbox) may consist of an arbitrary number of frames by specifying the frame
key according to the following schema:
...
<requiredExperienceLevel>2</requiredExperienceLevel>
If this key is not specified, then the event will be executed for all experience levels.
...
Any number of condition
s can be added to a story (or inbox) frame; the associated event will only be executed if all of these conditions are fulfilled. A condition must be specified according to:
...
<frame>
<title>condition example</title>
<start date="2008-03-13" time="00:01:00"/>
<stop date="2008-03-13" time="00:02:00"/>
<popup>true</popup>
<condition>
<columnId>water_level</columnId>
<rowId>Lowestoft</rowId>
<ifForecastPublished>
<operator>eq</operator>
<value>false</value>
</ifForecastPublished>
</condition>
<message>Hurry, the forecast for Lowestoft has not been published yet!</message>
</frame>
<frame>
<title>condition example</title>
<start date="2008-03-13" time="00:10:00"/>
<stop date="2008-03-13" time="00:11:00"/>
<popup>true</popup>
<condition>
<columnId>water_level</columnId>
<rowId>Lowestoft</rowId>
<ifForecastPublicationTime>
<operator>after</operator>
<value date="2008-03-13" time="00:10:00"/>
</ifForecastPublicationTime>
</condition>
<message>You were quite late with the forecast for Lowestoft</message>
</frame>
<frame>
<title>condition example</title>
<start date="2008-03-13" time="00:15:00"/>
<stop date="2008-03-13" time="00:16:00"/>
<popup>true</popup>
<condition>
<columnId>water_level</columnId>
<rowId>Lowestoft</rowId>
<ifForecastValue>
<operator>ge</operator>
<value>300</value>
</ifForecastValue>
</condition>
<file>emergency_telephone_call.mp3</file>
</frame>
...
|
Section | ||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Section | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Section | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Section | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Section | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Code Block | ||
---|---|---|
| ||
<script 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/watercoachschemas/version1.0/script_config.xsd">
<title>Water Wolf</title>
<timeZone>
<offset>+00:00</offset>
</timeZone>
<dataStart date="2019-10-07" time="09:00:00"/>
<dataStop date="2019-10-11" time="09:00:00"/>
<displayStart date="2020-01-01" time="12:00:00"/>
<workflow>
<workflowId>Export_Meren_WC</workflowId>
<schedulingInterval unit="minute" multiplier="10"/>
<schedulingStart date="2020-01-01" time="12:01:00"/>
</workflow>
<workflow>
<workflowId>Import_Rivieren_Forecast_WC</workflowId>
<schedulingInterval unit="minute" multiplier="10"/>
<schedulingStart date="2020-01-01" time="12:02:00"/>
</workflow>
</script> |
Example script
An example of a script configuration is given here:
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2009 sp1 (http://www.altova.com) by ICT (Stichting Deltares) -->
<script 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/waterCoachScript.xsd">
<title>Demonstration</title>
<dataStart date="2007-10-04" time="10:00:00"/>
<dataStop date="2007-10-04" time="13:05:00"/>
<displayStart date="2012-11-23" time="09:55:00"/>
<stories>
<inbox>
<title>inbox</title>
<frame>
<title lang="EN">Session start</title>
<start date="2007-10-04" time="10:05:05"/>
<popup>true</popup>
<requiredExperienceLevel>0</requiredExperienceLevel>
<requiredExperienceLevel>1</requiredExperienceLevel>
<file lang="EN">start_session.txt</file>
</frame>
<frame>
<title lang="EN">Help</title>
<start date="2007-10-04" time="10:05:15"/>
<popup>false</popup>
<requiredExperienceLevel>0</requiredExperienceLevel>
<requiredExperienceLevel>1</requiredExperienceLevel>
<message lang="EN">If you need help, take a look at file://%fewsRegionDir%\Help.pdf</message>
</frame>
<frame>
<title lang="EN">KNMI analysis_1</title>
<start date="2007-10-04" time="10:06:05"/>
<popup>false</popup>
<requiredExperienceLevel>0</requiredExperienceLevel>
<requiredExperienceLevel>1</requiredExperienceLevel>
<file lang="EN">windfield_03111200.pdf</file>
</frame>
<frame>
<title lang="EN">Assignment 1</title>
<start date="2007-10-04" time="10:16:00"/>
<popup>false</popup>
<requiredExperienceLevel>0</requiredExperienceLevel>
<once>true</once>
<file lang="EN">assignment_1.txt</file>
</frame>
</inbox>
<story color="aquamarine">
<title>KNMI</title>
<frame>
<title lang="EN">Telephone call</title>
<start date="2007-10-04" time="10:06:00"/>
<stop date="2007-10-04" time="10:16:00"/>
<popup>true</popup>
<requiredExperienceLevel>0</requiredExperienceLevel>
<requiredExperienceLevel>1</requiredExperienceLevel>
<file lang="EN">phonecall_knmi_1.txt</file>
</frame>
<frame>
<title lang="EN">KNMI phoneline is busy</title>
<start date="2007-10-04" time="10:16:00"/>
<stop date="2007-10-04" time="11:05:00"/>
<popup>false</popup>
<requiredExperienceLevel>0</requiredExperienceLevel>
<requiredExperienceLevel>1</requiredExperienceLevel>
<message lang="EN">KNMI phoneline is busy. PLease try again later.</message>
<message lang="NL">KNMI telefoonlijn is ingesprek. Probeer het later nogmaals.</message>
</frame>
</story>
<story color="goldenrod">
<title>HMCZ</title>
<frame>
<title lang="EN">Telephone call</title>
<start date="2007-10-04" time="11:07:00"/>
<stop date="2007-10-04" time="12:07:00"/>
<popup>false</popup>
<requiredExperienceLevel>0</requiredExperienceLevel>
<file lang="EN">phonecall_hmcz_1.txt</file>
</frame>
</story>
<story color="forest green">
<title>HMCN</title>
<frame>
<title lang="EN">Telephone call</title>
<start date="2007-10-04" time="10:08:00"/>
<stop date="2007-10-04" time="12:08:00"/>
<popup>false</popup>
<requiredExperienceLevel>0</requiredExperienceLevel>
<file lang="EN">phonecall_hmcn_1.txt</file>
</frame>
</story>
</stories>
<forecastTable>
<header>
<column id="sector">sector</column>
<column id="station">station</column>
<column id="astro_date" lang="EN">date</column>
<column id="astro_time" lang="EN">time astro high tide</column>
<column id="astro_level" unit="cm" isExport="true" exportName="H.tidal.astronomic">astro water level</column>
<column id="svsd_forecast" unit="cm" isEditable="true" exportName="H.tidal.peak">forecast</column>
</header>
<row id="Vlissingen">
<cell columnId="sector">Schelde</cell>
<cell columnId="station">Vlissingen</cell>
<cell columnId="astro_date" lang="EN">January 1</cell>
<cell columnId="astro_time">19:16</cell>
<cell columnId="astro_level">237</cell>
</row>
<row id="HoekVanHolland">
<cell columnId="sector">West Holland</cell>
<cell columnId="station">Hoek van Holland</cell>
<cell columnId="astro_date" lang="EN">January 1</cell>
<cell columnId="astro_time">20:01</cell>
<cell columnId="astro_level">122</cell>
</row>
</forecastTable>
<forecastNote>
<initialText lang="EN">Here you can add notes to support your forecast.</initialText>
</forecastNote>
<dictionaryFiles>
<dictionaryFile lang="EN">Dictionary_1.xml</dictionaryFile>
</dictionaryFiles>
</script>
|
Dictionary file configuration
Anchor | ||||
---|---|---|---|---|
|
What | dictionary.xml (stand alone WaterCoach), or waterCoachDictionary.xml (embedded WaterCoach, from 2016.01 and up) |
---|---|
Description | Configuration of a dictionary file in the Water Coach |
schema location | http://fews.wldelft.nl/watercoachschemas/version1.0/dictionary.xsd, or http://fews.wldelft.nl/schemas/version1.0/waterCoachDictionary.xsd |
Section | |||||||
---|---|---|---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Example dictionary
An example of a dictionary file configuration is given here:
Code Block | ||
---|---|---|
| ||
<?xml version="1.0" encoding="UTF-8"?>
<dictionary 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/waterCoachDictionary.xsd">
<entry>
<word>ACCESS C</word>
<definition>
ACCESS C (1 hour high resolution 36 hour models covering limited domains). Same
disaggregation and sub-area estimation as for OCF.
</definition>
</entry>
<entry>
<word>ACCESS R</word>
<definition>
ACCESS R (1 hour medium resolution 72 hour model). Same disaggregation and
sub-area estimation as for OCF.
</definition>
</entry>
<entry>
<word>ACCESS G</word>
<definition>
ACCESS G (3 hour low resolution model). Same disaggregation and sub-area
estimation as for OCF.
</definition>
</entry>
<entry>
<word>ECMWF</word>
<definition>
ECMWF (3 hour low resolution model). Same disaggregation and sub-area
sestimation as for OCF.
</definition>
</entry>
</dictionary> |
...
Forecast Table
The contents of the forecast table can be configured using the forecastTable
key. The schema for this section is as follows:
...
For example, the header section in the forecast table may look like:
...
<header>
<column id="station">station</column>
<column id="date">date</column>
<column id="time">time</column>
<column id="astro_level" unit="cm">astronomical water level</column>
<column id="water_level" isEditable="true" unit="cm">water level</column>
<column id="evacuate" isEditable="true" type="boolean">evacuate?</column>
</header>
Rows can be added to the forecast table by specifying the row
key. The number of rows is arbitrary. For each row, an identifier must be specified using the id
attribute. Content for a row is added using the cell
key, where each cell must correspond to a column in the header. This can be achieved with the columnId
attribute of the row
key. For example:
...
<row id="Vlissingen">
<cell columnId="station">Vlissingen</cell>
<cell columnId="date">12 Mar</cell>
<cell columnId="time">17h16</cell>
<cell columnId="astro_level">237</cell>
</row>
...
Dictionary
A dictionary can be added to a script for helping the user to look up words and definitions. These words have to be configured in a dictionary file. The key dictionaryFile
contains the path to such a dictionary file. This key may be specified an arbitrary number of times in the section dictionaryFiles
. The schema for a dictionary file is as follows:
...
Example
A complete example of a script configuration is given here:
Code Block | |
---|---|
xml | xml |
title | Example of script configuration |
<?xml version="1.0" encoding="UTF-8"?>
<script 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/watercoachschemas/version1.0/script_config.xsd">
<title>storm surge March 12</title>
<timeZone>
<name>GMT</name>
</timeZone>
<dataStart date="2008-03-12" time="04:00:00"/>
<scriptStart date="2011-01-01" time="06:00:00"/>
<scriptStop date="2011-01-01" time="20:00:00"/>
<stories>
<inbox>
<title>inbox</title>
<frame>
<title lang="NL">Start zitting</title>
<title lang="EN">Session start</title>
<start date="2011-01-01" time="06:00:05"/>
<popup>true</popup>
<file lang="NL">start_zitting_NL.txt</file>
<file lang="EN">start_zitting_EN.txt</file>
</frame>
<frame>
<title lang="NL">KNMI weeranalyse 12 maart, 0:00 uur</title>
<title lang="EN">KNMI analysis March 12, 12:00 midnight</title>
<start date="2011-01-01" time="06:00:05"/>
<popup>false</popup>
<file lang="NL">weerkaart_12maart_00uur.pdf</file>
<file lang="EN">weerkaart_12maart_00uur.pdf</file>
</frame>
<frame>
<title lang="NL">KNMI run 11 maart, 12:00 uur</title>
<title lang="EN">KNMI run March 11, 12:00 noon</title>
<start date="2011-01-01" time="06:00:05"/>
<popup>false</popup>
<file lang="NL">windveld_11maart_12uur.pdf</file>
<file lang="EN">windveld_11maart_12uur.pdf</file>
</frame>
<frame>
<title lang="NL">Opdracht 1</title>
<title lang="EN">Exercise 1</title>
<start date="2011-01-01" time="06:11:00"/>
<popup>true</popup>
<file lang="NL">opdracht1_NL.txt</file>
<file lang="EN">opdracht1_EN.txt</file>
</frame>
</inbox>
<story>
<title>KNMI</title>
<frame>
<title lang="NL">Telefoon</title>
<title lang="EN">Telephone call</title>
<start date="2011-01-01" time="06:10:00"/>
<popup>true</popup>
<file lang="NL">telefoon_knmi_bericht1_NL.txt</file>
<file lang="EN">telefoon_knmi_bericht1_EN.txt</file>
</frame>
</story>
<story>
<title>HMCZ</title>
<frame>
<title lang="NL">Telefoon</title>
<title lang="EN">Telephone call</title>
<start date="2011-01-01" time="06:11:00"/>
<popup>false</popup>
<file lang="NL">telefoon_hmcz_bericht1_NL.txt</file>
<file lang="EN">telefoon_hmcz_bericht1_EN.txt</file>
</frame>
</story>
<story>
<title>HMCN</title>
<frame>
<title lang="NL">Telefoon</title>
<title lang="EN">Telephone call</title>
<start date="2011-01-01" time="07:36:00"/>
<popup>false</popup>
<file lang="NL">telefoon_hmcn_bericht1_NL.txt</file>
<file lang="EN">telefoon_hmcn_bericht1_EN.txt</file>
</frame>
</story>
</stories>
<forecastTable>
<header>
<column id="sector">sector</column>
<column id="station">station</column>
<column id="astro_date" lang="NL">datum</column>
<column id="astro_date" lang="EN">date</column>
<column id="astro_time" lang="NL">tijd astro HW</column>
<column id="astro_time" lang="EN">time astro high tide</column>
<column id="astro_level" unit="cm" isExport="true" exportName="H.tidal.astronomic" lang="NL">astro waterstand</column>
<column id="astro_level" unit="cm" isExport="true" exportName="H.tidal.astronomic" lang="EN">astro water level</column>
<column id="svsd_forecast" unit="cm" isEditable="true" exportName="H.tidal.peak" lang="NL">SVSD verwachting</column>
<column id="svsd_forecast" unit="cm" isEditable="true" exportName="H.tidal.peak" lang="EN">forecast</column>
</header>
<row id="Vlissingen">
<cell columnId="sector">Schelde</cell>
<cell columnId="station">Vlissingen</cell>
<cell columnId="astro_date" lang="NL">1 januari</cell>
<cell columnId="astro_date" lang="ËN">January 1</cell>
<cell columnId="astro_time">19:16</cell>
<cell columnId="astro_level">237</cell>
</row>
<row id="HoekVanHolland">
<cell columnId="sector">West Holland</cell>
<cell columnId="station">Hoek van Holland</cell>
<cell columnId="astro_date" lang="NL">1 januari</cell>
<cell columnId="astro_date" lang="EN">January 1</cell>
<cell columnId="astro_time">20:01</cell>
<cell columnId="astro_level">122</cell>
</row>
</forecastTable>
</script>
|