Overview
The Brazil Ana import function (<importType>BrazilAna</importType>) imports telemetry data from a custom XML format.
From the BrazilAna data format the following is imported:
- Observation time in the format yyyy-MM-dd HH:mm:ss (DataHora)
- Station code (CodEstacao)
- Discharge (Vazao)
- Level (Nivel)
- Rainfall (Chuva)
Configuring the Import
To make the importer known to FEWS, the import module has to be declared in the moduleInstanceDescriptors.xml in the RegionConfigFiles directory of the FEWS configuration:
<?xml version="1.0" encoding="UTF-8"?> <moduleInstanceDescriptors 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/moduleInstanceDescriptors.xsd" version="1.0"> ... <moduleInstanceDescriptor id="ImportBrazilAna"> <moduleId>TimeSeriesImportRun</moduleId> </moduleInstanceDescriptor> ... </moduleInstanceDescriptors>
An example of the BrazilAna import configuration is given here. The importType is named BrazilAna which should be configured in the general section of the import.
<?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>BrazilAna</importType> <folder>$IMPORT_FOLDER$/brazilana</folder> <idMapId>ImportBrazilAnaMapId</idMapId> </general> <timeSeriesSet> <moduleInstanceId>ImportBrazilAna</moduleInstanceId> <valueType>scalar</valueType> <parameterId>H.observed</parameterId> <locationId>Brasilia</locationId> <timeSeriesType>external historical</timeSeriesType> <timeStep unit="hour" multiplier="1"/> <readWriteMode>add originals</readWriteMode> </timeSeriesSet> <timeSeriesSet> <moduleInstanceId>ImportBrazilAna</moduleInstanceId> <valueType>scalar</valueType> <parameterId>Q.observed</parameterId> <locationId>Brasilia</locationId> <timeSeriesType>external historical</timeSeriesType> <timeStep unit="hour" multiplier="1"/> <readWriteMode>add originals</readWriteMode> </timeSeriesSet> <timeSeriesSet> <moduleInstanceId>ImportBrazilAna</moduleInstanceId> <valueType>scalar</valueType> <parameterId>H.simulated</parameterId> <locationId>Brasilia</locationId> <timeSeriesType>external historical</timeSeriesType> <timeStep unit="hour" multiplier="1"/> <readWriteMode>add originals</readWriteMode> </timeSeriesSet> </import> </timeSeriesImportRun>
The IdMapping configuration ImportBrazilAnaMapId is important because this maps the internal FEWS Id's to the BrazilAna Id's. An example IdMapping file for the BrazilAna importer is shown below.:
<?xml version="1.0" encoding="UTF-8"?>
<idMap version="1.1" 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">
....
<parameter internal="H.observed" external="Nivel"/>
<parameter internal="Q.observed" external="Vazao"/>
<parameter internal="H.simulated" external="Chuva"/>
<location external="40450001" internal="Brasilia" />
....
</idMap>
Example BrazilAna import file
<?xml version="1.0" encoding="utf-8"?>
<DataTable xmlns="http://MRCS/">
<xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:MainDataTable="DadosHidrometereologicos" msdata:UseCurrentLocale="true">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="DadosHidrometereologicos">
<xs:complexType>
<xs:sequence>
<xs:element name="CodEstacao" type="xs:string" minOccurs="0" />
<xs:element name="DataHora" type="xs:string" minOccurs="0" />
<xs:element name="Vazao" type="xs:string" minOccurs="0" />
<xs:element name="Nivel" type="xs:string" minOccurs="0" />
<xs:element name="Chuva" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
<diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
<DocumentElement xmlns="">
<DadosHidrometereologicos diffgr:id="DadosHidrometereologicos1" msdata:rowOrder="0">
<CodEstacao>40450001</CodEstacao>
<DataHora>2015-03-02 17:00:00 </DataHora>
<Vazao>64.10</Vazao>
<Nivel>113.00</Nivel>
<Chuva />
</DadosHidrometereologicos>