Exports high- and low-tide water level data linked to tide numbers to file in NETCDF-CF format

Overview

This export is available in DELFT-FEWS versions 2022.02 (RWS) and later

Water level time series data, which has been analyzed to determine high- and low-tide water levels and assigned standardized tide numbers (e.g. using the package HATYAN for the North Sea), can be stored in a specific NetCDF format, in which the high- and low-tide water levels are referenced by their tide number (a unique identifier given to each tidal cycle), rather than time, as the main dimension. Time information is still available, but is stored as a separate variable that is referenced per tide number and location.  

The NETCDF-TIDAL_TIMESERIES option exports such data to NetCDF files which comply to the CF 1.4 standard.

Some details:

Configuring the export module

An example of the NETCDF-TIDAL_TIMESERIES export is provided below. This example exports both high and low water levels and the associated surge. You can simplify this by deleting the configuration that doesn't apply for you (e.g. parts related to surge or low water).

<?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>
			<exportType>NETCDF-TIDAL_TIMESERIES</exportType>
			<folder>$EXPORT_FOLDER$/tide_levels/</folder>
			<exportFileName>
				<name>HWLW_tidenumber_surge.nc</name>
			</exportFileName>
			<idMapId>IdExport_HWLW</idMapId>
			<exportTimeZone>
				<timeZoneName>GMT</timeZoneName>
			</exportTimeZone>
			<geoDatum>Rijks Driehoekstelsel</geoDatum>
		</general>
		<properties>
			<string key="netCDFWriteFormat" value="netcdf4"/>
			<int key="netCDF4DeflateLevel" value="6"/>
			<string key="variables" value="waterlevel_LW,waterlevel_HW,surge_LW,surge_HW"/>
			<string key="waterlevel_LW" value="time_LW,LWno"/>
			<string key="waterlevel_HW" value="time_HW,HWno"/>
			<string key="surge_LW" value="time_LW,LWno"/>
			<string key="surge_HW" value="time_HW,HWno"/>
		</properties>
		<timeSeriesSet>
			<moduleInstanceId>Calculate_HWLW_Surge</moduleInstanceId>
			<valueType>scalar</valueType>
			<parameterId>WL.simulated</parameterId>
			<qualifierId>extreme_Low</qualifierId>
			<locationSetId>Locations_HWLW</locationSetId>
			<timeSeriesType>simulated forecasting</timeSeriesType>
			<timeStep unit="nonequidistant"/>
			<readWriteMode>read complete forecast</readWriteMode>
		</timeSeriesSet>
		<timeSeriesSet>
			<moduleInstanceId>Calculate_HWLW_Surge</moduleInstanceId>
			<valueType>scalar</valueType>
			<parameterId>Surge.simulated</parameterId>
			<qualifierId>extreme_Low</qualifierId>
			<locationSetId>Locations_HWLW</locationSetId>
			<timeSeriesType>simulated forecasting</timeSeriesType>
			<timeStep unit="nonequidistant"/>
			<readWriteMode>read complete forecast</readWriteMode>
		</timeSeriesSet>
		<timeSeriesSet>
			<moduleInstanceId>Calculate_HWLW_Surge</moduleInstanceId>
			<valueType>scalar</valueType>
			<parameterId>HWLW_nr</parameterId>
			<qualifierId>extreme_Low</qualifierId>
			<locationSetId>Locations_HWLW</locationSetId>
			<timeSeriesType>simulated forecasting</timeSeriesType>
			<timeStep unit="nonequidistant"/>
			<readWriteMode>read complete forecast</readWriteMode>
		</timeSeriesSet>
		<timeSeriesSet>
			<moduleInstanceId>Calculate_HWLW_Surge</moduleInstanceId>
			<valueType>scalar</valueType>
			<parameterId>WL.simulated</parameterId>
			<qualifierId>extreme_Peak</qualifierId>
			<locationSetId>Locations_HWLW</locationSetId>
			<timeSeriesType>simulated forecasting</timeSeriesType>
			<timeStep unit="nonequidistant"/>
			<readWriteMode>read complete forecast</readWriteMode>
		</timeSeriesSet>
		<timeSeriesSet>
			<moduleInstanceId>Calculate_HWLW_Surge</moduleInstanceId>
			<valueType>scalar</valueType>
			<parameterId>Surge.simulated</parameterId>
			<qualifierId>extreme_Peak</qualifierId>
			<locationSetId>Locations_HWLW</locationSetId>
			<timeSeriesType>simulated forecasting</timeSeriesType>
			<timeStep unit="nonequidistant"/>
			<readWriteMode>read complete forecast</readWriteMode>
		</timeSeriesSet>
		<timeSeriesSet>
			<moduleInstanceId>Calculate_HWLW_Surge</moduleInstanceId>
			<valueType>scalar</valueType>
			<parameterId>HWLW_nr</parameterId>
			<qualifierId>extreme_Peak</qualifierId>
			<locationSetId>Locations_HWLW</locationSetId>
			<timeSeriesType>simulated forecasting</timeSeriesType>
			<timeStep unit="nonequidistant"/>
			<readWriteMode>read complete forecast</readWriteMode>
		</timeSeriesSet>
	</export>
</timeSeriesExportRun>

Configuring the idMap

An example of the corresponding idMap is provided below.

<?xml version="1.0" encoding="UTF-8"?>
<idMap version="1.1" 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/idMap.xsd">
	<function externalLocationFunction="@NARWL_ID@" internalParameter="HWLW_nr" internalQualifier1="extreme_Low" externalParameterFunction="LWno" internalLocationSet="Locations_HWLW"/>
	<function externalLocationFunction="@NARWL_ID@" internalParameter="HWLW_nr" internalQualifier1="extreme_Peak" externalParameterFunction="HWno" internalLocationSet="Locations_HWLW"/>
	<function externalLocationFunction="@NARWL_ID@" internalParameter="WL.simulated" internalQualifier1="extreme_Low" externalParameterFunction="waterlevel_LW" internalLocationSet="Locations_HWLW"/>
	<function externalLocationFunction="@NARWL_ID@" internalParameter="WL.simulated" internalQualifier1="extreme_Peak" externalParameterFunction="waterlevel_HW" internalLocationSet="Locations_HWLW"/>
	<function externalLocationFunction="@NARWL_ID@" internalParameter="Surge.simulated" internalQualifier1="extreme_Low" externalParameterFunction="surge_LW" internalLocationSet="Locations_HWLW"/>
	<function externalLocationFunction="@NARWL_ID@" internalParameter="Surge.simulated" internalQualifier1="extreme_Peak" externalParameterFunction="surge_HW" internalLocationSet="Locations_HWLW"/>
</idMap>