We support output geocoded displacement time-series product into HDF-EOS5 format via `save_hdfeos5.py`. This is designed to easily share the InSAR time-series product to the broader community.

    save_hdfeos5.py geo_timeseries_ERA5_ramp_demErr.h5 --tc geo_temporalCoherence.h5 --asc geo_avgSpatialCoh.h5 -m geo_maskTempCoh.h5 -g geo_geometryRadar.h5
    save_hdfeos5.py timeseries_ERA5_ramp_demErr.h5     --tc temporalCoherence.h5     --asc avgSpatialCoh.h5     -m maskTempCoh.h5     -g inputs/geometryGeo.h5

#### 1. File structure

    /                             Root level group
    Attributes                    metadata in dict
    /HDFEOS/GRIDS/timeseries      timeseries group
        /observation
            /displacement         3D array of float32 in size of (n, l, w) in meter
            /date                 1D array of string  in size of (n,     ) in YYYYMMDD format.
            /bperp                1D array of float32 in size of (n,     ) in meter
        /quality
            /mask                 2D array of bool_   in size of (   l, w).
            /temporalCoherence    2D array of float32 in size of (   l, w).
            /avgSpatialCoherence  2D array of float32 in size of (   l, w).
        /geometry
            /height               2D array of float32 in size of (   l, w) in meter.
            /incidenceAngle       2D array of float32 in size of (   l, w) in degree.
            /slantRangeDistance   2D array of float32 in size of (   l, w) in meter.
            /azimuthAngle         2D array of float32 in size of (   l, w) in degree. (optional)
            /shadowMask           2D array of bool    in size of (   l, w).           (optional)
            /waterMask            2D array of bool    in size of (   l, w).           (optional)
            /bperp                3D array of float32 in size of (n, l, w) in meter.  (optional)

#### 2. Metadata

Besides the attributes used in MintPy, we add extra metadata inheritated from UNAVCO InSAR Product Archive (format specification) as below:

##### 2.1 required & manual

The following metadata requires manual specification in the custom template file, e.g. WellsEnvD2T399.txt.

- mission: short name of the air-/space-borne SAR (constellation) mission, e.g. ALOS, ALOS2, CSK, ENV, ERS, JERS, NISAR, RS1, RS2, S1, TSX, UAV [auto-grabbed for tops/stripmap/alosStack only]
- beam_mode: short name of the beam mode as used by the space agency, e.g. IW for Sentinel-1, SM for stripmap, SL for spotlight, etc. [auto-grabbed for tops/stripmapStack only]
- relative_orbit: relative orbit (track / path) number [auto-grabbed for tops/stripmapStack only]
- first/last_frame: first and last frame number (same if only one frame) [auto-grabbed for tops/alosStack only]

##### 2.2 recommended & manual

- beam_swath: value used by the space agency, e.g. 1/2/3 for Sentinel-1 IW (default: 0)
- processing_dem: DEM data source used during processing, e.g. SRTM, ASTER, NED (default: Unknown) …
- unwrap_method: method used for phase unwrapping, e.g. snaphu (default: Unknown)
- atmos_correct_method: method/model used for atmospheric correction (default: None)

##### 2.3 auto-grabbed / hardwired by script

- first/last_date: ISO 8601 format (YYYY-MM-DD) [auto-grabbed]
- data_footprint: WKT formatted polygon outlining the area covered by the data [precise; for geocoded file only; auto-grabbed from Y/X_FIRST/STEP]. This is temporary and should be merged into scene_footprint.
- scene_footprint: WKT formatted polygon outlining the area covered by the data [coarse; auto-grabbed from LON/LAT_REF1/2/3/4]
- processing_type: data product processing level, e.g. INTERFEROGRAM, LOS_VELOCITY, LOS_TIMESERIES [hardwired as LOS_TIMESERIES]
- history: creation date and time in ISO 8601 format (YYYY-MM-DD) [auto-grabbed]
- processing_software: method/software used to generate interferograms/offsets (default: isce) [auto-grabbed from PROCESSOR]
- post_processing_software: method/software used to generate time-series or velocity field [hardwired as MintPy].
- flight_direction: flight direction of the satellite platform, A(scending) or D(escending) (default: Unknown) [auto-grabbed from ORBIT_DIRECTION]
- look_direction: R(ight) or L(eft) [auto-grabbed from ANTENNA_SIDE]
- polarization: transmit and received polarization of the radar wave: HH, VV, HH+VV, etc. (default: Unknown) [auto-grabbed from POLARIZATION]
- prf: pulse repetition frequency (default: 0) [auto-grabbed from PRF]
- wavelength: radar wavelength [auto-grabbed from WAVELENGTH]

#### 3. Filename convention

Inherited from UNAVCO InSAR Product Archive (format specification), we use the filename convention below:

<SAT>_<SW>_<RELORB>_<FRAME1>(_<FRAME2>)_<DATE1>_<DATE2>(_<SUB>).he5

E.g. S1_IW12_128_0593_0597_20141213_20170928.he5

Items | Descriptions | Values
--- | --- | ---
<SAT> | Mission name | ALOS, ALOS2, CSK, ENV, ERS, JERS, NISAR, RS1, RS2, S1, TSX, UAV
<SW> | Beam mode with swath number | SM2 (for ENV), IW3 (for S1)
<RELORB> | Relative orbit (track) number | 3 digits with zero padding
<FRAME1> | Start frame number | 4 digits with zero padding
<FRAME2> | End frame number | 4 digits with zero padding; shown only if it’s different from \<FRAME1>
<DATE1> | Start date | YYYYMMDD
<DATE2> | End date | YYYYMMDD; “XXXXXXXX” if update mode is ON.
<SUB> | Subset range | N{:05d}_S{:05d}_W{:05d}_E{:05d} in degrees; number with precision of 3 digits after decimal * 1000; e.g. S00500_N01300_W001200_E005800; shown only if data is cropped.

#### 4. Web Viewer

HDF-EOS5 file format is used as the input of the University of Miami’s web viewer for InSAR time-series products. Below is a screenshot of the web viewer for the dataset on Kuju volcano from ALOS-1 ascending track 422.

http://insarmaps.miami.edu

InSAR Web Viewer

GitHub « Previous Next »