Overview

Imports time series data with forecasts from the KNMI that are delivered to the Dutch waterboards. The files contain the next 52 forecasts:

  • deterministic forecast
  • control run
  • ensemble forecast of 50 members.

See KNMI site for information on all possible parameters and locations EPS. Two forecasts are supported: a forecast of 10 days and the forecast of 15 days. Notice that the forecast of 15 days still contains a 10 day deterministic forecast only.

Notice that the rainfall forecast is supplied as an accumulative time series in 0.1 mm. All time series have a 6 hourly time step in GMT.

A complete forecast is supplied as a zipfile that contains individual files for each location. In each file the forecast timeseries for a list of parameters are suppplied.

Example: the file "ECME_VEN_2007102912.zip" contains the next list of files:

  • ECME_VEN_200710291200_NL001_LC
  • ECME_VEN_200710291200_NL002_LC
  • ECME_VEN_200710291200_NL004_LC
  • ECME_VEN_200710291200_NL009_LC
  • ECME_VEN_200710291200_NL011_LC
  • ECME_VEN_200710291200_NL012_LC
  • ECME_VEN_200710291200_NL015_LC
  • ECME_VEN_200710291200_NL018_LC
  • ECME_VEN_200710291200_NL020_LC

for the stations NL001, NL002 etc. at forecast time 2007-10-29 12:00.

Configuration (Example)

A complete import module configuration consists of an ID Mapping file and a Import Module Instance file. To convert the rainfall in a proper unit (from 0.1 mm per 6 hour to mm/hr for example) it is also required to configure a Unit Conversion file.

ModuleConfigFiles

The following example of an Import Module Instance will import the time series as equidistant series for timezone GMT with a time step of 6 hours.

ImportKNMI.xml
<?xml version="1.0" encoding="UTF-8"?>
<timeSeriesImportRun ......">
  <import>
    <general>
      <importType>KNMIEPS</importType>
      <folder>$IMPORT_FOLDER_KNMI_EPS$</folder>
      <failedFolder>$IMPORT_FAILED_FOLDER_KNMI_EPS$</failedFolder>
      <backupFolder>$IMPORT_BACKUP_FOLDER_KNMI_EPS$</backupFolder>
      <idMapId>IdImportEPS</idMapId>
      <unitConversionsId>ImportKNMIUnits</unitConversionsId>
      <importTimeZone>
        <!--EPS is in GMT-->
        <timeZoneOffset>+00:00</timeZoneOffset>
      </importTimeZone>
      <dataFeedId>KNMI-EPS</dataFeedId>
    </general>
    <timeSeriesSet>
      <moduleInstanceId>ImportKNMI</moduleInstanceId>
      <valueType>scalar</valueType>
      <parameterId>P.voorsp.ens</parameterId>
      <locationSetId>KNMI-EPS</locationSetId>
      <timeSeriesType>external forecasting</timeSeriesType>
      <timeStep unit="hour" multiplier="6"/>
      <readWriteMode>add originals</readWriteMode>
      <synchLevel>1</synchLevel>
      <ensembleId>EPS</ensembleId>
    </timeSeriesSet>
    <timeSeriesSet>
      <moduleInstanceId>ImportKNMI</moduleInstanceId>
      <valueType>scalar</valueType>
      <parameterId>P.voorsp.ctr</parameterId>
      <locationSetId>KNMI-EPS</locationSetId>
      <timeSeriesType>external forecasting</timeSeriesType>
      <timeStep unit="hour" multiplier="6"/>
      <readWriteMode>add originals</readWriteMode>
      <synchLevel>1</synchLevel>
    </timeSeriesSet>
    <timeSeriesSet>
      <moduleInstanceId>ImportKNMI</moduleInstanceId>
      <valueType>scalar</valueType>
      <parameterId>P.voorsp.det</parameterId>
      <locationSetId>KNMI-EPS</locationSetId>
      <timeSeriesType>external forecasting</timeSeriesType>
      <timeStep unit="hour" multiplier="6"/>
      <readWriteMode>add originals</readWriteMode>
      <synchLevel>1</synchLevel>
    </timeSeriesSet>

    <!--to let the import module know that the KNMI rainfall is an accumulative timeseries 
      in 0.1 mm/hr that should be disaggrated and converted to for example mm/hr-->
    <externUnit parameterId="P.voorsp.ens" unit="0.1 mm/6hr" cumulativeSum="true"/>
    <externUnit parameterId="P.voorsp.ctr" unit="0.1 mm/6hr" cumulativeSum="true"/>
    <externUnit parameterId="P.voorsp.det" unit="0.1 mm/6hr" cumulativeSum="true"/>
  </import>
</timeSeriesImportRun>

IdMapFiles

Defines mappings between KNMI and FEWS parameters and locations.

sample of IdImportEPS.xml
<idMap version="1.1"  ..............>
  <parameter external="13011_deterministic" internal="P.voorsp.det"/>
  <parameter external="13011_control" internal="P.voorsp.ctr"/>
  <parameter external="13011_ensemble" internal="P.voorsp.ens"/>
  <location external="NL001" internal="KNMI_NL001"/>
  <location external="NL002" internal="KNMI_NL002"/>
  <location external="NL004" internal="KNMI_NL004"/>
  <location external="NL009" internal="KNMI_NL009"/>
  <location external="NL011" internal="KNMI_NL011"/>
  <location external="NL012" internal="KNMI_NL012"/>
  <location external="NL015" internal="KNMI_NL015"/>
  <location external="NL018" internal="KNMI_NL018"/>
  <location external="NL020" internal="KNMI_NL020"/>
</idMap>

Important in this configuration is the externalParameter is manipulated to identify the deterministic, control and ensemble forecasts. Therefore the import module generates automatically a suffix to the parameter ID in the import files. If the import file contains a parameter "13011" for rainfall, the import generates the next externalParameters: "13011_deterministic", "13011_control" and "13011_ensemble".

UnitConversionFile

Defines the conversion of the units that should be applied.

sample of ImportKNMIUnits.xml
<?xml version="1.0" encoding="UTF-8"?>
<unitConversions ...................>
  <unitConversion>
    <inputUnitType>0.1 mm/6hr</inputUnitType>
    <outputUnitType>mm/hr</outputUnitType>
    <multiplier>0.01666667</multiplier>
    <incrementer>0</incrementer>
  </unitConversion>
  ........
  ........
</unitConversions>

Example Files

  File Modified
ZIP Archive ECME_VEN_2007102912.zip Example of the 15 day forecast zip file 15-11-2007 by Klaas-Jan van Heeringen
XML File ImportKNMI 1.00 default.xml Module Config file 15-11-2007 by Klaas-Jan van Heeringen
XML File IdImportEPS 1.00 default.xml Id Map file 15-11-2007 by Klaas-Jan van Heeringen
XML File ImportKNMIUnits 1.00 default.xml Unit Conversion File 15-11-2007 by Klaas-Jan van Heeringen

Java source code

KnmiEpsTimeSeriesParser.java

  • No labels