Skip to content

Commit

Permalink
sensor/ERS: add pulse_length and chirp_slope
Browse files Browse the repository at this point in the history
+ sensor: add pulse_length and chirp_slope for ERS

+ prep_hyp3: replace inc_map with lv_theta, to be consistent with readthedoc

+ save_kmz: more doc on radar-coded file support

+ .circleci/config.yml: add resource_class
  • Loading branch information
yunjunz committed Nov 13, 2021
1 parent 928db34 commit e14a53e
Show file tree
Hide file tree
Showing 4 changed files with 27 additions and 20 deletions.
1 change: 1 addition & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ jobs:
MINTPY_HOME: /root/tools/MintPy
user: root
working_directory: /root/tools/MintPy
resource_class: medium
steps:
- checkout
- run:
Expand Down
21 changes: 12 additions & 9 deletions mintpy/objects/sensor.py
Original file line number Diff line number Diff line change
Expand Up @@ -240,16 +240,19 @@ def get_unavco_mission_name(meta_dict):

# ERS-1/2
# from Table 2 in Jung et al. (2014)
# from Imaging Radar class by Howard Zebker, 2021.
ERS = {
'carrier_frequency' : 5.300e9, # Hz
'altitude' : 783e3, # m, mean value
'antenna_length' : 10.0, # m
'doppler_bandwidth' : 1500, # Hz
'pulse_repetition_frequency' : 1680, # Hz
'chirp_bandwidth' : 15.55e6, # Hz
'sampling_frequency' : 18.96e6, # Hz
'azimuth_pixel_size' : 4.2, # m
'ground_range_pixel_size' : 20.2, # m
'carrier_frequency' : 5.300e9, # Hz
'altitude' : 783e3, # m, mean value
'antenna_length' : 10.0, # m
'doppler_bandwidth' : 1500, # Hz
'pulse_repetition_frequency' : 1679.9, # Hz
'pulse_length' : 37.12e-6, # s
'chirp_bandwidth' : 15.55e6, # Hz
'chirp_slope' : 4.189166e11, # Hz
'sampling_frequency' : 18.96e6, # Hz
'azimuth_pixel_size' : 4.2, # m
'ground_range_pixel_size' : 20.2, # m
}

# Envisat
Expand Down
10 changes: 5 additions & 5 deletions mintpy/prep_hyp3.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
prep_hyp3.py interferograms/*/*unw_phase_clip.tif
prep_hyp3.py interferograms/*/*corr_clip.tif
prep_hyp3.py interferograms/*/*dem_clip.tif
prep_hyp3.py interferograms/*/*inc_map_clip.tif
prep_hyp3.py interferograms/*/*lv_theta_clip.tif
prep_hyp3.py interferograms/*/*clip.tif
"""

Expand All @@ -34,7 +34,7 @@
A DEM filename is needed and a incidence angle filename is recommended e.g.:
1) S1AA_20161223T070700_20170116T070658_VVP024_INT80_G_ueF_74C2_dem.tif
2) S1AA_20161223T070700_20170116T070658_VVP024_INT80_G_ueF_74C2_inc_map.tif
2) S1AA_20161223T070700_20170116T070658_VVP024_INT80_G_ueF_74C2_lv_theta.tif
This script will read these files, read the geospatial metadata from GDAL,
find the corresponding HyP3 metadata file (for interferograms and coherence),
Expand All @@ -50,7 +50,7 @@
S1AA_20161223T070700_20170116T070658_VVP024_INT80_G_ueF_74C2.txt
For the geometry file 2 file are recommended:
S1AA_20161223T070700_20170116T070658_VVP024_INT80_G_ueF_74C2_dem_clip.tif (required)
S1AA_20161223T070700_20170116T070658_VVP024_INT80_G_ueF_74C2_inc_map_clip.tif (optional but recommended)
S1AA_20161223T070700_20170116T070658_VVP024_INT80_G_ueF_74C2_lv_theta_clip.tif (optional but recommended)
After running prep_hyp3.py:
For each interferogram:
Expand All @@ -62,8 +62,8 @@
For the input geometry files:
S1AA_20161223T070700_20170116T070658_VVP024_INT80_G_ueF_74C2_dem_clip.tif
S1AA_20161223T070700_20170116T070658_VVP024_INT80_G_ueF_74C2_dem_clip.tif.rsc
S1AA_20161223T070700_20170116T070658_VVP024_INT80_G_ueF_74C2_inc_map_clip.tif
S1AA_20161223T070700_20170116T070658_VVP024_INT80_G_ueF_74C2_inc_map_clip.tif.rsc
S1AA_20161223T070700_20170116T070658_VVP024_INT80_G_ueF_74C2_lv_theta_clip.tif
S1AA_20161223T070700_20170116T070658_VVP024_INT80_G_ueF_74C2_lv_theta_clip.tif.rsc
Notes:
HyP3 currently only supports generation of Sentinel-1 interferograms, so
Expand Down
15 changes: 9 additions & 6 deletions mintpy/save_kmz.py
Original file line number Diff line number Diff line change
Expand Up @@ -46,19 +46,21 @@
save_kmz.py geo/geo_ifgramStack.h5 20101120_20110220
save_kmz.py geo/geo_geometryRadar.h5 height --cbar-label Elevation
# save full resolution velocity in radar-coordinates
# for ISCE products (with lookup table in radar coordinates) ONLY
# use --sub-x/y to reduce file size for a smooth Google Earth experience
# to generate placemarks for the file in radar coordinates, the corresponding
# geometry file with latitude & longitude in radar coordinates are required,
# such as provided by ISCE + MintPy workflow
save_kmz.py velocity.h5 --sub-x 300 800 --sub-y 1000 1500 --step 1
"""


def create_parser():
parser = argparse.ArgumentParser(description='Generate Google Earth KMZ file with raster image.',
parser = argparse.ArgumentParser(description='Generate Google Earth KMZ file (overlay / placemarks for files in geo / radar coordinates).',
formatter_class=argparse.RawTextHelpFormatter,
epilog=EXAMPLE)

parser.add_argument('file', help='file to be converted, in geo coordinate.')
parser.add_argument('file', help='file to be converted, in geo or radar coordinate.\n'
'Note: for files in radar-coordinate, the corresponding lookup table\n'
'in radar-coordinate (as provided by ISCE) is required.')
parser.add_argument('dset', nargs='?', help='date of timeseries, or date12 of interferograms to be converted')
parser.add_argument('-m','--mask', dest='mask_file', metavar='FILE', help='mask file for display')
parser.add_argument('--zero-mask', dest='zero_mask', action='store_true', help='Mask pixels with zero value.')
Expand All @@ -70,7 +72,8 @@ def create_parser():
parser.add_argument('-g','--geom', dest='geom_file', metavar='FILE',
help='geometry file with lat/lon. [required for file in radar coordinates]')
parser.add_argument('--step', dest='step', type=int, default=5,
help='output one point per {step} pixels, to reduce file size (default: %(default)s).')
help='output one point per {step} pixels, to reduce file size (default: %(default)s).\n'
'For file in radar-coordinate ONLY.')

# Data
parser.add_argument('-v','--vlim', dest='vlim', nargs=2, metavar=('MIN', 'MAX'), type=float, help='Y/value limits for plotting.')
Expand Down

0 comments on commit e14a53e

Please sign in to comment.