ACCESS-Cloud-Based-InSAR / DockerizedTopsApp

Apache License 2.0
21 stars 2 forks source link

Iono adding burst jumps #142

Closed mgovorcin closed 1 year ago

mgovorcin commented 1 year ago

Ionosphere - estimating burst ramps due to high iono content (scalloping effect). This introduces mis-coregistration between bursts. Estimation is based on long-wavelength ionosphere correction estimate.

This PR turns on calculation of burst ramps by default, introducing additional iono processing steps: ionosphere_shift, ion2grd, esd that add 10 min of processing time for the fixed frame_id.

Ionosphere calculation outputs:

  1. dispersive long_wavelength ionosphere - obtained as 2order surface fitting to raw iono with addition of filtered raw_iono - surface residuals with adaptive gaussian. > merged/topophase.ion.geo

  2. azimuth shifts per bursts caused by ionosphere > merged/topophase.ion.az_shift.geo

cmd: isce2_topsapp --secondary-scenes S1A_IW_SLC__1SDV_20220131T222803_20220131T222830_041711_04F690_8F5F S1A_IW_SLC__1SDV_20220131T222828_20220131T222855_041711_04F690_28D7 --reference-scenes S1A_IW_SLC__1SDV_20220212T222803_20220212T222830_041886_04FCA3_2B3E S1A_IW_SLC__1SDV_20220212T222828_20220212T222855_041886_04FCA3_A3E2 --frame-id 25502 --estimate-ionosphere-delay True

GUNW to inspect: https://gunw-development-testing.s3.us-west-2.amazonaws.com/iono_wmask_testing/S1-GUNW-A-R-164-tops-20220212_20220131-222829-00071W_00047N-PP-3d6c-v3_0_0/S1-GUNW-A-R-164-tops-20220212_20220131-222829-00071W_00047N-PP-3d6c-v3_0_0.nc image

Result: Long-wavelength iono : downsampled to resolution of 1 km Burst ramps: 90m resution

image

Added metadata on ionosphere processing:

Long-wavelength layer:

image

Burst ramps layer:

image
cmarshak commented 1 year ago

For packaging, take a look at #122 for how to add the layer to the /science/grid/data group.

Specifically:

https://github.com/ACCESS-Cloud-Based-InSAR/DockerizedTopsApp/blob/custom-event/isce2_topsapp/packaging_utils/additional_layers.json

and the updates to __main__.py (see here). We can talk through this.

You will want to make sure the output merged/topophase.ion.geo and merged/topophase.ion.az_shift.geo are the same affine transform as those other *.geo layers. Pretty sure they will be.

cmarshak commented 1 year ago

Awesome work!

mgovorcin commented 1 year ago

For packaging, take a look at #122 for how to add the layer to the /science/grid/data group.

Specifically:

https://github.com/ACCESS-Cloud-Based-InSAR/DockerizedTopsApp/blob/custom-event/isce2_topsapp/packaging_utils/additional_layers.json

and the updates to __main__.py (see here). We can talk through this.

You will want to make sure the output merged/topophase.ion.geo and merged/topophase.ion.az_shift.geo are the same affine transform as those other *.geo layers. Pretty sure they will be.

added packaging :) @cmarshak and @dbekaert I believe this should be it what we discussed yesterday

cmarshak commented 1 year ago

@mgovorcin - merge dev branch and push back. Hopefully that solves the pytest issues.

cmarshak commented 1 year ago

@dbekaert - I am going to merge this once this passes.

After that, we can do some tests over Chile, Arabia, and possibly northern parts of CONUS.

That way we can make sure this new methodology passes and look roughly at the stitching.

Hopefully that sounds good.