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:

<?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)|*|

the alternate will be:

## 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:

## 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:

## 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:

#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 



  • No labels