Versions Compared

Key

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

...

The WIWB Import connects to the Hydronet WIWB API and has support for downloading observations and forecasts for both scalar and grid data. WIWB has a concept of DataSources which have to be configured as a property of the import. Using the meta data api of  of the WIWB API the type of data is determined and processed accordingly. The import feature is available since December 2018, from Delft-FEWS version 2016.02 onwards.

...

Info
titleMore about WIWB

WIWB is the Dutch national database for storage and dissemination of weather related data, specifically for the Dutch water sector. It has been developed in 2017 by HydroLogic, HKV and HydroConsult for Het Waterschapshuis, a national body that represents all Dutch water boards. The WIWB database is based on the HydroNET platform (www.hydronet.com) and offers a REST API for retrieving data and metadata. WIWB contains weather observations and forecasts, based on weather stations, meteorological radar data and numerical weather models.

WIWB is intended for professional use only by Dutch water boards. It is not intended for public or commercial use. Only officials from Dutch water boards can request access to the WIWB API. More information on specifications and use of the WIWB API can be requested from the WWIB helpdesk (helpdesk@hydrologic.com) or in the attached document (V5.0)the Technische Instructies WIWB API.pdf.


Info
titleAccess to WIWB API

Access to the WIWIB API is limited to the regional water authorities in the Netherlands and can be requested from the Waterschapshuis Water (HWH) by sending an e-mail to Arnaud MensenWouter Bakker. Please list the following items in your e-mail

  • Organisation name
  • Contact person and contact details (e-mail and telephone number).
  • List with IP addresses that require access to the API.  
  • Short explanation of intended use:
    • Systems to be connected to the API
    • Required data sources
    • Expected data request per time interval.

HWH will forward the required information to the WIWB back-office operated by HydroLogic. Your account will be configured within 5 days after the request was received by the WIWB back office.

More info about WIWB at HWH can be found here.

Technical instructions about the WIWB API can be found in the attached document (V5.0) Technische Instructies WIWB API.pdf.


Info
titleHTTPS and client.truststore

Access to the WIWIB API is done using a secure HTTPS connection. If a FEWS configuration is used with a client.truststore it may be required (for FEWS versions older than 2018.02) to import the latest public certificate of the WIWB service into the existing client.truststore. For more information on configuring secure HTTPS connection with a client.truststore, see How to configure secure https connection to Matroos

...

40

Grid definition required in grids.xml.
See below for the configuration example.

Product has no correction to data from meteo stations..Near.Realtime
Datasource nameDatasource code (ID)TypeOriginal IntervalAvailable Parameter(s) [parameter code]Remarks
Harmonie 4.3Knmi.Harmonie.43Model Grid, forecast1 hour

Air pressure [AirPressure]
Dewpoint temperature [DPT]
Global Radiation [GlobalRad]
Graupel [Graupel]
High Cloud Cover [HighCloudCover]
Latent Heatflux [LatentHeatflux]
Low Cloud Cover [LowCloudCover]
Medium Cloud Cover [MediumCloud-Cover]
Net Longwave Radiation [NetLwRad]
Net Shortwave Radiation [NetSwRad]
Relative Humidity [RH]
Sensible Heat Flux [SHF]
Sneeuwval [Sneeuwval]
Snow Depth [SnowDepth]
Temperature [TMP]
Total Cloud Cover [TCDC]
Total Precipitation [APCP]
U-Component max windstoot [U-Com-ponent.Max.Windstoot]
U-Component of Wind [UGRD:10m]
V-Component max windstoot [V-Com-ponent.Max.Windstoot]
V-Component of Wind [VGRD:10m]

Grid definition is automatically read from WIWB, so no need to define in grids.xml
Harmonie 4.0Harmonie 36Knmi.Harmonie.36Model Grid, forecast1 hour

Air

Pressure

pressure [AirPressure]
Dewpoint temperature [DPT]
Global Radiation

Flux

[GlobalRad]
Graupel [Graupel]
High Cloud Cover [HighCloudCover]

Large Scale Precipitation [LargeScaleP]
Latent Heat Flux [LatHeatFlux]
Low

Latent Heatflux [LatentHeatflux]
Low Cloud Cover [LowCloudCover]
Medium Cloud Cover [

MediumCloudCover

MediumCloud-Cover]
Net Longwave Radiation

Flux

[

NetLwRadFlux

NetLwRad]
Net Shortwave Radiation

Flux

[

NetSwRadFlux

NetSwRad]
Relative Humidity [RH]
Sensible Heat Flux [SHF]
Sneeuwval [

SensHeatFlux

Sneeuwval]
Snow Depth [SnowDepth]

Soil temperature level 2 [

Temperature

.Soil.Level2]
Temperature

[TMP]
Total Cloud Cover [TCDC]
Total Precipitation [APCP]
U-Component

of Wind [UGRD:10m]
V

max windstoot [U-Com-ponent.Max.Windstoot]
U-Component of Wind [

VGRD

UGRD:10m]

U

V-Component

of

max

wind gust [U

windstoot [V-Com-ponent.Max.

Wind.Gust

Windstoot]
V-Component of

max wind gust [V.Max.Wind.Gust]

Wind [VGRD:10m]

Grid definition is automatically read from WIWB, so no need to define in grids.xml
Harmonie 36Knmi.Harmonie.36HiRLAMKnmi.HirlamModel Grid, forecast1 hour

Air Pressure [AirPressure]
Dewpoint Temperature [DPT]
Global Radiation Flux [GlobalRadFluxGlobalRad]
High Cloud Cover [HighCloudCover]
Large Scale Precipitation [LargeScaleP]
Latent Heat Flux [LatHeatFlux]
Low Cloud Cover [LowCloudCover]
Medium Cloud Cover [MediumCloudCover]
Net Longwave Radiation Flux [NetLwRadFlux]
Net Shortwave Radiation Flux [NetSwRadFlux]
Relative Humidity [RH]
Sensible Heat Flux [SensHeatFlux]
Snow Depth [SnowDepth]
Soil temperature level 2 [Temperature.Soil.Level2]
Temperature [TMP]
Total Cloud Cover [TCDC]
Total Precipitation [APCP]
U-Component of Wind [UGRD:10m]
V-Component of Wind [VGRD:10m]
Water Equivalent of Accumulated Snow Depth [WaterEqSnowDepth]U-Component of max wind gust [U.Max.Wind.Gust]
V-Component of max wind gust [V.Max.Wind.Gust]

Grid definition is automatically read from WIWB, so no need to define in grids.xml
HiRLAMKnmi.HirlamModel Grid, forecast1 hourKNMI AWS 10 MinutesKnmi.AwsTenMinutesScalar, observed10 minute

Air Pressure [AirPressure]
Dewpoint Temperature [DPT]
Horizontal Visibility [HorizontalVisibility]
Maximum Wind Speed [MaximumWindSpeed]
Precipitation [P]
Precipitation PWS [P_PWS]
Precipitation Duration [Precipitation Duration]
Relative Humidity [RH]
Solar radiation [Radiation.SolarGlobal Radiation Flux [GlobalRadFlux]
High Cloud Cover [HighCloudCover]
Large Scale Precipitation [LargeScaleP]
Latent Heat Flux [LatHeatFlux]
Low Cloud Cover [LowCloudCover]
Medium Cloud Cover [MediumCloudCover]
Net Longwave Radiation Flux [NetLwRadFlux]
Net Shortwave Radiation Flux [NetSwRadFlux]
Sensible Heat Flux [SensHeatFlux]
Snow Depth [SnowDepth]
Temperature [TMP]
Total Cloud Cover [TCDC]
Wind Direction [WindDirection]
Wind Speed [WindSpeed]Total Precipitation [APCP]
U-Component of Wind [UGRD:10m]
V-Component of Wind [VGRD:10m]
Water Equivalent of Accumulated Snow Depth [WaterEqSnowDepth]

Grid definition is automatically read from WIWB, so no need to define in grids.xml
KNMI AWS 10 MinutesKnmi.AwsTenMinutesKNMI Evaporation (From Meteobase)Knmi.FromMeteobase.EvaporationScalar, observed1 dayEvaporation [Evaporation]KNMI Reference EvaporationKnmi.EvaporationScalar, observed1 dayEvaporation [Evaporation]10 minute

Air Pressure [AirPressure]
Dewpoint Temperature [DPT]
Horizontal Visibility [HorizontalVisibility]
Maximum Wind Speed [MaximumWindSpeed]
Precipitation [P]
Precipitation PWS [P_PWS]
Precipitation Duration [Precipitation Duration]
Relative Humidity [RH]
Solar radiation [Radiation.Solar]
Temperature [TMP]
Total Cloud Cover [TCDC]
Wind Direction [WindDirection]
Wind Speed [WindSpeed]


KNMI Evaporation (From Meteobase)Knmi.FromMeteobase.EvaporationScalarKNMI Iris Stations

Knmi.IrisValidated
Knmi.IrisUnvalidated

Scalar, observed1 day

Precipitation [P]
Snow Depth [SnowDepth]

KNMI Naval Reports

Knmi.Naval.Forecasts
Knmi.Naval.Warnings

Report, observed1 dayNaval reports for warnings and forecasts [Naval.Reports]Real-time international radar composite productKnmi.International.Radar.CompositeGrid, radar5 minutePrecipitation [P]Evaporation [Evaporation]
KNMI Reference EvaporationKnmi.EvaporationScalar, observed1 dayEvaporation [Evaporation]
KNMI Iris Stations

Knmi.IrisValidated
Knmi.IrisUnvalidated

Scalar, observed1 day

Precipitation [P]
Snow Depth [SnowDepth]


KNMI Naval Reports

Knmi.Naval.Forecasts
Knmi.Naval.Warnings

Report, observed1 dayNaval reports for warnings and forecasts [Naval.Reports]
Real-time international radar composite productKnmi.International.Radar.CompositeGrid, radar5 minutePrecipitation [P]

Grid definition required in grids.xml.
See below for the configuration example.

Product has no correction to data from meteo stations.

Real-time international radar composite product

Knmi.International.Radar.Composite.Near.Realtime

Knmi.International.Radar.Composite.Near.Realtime.Test

Grid, radar5 minutePrecipitation [P]

Grid definition required in grids.xml.
See below for the configuration example.

Product has only realtime correction to data from meteo stations. The *.Test product is the beta product which uses a more advanced algorithm.

Early reanalysis international radar composite 

Knmi.International.Radar.Composite.Early.Reanalysis

(Knmi.International.Radar.Composite.Early.Reanalysis.Test)

Grid, radar5 minutePrecipitation [P]

Grid definition required in grids.xml.
See below for the configuration example.

Product available after 24-48 hours to enable early correction to data from meteo stations. The *.Test product is the beta product which uses a more advanced algorithm.

Final reanalysis international radar composite

Knmi.International.Radar.Composite.Final.Reanalysis

(Knmi.International.Radar.Composite.Final.Reanalysis.Test)

Grid, radar5 minutePrecipitation [P]

Grid definition required in grids.xml.
See below for the configuration example.

Product available after 30 days to enable final correction to data from meteo stations. The *.Test product is the beta product which uses a more advanced algorithm.

KNMI Radar Uncorrected (Real time)Knmi.Radar.UncorrectedGrid, radar5 minutePrecipitation [P]Grid definition required in grids.xml.
See below for the configuration example.
KNMI Regional EPSKnmi.RegionalEpsEnsemble Scalar, forecast6 hour

Dewpoint Temperature [DPT]
Maximum Temperature [TMAX]
Minimum Temperature [TMIN]
Precipitation [P]
Snow Depth [SnowDepth]
Temperature [TMP]
Total Cloud Cover [TCDC]
U-Component of Wind [UGRD:10m]
V-Component of Wind [VGRD:10m]
Wind Direction [WindDirection]
Wind Speed [WindSpeed]

Note that these are the ensemble member:

1: Operational/deterministicrun
2: Control run

3 to52:perturbed members

So it is advised to store the ensemble in a
temporary ensembleId and to
postprocess
the members 3-52 to the real ensemble.

KNMI SynopsKnmi.SynopsScalar, observed1 hour

Air Pressure [AirPressure]
Dewpoint Temperature [DPT]
Horizontal Visibility [HorizontalVisibility]
Maximum Temperature [TMAX]
Maximum Wind Speed [MaximumWindSpeed]
Minimum Temperature [TMIN]
Precipitation [P]
Precipitation Duration [Precipitation Duration]
Relative Humidity [RH]
Solar radiation [Radiation.Solar]
Temperature [TMP]
Total Cloud Cover [TCDC]
Total Precipitation [APCP]
Wind Direction [WindDirection]
Wind Speed [WindSpeed]


KNMI Synops (From Meteobase)Knmi.FromMeteobase.SynopsScalar, observed1 hourPrecipitation [P]
KNMI Waqua TSKnmi.WaquaTsModel Scalar, forecast10 minute

Astronomical Tide [AstronomicalTide]
Observations from WAQC_ODC [WaquaTs.Obs]
Total Water Level [TotalWaterLevel]
Water Surge [WaterSurge]


KNMI Weather WarningsKnmi.WarningsWarning, observed1 hour

Heat warning [Warning.Heat]
Rain warning [Warning.Rain]
Slipperiness and snow warning [Warning.Slipperiness.Snow]
Storm warning [Warning.Storm]
Vision warning [Warning.Vision]
Whirlwind and waterspout warning [Warning.Whirlwind.Waterspout]
Wind warning [Warning.Wind]


KNMI Water Setup EPSKnmi.WaterSetupEpsEnsemble Scalar, forecast6 hourWater Surge [WaterSurge]
Meteobase Makkink EvaporationMeteobase.Evaporation.MakkinkGrid, observed1 dayEvaporation [Evaporation]
Meteobase Pennman-Monteith EvaporationMeteobase.Evaporation.PennmanMonteithGrid, observed1 dayEvaporation [Evaporation]
Meteobase PrecipitationMeteobase.PrecipitationGrid, observed1 hourPrecipitation [P]
SATDATA3.0 EvapotranspirationSatdata.EvapotranspirationModel grid, forecast1 day

Actual evapotranspiration [Evapotran-spirationActual]
Evapotranspiration shortage [Evapo-transpirationShortage]
Quality Flag [QualityFlag]
Uncertainty [Uncertainty]

Operational product with values for day -1, 0, 1 and 2
SATDATA3.0 Evapotranspiration Re-analysis

Satdata.Evapotranspiration.Reanalysis

Satdata.Evapotranspiration.Reanalysis.V2

Grid, observed1 day

Actual evapotranspiration [Evapotran-spirationActual]
Evapotranspiration shortage [Evapo-transpirationShortage]
Quality Flag [QualityFlag]
Uncertainty [Uncertainty]


Archive of reanalysis data:

the regular product ranges from 2020-01-01 to 2022-06-01 and will not be available after 2023-04-01.

The *.V2 products starts from 2012-07-24 and has a slightly improved algoritm.

Interim Evapotranpiration dataproduct LHM [SATDATA]Interim.Satdata.EvapotranspirationGrid, observed1 dayActual evapotranspiration [Evapotran-spirationActual]
Evapotranspiration shortage [Evapo-transpirationShortage]

ECMWF Ensemble gridEcmwf.Ensemble.15dayEnsemble Grid, forecastvaries from 1-6 hour

Precipitation [P]
Potential Evaporation [Evaporation]

Note: this product is not yet supported


Aggregated products

All data sources as in the table above have their original interval. If you want to import an aggregated product, the WIWB API supports that. You can aggregate every product with a multiplier of its original interval. The <timestep> configured in the Delft-FEWS import moduleInstance of that datasource will be interpreted whether you want to import the original or an aggregated product. E.g. the KNMI Radar products have an original interval of 5 minutes, so aggregation options are 10 minutes (2 x 5 minutes), 15 minutes (3 x 5 minutes) etc. As mentioned, the <timestep> definition in Delft-FEWS will be leading. Disaggregating is not supported.

...

Note that the username and password still has to be set in the general section to be able to login. The username is provided as the "clientId" and the password is provided as the "clientSecret".

Code Block
languagexml
titleExample for Intern. Radar Composite, using OpenID Connect
	<import>
	<general>
			<importType>WIWB</importType>
			<serverUrl>https://wiwb.hydronet.com/api</serverUrl>
			<connectionTimeOutMillis>900000</connectionTimeOutMillis>
			<user>$MY_WIWB_CLIENT_ID$</user>
			<password>$MY_WIWB_CLIENT_SECRET$</password>
			<relativeViewPeriod unit="hour" start="-2" end="0" startOverrulable="false"/>
			<idMapId>IdImportWIWB_radar</idMapId>
			<unitConversionsId>ImportKNMIUnits</unitConversionsId>
			<dataFeedId>WIWB (Knmi.International.Radar.Composite 5min)</dataFeedId>
			<actionLogEventTypeId>Imported.IRC</actionLogEventTypeId>
		</general>
		<properties>
			<string key="dataSource" value="Knmi.International.Radar.Composite"/>
			<string key="authentication" value="BearerToken"/>
			<string key="tokenUrl" value="https://login.hydronet.com/auth/realms/hydronet/protocol/openid-connect/token"/>
		</properties>
		<timeSeriesSet>
			<moduleInstanceId>ImportWIWB</moduleInstanceId>
			<valueType>grid</valueType>
			<parameterId>P.radar</parameterId>
			<locationId>KNMI-RADAR</locationId>
			<timeSeriesType>external historical</timeSeriesType>
			<timeStep unit="minute" multiplier="5"/>
			<readWriteMode>add originals</readWriteMode>
		</timeSeriesSet>
	</import>


Proxy Servers

When the HydroNet WIWB API connection is required to connect to the Hydronet API through a proxy like MuleSoft, additional authentication information might be required in the header. It is possible to add two additional parameters clientId and clientSecret. The default headers are X-IBM-Client-Id and X-IBM-Client-Secret, but these can be changed by configuring the respective headers.

...

Code Block
languagexml
<import>
	<general>
		<importType>WIWB</importType>
		<serverUrl>https://wiwb.hydronet.com/api</serverUrl>
		<connectionTimeOutMillis>900000</connectionTimeOutMillis>
        <user>$MY_WIWB_CLIENT_ID$</user>
  	    <password>$MY_WIWB_CLIENT_SECRET$</password>
        <externalForecastTimesSearchRelativePeriod unit="day" start="-7" end="0"/>
		<externalForecastTimesCardinalTimeStep unit="hour" multiplier="12">
		<idMapId>IdImportWIWB_fc</idMapId>
		<dataFeedId>WIWB (Knmi.RegionalEps)</dataFeedId>
	</general>
	<properties>
		<string key="dataSource" value="Knmi.RegionalEps"/>
        <string key="authentication" value="BearerToken"/>
        <string key="tokenUrl" value="https://login.hydronet.com/auth/realms/hydronet/protocol/openid-connect/token"/>
    </properties>
	<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>
		<ensembleId>EPS</ensembleId>
	</timeSeriesSet>
</import>

Only requesting new data by default

When the WIWB import is connected to a <dataFeedId> FEWS keeps track of the latest time step imported and it will limit the request to a period that is only after that latest time step.

This has been done to be more efficient and prevent the import to keep requesting data that is already imported.

In certain cases this may not be desirable, for instance to request older data that has been missed (it may not have been available or the import didn't run for some time)

In that case the option <trimPeriodWhenLastImportedTimeStepAfterPeriod> can be set to false, then the full period will be requested.