Overview

Imports time series data from the Landsat satellite. The files are in HDF5 file format. See the NASA site for information on the files.

Each file contains a single image of one particular meteorological parameter. The following parameters are supported (note: these are the names of the data items in the HDF5 files):

  • "LAI"
  • " ET" (note the three spaces in front!)
  • "ET"
  • "FVC"
  • "LST"
  • "SZA"
  • "SC" - snow cover
  • DSSF
  • DSSF_TOT
  • DIDSSF
  • METREF

This import uses a general C++ DLL for reading the HDF5 files. On some Windows systems the correct runtime components of Visual C++ Libraries are not installed by default. A Microsoft Visual C++ 2008 SP1 Redistributable Package must be installed on the computers to solve the problem. Problems have been found on Windows 2003 and Windows 2008 server computers.

On Linux importing HDF5 files will fail if the operating system is too old. From available evidence,
the kernel must be at GLIBC 2.6.18 (see the output of the "uname -a" command).

Configuration (Example)

A complete import module configuration consists of an ID Mapping file and a Import Module Instance file. To convert the rainfall in a proper unit (from 0.01 mm per 3 hour to mm/hr for example) it is also required to configure a Unit Conversion file.

ModuleConfigFiles

The following example of an Import Module Instance will import the time series as equidistant series for timezone GMT with a time step of 6 hours.

ImportLandsat.xml
<timeSeriesImportRun ......">
  <import>
    <!--Meteo data-->
    <general>
      <importType>Landsat-HDF5</importType>
      <folder>$IMPORT_FOLDER_LANDSAT$</folder>
      <failedFolder>$IMPORT_FAILED_FOLDER_LANDSAT$</failedFolder>
      <backupFolder>$IMPORT_BACKUP_FOLDER_LANDSAT$</backupFolder>
      <idMapId>IdImportLandsat</idMapId>
      <unitConversionsId>ImportLandsatUnits</unitConversionsId>
      <!--radar is in GMT-->
      <importTimeZone>
        <timeZoneOffset>+00:00</timeZoneOffset>
      </importTimeZone>
      <dataFeedId>Landsat</dataFeedId>
    </general>
    <timeSeriesSet>
      <moduleInstanceId>ImportLandsat</moduleInstanceId>
      <valueType>grid</valueType>
      <parameterId>Snow-cover</parameterId>
      <locationId>Landsat-grid</locationId>
      <timeSeriesType>external historical</timeSeriesType>
      <timeStep unit="hour" multiplier="3" timeZone="GMT+1"/>
      <readWriteMode>add originals</readWriteMode>
      <synchLevel>6</synchLevel>
    </timeSeriesSet>
  </import>
</timeSeriesImportRun>

IdMapFiles

Defines mappings between Landsat and FEWS parameters and locations.

sample of IdImportLandsat.xml
<idMap version="1.1" ......>
  <map internalParameter="Snowcover" internalLocation="Landsat-grid" externalParameter="SC"  externalLocation="Landsat-grid"/>
</idMap>

Grid definition

Defines the definition of the Landsat grid. As not all this information is present in the Landsat files, it needs to be defined in this way.

sample of Grids.xml
<?xml version="1.0" encoding="UTF-8"?>
<grids ...........>
	<regular locationId="GridName">
		<rows>651</rows>
		<columns>1701</columns>
		<geostationarySatelliteView>
			<centralMeridian>0.0</centralMeridian>
		</geostationarySatelliteView>
		<firstCellCenter>
			<!-- First x must be -COFF*2**16/CFAC, first y must be (NR-LOFF)*2**16/LFAC as found in the HDF5 files
			     Cell sizes must be 2**16/CFAC and 2**16/LFAC -->
			<x>-1.4796</x>
			<y>8.6854</y>
		</firstCellCenter>
		<xCellSize>0.00480387</xCellSize>
		<yCellSize>0.00480387</yCellSize>
</grids>

Description of the coordinate system:

  • The Landsat files contain a set of attributes, of which COFF, LOFF, CFAC and LFAC are the most important ones, as they can be used to determine the coordinate system.
  • According to the document http://www.eumetsat.int/groups/cps/documents/document/pdf_cgms_03.pdf, the image coordinates have to be converted to intermediate coordinates x and y that in turn can be converted into longitude and latitude.
  • For the Delft-FEWS configuration we need the extremes for x and y (as the satellite image is a rectangle in these coordinates).
  • The firstCellCenter's x and y need to be computed as:

        x = -COFF * 2^16 / CFAC
        y = +LOFF * 2^16 / LFAC
    
  • The cell sizes are to be determined as 2^16 / CFAC and 2^16 / LFAC.
  • The centralMeridian may be taken from the Landsat file, but care must be taken: as we give the cell centers a shift may be needed to get the image right.

Example Files

See attached files

Note on possible problems

We have seen problems with this import on a number of systems, notably Windows server 2008. It turned out that on those systems the underlying runtime libraries need several extra DLLs that are not required on other systems (see for instance the page on known problems for the HDF viewer). Installing the .NET 3.5 Service Pack 1 solves this problem (http://download.microsoft.com/download/2/0/e/20e90413-712f-438c-988e-fdaa79a8ac3d/dotnetfx35.exe)

  • No labels