Versions Compared

Key

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

Overview

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.

...

The EfasSosServer import supports observations as defined in http://schemas.opengis.net/sos/2.0/sosGetObservation.xsd.

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"/>
Code Block
languagexml
linenumberstrue
collapsetrue
<?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.Example url for retrieval of ensemble of 50 from api.
https://efas-sos.efas.eu/sos/?service=SOS&version=2.0.0&request=GetObservation&featureOfInterest=ID_1&procedure=eue_lisflood_50&temporalFilter=om:resultTime,2020-08-10T00:00:00Z