You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Want to provide notes about the expected triggering of and curation of inputs for DIST-S1. There is a lot missing here in this summary and over time we hope that we will fill in the necessary gaps. Each DIST-S1 product is within an MGRS tile and the input RTC-S1 burst products are burst-wise products. Below an image showing the RTC-S1 burst products over an MGRS tile
Rules for triggering the workflow can at first glance can appear complicated because we have a recent pass of S1 data and we have to construct a baseline of images to compare to the recent pass of data. Some discussion of the rules is in https://github.com/opera-adt/dist-s1-enumerator. The easiest way to identify a unique DIST-S1 product is:
MGRS tile
Sentinel-1 pass date
Sentinel-1 track number
Once we know a product should be generate, we then collect the inputs. It's important to frame the triggering logic as explicitly burst-wise. Each of the rules are considered separately for each burst.
Let's consider a recent pass of data over an MGRS file that are represented by the RTC-S1 burst products. For each burst, we make sure it is dual polarization (either HH+HV or VV+VH). If a burst is not dual polarization, remove it from those considered. Then we construct a baseline of images for each burst separately. Each baseline is constructed by taking the most recent images with respect to the the three windows:
Between 2 years and 1 year before the recent pass
Between 3 years and 2 years before the recent pass
Between 4 years and 3 years before the recent pass
If the recent pass was January 1, 2025, then we look at acquisitions in 2021, 2022, and 2023. To determine the number of images we want, we often say we want N (where N=10 or 20) and then select the (N//3, N//3, N - 2 * N//3) from each of the years respectively, where N//3 is the floor of the normal division. So for N=20, then it is (6, 6, 8) images from the earliest window to the most recent.
Polarizations within the historical baseline must be consistent with the recent pass. However, they only have to be consistent within a single burst. That is an MGRS tile can have different polarizations within each burst as long as they are dual polarization. Since the analysis is burst-wise and we only merge the disturbance at the end, we can deal with irregular temporal sampling without the same amount of headache accounting for which dates are best.
Confirmation
Confirmation is done sequentially in time for a fixed MGRS tile.
Product Checks and Edge Cases
I am including MGRS tiles. If not specified please produce 1 month of data where it exists (with confirmation). It will ensure proper functioning. Can use ASF geosearch with the wkt's provided.
Basic test of Confirmation
Below are two MGRS tiles with regular sampling. Generate DIST-S1 products from August 2025 - December 2025.
Using this time frame will also ensure Sentinel-1A and Sentinel-1C are working as expected. Interesting too, over Los Angeles (the first tile), the same satellite has a descending and ascending track in the same day!
Antimeridian
There are a bunch of tiles that are run along the anti-meridian. Here is a tile I want to see generated (yes, it should have data - it's along the Aleutian Volcano arc):
Make sure to check the month of September 2025. For track 171 on September 19th, 2025, you can see that the polarization changes from HH + HV to VV + VH within a single pass of the MGRS tile.
Single Polarization Exclusions
Good way to make make sure you are ignoring single polarization data - process a month over the Phillipines e.g.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Notes about the triggering
Want to provide notes about the expected triggering of and curation of inputs for DIST-S1. There is a lot missing here in this summary and over time we hope that we will fill in the necessary gaps. Each DIST-S1 product is within an MGRS tile and the input RTC-S1 burst products are burst-wise products. Below an image showing the RTC-S1 burst products over an MGRS tile
Rules for triggering the workflow can at first glance can appear complicated because we have a recent pass of S1 data and we have to construct a baseline of images to compare to the recent pass of data. Some discussion of the rules is in https://github.com/opera-adt/dist-s1-enumerator. The easiest way to identify a unique DIST-S1 product is:
Once we know a product should be generate, we then collect the inputs. It's important to frame the triggering logic as explicitly burst-wise. Each of the rules are considered separately for each burst.
Let's consider a recent pass of data over an MGRS file that are represented by the RTC-S1 burst products. For each burst, we make sure it is dual polarization (either HH+HV or VV+VH). If a burst is not dual polarization, remove it from those considered. Then we construct a baseline of images for each burst separately. Each baseline is constructed by taking the most recent images with respect to the the three windows:
If the recent pass was January 1, 2025, then we look at acquisitions in 2021, 2022, and 2023. To determine the number of images we want, we often say we want N (where N=10 or 20) and then select the (N//3, N//3, N - 2 * N//3) from each of the years respectively, where N//3 is the floor of the normal division. So for N=20, then it is (6, 6, 8) images from the earliest window to the most recent.
Polarizations within the historical baseline must be consistent with the recent pass. However, they only have to be consistent within a single burst. That is an MGRS tile can have different polarizations within each burst as long as they are dual polarization. Since the analysis is burst-wise and we only merge the disturbance at the end, we can deal with irregular temporal sampling without the same amount of headache accounting for which dates are best.
Confirmation
Confirmation is done sequentially in time for a fixed MGRS tile.
Product Checks and Edge Cases
I am including MGRS tiles. If not specified please produce 1 month of data where it exists (with confirmation). It will ensure proper functioning. Can use ASF geosearch with the wkt's provided.
Basic test of Confirmation
Below are two MGRS tiles with regular sampling. Generate DIST-S1 products from August 2025 - December 2025.
11SLTWKT of Tile
POLYGON ((-119.173780060483 34.3223655296228, -119.148867136578 33.332767107139, -117.969375418501 33.3475777377302, -117.980622432928 34.3377366075875, -119.173780060483 34.3223655296228))30UXCWKT of Tile
POLYGON ((-1.53211584705208 52.3413550967726, -1.56387937488577 51.3544393897727, 0.011254122574888 51.3245233542209, 0.0777579252880063 52.3103669144162, -1.53211584705208 52.3413550967726))Using this time frame will also ensure Sentinel-1A and Sentinel-1C are working as expected. Interesting too, over Los Angeles (the first tile), the same satellite has a descending and ascending track in the same day!
Antimeridian
There are a bunch of tiles that are run along the anti-meridian. Here is a tile I want to see generated (yes, it should have data - it's along the Aleutian Volcano arc):
60UXCWKT
Western Hemisphere portion :
POLYGON ((-179.922242074712 52.3103669144162, -179.988745877425 51.3245233542209, -180 51.324737100377405, -180 52.311863663297935, -179.922242074712 52.3103669144162))Eastern Hemisphere Portion:
POLYGON ((178.436120625114 51.3544393897727, 178.467884152948 52.3413550967726, 180 52.311863663297935, 180 51.324737100377405, 178.436120625114 51.3544393897727))The MGRS tile is intersected by the antimeridian.
Equator
The Sentinel-1 track increments along the equator. This is just to make sure that the products are working as expected.
22NEGWKT of Tile
POLYGON ((-51.0001798240537 1.80981858869149, -51.0001797530773 0.81642903307441, -50.0133844588991 0.816307194082106, -50.0129949661745 1.8095484334877, -51.0001798240537 1.80981858869149))In September 2025 - use a date that increments from track 46 to track 47. The above MGRS tile should have both tracks within it during a single pass.
Mixed Polarizations
WKT of Tile
POLYGON ((-65.5040714070848 44.2259641542761, -65.4632276768528 43.2382625528472, -64.111316985803 43.2593919100745, -64.1297627132335 44.2478306835014, -65.5040714070848 44.2259641542761))Make sure to check the month of September 2025. For track 171 on September 19th, 2025, you can see that the polarization changes from HH + HV to VV + VH within a single pass of the MGRS tile.
Single Polarization Exclusions
Good way to make make sure you are ignoring single polarization data - process a month over the Phillipines e.g.
51PVRWKT of Tile
POLYGON ((122.071738560543 14.4709990169719, 122.075707575766 13.4783163862909, 123.090178978723 13.4800009479388, 123.09056628434 14.4728126990076, 122.071738560543 14.4709990169719))I checked the time range of September 2025 (track 69 on September 9th has single polarization data).
Using our tools
See
dist-s1-enumeratorhereTo get all the dates and tracks for an MGRS tile within a time period use:
Output
To get RTC-S1 inputs, use:
Output
The output is a pandas dataframe so can easily using the pandas API e.g.
df_product_t91.to_csv("df_product.csv", index=False)Relevant Folks
@riverma
@richw7185
@RKuttruff
@taliboliver
Beta Was this translation helpful? Give feedback.
All reactions