Versions Compared

Key

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

 Delft-FEWS contains a TimeSeriesSerializer that is able to export to the ZRXP wiski format. Note that the implementation currently is specific to only exporting forecast data, eventhough some configuration options are available (see the description below). The exact format (headers, order of columns) might not fit with all Wiski implementations.

Configuration example:

Code Block
languagexml
linenumberstrue
<?xml version="1.0" encoding="UTF-8"?>
<timeSeriesExportRun 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/timeSeriesExportRun.xsd">
   <export>
      <general>
         <serializerClassName>nl.wldelft.timeseriesserializers.NoeWiskiTimeSeriesSerializer</serializerClassName>
         <folder>%REGION_HOME%/Export</folder>
         <exportFileName>
            <name>RELBRAGG_Forecast_Q.zrx</name>
         </exportFileName>
         <idMapId>IdExportWISKI_Det</idMapId>
         <exportMissingValue>-777</exportMissingValue>
         <omitMissingValues>false</omitMissingValues>
         <exportTimeZone>
            <timeZoneOffset>-07:00</timeZoneOffset>
         </exportTimeZone>
      </general>
      <properties>
		<!--Default value is false-->
         <bool key="twoDigitMemberId" value="true"/>
		<!--Default value is false-->
         <bool key="writeFourColumnsOnly" value="true"/>
		<!--Default value is false-->
         <bool key="useAlternateHeaderLayout" value="true"/>
		<!--Default value is false-->
         <bool key="exportFlagsAndComments" value="true"/>
       </properties>
      <timeSeriesSet>
         <moduleInstanceId>Elbow_Hydstra_Forecast</moduleInstanceId>
         <valueType>scalar</valueType>
         <parameterId>QR.sim</parameterId>
         <locationId>05BJ004</locationId>
         <timeSeriesType>simulated forecasting</timeSeriesType>
         <timeStep unit="hour" multiplier="1"/>
         <relativeViewPeriod unit="day" start="-3" end="5" endOverrulable="true"/>
         <readWriteMode>read only</readWriteMode>
      </timeSeriesSet>
   </export>   
</timeSeriesExportRun>

...


Properties:

twoDigitMemberId

...

:

...

optional.

...

If

...

set

...

to

...

true,

...

the

...

ensembleMemberId

...

will

...

be

...

written

...

in

...

at

...

least

...

two

...

digits,

...

such

...

as:

...

00,

...

01...

...

09.

...

If

...

the

...

ensembleMemberId

...

is

...

already

...

two

...

or

...

more

...

digits

...

long,

...

it

...

will

...

not

...

change.

...

20

...

will

...

be

...

writen

...

as

...

20,

...

152

...

as

...

152.

...

If

...

not

...

configured

...

(or

...

set

...

to

...

false)

...

one

...

digit

...

ensembleMemberId

...

will

...

be

...

written

...

as

...

0,1,..9.

writeFourColumnsOnly:

...

optional.

...

If

...

set

...

to

...

true

...

the

...

column

...

dispatch_info

...

will

...

not

...

be

...

written

...

to

...

the

...

file.

useAlternateHeaderLayout:

...

optional.

...

If

...

set

...

to

...

true,

...

a

...

shorter

...

header

...

will

...

be

...

written.

exportFlagsAndComments: If it's set to true, flags and comments will be exported.

Instead of:

## FEWS Export
#REXCHANGE05BJ004_HG_Deltares|*|CUNITm|*|TZGMT-7|*|RINVAL-777|*|
#LAYOUT(timestamp,value,forecast,member,dispatch_info)|*|

...

## FEWS Export
#REXCHANGE05BJ004_Q_Deltares|*|*|TZGMT-7|*|RINVAL-777|*|
#LAYOUT(timestamp,value,forecast,member)|*| 


For each combination locationId-parameterId only one header is written. If the series is a part of ensemble, ensemble member Id is written in column 'member' (so the member Id is not available in header lines) Idem for different forecasts.  

Example output with all properties set to false:

Code Block
linenumberstrue
## FEWS Export
#REXCHANGE05BJ004_HG_Deltares|*|CUNITm|*|TZGMT-7|*|RINVAL-777|*|
#LAYOUT(timestamp,value,forecast,member,dispatch_info)|*|
-777 -777 20190407010000 0 -777
-777 -777 20190407020000 0 -777
-777 -777 20190407030000 0 -777
-777 -777 20190407040000 0 -777
-777 -777 20190407050000 0 -777
-777 -777 20190407060000 0 -777
-777 -777 20190407070000 0 -777
-777 -777 20190407080000 0 -777
-777 -777 20190407090000 0 -777
-777 -777 20190407100000 0 -777
-777 -777 20190407110000 0 -777

 



Example output with all properties set to true:

Code Block
linenumberstrue
## FEWS Export
#REXCHANGE05BJ004_Q_Deltares|*|*|TZGMT-7|*|RINVAL-777|*|
#LAYOUT(timestamp,value,forecast,member)
-777 -777 20190407060000 00 
-777 -777 20190407070000 00 
-777 -777 20190407080000 00 
-777 -777 20190407090000 00 
-777 -777 20190407100000 00 
-777 -777 20190407110000 00 
-777 -777 20190407120000 00 
-777 -777 20190407130000 00 
-777 -777 20190407140000 00 

 



Example output with flags and comments:

Code Block
languagexml
linenumberstrue
#ZRXPCREATORDelft-FEWS|*|
#REXCHANGELocationA_ParameterX|*|CUNITm|*|TZGMT|*|RINVAL-999.0|*|
#LAYOUT(timestamp,value,forecast,member,dispatch_info,status,remark)|*|
20100102000000 0.1 20100102000000 1 -999.0 0 
20100102000000 -999.0 20100102000000 0 -999.0 9 "test comment on missing value"
20100102000000 1.1 20100102010000 1 -999.0 0 
20100102000000 1.0 20100102010000 0 -999.0 0 
20100102000000 2.1 20100102020000 1 -999.0 0 "TEST COMMENT"
20100102020000 2.1 20100102020000 2 -999.0 0 "test another comment"
20100102000000 2.0 20100102020000 0 -999.0 0 
#ZRXPCREATORDelft-FEWS|*|
#REXCHANGELocationB_ParameterX|*|CUNITm3/s|*|TZGMT|*|RINVAL-999.0|*|
#LAYOUT(timestamp,value,forecast,member,dispatch_info,status,remark)|*|
20100102080000 -999.0 20100102080000 -999.0 -999.0 9 
#ZRXPCREATORDelft-FEWS|*|
#REXCHANGELocationB_ParameterY|*|CUNITm3/s|*|TZGMT|*|RINVAL-999.0|*|
#LAYOUT(timestamp,value,forecast,member,dispatch_info,status,remark)|*|
20100102080000 8.0 20100102080000 -999.0 -999.0 0 

...