...
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 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 | ||
---|---|---|
| ||
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) |
...
An extended table, offering more information about the WIWB parameters can be found the attached overview Excel file (version November 2018).
Datasource name | Datasource code (ID) | Type | Original Interval | Available Parameter(s) [parameter code] | Remarks | |
---|---|---|---|---|---|---|
Harmonie 40 | Knmi.Harmonie | Model Grid, forecast | 1 hour | Air pressure [AirPressure] | ||
Harmonie 36 | Knmi.Harmonie.36 | Model Grid, forecast | 1 hour | Air Pressure [AirPressure] | ||
HiRLAM | Knmi.Hirlam | Model Grid, forecast | 1 hour | Air Pressure [AirPressure] | ||
KNMI AWS 10 Minutes | Knmi.AwsTenMinutes | Scalar, observed | 10 minute | Air Pressure [AirPressure] | ||
KNMI Evaporation (From Meteobase) | Knmi.FromMeteobase.Evaporation | Scalar, observed | 1 day | Evaporation [Evaporation] | ||
KNMI Reference Evaporation | Knmi.Evaporation | Scalar, observed | 1 day | Evaporation [Evaporation] | ||
KNMI Iris Stations | Knmi.IrisValidated | Scalar, observed | 1 day | Precipitation [P] | ||
KNMI Naval Reports | Knmi.Naval.Forecasts | Report, observed | 1 day | Naval reports for warnings and forecasts [Naval.Reports] | ||
Real-time international radar composite product | Knmi.International.Radar.Composite | Grid, radar | 5 minute | Precipitation [P] | Grid definition required in grids.xml. Product has no correction to data from meteo stations. | |
Early reanalysis international radar composite | Knmi.International.Radar.Composite.Early.Reanalysis | Grid, radar | 5 minute | Precipitation [P] | Grid definition required in grids.xml. Product available after 24-48 hours to enable early correction to data from meteo stations. | |
Final reanalysis international radar composite | Knmi.International.Radar.Composite.Final.Reanalysis | Grid, radar | 5 minute | Precipitation [P] | Grid definition required in grids.xml. Product available after 30 days to enable final correction to data from meteo stations. | |
KNMI Radar Uncorrected (Real time) | Knmi.Radar.Uncorrected | Grid, radar | 5 minute | Precipitation [P] | Grid definition required in grids.xml. See below for the configuration example. | |
KNMI Regional EPS | Knmi.RegionalEps | Ensemble Scalar, forecast | 6 hour | Dewpoint Temperature [DPT] | Note that the ensemble members 1-50 are the real ensemble, while member 51 and 52 are the control and deterministic runs. So it is advised to store the ensemble in a temporary ensembleId and to postprocess the members 1-50 to the real ensemble. | |
KNMI Synops | Knmi.Synops | Scalar, observed | 1 hour | Air Pressure [AirPressure] | ||
KNMI Synops (From Meteobase) | Knmi.FromMeteobase.Synops | Scalar, observed | 1 hour | Precipitation [P] | ||
KNMI Waqua TS | Knmi.WaquaTs | Model Scalar, forecast | 10 minute | Astronomical Tide [AstronomicalTide] | ||
KNMI Weather Warnings | Knmi.Warnings | Warning, observed | 1 hour | Heat warning [Warning.Heat] | ||
KNMI Water Setup EPS | Knmi.WaterSetupEps | Ensemble Scalar, forecast | 6 hour | Water Surge [WaterSurge] | ||
Meteobase Makkink Evaporation | Meteobase.Evaporation.Makkink | Grid, observed | 1 day | Evaporation [Evaporation] | ||
Meteobase Pennman-Monteith Evaporation | Meteobase.Evaporation.PennmanMonteith | Grid, observed | 1 day | Evaporation [Evaporation] | ||
Meteobase Precipitation | Meteobase.Precipitation | Grid, observed | 1 hour | Precipitation [P] | ||
SATDATA3.0 Evapotranspiration | Satdata.Evapotranspiration | Model grid, forecast | 1 day | Actual evapotranspiration [Evapotran-spirationActual] | ||
SATDATA3.0 Evapotranspiration Re-analysis | Satdata.Evapotranspiration.Reanalysis | Grid, observed | 1 day | Actual evapotranspiration [Evapotran-spirationActual] | ||
Interim Evapotranpiration dataproduct LHM [SATDATA] | Interim.Satdata.Evapotranspiration | Grid, observed | 1 day | Actual evapotranspiration [Evapotran-spirationActual] Evapotranspiration shortage [Evapo-transpirationShortage] | ||
ECMWF Ensemble grid | Ecmwf.Ensemble.15day | Ensemble Grid, forecast | varies from 1-6 hour | Precipitation [P] | 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.
...
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. To set these headers use the properties below:
Starting with May 1, Hydronet API uses a different endpoint to provide the users with an access token. To retrieve the token a client id, client secret and a token url are necessary. The client ID and secret can be configured as username and password respectively. The token url should be configured as a property. If configured, FEWS will retrieve the token for the import. If it isn’t added to the config, FEWS will assume that the old authentication process is still in use.
To set these headers use the properties below:
Code Block | ||||
---|---|---|---|---|
Code Block | ||||
| ||||
<properties>
<string key="dataSource" value="BHP.Composite.Adjusted"/>
<string key="authentication" value="BearerToken"/>
<string key="keepDownloadDataInTempFolder" value="true" "/>
<string key="clientId" value="ID"/>
<string key="clientIdHeader" value="ID"/>
<string key="clientSecret" value="Secret"/>
<string key="clientSecretHeader" value="ID"/>
<bool key="logClientIdHeader" value="true"/>
<string key="tokenUrl" value="https://login.hydronet.com/auth/realms/hydronet/protocol/openid-connect/token"></string>
</properties> |
Import types: WIWB and WIWB_async (grids only)
...
Code Block | ||
---|---|---|
| ||
<import> <general> <importType>WIWB_async</importType> <serverUrl>https://wiwb.hydronet.com/api</serverUrl> <connectionTimeOutMillis>900000</connectionTimeOutMillis> <user>$WIWB_USER$</user> <password>$WIWB_PW$</password> <relativeViewPeriod unit="hour" start="-24" end="0" startOverrulable="true"/> <idMapId>IdImportWIWB_radar</idMapId> <dataFeedId>WIWB (Knmi.Radar.CorrectedC2, hour)</dataFeedId> </general> <properties> <string key="dataSource" value="Knmi.Radar.CorrectedC2"/> <double key="minimumAggregationAvailability" value="1.00"/> <string key="minimumAggregationAvailabilitytokenUrl" value="1.00"/>https://login.hydronet.com/auth/realms/hydronet/protocol/openid-connect/token"></string> <</properties> <timeSeriesSet> <moduleInstanceId>ImportRadar</moduleInstanceId> <valueType>grid</valueType> <parameterId>P.radar</parameterId> <qualifierId>CorrectedC2</qualifierId> <locationId>Hydronet_radar</locationId> <timeSeriesType>external historical</timeSeriesType> <timeStep unit="hour" multiplier="1"/> <readWriteMode>add originals</readWriteMode> <synchLevel>6</synchLevel> </timeSeriesSet> </import> |
...
Code Block | ||
---|---|---|
| ||
<import>
<general>
<importType>WIWB</importType>
<serverUrl>https://wiwb.hydronet.com/api</serverUrl>
<connectionTimeOutMillis>900000</connectionTimeOutMillis>
<user>$WIWB_USER$</user>
<password>$WIWB_PW$</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="tokenUrl" value="https://login.hydronet.com/auth/realms/hydronet/protocol/openid-connect/token"></string>
</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> |
...