You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
« Previous
Version 10
Next »
Background to EFAS SOS
EFAS SOS is a web API for retrieving EFAS forecasts as data. The API returns an xml file. Example api requests can be found on the SOS services's web page. Note that in order to download recent forecasts, EFAS SOS credentials are required. These can be requested from the EFAS project.
Within EFAS version 4.0, four streamflow forecast products are produced. These are listed in below table which includes various characteristics that are relevant for the configuration of the present Delft-FEWS import.
Forcing | Type | Ensemble range | procedure |
---|
DWD ICON | deterministic |
| eud_lisflood |
COSMO-LEPS | ensemble | 1 - 20 | cos_lisflood |
ECMWF-HRES | deterministic |
| eud_lisflood |
ECMWF-ENS | ensemble | 1 - 50 | eue_lisflood |
The Delft-FEWS import
The European Flood Awareness System(EFAS) Sensor Observation Service(SOS) import function (<importType>EfasSosServer</importType>) imports XML files throughthe EFAS SOS API.
Example import module xml file
Below is an example of an xml config for the EFAS SOS Import Module Instance. Some highlights include:
- import type is
<importTypeStandard>EfasSosServer</importTypeStandard>
- credentials are required to download recent EFAS forecasts, i.e. forecasts that were produced in the last 30 days.
- The procedure property specifies which product is requested. See above table for possible options.
- For ensemble products:
- the following property should be included:
<bool key="ensemble" value="true"/>
- the timeSeriesSet element should include both an
<ensembleId>
and an <ensembleMemberIndexRange>
element. The latter should specify which ensemble members should be requested. Example: <ensembleMemberIndexRange start="1" end="20"/>
<?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>
<importTypeStandard>EfasSosServer</importTypeStandard>
<serverUrl>https://efas-sos.efas.eu/sos/?service=SOS&version=2.0.0</serverUrl>
<user>xxxx</user>
<password>xxxxxxxxxx</password>
<idMapId>id_import_efas_sos</idMapId>
</general>
<properties>
<string key="procedure" value="dwd_lisflood"/>
</properties>
<timeSeriesSet>
<moduleInstanceId>import_efas_sos</moduleInstanceId>
<valueType>scalar</valueType>
<parameterId>Q</parameterId>
<locationId>X007318</locationId>
<timeSeriesType>external forecasting</timeSeriesType>
<timeStep unit="hour" multiplier="6"/>
<readWriteMode>add originals</readWriteMode>
<ensembleId>dwd_lisflood</ensembleId>
</timeSeriesSet>
</import>
<import>
<general>
<importTypeStandard>EfasSosServer</importTypeStandard>
<serverUrl>https://efas-sos.efas.eu/sos/?service=SOS&version=2.0.0</serverUrl>
<user>xxxx</user>
<password>xxxx</password>
<idMapId>id_import_efas_sos</idMapId>
</general>
<properties>
<string key="procedure" value="cos_lisflood"/>
<bool key="ensemble" value="true"/>
</properties>
<timeSeriesSet>
<moduleInstanceId>import_efas_sos</moduleInstanceId>
<valueType>scalar</valueType>
<parameterId>Q</parameterId>
<locationId>X007318</locationId>
<timeSeriesType>external forecasting</timeSeriesType>
<timeStep unit="hour" multiplier="6"/>
<readWriteMode>add originals</readWriteMode>
<ensembleId>cos_lisflood</ensembleId>
<ensembleMemberIndexRange start="1" end="20"/>
</timeSeriesSet>
</import>
<import>
<general>
<importTypeStandard>EfasSosServer</importTypeStandard>
<serverUrl>https://efas-sos.efas.eu/sos/?service=SOS&version=2.0.0</serverUrl>
<user>xxxx</user>
<password>xxxx</password>
<idMapId>id_import_efas_sos</idMapId>
</general>
<properties>
<string key="procedure" value="eud_lisflood"/>
</properties>
<timeSeriesSet>
<moduleInstanceId>import_efas_sos</moduleInstanceId>
<valueType>scalar</valueType>
<parameterId>Q</parameterId>
<locationId>X007318</locationId>
<timeSeriesType>external forecasting</timeSeriesType>
<timeStep unit="hour" multiplier="6"/>
<readWriteMode>add originals</readWriteMode>
<ensembleId>eud_lisflood</ensembleId>
</timeSeriesSet>
</import>
<import>
<general>
<importTypeStandard>EfasSosServer</importTypeStandard>
<serverUrl>https://efas-sos.efas.eu/sos/?service=SOS&version=2.0.0</serverUrl>
<user>xxxx</user>
<password>xxxx</password>
<idMapId>id_import_efas_sos</idMapId>
</general>
<properties>
<string key="procedure" value="eue_lisflood"/>
<bool key="ensemble" value="true"/>
</properties>
<timeSeriesSet>
<moduleInstanceId>import_efas_sos</moduleInstanceId>
<valueType>scalar</valueType>
<parameterId>Q</parameterId>
<locationId>X007318</locationId>
<timeSeriesType>external forecasting</timeSeriesType>
<timeStep unit="hour" multiplier="6"/>
<readWriteMode>add originals</readWriteMode>
<ensembleId>eue_lisflood</ensembleId>
<ensembleMemberIndexRange start="1" end="50"/>
</timeSeriesSet>
</import>
</timeSeriesImportRun>
Debugging
When the data request and/or import fails, there is the option to retrieve the data request url from the log. This requires that the module is run in debug mode. You may want to copy the url into a browser and identify what the browser response is.