Skip to main content

EcoSar Data

Available Data Products

All available data products are made available via the following anonymous FTP site:

ftp://fusion.gsfc.nasa.gov/radar/EcoSAR/

We closely follow the UAVSAR PolSAR Data Format, with some added fields that are unique to EcoSAR. For completeness here we provide the entire structure.

EcoSAR data format 

The format of the following files are described:

SLC files (.slc): calibrated single look complex files for each polarization (HH, HV, VH, and VV), 4-byte floating point format, little endian, pixel interleaved (real, imaginary, 8 bytes per pixel), corresponding to the scattering matrix.

MLC files (.mlc): calibrated multi-looked cross products, floating point format, three complex files 8 bytes per pixel, three real files 4 bytes per pixel, little endian.

Ground projected files (.grd): calibrated complex cross products projected to the ground in simple geographic coordinates (latitude, longitude). There is a fixed number of looks for each pixel. Floating point, little endian, 4 bytes per pixel.

Hgt file: the DEM that the imagery was projected to, in the same geographic coordinates as the ground projected files. Floating point (4 bytes per pixel), little endian, ground elevation in meters.

Annotation file (.ann): a text file with metadata.

File Naming Convention

Each filename consists of the following components, separated by underscores:

Six character abbreviation for the desired target site (image may contain other sites).

Three digits aircraft heading followed by a incremented alphanumeric counter (this is set during flight planning).

Five digits in which the first two digits are the last two digits of the year of the EcoSAR flight, and the next three digits are the flight number by EcoSAR counted sequentially from the first flight of the year.

Three digits indicating which flight line of the flight this acquisition was from, counted sequentially from the beginning of the flight.

Six digits in which the first two digits are the last two digits of the year of the flight, the next two digits are the month the acquisition was acquired, and the last two digits are the day of the month of the acquisition (UTC) (eg. YYMMDD).

Between 8 characters, a single character indicating the frequency band, followed by the steering angle (three digits) followed by the polarization. The polarization may be between 2 characters (first character is the transmit polarization, and second character is the receive polarization) and 4 characters (if the file represents a cross product). If only two character polarization missing characters are padded with underscores. 

Two characters indicating whether cross talk has been calibrated or not. XX - no cross talk calibration. CX - cross talk calibration has been applied.

Two digits indicating the processing version number.

Three digit file extension indicating the data type. For example:

OSAPEN_135xx_14xxx_xxx140331_P125HHHH_XX_03.mlc

where OSAPEN is the site name, 135 degrees is the heading of EcoSAR in flight, with a counter of xx, the flight was the xx flight by EcoSAR in 2014, this data take was the xxx data take during the flight, the data was acquired on March 31, 2014 (UTC), the frequency band was P-band, pointing at perpendicular to the flight heading (125 degrees counterclockwise, 35 degrees to the right), this file contains the HHHH data, this is the third iteration of processing, cross talk calibration has not been applied, and the data type is MLC.

 

Data format description

SLC data:

The SLC is a pure binary file (complex floating-point, 8 bytes per pixel) with no header bytes. The number of lines and samples are entered in the annotation file as slc_amp.set_rows and slc_amp.set_cols respectively. There is a separate file for each polarization channel (HH, HV, VH, and VV). The pixel spacing in meters is given in the annotation file by slc_amp.row_mult and slc_amp.col_mult for the azimuth and range directions, respectively. The projection of the data is in the natural slant range projection. The geographic coordinates of the data are defined by the " Peg position and heading ", and by the cross track and along track offset of the upper left pixel (given by set_plat, set_plon, and set_phdg, and slc_amp.row_addr and slc_amp.col_addr in the annotation file). The byte order is little endian. The units of the data are linear radar amplitude (rather than dB units).

The four complex SLC files correspond to the measurement of the scattering matrix: Shh, Shv, Svh, Svv

MLC data:

The MLC is a pure binary file with no header bytes. Three of the files are complex floating point, 8 byte per pixel. These complex products are derived from the average (usually 3 pixels in range, and 12 pixels in azimuth, given precisely by " Number of Range Looks in MLC " and "Number of Azimuth Looks in MLC" in the annotation file) of the product of each SLC pixel and correspond to: ShhShv*, ShhSvv*, ShvSvv*

Three of the files are real floating point, 4 bytes per pixel. These real powers are derived from the average (usually 3 pixels in range, and 12 pixels in azimuth, given precisely by " Number of Range Looks in MLC " and "Number of Azimuth Looks in MLC" in the annotation file) of the product of each SLC pixel and correspond to: ShhShh*, ShvShv*, SvvSvv*

The number of lines and samples are entered in the annotation file as mlc_mag.set_rows and mlc_mag.set_cols respectively. There is a separate file for each product (HHHH, HVHV, VVVV, HHHV, HHVV, HVVV). The pixel spacing in meters is given in the annotation file by mlc_mag.row_mult and mlc_mag.col_mult for the azimuth and range directions, respectively. The projection of the data is in the natural slant range projection. The geographic coordinates of the data are defined by the "Peg position and heading", and by the cross track and along track offset of the upper left pixel (given by set_plat, set_plon, and set_phdg, and mlc_mag.row_addr and mlc_mag.col_addr in the annotation file). The byte order is little endian. The units of the data are linear radar power (rather than dB units).

GRD data:

The grd files consists of three real floating point, 4 bytes per pixel, and three complex floating point, 8 bytes per pixel files. The number of lines and samples may be found in the annotation file and are given by grd_mag.set_rows and grd_mag.set_cols respectively. The grd files contain projected multi-looked data for cross-products HHHH, HVHV, VVVV, HHHV, HVHV, and HVVV: ShhShv*, ShhSvv*, ShvSvv*, ShhShh*, ShvShv*, SvvSvv*

in linear power units rather than db. The byte order is little endian. The data is in an equiangular coordinate system in which each line and pixel increments in latitude and longitude by grd_mag.row_mult and grd_mag.col_mult degrees from the upper left corner coordinate given by grd_mag.row_addr and grd_mag.col_addr

EcoSAR projects slant range images to ground range using the backward projection method. An equiangular grid is found with latitude and longitude boundaries that cover the entire slant range image. For each point on the ground range grid, the corresponding indices are calculated on the multilooked slant range image. The data value closest to the coordinates pointed by the calculated slant range indices are interpolated to the point on the ground range grid.

These files are co-registered to the HGT file.

HGT data:

The height file is a pure binary real*4 floating point file where the number of lines and samples may be found in the annotation file and are given by hgt.set_rows and hgt.set_cols respectively. This height file contains the values of elevation used to project the slant range data to the Earth's surface. The value of the ground elevation is given in meters. The datum is given by "DEM Datum" in the annotation file. The source of the DEM is given by "DEM source" in the annotation file. The data is in an equiangular coordinate system in which each line and pixel increments in latitude and longitude by hgt.row_mult and hgt.col_mult degrees from the upper left corner coordinate given by hgt.row_addr and hgt.col_addr

This file is co-registered to the GRD files.

Annotation file:

The annotation file (.ann) is a keyword/value ASCII file in which the value on the right of the equals sign corresponds to the keyword on the left of the equals sign. The number of keywords may change with time, so the line number should not be assumed to be constant for any given keyword. In addition, the spacing between keywords and values may change. The units are given in parenthesis between the keyword and equal sign, and may change from annotation file to annotation file and within each annotation file. Comments are indicated by semicolons (;), and may occur at the beginning of a line, or at the middle of a line (everything after the semicolon on that line is a comment). The length of each text line is variable, and ends with a carriage return. There may be lines with just a carriage return or spaces and a carriage return.

When using mdx to display the data files, use the corresponding display parameters in the annotation file. Use mlc_pwr to display the three real (4 byte per pixel) MLC data: HHHH, HVHV, and VVVV. Use mlc_mag and mlc_phase to display the three complex (8 byte per pixel) MLC data: HHHV, HHVV, and HVVV. Similarly, use grd_pwr to display real (4 byte per pixel) GRD data. Use grd_mag and grd_phase to display complex (8 byte per pixel) GRD data.

References:

  1. EcoSAR Annotation File Example
  2. UAVSAR PolSAR Data Format