Imports profile data from NetCDF-CF file formats

Overview

This importType is available in DELFT-FEWS versions after 28-10-2009 (FEWS version 2009.02)

It is only available in timeSeriesImportRun and not for example in the importNetcdfActivity of the GeneralAdapter

Imports profile time series data from NetCDF files which comply to the CF standard. More information about the cf standards can be found at: http://cfconventions.org/cf-conventions/v1.6.0/cf-conventions.html

See also the following two other types of NetCDF-CF imports that are available:

In DELFT-FEWS versions 2011.02 and later this import type can also be used to import data using OPeNDAP, see Import data using OPeNDAP.

Configuring the import

An example of the NETCDF-CF_PROFILE import will be given here.

From 2021.01 it is possible to import NETCDF attributes as timeSeriesProperties into FEWS. This can be configured in the properties (see example below). Using the example config, the value of the NETCDF attribute ‘systemid’ will be imported as a timeSeriesProperty ‘rivieren2’.

Since 2021.02 it is also possible to export timeSeriesProperties as NETCDF attributes. You can find a config example here:  https://publicwiki.deltares.nl/display/FEWSDOC/NETCDF-CF_GRID+Export

<?xml version="1.0" encoding="UTF-8"?>
<timeSeriesImportRun 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/timeSeriesImportRun.xsd">
	<import>
		<general>
			<importType>NETCDF-CF_PROFILE</importType>
			<folder>$IMPORT_FOLDER$/NETCDF</folder>
			<failedFolder>$IMPORT_FAILED_FOLDER$</failedFolder>
			<backupFolder>$IMPORT_BACKUP_FOLDER$</backupFolder>
			<idMapId>IdImportNetCDF</idMapId>
		</general>
		<properties>
			<string key="netcdfattribute:taskrunid" value='timeseriesproperty:rivieren1'/>
			<string key="netcdfattribute:systemid" value='timeseriesproperty:rivieren2'/>
		</properties>
  		<timeSeriesSet>
			<moduleInstanceId>ImportNetcdf_Profile</moduleInstanceId>
			<valueType>longitudinalprofile</valueType>
			<parameterId>H.fx</parameterId>
			<locationSetId>SobekProfiles_WL</locationSetId>
			<timeSeriesType>external historical</timeSeriesType>
			<timeStep unit="day" multiplier="1"/>
			<readWriteMode>add originals</readWriteMode>
		</timeSeriesSet>
	</import>
</timeSeriesImportRun>

An example of the IdMapping used for the NETCDF-CF_PROFILE import will be given below.
Note that in the IdMapping of the parameters, the external name must match the variable names as used by the netcdf file exactly (case sensitive). The locations that are mapped refer to branch id's which are defined in the Branches.xml.

<?xml version="1.0" encoding="UTF-8"?>
<idMap 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" version="1.1">

	<parameter internal="H.fx" external="waterlevel"/>

	<location internal="Maastakken_NDB(Haringvliet)" external="Maastakken_NDB(Haringvliet)"/>
	<location internal="Rijntakken_NDB_NWW" external="Rijntakken_NDB_NWW"/>
	<location internal="Rijntakken_AmsterdamRijnkanaal" external="Rijntakken_AmsterdamRijnkanaal"/>
	<location internal="Rijntakken2_NDB2(NieuweWaterweg)" external="Rijntakken2_NDB2(NieuweWaterweg)"/>
	<location internal="Rijntakken_IJssel" external="Rijntakken_IJssel"/>
	<location internal="IJssel_IJsselmeer" external="IJssel_IJsselmeer"/>
	<location internal="Markermeer_VeluweRandmeren" external="Markermeer_VeluweRandmeren"/>

</idMap>

An example of the branches file is shown below.

<?xml version="1.0" encoding="UTF-8"?>
<branches 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/branches.xsd" version="1.1">
	<geoDatum>Rijks Driehoekstelsel</geoDatum>
	<branch id="Maastakken_NDB(Haringvliet)">
		<branchName>Maastakken_NDB(Haringvliet)</branchName>
		<startChainage>1030</startChainage>
		<endChainage>321624</endChainage>
		<pt chainage="1030" label="R_MS_001_1" x="176029.1129" y="308594.236" z="40.32" z_rb="51.34"/>
		<pt chainage="2061" label="R_MS_001_2" x="176631.808" y="309427.7428" z="41.79" z_rb="50.92"/>
		...
		<pt chainage="321624" label="N_NDB_92" x="57935.1" y="436953" z="-7.82" z_rb="2.79"/>
	</branch>
	...
	<branch id="Markermeer_VeluweRandmeren">
	...
	</branch>
</branches>

The locationSetId used by the ImportNetcdf_Profile.xml must contain the branches defined in the above IdMapping.

<?xml version="1.0" encoding="UTF-8"?>
<locationSets xmlns="http://www.wldelft.nl/fews" version="1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.wldelft.nl/fews http://fews.wldelft.nl/schemas/version1.0/locationSets.xsd">
	<locationSet id="SobekProfiles_WL" name="Sobek Profiles WL">
		<locationId>Maastakken_NDB(Haringvliet)</locationId>
		<locationId>Rijntakken_NDB_NWW</locationId>
		<locationId>Rijntakken_AmsterdamRijnkanaal</locationId>
		<locationId>Rijntakken2_NDB2(NieuweWaterweg)</locationId>
		<locationId>Rijntakken_IJssel</locationId>
		<locationId>IJssel_IJsselmeer</locationId>
		<locationId>Markermeer_VeluweRandmeren</locationId>
	</locationSet>
</locationSets>