Here you will find a transcription of the presentation used for the Water Coach Course.

Water Coach - Scenario and Script

Water Coach consists of

The Water Coach can be used in a

Water Coach - Learning objectives

What are the learning objectives of the Water Coach?

Design scenario and script

What do you need to edit a scenario to reach the learning objectives?

What do you need to create a script to reach the learning objectives?

Making a script interactive

With choices and conditions

Forecast table

Fully configurable: number of columns and rows, headers, cells editable columns, units, language.

<forecastTable>
   <header>
      <column id="sector">sector</column>
         [...]
      <column id="astro_level" unit="cm">astro water level</column>
      <column id="svsd_forecast" unit="cm" isEditable="true">SVSD forecast</column>
   </header>
   <row id="Vlissingen">
      <cell columnId="sector">Schelde</cell>
         [...]
      <cell columnId="astro_level">237</cell>
   </row>
</forecastTable>

Feedback

Learning will be based on feedback, not on a scoring system
Base feedback on

Exercises

  1. Inspect the application configuration for Noordzee (the file “application_config_Noordzee.xml”) and set the preferred language (e.g. to “NL” or “EN”).Run the Water Coach (the file ”WaterCoach_Noordzee.exe”) and choose the scenario named “course”. Follow the on-screen instructions.
  2. The current script runs for 10 seconds.Extend the length of the script by changing the value of the <ScriptStop> keyword (in the file “script_config.xml” in the appropriate directory of the scenario database). Test it!
  3. Imagine that you need to create a script for a new trainee. Download an appropriate image (e.g. in jpg format) from the internet that you want to show at the beginning of the script (sort of a splash screen).Add the image to the scenario database directory and add a frame to the inbox that displays this image at the start of the script.
  4. The goal of the script is to make a forecast.Press the “Forecast” button to bring up the forecast table. The content of the forecast table is also configured in the file “script_config.xml”. Add at least one non-editable and one editable column to the forecast table. Also, add at least one row to the table. Use your creativity for suitable content. Feel free to change the existing content of the forecast table. Test it!
  5. So-called stories can be used to add dynamical content to the script. Press the “Story” button to see an example. Add a second story to the script that contains at least three time frames. Make the first frame active for the first 30 seconds of the script, the second frame active for the next 30 seconds, and so on. Use a <Message> event for one time frame and <File> events for the other two (with two different file types, e.g. txt and pdf). Experiment with the <Popup> keyword in a story.
  6. Another way of making a script dynamical is provided by conditional frames. For each frame (either in the inbox or in a story), a condition can be specified based on the forecast that has been published by the user. The syntax of a conditional frame is given below. Add a condition to one of the frames in your script based on one of the columns and rows in your forecast table. You may also duplicate the frame and use disjunct conditions for the two frames. Test it!
  7. So far, alterations to the script have been made without referring to the scenario, i.e. the contents of the FEWS local data store. Start-up FEWS and inspect the data that is available. Construct a simple script with events for a trainee in which he/she has to inspect the data in FEWS in order to be able to publish a forecast (for a location and parameter of your choice). Give feedback at the end of the script about the forecast that he/she made.
<condition>
   <columnId>one of your forecast columns</columnId>
   <rowId>one of your forecast rows</rowId>
   <ifForecastPublished>
      <operator>eq or ne</operator>
      <value>true or false</value>
   </ifForecastPublished>
</condition>

<condition>
   <columnId>one of your forecast columns</columnId>
   <rowId>one of your forecast rows</rowId>
   <ifForecastPublicationTime>
      <operator>before or after</operator>
      <value date="yyyy-mm-dd" time="hh:mm:ss"/>
   </ifForecastPublicationTime>
</condition>

<condition>
   <columnId>one of your forecast columns</columnId>
   <rowId>one of your forecast rows</rowId>
   <ifForecastValue>
      <operator>lt, le, gt, or ge</operator>
      <value>an integer value</value>
   </ifForecastValue>
</condition>