Skip to content

Commit

Permalink
Squashed commit of the following:
Browse files Browse the repository at this point in the history
commit 0e0c7816a9b22b057a769519d302cd62e0a4e346
Author: Seongsu Jeong <sjeong.kr@gmail.com>
Date:   Fri Mar 3 15:39:13 2023 -0800

    Two layered az fm mismatch rate (#101)

    * Replacing the loaders in Burst* class into class methods, with further implementation for thermal and EAP correction

    * fix on determining beta_naught; addressing PEP8 issues

    * Bug fix and feature addition to BurstEAP; restructuring LUT exportation

    * Readibility improvement; removing unnecessary imports

    * Format change on `burst_id`; keeping the absolute orbit number inside `Sentinel1BurstSlc`

    * updates on test_bursts.py

    * keeping the basename of the CADS and NADS for populating RTC metadata

    * Update src/s1reader/s1_annotation.py

    Readability improvement on equation

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_annotation.py

    Removing commented out code

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_annotation.py

    Reverting the docstring to be split into two lines for PEP8 compliance

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_annotation.py

    Improving docstring of the code copied from isce2

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Removing the commented out codes

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    improvement on code brevity

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    renaming variable for better clarity

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    renaming variable name for clarity

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    variable name revised for clarity

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    variable renamed for clarity

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    improvement on docstring

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Readability improvement of equation

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * addressing comments bt @LiangJYu

    * docstring fix; variables renamed for clarity

    * implemented s1_annotation.AucCal.load_from_zip_file()

    * readability improvement

    * s1_annotation.py - code cleanup; excention handling for AUX_CAL; PEP8 compliance

    * docstring for `s1_burst_slc.eap_compensation_lut()`

    * class import scheme changed

    * PEP8 compliance

    * initial structure of modification

    * less mod compared to the branch fork

    * extended coeffs for FM rate and Doppler centroid to be used for azimuth FM mismatch rate mitigation

    * Working version of azimuth FM rate mismatch mitigation

    * Update src/s1reader/s1_orbit.py

    Co-authored-by: Gustavo H. X. Shiroma <52007211+gshiroma@users.noreply.github.com>

    * Update src/s1reader/s1_orbit.py

    Co-authored-by: Gustavo H. X. Shiroma <52007211+gshiroma@users.noreply.github.com>

    * Update src/s1reader/s1_orbit.py

    Co-authored-by: Gustavo H. X. Shiroma <52007211+gshiroma@users.noreply.github.com>

    * Update src/s1reader/s1_orbit.py

    Co-authored-by: Gustavo H. X. Shiroma <52007211+gshiroma@users.noreply.github.com>

    * Update src/s1reader/s1_orbit.py

    Co-authored-by: Gustavo H. X. Shiroma <52007211+gshiroma@users.noreply.github.com>

    * Update src/s1reader/s1_orbit.py

    Co-authored-by: Gustavo H. X. Shiroma <52007211+gshiroma@users.noreply.github.com>

    * addressing comments from @gshiroma

    * trailing white spaces are removed

    * docstring updated

    * Code cleanup and docstrings

    * code cleanup

    * trailing white space removed

    * docsrting added; variable renaming for less verbosity;

    * code cleanup and simplification

    * variable name simplification

    * clde cleanup

    * Output as isce3.core.LUT2d

    * threshold and num_iter for rdr2geo

    * Addressing codacy issue

    * Trailing whitespace removed

    * codacy issue

    * docstring clarification on `BurstExtendedCoeffs`

    * whitespace removed

    * Update src/s1reader/s1_orbit.py

    Co-authored-by: vbrancat <virginia.brancato@jpl.nasa.gov>

    * Update src/s1reader/s1_orbit.py

    Co-authored-by: vbrancat <virginia.brancato@jpl.nasa.gov>

    * Update src/s1reader/s1_annotation.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * comment added for clarity

    * Update src/s1reader/s1_annotation.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_annotation.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_annotation.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * mod on the suggested commit to reuse the topo output filenames

    * fix on variable

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_annotation.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: vbrancat <virginia.brancato@jpl.nasa.gov>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: vbrancat <virginia.brancato@jpl.nasa.gov>

    * typo fix

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: vbrancat <virginia.brancato@jpl.nasa.gov>

    * Re-using the parsed polynomials; mitigation results as ISCE3 LUT2d

    * revision on import format

    * TODO removed

    * Option to turn on / off the functionalities for az fm rate mismatch mitigation

    * removing alias for `Rdr2Geo`

    * whitespace removed after resolving conflict

    * addressing codacy issue

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_annotation.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_annotation.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_reader.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * variable name changed

    * bug fixed; variable name updated

    * addressing codacy issues

    * codacy issue

    * variable name changed

    * pulling out functions that does not need to be methods

    * whitespace removed

    * updates after linting

    * Docstring for `_burst_from_safe_dir` revised

    * Docstring for `_burst_from_zip` revised

    * Docstring for `load_bursts` revised

    * Docstring for `burst_from_xml` revised

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Docstring for `az_fm_rate_mismatch_mitigation` revised

    * Use temporary directory when `path_scratch` was not provided; take in az/rg steps as options to define radargrid

    * codacy issue

    * docstring updated; variable name changed

    * unnecessary members removed; docstring revised

    * temporary filename format changed

    * Update src/s1reader/s1_annotation.py

    Co-authored-by: Scott Staniewicz <scott.stanie@gmail.com>

    * Update src/s1reader/s1_annotation.py

    Co-authored-by: Scott Staniewicz <scott.stanie@gmail.com>

    * Update src/s1reader/s1_annotation.py

    Co-authored-by: Scott Staniewicz <scott.stanie@gmail.com>

    * Update src/s1reader/s1_annotation.py

    Co-authored-by: Scott Staniewicz <scott.stanie@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Scott Staniewicz <scott.stanie@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Scott Staniewicz <scott.stanie@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Scott Staniewicz <scott.stanie@gmail.com>

    * unit_degree -> in_degree

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Scott Staniewicz <scott.stanie@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Scott Staniewicz <scott.stanie@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Scott Staniewicz <scott.stanie@gmail.com>

    * Apply suggestions from code review

    Co-authored-by: Scott Staniewicz <scott.stanie@gmail.com>

    * variable name format revised

    * `mitigate_az_fmrate_mismatch` removed

    * PEP8 issues

    * add s1-etad prep module for testing S1-ETAD products (#73)

    + add s1_etad.py as a wrapper around the `s1etad` module from ESA to read / prepare ETA correction, given a `s1reader` burst object

    Co-authored-by: Seongsu Jeong <sjeong.kr@gmail.com>

    * bugfix in Sentinel1BurstSlc.swath_name() (#89)

    * s1_reader: fix safe_path for directories (#91)

    * s1_reader: fix safe_path for directories

    _burst_from_safe_dir used os.listdir, which does not have "measurement" in the returned names like the zip file list does

    this fixes #90

    * return a string instead of list

    * Handle the case that the burst's sensing period exceeds the range of `polynomial_list`

    * azimith to azimuth spelling fix(#93)

    * Beta release compass (#94)

    * Replacing the loaders in Burst* class into class methods, with further implementation for thermal and EAP correction

    * fix on determining beta_naught; addressing PEP8 issues

    * Bug fix and feature addition to BurstEAP; restructuring LUT exportation

    * Readibility improvement; removing unnecessary imports

    * Format change on `burst_id`; keeping the absolute orbit number inside `Sentinel1BurstSlc`

    * updates on test_bursts.py

    * keeping the basename of the CADS and NADS for populating RTC metadata

    * Update src/s1reader/s1_annotation.py

    Readability improvement on equation

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_annotation.py

    Removing commented out code

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_annotation.py

    Reverting the docstring to be split into two lines for PEP8 compliance

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_annotation.py

    Improving docstring of the code copied from isce2

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Removing the commented out codes

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    improvement on code brevity

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    renaming variable for better clarity

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    renaming variable name for clarity

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    variable name revised for clarity

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    variable renamed for clarity

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    improvement on docstring

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Readability improvement of equation

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * addressing comments bt @LiangJYu

    * docstring fix; variables renamed for clarity

    * implemented s1_annotation.AucCal.load_from_zip_file()

    * readability improvement

    * s1_annotation.py - code cleanup; excention handling for AUX_CAL; PEP8 compliance

    * docstring for `s1_burst_slc.eap_compensation_lut()`

    * class import scheme changed

    * PEP8 compliance

    * initial structure of modification

    * less mod compared to the branch fork

    * extended coeffs for FM rate and Doppler centroid to be used for azimuth FM mismatch rate mitigation

    * Working version of azimuth FM rate mismatch mitigation

    * Update src/s1reader/s1_orbit.py

    Co-authored-by: Gustavo H. X. Shiroma <52007211+gshiroma@users.noreply.github.com>

    * Update src/s1reader/s1_orbit.py

    Co-authored-by: Gustavo H. X. Shiroma <52007211+gshiroma@users.noreply.github.com>

    * Update src/s1reader/s1_orbit.py

    Co-authored-by: Gustavo H. X. Shiroma <52007211+gshiroma@users.noreply.github.com>

    * Update src/s1reader/s1_orbit.py

    Co-authored-by: Gustavo H. X. Shiroma <52007211+gshiroma@users.noreply.github.com>

    * Update src/s1reader/s1_orbit.py

    Co-authored-by: Gustavo H. X. Shiroma <52007211+gshiroma@users.noreply.github.com>

    * Update src/s1reader/s1_orbit.py

    Co-authored-by: Gustavo H. X. Shiroma <52007211+gshiroma@users.noreply.github.com>

    * addressing comments from @gshiroma

    * trailing white spaces are removed

    * docstring updated

    * Code cleanup and docstrings

    * code cleanup

    * trailing white space removed

    * docsrting added; variable renaming for less verbosity;

    * code cleanup and simplification

    * variable name simplification

    * clde cleanup

    * Output as isce3.core.LUT2d

    * threshold and num_iter for rdr2geo

    * Addressing codacy issue

    * Trailing whitespace removed

    * codacy issue

    * docstring clarification on `BurstExtendedCoeffs`

    * whitespace removed

    * Update src/s1reader/s1_orbit.py

    Co-authored-by: vbrancat <virginia.brancato@jpl.nasa.gov>

    * Update src/s1reader/s1_orbit.py

    Co-authored-by: vbrancat <virginia.brancato@jpl.nasa.gov>

    * Update src/s1reader/s1_annotation.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * comment added for clarity

    * Update src/s1reader/s1_annotation.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_annotation.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_annotation.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * mod on the suggested commit to reuse the topo output filenames

    * fix on variable

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_annotation.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: vbrancat <virginia.brancato@jpl.nasa.gov>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: vbrancat <virginia.brancato@jpl.nasa.gov>

    * typo fix

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: vbrancat <virginia.brancato@jpl.nasa.gov>

    * Re-using the parsed polynomials; mitigation results as ISCE3 LUT2d

    * revision on import format

    * TODO removed

    * Option to turn on / off the functionalities for az fm rate mismatch mitigation

    * removing alias for `Rdr2Geo`

    * whitespace removed after resolving conflict

    * addressing codacy issue

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_annotation.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_annotation.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_reader.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * variable name changed

    * bug fixed; variable name updated

    * addressing codacy issues

    * codacy issue

    * variable name changed

    * pulling out functions that does not need to be methods

    * whitespace removed

    * updates after linting

    * Docstring for `_burst_from_safe_dir` revised

    * Docstring for `_burst_from_zip` revised

    * Docstring for `load_bursts` revised

    * Docstring for `burst_from_xml` revised

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Docstring for `az_fm_rate_mismatch_mitigation` revised

    * Use temporary directory when `path_scratch` was not provided; take in az/rg steps as options to define radargrid

    * codacy issue

    * docstring updated; variable name changed

    * unnecessary members removed; docstring revised

    * temporary filename format changed

    * Update src/s1reader/s1_annotation.py

    Co-authored-by: Scott Staniewicz <scott.stanie@gmail.com>

    * Update src/s1reader/s1_annotation.py

    Co-authored-by: Scott Staniewicz <scott.stanie@gmail.com>

    * Update src/s1reader/s1_annotation.py

    Co-authored-by: Scott Staniewicz <scott.stanie@gmail.com>

    * Update src/s1reader/s1_annotation.py

    Co-authored-by: Scott Staniewicz <scott.stanie@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Scott Staniewicz <scott.stanie@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Scott Staniewicz <scott.stanie@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Scott Staniewicz <scott.stanie@gmail.com>

    * unit_degree -> in_degree

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Scott Staniewicz <scott.stanie@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Scott Staniewicz <scott.stanie@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Scott Staniewicz <scott.stanie@gmail.com>

    * Apply suggestions from code review

    Co-authored-by: Scott Staniewicz <scott.stanie@gmail.com>

    * variable name format revised

    * `mitigate_az_fmrate_mismatch` removed

    * PEP8 issues

    * Handle the case that the burst's sensing period exceeds the range of `polynomial_list`

    * version.py updated

    Co-authored-by: Seongsu Jeong <seongsu.jeong@jpl.nasa.gov>
    Co-authored-by: Liang Yu <liangjyu@gmail.com>
    Co-authored-by: Gustavo H. X. Shiroma <52007211+gshiroma@users.noreply.github.com>
    Co-authored-by: vbrancat <virginia.brancato@jpl.nasa.gov>
    Co-authored-by: Scott Staniewicz <scott.stanie@gmail.com>

    * add a --bbox option to s1_info for frame bounds (#88)

    * add a --bbox option to s1_info for frame bounds

    * add method to get bounds from the preview, if available

    * get preview kml bounds working

    * update usage for bbox and correct entry point

    * add __init__.py to utils subpackage

    * try loading any polarization for the bounds, accounting for hh/hv

    * reorder kml parsing logic

    * separate options in frame-bbox and burst-bbox

    * remove unused imports

    * two-layered calculation of az fm rate mismatch computation

    * removed trailing whtespaces

    * whitwspace removed

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * dicstring revised

    * fix on error string

    * whitespace removed

    * docstring revised

    ---------

    Co-authored-by: Seongsu Jeong <seongsu.jeong@jpl.nasa.gov>
    Co-authored-by: Liang Yu <liangjyu@gmail.com>
    Co-authored-by: Gustavo H. X. Shiroma <52007211+gshiroma@users.noreply.github.com>
    Co-authored-by: vbrancat <virginia.brancato@jpl.nasa.gov>
    Co-authored-by: Scott Staniewicz <scott.stanie@gmail.com>
    Co-authored-by: Zhang Yunjun <yunjunzgeo@gmail.com>

commit 53f0c4373fac371e55d7baa09f95bcc0ea186fbd
Author: Scott Staniewicz <scott.stanie@gmail.com>
Date:   Tue Feb 21 16:46:28 2023 -0500

    allow az_step/rg_step arguments to `as_isce3_radargrid` (#102)

    * allow az_step/rg_step arguments to `as_isce3_radargrid`

    This allows a more coarse radar grid, as needed by some lookup tables such as the SET correction

    * Apply PRF suggestions from code review

    Co-authored-by: Heresh Fattahi <hersh.fattahi@gmail.com>

    * adjust length/width based on az_step/rg_step

    * fix the logic for width/length calculation with rg/az_step

    * reversed order of length/width

    * add two tests for as_isce3_radar_grid

    fixed the division to make the tests pass

    * add clarification to docstring about sensing start

    ---------

    Co-authored-by: Heresh Fattahi <hersh.fattahi@gmail.com>

commit 2b43f2fb593658175e6e5a4bf8d3ee548c4770e9
Author: Scott Staniewicz <scott.stanie@gmail.com>
Date:   Mon Feb 13 14:56:58 2023 -0500

    s1_orbit.py: if autodownloading, create the directory (#100)

    * s1_orbit.py: if autodownloading, create the directory

    There shouldnt be a need to have the user `mkdir -p orbits/` if they have already specified they do not have the orbits and want to download them.

    * add print to log directory creation

commit 428328de5011968da91174cdf14db6eb3e8264c7
Author: Scott Staniewicz <scott.stanie@gmail.com>
Date:   Thu Dec 22 15:10:07 2022 -0500

    add a --bbox option to s1_info for frame bounds (#88)

    * add a --bbox option to s1_info for frame bounds

    * add method to get bounds from the preview, if available

    * get preview kml bounds working

    * update usage for bbox and correct entry point

    * add __init__.py to utils subpackage

    * try loading any polarization for the bounds, accounting for hh/hv

    * reorder kml parsing logic

    * separate options in frame-bbox and burst-bbox

    * remove unused imports

commit a29a422b60bc02341d85a1a78b42657d5bea5576
Author: Seongsu Jeong <sjeong.kr@gmail.com>
Date:   Wed Dec 21 14:14:04 2022 -0800

    Beta release compass (#94)

    * Replacing the loaders in Burst* class into class methods, with further implementation for thermal and EAP correction

    * fix on determining beta_naught; addressing PEP8 issues

    * Bug fix and feature addition to BurstEAP; restructuring LUT exportation

    * Readibility improvement; removing unnecessary imports

    * Format change on `burst_id`; keeping the absolute orbit number inside `Sentinel1BurstSlc`

    * updates on test_bursts.py

    * keeping the basename of the CADS and NADS for populating RTC metadata

    * Update src/s1reader/s1_annotation.py

    Readability improvement on equation

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_annotation.py

    Removing commented out code

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_annotation.py

    Reverting the docstring to be split into two lines for PEP8 compliance

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_annotation.py

    Improving docstring of the code copied from isce2

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Removing the commented out codes

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    improvement on code brevity

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    renaming variable for better clarity

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    renaming variable name for clarity

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    variable name revised for clarity

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    variable renamed for clarity

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    improvement on docstring

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Readability improvement of equation

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * addressing comments bt @LiangJYu

    * docstring fix; variables renamed for clarity

    * implemented s1_annotation.AucCal.load_from_zip_file()

    * readability improvement

    * s1_annotation.py - code cleanup; excention handling for AUX_CAL; PEP8 compliance

    * docstring for `s1_burst_slc.eap_compensation_lut()`

    * class import scheme changed

    * PEP8 compliance

    * initial structure of modification

    * less mod compared to the branch fork

    * extended coeffs for FM rate and Doppler centroid to be used for azimuth FM mismatch rate mitigation

    * Working version of azimuth FM rate mismatch mitigation

    * Update src/s1reader/s1_orbit.py

    Co-authored-by: Gustavo H. X. Shiroma <52007211+gshiroma@users.noreply.github.com>

    * Update src/s1reader/s1_orbit.py

    Co-authored-by: Gustavo H. X. Shiroma <52007211+gshiroma@users.noreply.github.com>

    * Update src/s1reader/s1_orbit.py

    Co-authored-by: Gustavo H. X. Shiroma <52007211+gshiroma@users.noreply.github.com>

    * Update src/s1reader/s1_orbit.py

    Co-authored-by: Gustavo H. X. Shiroma <52007211+gshiroma@users.noreply.github.com>

    * Update src/s1reader/s1_orbit.py

    Co-authored-by: Gustavo H. X. Shiroma <52007211+gshiroma@users.noreply.github.com>

    * Update src/s1reader/s1_orbit.py

    Co-authored-by: Gustavo H. X. Shiroma <52007211+gshiroma@users.noreply.github.com>

    * addressing comments from @gshiroma

    * trailing white spaces are removed

    * docstring updated

    * Code cleanup and docstrings

    * code cleanup

    * trailing white space removed

    * docsrting added; variable renaming for less verbosity;

    * code cleanup and simplification

    * variable name simplification

    * clde cleanup

    * Output as isce3.core.LUT2d

    * threshold and num_iter for rdr2geo

    * Addressing codacy issue

    * Trailing whitespace removed

    * codacy issue

    * docstring clarification on `BurstExtendedCoeffs`

    * whitespace removed

    * Update src/s1reader/s1_orbit.py

    Co-authored-by: vbrancat <virginia.brancato@jpl.nasa.gov>

    * Update src/s1reader/s1_orbit.py

    Co-authored-by: vbrancat <virginia.brancato@jpl.nasa.gov>

    * Update src/s1reader/s1_annotation.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * comment added for clarity

    * Update src/s1reader/s1_annotation.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_annotation.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_annotation.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * mod on the suggested commit to reuse the topo output filenames

    * fix on variable

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_annotation.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: vbrancat <virginia.brancato@jpl.nasa.gov>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: vbrancat <virginia.brancato@jpl.nasa.gov>

    * typo fix

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: vbrancat <virginia.brancato@jpl.nasa.gov>

    * Re-using the parsed polynomials; mitigation results as ISCE3 LUT2d

    * revision on import format

    * TODO removed

    * Option to turn on / off the functionalities for az fm rate mismatch mitigation

    * removing alias for `Rdr2Geo`

    * whitespace removed after resolving conflict

    * addressing codacy issue

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_annotation.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_annotation.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_reader.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * variable name changed

    * bug fixed; variable name updated

    * addressing codacy issues

    * codacy issue

    * variable name changed

    * pulling out functions that does not need to be methods

    * whitespace removed

    * updates after linting

    * Docstring for `_burst_from_safe_dir` revised

    * Docstring for `_burst_from_zip` revised

    * Docstring for `load_bursts` revised

    * Docstring for `burst_from_xml` revised

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Docstring for `az_fm_rate_mismatch_mitigation` revised

    * Use temporary directory when `path_scratch` was not provided; take in az/rg steps as options to define radargrid

    * codacy issue

    * docstring updated; variable name changed

    * unnecessary members removed; docstring revised

    * temporary filename format changed

    * Update src/s1reader/s1_annotation.py

    Co-authored-by: Scott Staniewicz <scott.stanie@gmail.com>

    * Update src/s1reader/s1_annotation.py

    Co-authored-by: Scott Staniewicz <scott.stanie@gmail.com>

    * Update src/s1reader/s1_annotation.py

    Co-authored-by: Scott Staniewicz <scott.stanie@gmail.com>

    * Update src/s1reader/s1_annotation.py

    Co-authored-by: Scott Staniewicz <scott.stanie@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Scott Staniewicz <scott.stanie@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Scott Staniewicz <scott.stanie@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Scott Staniewicz <scott.stanie@gmail.com>

    * unit_degree -> in_degree

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Scott Staniewicz <scott.stanie@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Scott Staniewicz <scott.stanie@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Scott Staniewicz <scott.stanie@gmail.com>

    * Apply suggestions from code review

    Co-authored-by: Scott Staniewicz <scott.stanie@gmail.com>

    * variable name format revised

    * `mitigate_az_fmrate_mismatch` removed

    * PEP8 issues

    * Handle the case that the burst's sensing period exceeds the range of `polynomial_list`

    * version.py updated

    Co-authored-by: Seongsu Jeong <seongsu.jeong@jpl.nasa.gov>
    Co-authored-by: Liang Yu <liangjyu@gmail.com>
    Co-authored-by: Gustavo H. X. Shiroma <52007211+gshiroma@users.noreply.github.com>
    Co-authored-by: vbrancat <virginia.brancato@jpl.nasa.gov>
    Co-authored-by: Scott Staniewicz <scott.stanie@gmail.com>

commit 10fe381efec12fe4660da7edcc0bf14fbfd3982a
Author: Liang Yu <liangjyu@gmail.com>
Date:   Tue Dec 20 16:31:55 2022 -0800

    azimith to azimuth spelling fix(#93)

commit eb5e53e8a530dd1e2bc4b9acc82f5a3932ec92cf
Author: Seongsu Jeong <sjeong.kr@gmail.com>
Date:   Thu Dec 15 15:23:05 2022 -0800

    FM rate mismatch - follow-up bug fix (#92)

    * Replacing the loaders in Burst* class into class methods, with further implementation for thermal and EAP correction

    * fix on determining beta_naught; addressing PEP8 issues

    * Bug fix and feature addition to BurstEAP; restructuring LUT exportation

    * Readibility improvement; removing unnecessary imports

    * Format change on `burst_id`; keeping the absolute orbit number inside `Sentinel1BurstSlc`

    * updates on test_bursts.py

    * keeping the basename of the CADS and NADS for populating RTC metadata

    * Update src/s1reader/s1_annotation.py

    Readability improvement on equation

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_annotation.py

    Removing commented out code

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_annotation.py

    Reverting the docstring to be split into two lines for PEP8 compliance

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_annotation.py

    Improving docstring of the code copied from isce2

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Removing the commented out codes

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    improvement on code brevity

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    renaming variable for better clarity

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    renaming variable name for clarity

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    variable name revised for clarity

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    variable renamed for clarity

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    improvement on docstring

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Readability improvement of equation

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * addressing comments bt @LiangJYu

    * docstring fix; variables renamed for clarity

    * implemented s1_annotation.AucCal.load_from_zip_file()

    * readability improvement

    * s1_annotation.py - code cleanup; excention handling for AUX_CAL; PEP8 compliance

    * docstring for `s1_burst_slc.eap_compensation_lut()`

    * class import scheme changed

    * PEP8 compliance

    * initial structure of modification

    * less mod compared to the branch fork

    * extended coeffs for FM rate and Doppler centroid to be used for azimuth FM mismatch rate mitigation

    * Working version of azimuth FM rate mismatch mitigation

    * Update src/s1reader/s1_orbit.py

    Co-authored-by: Gustavo H. X. Shiroma <52007211+gshiroma@users.noreply.github.com>

    * Update src/s1reader/s1_orbit.py

    Co-authored-by: Gustavo H. X. Shiroma <52007211+gshiroma@users.noreply.github.com>

    * Update src/s1reader/s1_orbit.py

    Co-authored-by: Gustavo H. X. Shiroma <52007211+gshiroma@users.noreply.github.com>

    * Update src/s1reader/s1_orbit.py

    Co-authored-by: Gustavo H. X. Shiroma <52007211+gshiroma@users.noreply.github.com>

    * Update src/s1reader/s1_orbit.py

    Co-authored-by: Gustavo H. X. Shiroma <52007211+gshiroma@users.noreply.github.com>

    * Update src/s1reader/s1_orbit.py

    Co-authored-by: Gustavo H. X. Shiroma <52007211+gshiroma@users.noreply.github.com>

    * addressing comments from @gshiroma

    * trailing white spaces are removed

    * docstring updated

    * Code cleanup and docstrings

    * code cleanup

    * trailing white space removed

    * docsrting added; variable renaming for less verbosity;

    * code cleanup and simplification

    * variable name simplification

    * clde cleanup

    * Output as isce3.core.LUT2d

    * threshold and num_iter for rdr2geo

    * Addressing codacy issue

    * Trailing whitespace removed

    * codacy issue

    * docstring clarification on `BurstExtendedCoeffs`

    * whitespace removed

    * Update src/s1reader/s1_orbit.py

    Co-authored-by: vbrancat <virginia.brancato@jpl.nasa.gov>

    * Update src/s1reader/s1_orbit.py

    Co-authored-by: vbrancat <virginia.brancato@jpl.nasa.gov>

    * Update src/s1reader/s1_annotation.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * comment added for clarity

    * Update src/s1reader/s1_annotation.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_annotation.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_annotation.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * mod on the suggested commit to reuse the topo output filenames

    * fix on variable

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_annotation.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: vbrancat <virginia.brancato@jpl.nasa.gov>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: vbrancat <virginia.brancato@jpl.nasa.gov>

    * typo fix

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: vbrancat <virginia.brancato@jpl.nasa.gov>

    * Re-using the parsed polynomials; mitigation results as ISCE3 LUT2d

    * revision on import format

    * TODO removed

    * Option to turn on / off the functionalities for az fm rate mismatch mitigation

    * removing alias for `Rdr2Geo`

    * whitespace removed after resolving conflict

    * addressing codacy issue

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_annotation.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_annotation.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_reader.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * variable name changed

    * bug fixed; variable name updated

    * addressing codacy issues

    * codacy issue

    * variable name changed

    * pulling out functions that does not need to be methods

    * whitespace removed

    * updates after linting

    * Docstring for `_burst_from_safe_dir` revised

    * Docstring for `_burst_from_zip` revised

    * Docstring for `load_bursts` revised

    * Docstring for `burst_from_xml` revised

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Docstring for `az_fm_rate_mismatch_mitigation` revised

    * Use temporary directory when `path_scratch` was not provided; take in az/rg steps as options to define radargrid

    * codacy issue

    * docstring updated; variable name changed

    * unnecessary members removed; docstring revised

    * temporary filename format changed

    * Update src/s1reader/s1_annotation.py

    Co-authored-by: Scott Staniewicz <scott.stanie@gmail.com>

    * Update src/s1reader/s1_annotation.py

    Co-authored-by: Scott Staniewicz <scott.stanie@gmail.com>

    * Update src/s1reader/s1_annotation.py

    Co-authored-by: Scott Staniewicz <scott.stanie@gmail.com>

    * Update src/s1reader/s1_annotation.py

    Co-authored-by: Scott Staniewicz <scott.stanie@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Scott Staniewicz <scott.stanie@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Scott Staniewicz <scott.stanie@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Scott Staniewicz <scott.stanie@gmail.com>

    * unit_degree -> in_degree

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Scott Staniewicz <scott.stanie@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Scott Staniewicz <scott.stanie@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Scott Staniewicz <scott.stanie@gmail.com>

    * Apply suggestions from code review

    Co-authored-by: Scott Staniewicz <scott.stanie@gmail.com>

    * variable name format revised

    * `mitigate_az_fmrate_mismatch` removed

    * PEP8 issues

    * Handle the case that the burst's sensing period exceeds the range of `polynomial_list`

    Co-authored-by: Seongsu Jeong <seongsu.jeong@jpl.nasa.gov>
    Co-authored-by: Liang Yu <liangjyu@gmail.com>
    Co-authored-by: Gustavo H. X. Shiroma <52007211+gshiroma@users.noreply.github.com>
    Co-authored-by: vbrancat <virginia.brancato@jpl.nasa.gov>
    Co-authored-by: Scott Staniewicz <scott.stanie@gmail.com>

commit e1cbc573c89df647f8c5831fcfa3c70b55c087cf
Author: Seongsu Jeong <sjeong.kr@gmail.com>
Date:   Tue Dec 13 13:13:29 2022 -0800

    Azimuth FM rate mismatch mitigation (#80)

    * Replacing the loaders in Burst* class into class methods, with further implementation for thermal and EAP correction

    * fix on determining beta_naught; addressing PEP8 issues

    * Bug fix and feature addition to BurstEAP; restructuring LUT exportation

    * Readibility improvement; removing unnecessary imports

    * Format change on `burst_id`; keeping the absolute orbit number inside `Sentinel1BurstSlc`

    * updates on test_bursts.py

    * keeping the basename of the CADS and NADS for populating RTC metadata

    * Update src/s1reader/s1_annotation.py

    Readability improvement on equation

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_annotation.py

    Removing commented out code

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_annotation.py

    Reverting the docstring to be split into two lines for PEP8 compliance

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_annotation.py

    Improving docstring of the code copied from isce2

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Removing the commented out codes

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    improvement on code brevity

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    renaming variable for better clarity

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    renaming variable name for clarity

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    variable name revised for clarity

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    variable renamed for clarity

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    improvement on docstring

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Readability improvement of equation

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * addressing comments bt @LiangJYu

    * docstring fix; variables renamed for clarity

    * implemented s1_annotation.AucCal.load_from_zip_file()

    * readability improvement

    * s1_annotation.py - code cleanup; excention handling for AUX_CAL; PEP8 compliance

    * docstring for `s1_burst_slc.eap_compensation_lut()`

    * class import scheme changed

    * PEP8 compliance

    * initial structure of modification

    * less mod compared to the branch fork

    * extended coeffs for FM rate and Doppler centroid to be used for azimuth FM mismatch rate mitigation

    * Working version of azimuth FM rate mismatch mitigation

    * Update src/s1reader/s1_orbit.py

    Co-authored-by: Gustavo H. X. Shiroma <52007211+gshiroma@users.noreply.github.com>

    * Update src/s1reader/s1_orbit.py

    Co-authored-by: Gustavo H. X. Shiroma <52007211+gshiroma@users.noreply.github.com>

    * Update src/s1reader/s1_orbit.py

    Co-authored-by: Gustavo H. X. Shiroma <52007211+gshiroma@users.noreply.github.com>

    * Update src/s1reader/s1_orbit.py

    Co-authored-by: Gustavo H. X. Shiroma <52007211+gshiroma@users.noreply.github.com>

    * Update src/s1reader/s1_orbit.py

    Co-authored-by: Gustavo H. X. Shiroma <52007211+gshiroma@users.noreply.github.com>

    * Update src/s1reader/s1_orbit.py

    Co-authored-by: Gustavo H. X. Shiroma <52007211+gshiroma@users.noreply.github.com>

    * addressing comments from @gshiroma

    * trailing white spaces are removed

    * docstring updated

    * Code cleanup and docstrings

    * code cleanup

    * trailing white space removed

    * docsrting added; variable renaming for less verbosity;

    * code cleanup and simplification

    * variable name simplification

    * clde cleanup

    * Output as isce3.core.LUT2d

    * threshold and num_iter for rdr2geo

    * Addressing codacy issue

    * Trailing whitespace removed

    * codacy issue

    * docstring clarification on `BurstExtendedCoeffs`

    * whitespace removed

    * Update src/s1reader/s1_orbit.py

    Co-authored-by: vbrancat <virginia.brancato@jpl.nasa.gov>

    * Update src/s1reader/s1_orbit.py

    Co-authored-by: vbrancat <virginia.brancato@jpl.nasa.gov>

    * Update src/s1reader/s1_annotation.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * comment added for clarity

    * Update src/s1reader/s1_annotation.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_annotation.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_annotation.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * mod on the suggested commit to reuse the topo output filenames

    * fix on variable

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_annotation.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: vbrancat <virginia.brancato@jpl.nasa.gov>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: vbrancat <virginia.brancato@jpl.nasa.gov>

    * typo fix

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: vbrancat <virginia.brancato@jpl.nasa.gov>

    * Re-using the parsed polynomials; mitigation results as ISCE3 LUT2d

    * revision on import format

    * TODO removed

    * Option to turn on / off the functionalities for az fm rate mismatch mitigation

    * removing alias for `Rdr2Geo`

    * whitespace removed after resolving conflict

    * addressing codacy issue

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_annotation.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_annotation.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Update src/s1reader/s1_reader.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * variable name changed

    * bug fixed; variable name updated

    * addressing codacy issues

    * codacy issue

    * variable name changed

    * pulling out functions that does not need to be methods

    * whitespace removed

    * updates after linting

    * Docstring for `_burst_from_safe_dir` revised

    * Docstring for `_burst_from_zip` revised

    * Docstring for `load_bursts` revised

    * Docstring for `burst_from_xml` revised

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Liang Yu <liangjyu@gmail.com>

    * Docstring for `az_fm_rate_mismatch_mitigation` revised

    * Use temporary directory when `path_scratch` was not provided; take in az/rg steps as options to define radargrid

    * codacy issue

    * docstring updated; variable name changed

    * unnecessary members removed; docstring revised

    * temporary filename format changed

    * Update src/s1reader/s1_annotation.py

    Co-authored-by: Scott Staniewicz <scott.stanie@gmail.com>

    * Update src/s1reader/s1_annotation.py

    Co-authored-by: Scott Staniewicz <scott.stanie@gmail.com>

    * Update src/s1reader/s1_annotation.py

    Co-authored-by: Scott Staniewicz <scott.stanie@gmail.com>

    * Update src/s1reader/s1_annotation.py

    Co-authored-by: Scott Staniewicz <scott.stanie@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Scott Staniewicz <scott.stanie@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Scott Staniewicz <scott.stanie@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Scott Staniewicz <scott.stanie@gmail.com>

    * unit_degree -> in_degree

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Scott Staniewicz <scott.stanie@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Scott Staniewicz <scott.stanie@gmail.com>

    * Update src/s1reader/s1_burst_slc.py

    Co-authored-by: Scott Staniewicz <scott.stanie@gmail.com>

    * Apply suggestions from code review

    Co-authored-by: Scott Staniewicz <scott.stanie@gmail.com>

    * variable name format revised

    * `mitigate_az_fmrate_mismatch` removed

    * PEP8 issues

    Co-authored-by: Seongsu Jeong <seongsu.jeong@jpl.nasa.gov>
    Co-authored-by: Liang Yu <liangjyu@gmail.com>
    Co-authored-by: Gustavo H. X. Shiroma <52007211+gshiroma@users.noreply.github.com>
    Co-authored-by: vbrancat <virginia.brancato@jpl.nasa.gov>
    Co-authored-by: Scott Staniewicz <scott.stanie@gmail.com>

commit ae88a1d56df19b8e1cd5f8be9bc73e195e256c31
Author: Scott Staniewicz <scott.stanie@gmail.com>
Date:   Wed Dec 7 11:35:15 2022 -0500

    s1_reader: fix safe_path for directories (#91)

    * s1_reader: fix safe_path for directories

    _burst_from_safe_dir used os.listdir, which does not have "measurement" in the returned names like the zip file list does

    this fixes #90

    * return a string instead of list

commit a9c20a42f038e2f8b65ea7c1cf2f4719a1ce49c7
Author: Zhang Yunjun <yunjunzgeo@gmail.com>
Date:   Thu Dec 1 20:45:08 2022 -0800

    bugfix in Sentinel1BurstSlc.swath_name() (#89)

commit dfc028a2d6848c693c74aca95351c798cd4e6686
Author: Zhang Yunjun <yunjunzgeo@gmail.com>
Date:   Thu Dec 1 17:00:13 2022 -0800

    add s1-etad prep module for testing S1-ETAD products (#73)

    + add s1_etad.py as a wrapper around the `s1etad` module from ESA to read / prepare ETA correction, given a `s1reader` burst object

    Co-authored-by: Seongsu Jeong <sjeong.kr@gmail.com>
  • Loading branch information
Seongsu Jeong committed Mar 4, 2023
1 parent ba3efcb commit 813a35b
Show file tree
Hide file tree
Showing 9 changed files with 761 additions and 29 deletions.
6 changes: 3 additions & 3 deletions src/s1reader/s1_annotation.py
Original file line number Diff line number Diff line change
Expand Up @@ -542,7 +542,7 @@ def closest_block_to_azimuth_time(vector_azimuth_time: np.ndarray,
class BurstNoise:
'''Noise correction information for Sentinel-1 burst'''
basename_nads: str
range_azimith_time: datetime.datetime
range_azimuth_time: datetime.datetime
range_line: float
range_pixel: np.ndarray
range_lut: np.ndarray
Expand Down Expand Up @@ -590,7 +590,7 @@ def from_noise_annotation(cls, noise_annotation: NoiseAnnotation,
id_closest = closest_block_to_azimuth_time(noise_annotation.rg_list_azimuth_time,
azimuth_time)

range_azimith_time = noise_annotation.rg_list_azimuth_time[id_closest]
range_azimuth_time = noise_annotation.rg_list_azimuth_time[id_closest]
range_line = noise_annotation.rg_list_line[id_closest]
range_pixel = noise_annotation.rg_list_pixel[id_closest]
range_lut = noise_annotation.rg_list_noise_range_lut[id_closest]
Expand All @@ -617,7 +617,7 @@ def from_noise_annotation(cls, noise_annotation: NoiseAnnotation,
azimuth_line = None
azimuth_lut = None

return cls(basename_nads, range_azimith_time, range_line, range_pixel, range_lut,
return cls(basename_nads, range_azimuth_time, range_line, range_pixel, range_lut,
azimuth_first_azimuth_line, azimuth_first_range_sample,
azimuth_last_azimuth_line, azimuth_last_range_sample,
azimuth_line, azimuth_lut,
Expand Down
381 changes: 374 additions & 7 deletions src/s1reader/s1_burst_slc.py

Large diffs are not rendered by default.

202 changes: 202 additions & 0 deletions src/s1reader/s1_etad.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,202 @@
"""Wrapper of s1etad module to read S1-ETAD products."""
import datetime
import glob
import os

import numpy as np
from matplotlib import pyplot as plt
from scipy.interpolate import RectBivariateSpline

try:
import s1etad
except ImportError:
raise ImportError('Can NOT import s1etad (https://gitlab.com/s1-etad/s1-etad)!')



def get_eta_correction_from_slc_burst(slc_burst, eta_dir, corr_type='sum', include_tropo=True,
resample=True, plot=False, verbose=True, unit='second'):
"""Get the ETAD correction for one S1 burst.
Parameters
----------
slc_burst: Sentinel1BurstSlc
Sentinel-1 burst object from sentinel1_reader
eta_dir: str
Sentinel-1 ETAD product directory
corr_type: (list of) str
Sentinel-1 ETAD correction type:
sar, atm, sum, bistatic, doppler, fmrate, geodetic, ionospheric, tropospheric
where sar = bistatic + doppler + fmrate
atm = ionospheric + tropospheric
sum = sar + atm + geodetic
resample: bool
resample the low resolution ETA to the full resample SLC size
unit: str
output ETA correction unit:
pixel, second (meter is not recommended, as time info is more consistent and universal in SAR)
Returns:
----------
slc_rg_corr: np.ndarray in float32 in size of (lines, samples)
S1 ETAD correction in range direction in the unit of meter or second
slc_az_corr: np.ndarray in float32 in size of (lines, samples)
S1 ETAD correction in azimuth direction in the unit of meter or second
"""
vprint = print if verbose else lambda *args, **kwargs: None
if unit not in ['second', 'meter', 'pixel']:
raise ValueError(f'Un-recognized input unit={unit}!')
meter = (unit == 'meter')
# When True, read s1etad product in meters
# When False, read s1etad product in seconds [recommended]

# locate / read ETA burst
eta_burst, eta = get_eta_burst_from_slc_burst(slc_burst, eta_dir, verbose=verbose)

# read ETA correction data
corr_type = corr_type.lower()
if isinstance(corr_type, list):
corr_types = list(corr_type)
elif corr_type == 'sar':
corr_types = ['bistatic', 'doppler', 'fmrate']
elif corr_type == 'atm':
corr_types = ['ionospheric', 'tropospheric']
else:
corr_types = [corr_type]
vprint(f'read correction data with type: {corr_type}')

eta_rg_corr = np.zeros((eta_burst.lines, eta_burst.samples), dtype=np.float32)
eta_az_corr = np.zeros((eta_burst.lines, eta_burst.samples), dtype=np.float32)
for corr_type in corr_types:
correction = eta_burst.get_correction(corr_type, meter=meter)

if 'x' in correction.keys():
scale = slc_burst.range_sampling_rate if unit == 'pixel' else 1.0
eta_rg_corr += correction['x'] * scale

if 'y' in correction.keys():
scale = 1.0 / slc_burst.azimuth_time_interval if unit == 'pixel' else 1.0
eta_az_corr += correction['y'] * scale

if not include_tropo and any(x in corr_types for x in ['tropospheric', 'sum']):
print('excluding tropospheric component from ETAD products in X direction')
correction = eta_burst.get_correction('tropospheric')
scale = slc_burst.range_sampling_rate if unit == 'pixel' else 1.0
eta_rg_corr -= correction['x'] * scale

if resample or plot:
# calculate ETA grid
eta_az_start = (eta.min_azimuth_time - slc_burst.sensing_mid).total_seconds() + eta_burst.sampling_start['y']
eta_rg_start = eta.min_range_time + eta_burst.sampling_start['x']
eta_az_ax = eta_az_start + np.arange(eta_burst.lines) * eta_burst.sampling['y']
eta_rg_ax = eta_rg_start + np.arange(eta_burst.samples) * eta_burst.sampling['x']

# calculate SLC grid
slc_az_ax = np.arange(slc_burst.length) * slc_burst.azimuth_time_interval \
+ (slc_burst.sensing_start - slc_burst.sensing_mid).total_seconds()
slc_rg_ax = np.arange(slc_burst.width) / slc_burst.range_sampling_rate \
+ slc_burst.slant_range_time

if resample:
# resample ETA correction data to the SLC grid
vprint('resampling the ETA correction data from ETA grid to SLC grid ...')
rg_interp = RectBivariateSpline(eta_az_ax, eta_rg_ax, eta_rg_corr, kx=1, ky=1) # bi-linear
az_interp = RectBivariateSpline(eta_az_ax, eta_rg_ax, eta_az_corr, kx=1, ky=1) # bi-linear
slc_rg_corr = rg_interp(slc_az_ax, slc_rg_ax)
slc_az_corr = az_interp(slc_az_ax, slc_rg_ax)

if plot:
vprint('plot ETA correction data and grid')

# figure 1 - ETA corrections
fig, axs = plt.subplots(nrows=2, ncols=1, figsize=[12, 6], sharex=True, sharey=True)
for ax, corr, title in zip(axs, [eta_rg_corr, eta_az_corr], ['x', 'y']):
im = ax.imshow(corr, aspect='auto', interpolation='nearest')
fig.colorbar(im, ax=ax, shrink=0.8, location='right').set_label('pixel')
ax.set_title(f'correction [{title}]')
ax.set_ylabel('Azimuth [pixel]')
axs[1].set_xlabel('Range [pixel]')
fig.tight_layout()

# figure 2 - ETA & SLC grids [for comparison/checking]
eta_box = np.asarray([
(eta_rg_ax[0], eta_az_ax[0]),
(eta_rg_ax[0], eta_az_ax[-1]),
(eta_rg_ax[-1], eta_az_ax[-1]),
(eta_rg_ax[-1], eta_az_ax[0]),
(eta_rg_ax[0], eta_az_ax[0]),
])
slc_box = np.asarray([
(slc_rg_ax[0], slc_az_ax[0]),
(slc_rg_ax[0], slc_az_ax[-1]),
(slc_rg_ax[-1], slc_az_ax[-1]),
(slc_rg_ax[-1], slc_az_ax[0]),
(slc_rg_ax[0], slc_az_ax[0]),
])

fig, ax = plt.subplots(figsize=[12, 3])
ax.plot(eta_box[:, 0] * 1e3, eta_box[:, 1], 'C0', label='ETA')
ax.plot(slc_box[:, 0] * 1e3, slc_box[:, 1], 'C1', label='SLC')
ax.set_xlabel('Range [ms]')
ax.set_ylabel('Azimuth [s]')
ax.set_title('grid')
ax.legend()
ax.grid()

plt.show()

if not resample:
return eta_rg_corr, eta_az_corr

return slc_rg_corr, slc_az_corr



def get_eta_burst_from_slc_burst(slc_burst, eta_dir, verbose=True):
"""Read ETA burst corresponding to the input SLC burst."""

# locate ETAD file
eta_file = get_eta_file_from_slc_burst(slc_burst, eta_dir, verbose=verbose)

# read ETA file using s1-etad
eta = s1etad.Sentinel1Etad(eta_file)

# locate the ETA burst
t0_query = slc_burst.sensing_start - datetime.timedelta(seconds=0.25)
t1_query = slc_burst.sensing_stop + datetime.timedelta(seconds=0.25)
if verbose:
print(f'search ETA burst in {slc_burst.swath_name} with the following time range:')
print(f'start time: {t0_query}')
print(f'end time: {t1_query}')

selection = eta.query_burst(
swath=slc_burst.swath_name.upper(),
first_time=t0_query,
last_time=t1_query,
)

if len(selection) == 0:
raise ValueError('No ETA burst found!')
elif len(selection) > 1:
raise ValueError('More than 1 ETA burst found, please adjust your search/query criteria!')

eta_burst = eta[slc_burst.swath_name.upper()][selection.bIndex.values[0]]

return eta_burst, eta


def get_eta_file_from_slc_burst(slc_burst, eta_dir, verbose=True):
"""Get/locate ETAD file path based on SLC burst."""

# safe filename --> ETA filename pattern
fparts = os.path.basename(slc_burst.safe_filename).split('_')
eta_fbase = f'{fparts[0]}_IW_ETA__*_{fparts[5]}_{fparts[6]}_{fparts[7]}_{fparts[8]}_*.SAFE'

# search the ETA filename pattern
eta_file = glob.glob(os.path.join(eta_dir, eta_fbase))[0]
if verbose:
print(f'search ETA file with pattern: {eta_fbase}')
print(f'locate ETA file: {eta_file}')

return eta_file

Loading

0 comments on commit 813a35b

Please sign in to comment.