dist-s1-enumerator 1.0.8__tar.gz → 1.0.10__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. {dist_s1_enumerator-1.0.8 → dist_s1_enumerator-1.0.10}/CHANGELOG.md +11 -0
  2. {dist_s1_enumerator-1.0.8 → dist_s1_enumerator-1.0.10}/PKG-INFO +145 -37
  3. {dist_s1_enumerator-1.0.8 → dist_s1_enumerator-1.0.10}/README.md +144 -36
  4. {dist_s1_enumerator-1.0.8 → dist_s1_enumerator-1.0.10}/src/dist_s1_enumerator/dist_enum.py +4 -4
  5. {dist_s1_enumerator-1.0.8 → dist_s1_enumerator-1.0.10}/src/dist_s1_enumerator/dist_enum_inputs.py +2 -1
  6. {dist_s1_enumerator-1.0.8 → dist_s1_enumerator-1.0.10}/src/dist_s1_enumerator.egg-info/PKG-INFO +145 -37
  7. {dist_s1_enumerator-1.0.8 → dist_s1_enumerator-1.0.10}/tests/test_dist_enum.py +4 -1
  8. dist_s1_enumerator-1.0.10/tests/test_dist_enum_inputs.py +243 -0
  9. dist_s1_enumerator-1.0.8/tests/test_dist_enum_inputs.py +0 -62
  10. {dist_s1_enumerator-1.0.8 → dist_s1_enumerator-1.0.10}/.github/dependabot.yml +0 -0
  11. {dist_s1_enumerator-1.0.8 → dist_s1_enumerator-1.0.10}/.github/workflows/bump-tag-for-release.yml +0 -0
  12. {dist_s1_enumerator-1.0.8 → dist_s1_enumerator-1.0.10}/.github/workflows/changelog-updated.yml +0 -0
  13. {dist_s1_enumerator-1.0.8 → dist_s1_enumerator-1.0.10}/.github/workflows/github-release.yml +0 -0
  14. {dist_s1_enumerator-1.0.8 → dist_s1_enumerator-1.0.10}/.github/workflows/labeled-pr.yml +0 -0
  15. {dist_s1_enumerator-1.0.8 → dist_s1_enumerator-1.0.10}/.github/workflows/nb_tests.yml +0 -0
  16. {dist_s1_enumerator-1.0.8 → dist_s1_enumerator-1.0.10}/.github/workflows/pypi-release.yml +0 -0
  17. {dist_s1_enumerator-1.0.8 → dist_s1_enumerator-1.0.10}/.github/workflows/static_analysis.yml +0 -0
  18. {dist_s1_enumerator-1.0.8 → dist_s1_enumerator-1.0.10}/.github/workflows/tests.yml +0 -0
  19. {dist_s1_enumerator-1.0.8 → dist_s1_enumerator-1.0.10}/.gitignore +0 -0
  20. {dist_s1_enumerator-1.0.8 → dist_s1_enumerator-1.0.10}/LICENSE +0 -0
  21. {dist_s1_enumerator-1.0.8 → dist_s1_enumerator-1.0.10}/environment.yml +0 -0
  22. {dist_s1_enumerator-1.0.8 → dist_s1_enumerator-1.0.10}/notebooks/A__Staging_Inputs_for_One_MGRS_Tile.ipynb +0 -0
  23. {dist_s1_enumerator-1.0.8 → dist_s1_enumerator-1.0.10}/notebooks/B__Enumerate_MGRS_tile.ipynb +0 -0
  24. {dist_s1_enumerator-1.0.8 → dist_s1_enumerator-1.0.10}/pyproject.toml +0 -0
  25. {dist_s1_enumerator-1.0.8 → dist_s1_enumerator-1.0.10}/setup.cfg +0 -0
  26. {dist_s1_enumerator-1.0.8 → dist_s1_enumerator-1.0.10}/src/dist_s1_enumerator/__init__.py +0 -0
  27. {dist_s1_enumerator-1.0.8 → dist_s1_enumerator-1.0.10}/src/dist_s1_enumerator/asf.py +0 -0
  28. {dist_s1_enumerator-1.0.8 → dist_s1_enumerator-1.0.10}/src/dist_s1_enumerator/constants.py +0 -0
  29. {dist_s1_enumerator-1.0.8 → dist_s1_enumerator-1.0.10}/src/dist_s1_enumerator/data/jpl_burst_geo.parquet +0 -0
  30. {dist_s1_enumerator-1.0.8 → dist_s1_enumerator-1.0.10}/src/dist_s1_enumerator/data/mgrs.parquet +0 -0
  31. {dist_s1_enumerator-1.0.8 → dist_s1_enumerator-1.0.10}/src/dist_s1_enumerator/data/mgrs_burst_lookup_table.parquet +0 -0
  32. {dist_s1_enumerator-1.0.8 → dist_s1_enumerator-1.0.10}/src/dist_s1_enumerator/exceptions.py +0 -0
  33. {dist_s1_enumerator-1.0.8 → dist_s1_enumerator-1.0.10}/src/dist_s1_enumerator/mgrs_burst_data.py +0 -0
  34. {dist_s1_enumerator-1.0.8 → dist_s1_enumerator-1.0.10}/src/dist_s1_enumerator/param_models.py +0 -0
  35. {dist_s1_enumerator-1.0.8 → dist_s1_enumerator-1.0.10}/src/dist_s1_enumerator/py.typed +0 -0
  36. {dist_s1_enumerator-1.0.8 → dist_s1_enumerator-1.0.10}/src/dist_s1_enumerator/rtc_s1_io.py +0 -0
  37. {dist_s1_enumerator-1.0.8 → dist_s1_enumerator-1.0.10}/src/dist_s1_enumerator/tabular_models.py +0 -0
  38. {dist_s1_enumerator-1.0.8 → dist_s1_enumerator-1.0.10}/src/dist_s1_enumerator.egg-info/SOURCES.txt +0 -0
  39. {dist_s1_enumerator-1.0.8 → dist_s1_enumerator-1.0.10}/src/dist_s1_enumerator.egg-info/dependency_links.txt +0 -0
  40. {dist_s1_enumerator-1.0.8 → dist_s1_enumerator-1.0.10}/src/dist_s1_enumerator.egg-info/not-zip-safe +0 -0
  41. {dist_s1_enumerator-1.0.8 → dist_s1_enumerator-1.0.10}/src/dist_s1_enumerator.egg-info/requires.txt +0 -0
  42. {dist_s1_enumerator-1.0.8 → dist_s1_enumerator-1.0.10}/src/dist_s1_enumerator.egg-info/top_level.txt +0 -0
  43. {dist_s1_enumerator-1.0.8 → dist_s1_enumerator-1.0.10}/tests/conftest.py +0 -0
  44. {dist_s1_enumerator-1.0.8 → dist_s1_enumerator-1.0.10}/tests/data/dist_hls_tiles.txt +0 -0
  45. {dist_s1_enumerator-1.0.8 → dist_s1_enumerator-1.0.10}/tests/data/mock_ts_data_for_enum.ipynb +0 -0
  46. {dist_s1_enumerator-1.0.8 → dist_s1_enumerator-1.0.10}/tests/data/rtc_s1_ts_metadata/chile_19HBD.parquet +0 -0
  47. {dist_s1_enumerator-1.0.8 → dist_s1_enumerator-1.0.10}/tests/data/rtc_s1_ts_metadata/mgrs01UBT.parquet +0 -0
  48. {dist_s1_enumerator-1.0.8 → dist_s1_enumerator-1.0.10}/tests/data/rtc_s1_ts_metadata/mgrs11SLT_11SLU_11SMT.parquet +0 -0
  49. {dist_s1_enumerator-1.0.8 → dist_s1_enumerator-1.0.10}/tests/data/rtc_s1_ts_metadata/mgrs15RXN__track63.parquet +0 -0
  50. {dist_s1_enumerator-1.0.8 → dist_s1_enumerator-1.0.10}/tests/data/rtc_s1_ts_metadata/mgrs22WFD.parquet +0 -0
  51. {dist_s1_enumerator-1.0.8 → dist_s1_enumerator-1.0.10}/tests/data/ts_data_for_workflow_inputs.ipynb +0 -0
  52. {dist_s1_enumerator-1.0.8 → dist_s1_enumerator-1.0.10}/tests/test_asf.py +0 -0
  53. {dist_s1_enumerator-1.0.8 → dist_s1_enumerator-1.0.10}/tests/test_mgrs_burst_data.py +0 -0
  54. {dist_s1_enumerator-1.0.8 → dist_s1_enumerator-1.0.10}/tests/test_notebooks.py +0 -0
  55. {dist_s1_enumerator-1.0.8 → dist_s1_enumerator-1.0.10}/tests/test_package.py +0 -0
  56. {dist_s1_enumerator-1.0.8 → dist_s1_enumerator-1.0.10}/tests/test_param_model.py +0 -0
  57. {dist_s1_enumerator-1.0.8 → dist_s1_enumerator-1.0.10}/tests/test_rtc_s1_io.py +0 -0
@@ -6,6 +6,17 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [PEP 440](https://www.python.org/dev/peps/pep-0440/)
7
7
  and uses [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
8
8
 
9
+ ## [1.0.10] - 2026-01-07
10
+
11
+ ### Added
12
+ * Include timestamp (not just date) for enumeration of input of DIST-S1 time series.
13
+
14
+
15
+ ## [1.0.9] - 2026-01-07
16
+
17
+ ### Changed
18
+ * Update the delta_window_days from 365 to 60 (i.e. from a year to 2 months). This enforces a baseline to account for some seasonality via its construction.
19
+
9
20
  ## [1.0.8] - 2025-11-10
10
21
 
11
22
  ### Changed
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dist-s1-enumerator
3
- Version: 1.0.8
3
+ Version: 1.0.10
4
4
  Summary: Enumeration and ops library for the OPERA DIST-S1 project
5
5
  Author-email: "Richard West, Charlie Marshak, Talib Oliver-Cabrera, and Jungkyo Jung" <charlie.z.marshak@jpl.nasa.gov>
6
6
  License: Apache-2.0
@@ -99,42 +99,150 @@ Yields:
99
99
  <details>
100
100
  <summary>Output</summary>
101
101
 
102
- ```[{'mgrs_tile_id': '19HBD', 'post_acq_date': '2023-11-05', 'track_number': 91},
103
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2023-11-10', 'track_number': 156},
104
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2023-11-12', 'track_number': 18},
105
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2023-11-17', 'track_number': 91},
106
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2023-11-22', 'track_number': 156},
107
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2023-11-24', 'track_number': 18},
108
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2023-12-04', 'track_number': 156},
109
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2023-12-06', 'track_number': 18},
110
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2023-12-11', 'track_number': 91},
111
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2023-12-16', 'track_number': 156},
112
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2023-12-18', 'track_number': 18},
113
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2023-12-23', 'track_number': 91},
114
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2023-12-28', 'track_number': 156},
115
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2023-12-30', 'track_number': 18},
116
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-01-04', 'track_number': 91},
117
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-01-09', 'track_number': 156},
118
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-01-11', 'track_number': 18},
119
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-01-16', 'track_number': 91},
120
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-01-21', 'track_number': 156},
121
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-01-23', 'track_number': 18},
122
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-01-28', 'track_number': 91},
123
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-02-02', 'track_number': 156},
124
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-02-04', 'track_number': 18},
125
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-02-09', 'track_number': 91},
126
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-02-14', 'track_number': 156},
127
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-02-16', 'track_number': 18},
128
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-02-21', 'track_number': 91},
129
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-02-26', 'track_number': 156},
130
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-02-28', 'track_number': 18},
131
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-03-04', 'track_number': 91},
132
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-03-09', 'track_number': 156},
133
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-03-11', 'track_number': 18},
134
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-03-16', 'track_number': 91},
135
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-03-21', 'track_number': 156},
136
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-03-23', 'track_number': 18},
137
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-03-28', 'track_number': 91}]
102
+ ```[{'mgrs_tile_id': '19HBD',
103
+ 'post_acq_date': '2023-11-05',
104
+ 'track_number': 91,
105
+ 'post_acq_timestamp': '2023-11-05 23:36:49+00:00'},
106
+ {'mgrs_tile_id': '19HBD',
107
+ 'post_acq_date': '2023-11-10',
108
+ 'track_number': 156,
109
+ 'post_acq_timestamp': '2023-11-10 10:04:33+00:00'},
110
+ {'mgrs_tile_id': '19HBD',
111
+ 'post_acq_date': '2023-11-12',
112
+ 'track_number': 18,
113
+ 'post_acq_timestamp': '2023-11-12 23:28:39+00:00'},
114
+ {'mgrs_tile_id': '19HBD',
115
+ 'post_acq_date': '2023-11-17',
116
+ 'track_number': 91,
117
+ 'post_acq_timestamp': '2023-11-17 23:36:49+00:00'},
118
+ {'mgrs_tile_id': '19HBD',
119
+ 'post_acq_date': '2023-11-22',
120
+ 'track_number': 156,
121
+ 'post_acq_timestamp': '2023-11-22 10:04:33+00:00'},
122
+ {'mgrs_tile_id': '19HBD',
123
+ 'post_acq_date': '2023-11-24',
124
+ 'track_number': 18,
125
+ 'post_acq_timestamp': '2023-11-24 23:28:39+00:00'},
126
+ {'mgrs_tile_id': '19HBD',
127
+ 'post_acq_date': '2023-12-04',
128
+ 'track_number': 156,
129
+ 'post_acq_timestamp': '2023-12-04 10:04:33+00:00'},
130
+ {'mgrs_tile_id': '19HBD',
131
+ 'post_acq_date': '2023-12-06',
132
+ 'track_number': 18,
133
+ 'post_acq_timestamp': '2023-12-06 23:28:39+00:00'},
134
+ {'mgrs_tile_id': '19HBD',
135
+ 'post_acq_date': '2023-12-11',
136
+ 'track_number': 91,
137
+ 'post_acq_timestamp': '2023-12-11 23:36:48+00:00'},
138
+ {'mgrs_tile_id': '19HBD',
139
+ 'post_acq_date': '2023-12-16',
140
+ 'track_number': 156,
141
+ 'post_acq_timestamp': '2023-12-16 10:04:32+00:00'},
142
+ {'mgrs_tile_id': '19HBD',
143
+ 'post_acq_date': '2023-12-18',
144
+ 'track_number': 18,
145
+ 'post_acq_timestamp': '2023-12-18 23:28:38+00:00'},
146
+ {'mgrs_tile_id': '19HBD',
147
+ 'post_acq_date': '2023-12-23',
148
+ 'track_number': 91,
149
+ 'post_acq_timestamp': '2023-12-23 23:36:47+00:00'},
150
+ {'mgrs_tile_id': '19HBD',
151
+ 'post_acq_date': '2023-12-28',
152
+ 'track_number': 156,
153
+ 'post_acq_timestamp': '2023-12-28 10:04:31+00:00'},
154
+ {'mgrs_tile_id': '19HBD',
155
+ 'post_acq_date': '2023-12-30',
156
+ 'track_number': 18,
157
+ 'post_acq_timestamp': '2023-12-30 23:28:37+00:00'},
158
+ {'mgrs_tile_id': '19HBD',
159
+ 'post_acq_date': '2024-01-04',
160
+ 'track_number': 91,
161
+ 'post_acq_timestamp': '2024-01-04 23:36:47+00:00'},
162
+ {'mgrs_tile_id': '19HBD',
163
+ 'post_acq_date': '2024-01-09',
164
+ 'track_number': 156,
165
+ 'post_acq_timestamp': '2024-01-09 10:04:31+00:00'},
166
+ {'mgrs_tile_id': '19HBD',
167
+ 'post_acq_date': '2024-01-11',
168
+ 'track_number': 18,
169
+ 'post_acq_timestamp': '2024-01-11 23:28:37+00:00'},
170
+ {'mgrs_tile_id': '19HBD',
171
+ 'post_acq_date': '2024-01-16',
172
+ 'track_number': 91,
173
+ 'post_acq_timestamp': '2024-01-16 23:36:46+00:00'},
174
+ {'mgrs_tile_id': '19HBD',
175
+ 'post_acq_date': '2024-01-21',
176
+ 'track_number': 156,
177
+ 'post_acq_timestamp': '2024-01-21 10:04:30+00:00'},
178
+ {'mgrs_tile_id': '19HBD',
179
+ 'post_acq_date': '2024-01-23',
180
+ 'track_number': 18,
181
+ 'post_acq_timestamp': '2024-01-23 23:28:36+00:00'},
182
+ {'mgrs_tile_id': '19HBD',
183
+ 'post_acq_date': '2024-01-28',
184
+ 'track_number': 91,
185
+ 'post_acq_timestamp': '2024-01-28 23:36:46+00:00'},
186
+ {'mgrs_tile_id': '19HBD',
187
+ 'post_acq_date': '2024-02-02',
188
+ 'track_number': 156,
189
+ 'post_acq_timestamp': '2024-02-02 10:04:30+00:00'},
190
+ {'mgrs_tile_id': '19HBD',
191
+ 'post_acq_date': '2024-02-04',
192
+ 'track_number': 18,
193
+ 'post_acq_timestamp': '2024-02-04 23:28:36+00:00'},
194
+ {'mgrs_tile_id': '19HBD',
195
+ 'post_acq_date': '2024-02-09',
196
+ 'track_number': 91,
197
+ 'post_acq_timestamp': '2024-02-09 23:36:45+00:00'},
198
+ {'mgrs_tile_id': '19HBD',
199
+ 'post_acq_date': '2024-02-14',
200
+ 'track_number': 156,
201
+ 'post_acq_timestamp': '2024-02-14 10:04:29+00:00'},
202
+ {'mgrs_tile_id': '19HBD',
203
+ 'post_acq_date': '2024-02-16',
204
+ 'track_number': 18,
205
+ 'post_acq_timestamp': '2024-02-16 23:28:36+00:00'},
206
+ {'mgrs_tile_id': '19HBD',
207
+ 'post_acq_date': '2024-02-21',
208
+ 'track_number': 91,
209
+ 'post_acq_timestamp': '2024-02-21 23:36:46+00:00'},
210
+ {'mgrs_tile_id': '19HBD',
211
+ 'post_acq_date': '2024-02-26',
212
+ 'track_number': 156,
213
+ 'post_acq_timestamp': '2024-02-26 10:04:29+00:00'},
214
+ {'mgrs_tile_id': '19HBD',
215
+ 'post_acq_date': '2024-02-28',
216
+ 'track_number': 18,
217
+ 'post_acq_timestamp': '2024-02-28 23:28:36+00:00'},
218
+ {'mgrs_tile_id': '19HBD',
219
+ 'post_acq_date': '2024-03-04',
220
+ 'track_number': 91,
221
+ 'post_acq_timestamp': '2024-03-04 23:36:46+00:00'},
222
+ {'mgrs_tile_id': '19HBD',
223
+ 'post_acq_date': '2024-03-09',
224
+ 'track_number': 156,
225
+ 'post_acq_timestamp': '2024-03-09 10:04:29+00:00'},
226
+ {'mgrs_tile_id': '19HBD',
227
+ 'post_acq_date': '2024-03-11',
228
+ 'track_number': 18,
229
+ 'post_acq_timestamp': '2024-03-11 23:28:36+00:00'},
230
+ {'mgrs_tile_id': '19HBD',
231
+ 'post_acq_date': '2024-03-16',
232
+ 'track_number': 91,
233
+ 'post_acq_timestamp': '2024-03-16 23:36:46+00:00'},
234
+ {'mgrs_tile_id': '19HBD',
235
+ 'post_acq_date': '2024-03-21',
236
+ 'track_number': 156,
237
+ 'post_acq_timestamp': '2024-03-21 10:04:30+00:00'},
238
+ {'mgrs_tile_id': '19HBD',
239
+ 'post_acq_date': '2024-03-23',
240
+ 'track_number': 18,
241
+ 'post_acq_timestamp': '2024-03-23 23:28:36+00:00'},
242
+ {'mgrs_tile_id': '19HBD',
243
+ 'post_acq_date': '2024-03-28',
244
+ 'track_number': 91,
245
+ 'post_acq_timestamp': '2024-03-28 23:36:46+00:00'}]
138
246
  ```
139
247
  </details>
140
248
  Each dictionary uniquely determines a DIST-S1 product.
@@ -76,42 +76,150 @@ Yields:
76
76
  <details>
77
77
  <summary>Output</summary>
78
78
 
79
- ```[{'mgrs_tile_id': '19HBD', 'post_acq_date': '2023-11-05', 'track_number': 91},
80
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2023-11-10', 'track_number': 156},
81
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2023-11-12', 'track_number': 18},
82
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2023-11-17', 'track_number': 91},
83
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2023-11-22', 'track_number': 156},
84
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2023-11-24', 'track_number': 18},
85
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2023-12-04', 'track_number': 156},
86
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2023-12-06', 'track_number': 18},
87
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2023-12-11', 'track_number': 91},
88
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2023-12-16', 'track_number': 156},
89
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2023-12-18', 'track_number': 18},
90
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2023-12-23', 'track_number': 91},
91
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2023-12-28', 'track_number': 156},
92
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2023-12-30', 'track_number': 18},
93
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-01-04', 'track_number': 91},
94
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-01-09', 'track_number': 156},
95
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-01-11', 'track_number': 18},
96
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-01-16', 'track_number': 91},
97
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-01-21', 'track_number': 156},
98
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-01-23', 'track_number': 18},
99
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-01-28', 'track_number': 91},
100
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-02-02', 'track_number': 156},
101
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-02-04', 'track_number': 18},
102
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-02-09', 'track_number': 91},
103
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-02-14', 'track_number': 156},
104
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-02-16', 'track_number': 18},
105
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-02-21', 'track_number': 91},
106
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-02-26', 'track_number': 156},
107
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-02-28', 'track_number': 18},
108
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-03-04', 'track_number': 91},
109
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-03-09', 'track_number': 156},
110
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-03-11', 'track_number': 18},
111
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-03-16', 'track_number': 91},
112
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-03-21', 'track_number': 156},
113
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-03-23', 'track_number': 18},
114
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-03-28', 'track_number': 91}]
79
+ ```[{'mgrs_tile_id': '19HBD',
80
+ 'post_acq_date': '2023-11-05',
81
+ 'track_number': 91,
82
+ 'post_acq_timestamp': '2023-11-05 23:36:49+00:00'},
83
+ {'mgrs_tile_id': '19HBD',
84
+ 'post_acq_date': '2023-11-10',
85
+ 'track_number': 156,
86
+ 'post_acq_timestamp': '2023-11-10 10:04:33+00:00'},
87
+ {'mgrs_tile_id': '19HBD',
88
+ 'post_acq_date': '2023-11-12',
89
+ 'track_number': 18,
90
+ 'post_acq_timestamp': '2023-11-12 23:28:39+00:00'},
91
+ {'mgrs_tile_id': '19HBD',
92
+ 'post_acq_date': '2023-11-17',
93
+ 'track_number': 91,
94
+ 'post_acq_timestamp': '2023-11-17 23:36:49+00:00'},
95
+ {'mgrs_tile_id': '19HBD',
96
+ 'post_acq_date': '2023-11-22',
97
+ 'track_number': 156,
98
+ 'post_acq_timestamp': '2023-11-22 10:04:33+00:00'},
99
+ {'mgrs_tile_id': '19HBD',
100
+ 'post_acq_date': '2023-11-24',
101
+ 'track_number': 18,
102
+ 'post_acq_timestamp': '2023-11-24 23:28:39+00:00'},
103
+ {'mgrs_tile_id': '19HBD',
104
+ 'post_acq_date': '2023-12-04',
105
+ 'track_number': 156,
106
+ 'post_acq_timestamp': '2023-12-04 10:04:33+00:00'},
107
+ {'mgrs_tile_id': '19HBD',
108
+ 'post_acq_date': '2023-12-06',
109
+ 'track_number': 18,
110
+ 'post_acq_timestamp': '2023-12-06 23:28:39+00:00'},
111
+ {'mgrs_tile_id': '19HBD',
112
+ 'post_acq_date': '2023-12-11',
113
+ 'track_number': 91,
114
+ 'post_acq_timestamp': '2023-12-11 23:36:48+00:00'},
115
+ {'mgrs_tile_id': '19HBD',
116
+ 'post_acq_date': '2023-12-16',
117
+ 'track_number': 156,
118
+ 'post_acq_timestamp': '2023-12-16 10:04:32+00:00'},
119
+ {'mgrs_tile_id': '19HBD',
120
+ 'post_acq_date': '2023-12-18',
121
+ 'track_number': 18,
122
+ 'post_acq_timestamp': '2023-12-18 23:28:38+00:00'},
123
+ {'mgrs_tile_id': '19HBD',
124
+ 'post_acq_date': '2023-12-23',
125
+ 'track_number': 91,
126
+ 'post_acq_timestamp': '2023-12-23 23:36:47+00:00'},
127
+ {'mgrs_tile_id': '19HBD',
128
+ 'post_acq_date': '2023-12-28',
129
+ 'track_number': 156,
130
+ 'post_acq_timestamp': '2023-12-28 10:04:31+00:00'},
131
+ {'mgrs_tile_id': '19HBD',
132
+ 'post_acq_date': '2023-12-30',
133
+ 'track_number': 18,
134
+ 'post_acq_timestamp': '2023-12-30 23:28:37+00:00'},
135
+ {'mgrs_tile_id': '19HBD',
136
+ 'post_acq_date': '2024-01-04',
137
+ 'track_number': 91,
138
+ 'post_acq_timestamp': '2024-01-04 23:36:47+00:00'},
139
+ {'mgrs_tile_id': '19HBD',
140
+ 'post_acq_date': '2024-01-09',
141
+ 'track_number': 156,
142
+ 'post_acq_timestamp': '2024-01-09 10:04:31+00:00'},
143
+ {'mgrs_tile_id': '19HBD',
144
+ 'post_acq_date': '2024-01-11',
145
+ 'track_number': 18,
146
+ 'post_acq_timestamp': '2024-01-11 23:28:37+00:00'},
147
+ {'mgrs_tile_id': '19HBD',
148
+ 'post_acq_date': '2024-01-16',
149
+ 'track_number': 91,
150
+ 'post_acq_timestamp': '2024-01-16 23:36:46+00:00'},
151
+ {'mgrs_tile_id': '19HBD',
152
+ 'post_acq_date': '2024-01-21',
153
+ 'track_number': 156,
154
+ 'post_acq_timestamp': '2024-01-21 10:04:30+00:00'},
155
+ {'mgrs_tile_id': '19HBD',
156
+ 'post_acq_date': '2024-01-23',
157
+ 'track_number': 18,
158
+ 'post_acq_timestamp': '2024-01-23 23:28:36+00:00'},
159
+ {'mgrs_tile_id': '19HBD',
160
+ 'post_acq_date': '2024-01-28',
161
+ 'track_number': 91,
162
+ 'post_acq_timestamp': '2024-01-28 23:36:46+00:00'},
163
+ {'mgrs_tile_id': '19HBD',
164
+ 'post_acq_date': '2024-02-02',
165
+ 'track_number': 156,
166
+ 'post_acq_timestamp': '2024-02-02 10:04:30+00:00'},
167
+ {'mgrs_tile_id': '19HBD',
168
+ 'post_acq_date': '2024-02-04',
169
+ 'track_number': 18,
170
+ 'post_acq_timestamp': '2024-02-04 23:28:36+00:00'},
171
+ {'mgrs_tile_id': '19HBD',
172
+ 'post_acq_date': '2024-02-09',
173
+ 'track_number': 91,
174
+ 'post_acq_timestamp': '2024-02-09 23:36:45+00:00'},
175
+ {'mgrs_tile_id': '19HBD',
176
+ 'post_acq_date': '2024-02-14',
177
+ 'track_number': 156,
178
+ 'post_acq_timestamp': '2024-02-14 10:04:29+00:00'},
179
+ {'mgrs_tile_id': '19HBD',
180
+ 'post_acq_date': '2024-02-16',
181
+ 'track_number': 18,
182
+ 'post_acq_timestamp': '2024-02-16 23:28:36+00:00'},
183
+ {'mgrs_tile_id': '19HBD',
184
+ 'post_acq_date': '2024-02-21',
185
+ 'track_number': 91,
186
+ 'post_acq_timestamp': '2024-02-21 23:36:46+00:00'},
187
+ {'mgrs_tile_id': '19HBD',
188
+ 'post_acq_date': '2024-02-26',
189
+ 'track_number': 156,
190
+ 'post_acq_timestamp': '2024-02-26 10:04:29+00:00'},
191
+ {'mgrs_tile_id': '19HBD',
192
+ 'post_acq_date': '2024-02-28',
193
+ 'track_number': 18,
194
+ 'post_acq_timestamp': '2024-02-28 23:28:36+00:00'},
195
+ {'mgrs_tile_id': '19HBD',
196
+ 'post_acq_date': '2024-03-04',
197
+ 'track_number': 91,
198
+ 'post_acq_timestamp': '2024-03-04 23:36:46+00:00'},
199
+ {'mgrs_tile_id': '19HBD',
200
+ 'post_acq_date': '2024-03-09',
201
+ 'track_number': 156,
202
+ 'post_acq_timestamp': '2024-03-09 10:04:29+00:00'},
203
+ {'mgrs_tile_id': '19HBD',
204
+ 'post_acq_date': '2024-03-11',
205
+ 'track_number': 18,
206
+ 'post_acq_timestamp': '2024-03-11 23:28:36+00:00'},
207
+ {'mgrs_tile_id': '19HBD',
208
+ 'post_acq_date': '2024-03-16',
209
+ 'track_number': 91,
210
+ 'post_acq_timestamp': '2024-03-16 23:36:46+00:00'},
211
+ {'mgrs_tile_id': '19HBD',
212
+ 'post_acq_date': '2024-03-21',
213
+ 'track_number': 156,
214
+ 'post_acq_timestamp': '2024-03-21 10:04:30+00:00'},
215
+ {'mgrs_tile_id': '19HBD',
216
+ 'post_acq_date': '2024-03-23',
217
+ 'track_number': 18,
218
+ 'post_acq_timestamp': '2024-03-23 23:28:36+00:00'},
219
+ {'mgrs_tile_id': '19HBD',
220
+ 'post_acq_date': '2024-03-28',
221
+ 'track_number': 91,
222
+ 'post_acq_timestamp': '2024-03-28 23:36:46+00:00'}]
115
223
  ```
116
224
  </details>
117
225
  Each dictionary uniquely determines a DIST-S1 product.
@@ -17,7 +17,7 @@ def enumerate_one_dist_s1_product(
17
17
  lookback_strategy: str = 'multi_window',
18
18
  post_date_buffer_days: int = 1,
19
19
  max_pre_imgs_per_burst: int | list[int] | tuple[int, ...] = (5, 5, 5),
20
- delta_window_days: int = 365,
20
+ delta_window_days: int = 60,
21
21
  delta_lookback_days: int | list[int] | tuple[int, ...] = 365,
22
22
  min_pre_imgs_per_burst: int = 1,
23
23
  tqdm_enabled: bool = True,
@@ -61,7 +61,7 @@ def enumerate_one_dist_s1_product(
61
61
  - Expects a single integer, tuples/lists will throw an error.
62
62
  - This means the maximum pre-images on prior to the post-date.
63
63
  delta_window_days : int, optional
64
- The acceptable window of time to search for pre-image RTC-S1 data. Default is 365 days.
64
+ The acceptable window of time to search for pre-image RTC-S1 data. Default is 60 days (or 2 months).
65
65
  This amounts to roughly `post_date - lookback_days - delta_window_days` to `post_date - lookback_days`.
66
66
  If lookback strategy is 'multi_window', this means the maximum window of time to search for pre-images on each
67
67
  anniversary date where `post_date - n * lookback_days` are the anniversary dates for n = 1,....
@@ -235,7 +235,7 @@ def enumerate_dist_s1_products(
235
235
  min_pre_imgs_per_burst: int = 1,
236
236
  tqdm_enabled: bool = True,
237
237
  delta_lookback_days: int = 365,
238
- delta_window_days: int = 365,
238
+ delta_window_days: int = 60,
239
239
  ) -> gpd.GeoDataFrame:
240
240
  """
241
241
  Enumerate DIST-S1 products from a stack of RTC-S1 metadata and a list of MGRS tiles.
@@ -275,7 +275,7 @@ def enumerate_dist_s1_products(
275
275
  anniversary date where `post_date - n * lookback_days` are the anniversary dates for n = 1,....
276
276
  If lookback strategy is 'immediate_lookback', this must be set to 0.
277
277
  delta_window_days : int, optional
278
- The acceptable window of time to search for pre-image RTC-S1 data. Default is 365 days.
278
+ The acceptable window of time to search for pre-image RTC-S1 data. Default is 60 days (or 2 months).
279
279
  This amounts to roughly `post_date - lookback_days - delta_window_days` to `post_date - lookback_days`.
280
280
  If lookback strategy is 'multi_window', this means the maximum window of time to search for pre-images on each
281
281
  anniversary date where `post_date - n * lookback_days` are the anniversary dates for n = 1,....
@@ -14,13 +14,14 @@ def update_dist_s1_workflow_dict(data_dict: dict) -> dict:
14
14
  {
15
15
  key: val
16
16
  for (key, val) in data_dict.items()
17
- if key in ['mgrs_tile_id', 'acq_date_for_mgrs_pass', 'track_number', 'product_id']
17
+ if key in ['mgrs_tile_id', 'acq_date_for_mgrs_pass', 'track_number', 'product_id', 'acq_dt']
18
18
  }
19
19
  )
20
20
  out_formatted = {
21
21
  'mgrs_tile_id': out['mgrs_tile_id'],
22
22
  'post_acq_date': out['acq_date_for_mgrs_pass'],
23
23
  'track_number': out['track_number'],
24
+ 'post_acq_timestamp': str(out['acq_dt']),
24
25
  }
25
26
  return out_formatted
26
27
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dist-s1-enumerator
3
- Version: 1.0.8
3
+ Version: 1.0.10
4
4
  Summary: Enumeration and ops library for the OPERA DIST-S1 project
5
5
  Author-email: "Richard West, Charlie Marshak, Talib Oliver-Cabrera, and Jungkyo Jung" <charlie.z.marshak@jpl.nasa.gov>
6
6
  License: Apache-2.0
@@ -99,42 +99,150 @@ Yields:
99
99
  <details>
100
100
  <summary>Output</summary>
101
101
 
102
- ```[{'mgrs_tile_id': '19HBD', 'post_acq_date': '2023-11-05', 'track_number': 91},
103
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2023-11-10', 'track_number': 156},
104
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2023-11-12', 'track_number': 18},
105
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2023-11-17', 'track_number': 91},
106
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2023-11-22', 'track_number': 156},
107
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2023-11-24', 'track_number': 18},
108
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2023-12-04', 'track_number': 156},
109
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2023-12-06', 'track_number': 18},
110
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2023-12-11', 'track_number': 91},
111
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2023-12-16', 'track_number': 156},
112
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2023-12-18', 'track_number': 18},
113
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2023-12-23', 'track_number': 91},
114
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2023-12-28', 'track_number': 156},
115
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2023-12-30', 'track_number': 18},
116
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-01-04', 'track_number': 91},
117
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-01-09', 'track_number': 156},
118
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-01-11', 'track_number': 18},
119
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-01-16', 'track_number': 91},
120
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-01-21', 'track_number': 156},
121
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-01-23', 'track_number': 18},
122
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-01-28', 'track_number': 91},
123
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-02-02', 'track_number': 156},
124
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-02-04', 'track_number': 18},
125
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-02-09', 'track_number': 91},
126
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-02-14', 'track_number': 156},
127
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-02-16', 'track_number': 18},
128
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-02-21', 'track_number': 91},
129
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-02-26', 'track_number': 156},
130
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-02-28', 'track_number': 18},
131
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-03-04', 'track_number': 91},
132
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-03-09', 'track_number': 156},
133
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-03-11', 'track_number': 18},
134
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-03-16', 'track_number': 91},
135
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-03-21', 'track_number': 156},
136
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-03-23', 'track_number': 18},
137
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-03-28', 'track_number': 91}]
102
+ ```[{'mgrs_tile_id': '19HBD',
103
+ 'post_acq_date': '2023-11-05',
104
+ 'track_number': 91,
105
+ 'post_acq_timestamp': '2023-11-05 23:36:49+00:00'},
106
+ {'mgrs_tile_id': '19HBD',
107
+ 'post_acq_date': '2023-11-10',
108
+ 'track_number': 156,
109
+ 'post_acq_timestamp': '2023-11-10 10:04:33+00:00'},
110
+ {'mgrs_tile_id': '19HBD',
111
+ 'post_acq_date': '2023-11-12',
112
+ 'track_number': 18,
113
+ 'post_acq_timestamp': '2023-11-12 23:28:39+00:00'},
114
+ {'mgrs_tile_id': '19HBD',
115
+ 'post_acq_date': '2023-11-17',
116
+ 'track_number': 91,
117
+ 'post_acq_timestamp': '2023-11-17 23:36:49+00:00'},
118
+ {'mgrs_tile_id': '19HBD',
119
+ 'post_acq_date': '2023-11-22',
120
+ 'track_number': 156,
121
+ 'post_acq_timestamp': '2023-11-22 10:04:33+00:00'},
122
+ {'mgrs_tile_id': '19HBD',
123
+ 'post_acq_date': '2023-11-24',
124
+ 'track_number': 18,
125
+ 'post_acq_timestamp': '2023-11-24 23:28:39+00:00'},
126
+ {'mgrs_tile_id': '19HBD',
127
+ 'post_acq_date': '2023-12-04',
128
+ 'track_number': 156,
129
+ 'post_acq_timestamp': '2023-12-04 10:04:33+00:00'},
130
+ {'mgrs_tile_id': '19HBD',
131
+ 'post_acq_date': '2023-12-06',
132
+ 'track_number': 18,
133
+ 'post_acq_timestamp': '2023-12-06 23:28:39+00:00'},
134
+ {'mgrs_tile_id': '19HBD',
135
+ 'post_acq_date': '2023-12-11',
136
+ 'track_number': 91,
137
+ 'post_acq_timestamp': '2023-12-11 23:36:48+00:00'},
138
+ {'mgrs_tile_id': '19HBD',
139
+ 'post_acq_date': '2023-12-16',
140
+ 'track_number': 156,
141
+ 'post_acq_timestamp': '2023-12-16 10:04:32+00:00'},
142
+ {'mgrs_tile_id': '19HBD',
143
+ 'post_acq_date': '2023-12-18',
144
+ 'track_number': 18,
145
+ 'post_acq_timestamp': '2023-12-18 23:28:38+00:00'},
146
+ {'mgrs_tile_id': '19HBD',
147
+ 'post_acq_date': '2023-12-23',
148
+ 'track_number': 91,
149
+ 'post_acq_timestamp': '2023-12-23 23:36:47+00:00'},
150
+ {'mgrs_tile_id': '19HBD',
151
+ 'post_acq_date': '2023-12-28',
152
+ 'track_number': 156,
153
+ 'post_acq_timestamp': '2023-12-28 10:04:31+00:00'},
154
+ {'mgrs_tile_id': '19HBD',
155
+ 'post_acq_date': '2023-12-30',
156
+ 'track_number': 18,
157
+ 'post_acq_timestamp': '2023-12-30 23:28:37+00:00'},
158
+ {'mgrs_tile_id': '19HBD',
159
+ 'post_acq_date': '2024-01-04',
160
+ 'track_number': 91,
161
+ 'post_acq_timestamp': '2024-01-04 23:36:47+00:00'},
162
+ {'mgrs_tile_id': '19HBD',
163
+ 'post_acq_date': '2024-01-09',
164
+ 'track_number': 156,
165
+ 'post_acq_timestamp': '2024-01-09 10:04:31+00:00'},
166
+ {'mgrs_tile_id': '19HBD',
167
+ 'post_acq_date': '2024-01-11',
168
+ 'track_number': 18,
169
+ 'post_acq_timestamp': '2024-01-11 23:28:37+00:00'},
170
+ {'mgrs_tile_id': '19HBD',
171
+ 'post_acq_date': '2024-01-16',
172
+ 'track_number': 91,
173
+ 'post_acq_timestamp': '2024-01-16 23:36:46+00:00'},
174
+ {'mgrs_tile_id': '19HBD',
175
+ 'post_acq_date': '2024-01-21',
176
+ 'track_number': 156,
177
+ 'post_acq_timestamp': '2024-01-21 10:04:30+00:00'},
178
+ {'mgrs_tile_id': '19HBD',
179
+ 'post_acq_date': '2024-01-23',
180
+ 'track_number': 18,
181
+ 'post_acq_timestamp': '2024-01-23 23:28:36+00:00'},
182
+ {'mgrs_tile_id': '19HBD',
183
+ 'post_acq_date': '2024-01-28',
184
+ 'track_number': 91,
185
+ 'post_acq_timestamp': '2024-01-28 23:36:46+00:00'},
186
+ {'mgrs_tile_id': '19HBD',
187
+ 'post_acq_date': '2024-02-02',
188
+ 'track_number': 156,
189
+ 'post_acq_timestamp': '2024-02-02 10:04:30+00:00'},
190
+ {'mgrs_tile_id': '19HBD',
191
+ 'post_acq_date': '2024-02-04',
192
+ 'track_number': 18,
193
+ 'post_acq_timestamp': '2024-02-04 23:28:36+00:00'},
194
+ {'mgrs_tile_id': '19HBD',
195
+ 'post_acq_date': '2024-02-09',
196
+ 'track_number': 91,
197
+ 'post_acq_timestamp': '2024-02-09 23:36:45+00:00'},
198
+ {'mgrs_tile_id': '19HBD',
199
+ 'post_acq_date': '2024-02-14',
200
+ 'track_number': 156,
201
+ 'post_acq_timestamp': '2024-02-14 10:04:29+00:00'},
202
+ {'mgrs_tile_id': '19HBD',
203
+ 'post_acq_date': '2024-02-16',
204
+ 'track_number': 18,
205
+ 'post_acq_timestamp': '2024-02-16 23:28:36+00:00'},
206
+ {'mgrs_tile_id': '19HBD',
207
+ 'post_acq_date': '2024-02-21',
208
+ 'track_number': 91,
209
+ 'post_acq_timestamp': '2024-02-21 23:36:46+00:00'},
210
+ {'mgrs_tile_id': '19HBD',
211
+ 'post_acq_date': '2024-02-26',
212
+ 'track_number': 156,
213
+ 'post_acq_timestamp': '2024-02-26 10:04:29+00:00'},
214
+ {'mgrs_tile_id': '19HBD',
215
+ 'post_acq_date': '2024-02-28',
216
+ 'track_number': 18,
217
+ 'post_acq_timestamp': '2024-02-28 23:28:36+00:00'},
218
+ {'mgrs_tile_id': '19HBD',
219
+ 'post_acq_date': '2024-03-04',
220
+ 'track_number': 91,
221
+ 'post_acq_timestamp': '2024-03-04 23:36:46+00:00'},
222
+ {'mgrs_tile_id': '19HBD',
223
+ 'post_acq_date': '2024-03-09',
224
+ 'track_number': 156,
225
+ 'post_acq_timestamp': '2024-03-09 10:04:29+00:00'},
226
+ {'mgrs_tile_id': '19HBD',
227
+ 'post_acq_date': '2024-03-11',
228
+ 'track_number': 18,
229
+ 'post_acq_timestamp': '2024-03-11 23:28:36+00:00'},
230
+ {'mgrs_tile_id': '19HBD',
231
+ 'post_acq_date': '2024-03-16',
232
+ 'track_number': 91,
233
+ 'post_acq_timestamp': '2024-03-16 23:36:46+00:00'},
234
+ {'mgrs_tile_id': '19HBD',
235
+ 'post_acq_date': '2024-03-21',
236
+ 'track_number': 156,
237
+ 'post_acq_timestamp': '2024-03-21 10:04:30+00:00'},
238
+ {'mgrs_tile_id': '19HBD',
239
+ 'post_acq_date': '2024-03-23',
240
+ 'track_number': 18,
241
+ 'post_acq_timestamp': '2024-03-23 23:28:36+00:00'},
242
+ {'mgrs_tile_id': '19HBD',
243
+ 'post_acq_date': '2024-03-28',
244
+ 'track_number': 91,
245
+ 'post_acq_timestamp': '2024-03-28 23:36:46+00:00'}]
138
246
  ```
139
247
  </details>
140
248
  Each dictionary uniquely determines a DIST-S1 product.
@@ -68,7 +68,7 @@ def mock_response_from_asf_daac(
68
68
  2,
69
69
  ), # multiple MGRS tiles over Los Angeles
70
70
  (['01UBT'], None, 'immediate_lookback', 0, 365, 10, 2), # Aleutian Chain at the antimeridian
71
- (['15RXN'], [63], 'multi_window', 365, 365, (5, 5, 5), 1), # Waxlake delta, VV+VH
71
+ (['15RXN'], [63], 'multi_window', 365, 60, (5, 5, 5), 1), # Waxlake delta, VV+VH
72
72
  ],
73
73
  )
74
74
  def test_dist_enum_default_strategies(
@@ -273,6 +273,7 @@ def test_dist_enum_one_with_multi_window_with_multiple_polarizations_and_asf_daa
273
273
  # Need to look back further for valid VV+VH data
274
274
  delta_lookback_days=(1460, 1095, 730, 365),
275
275
  max_pre_imgs_per_burst=(3, 3, 3, 4),
276
+ delta_window_days=365,
276
277
  )
277
278
 
278
279
  assert sorted(df_product.polarizations.unique().tolist()) == ['HH+HV', 'VV+VH']
@@ -305,6 +306,7 @@ def test_dist_enum_one_with_multi_window_with_asf_daac() -> None:
305
306
  lookback_strategy='multi_window',
306
307
  delta_lookback_days=(1095, 730, 365),
307
308
  max_pre_imgs_per_burst=(3, 3, 4),
309
+ delta_window_days=365,
308
310
  )
309
311
  burst_ids_expected = [
310
312
  'T144-308024-IW1',
@@ -363,4 +365,5 @@ def test_dist_enum_one_with_multi_window_with_asf_daac_single_polarization() ->
363
365
  lookback_strategy='multi_window',
364
366
  delta_lookback_days=(730, 365),
365
367
  max_pre_imgs_per_burst=(3, 4),
368
+ delta_window_days=365,
366
369
  )
@@ -0,0 +1,243 @@
1
+ from pathlib import Path
2
+
3
+ import geopandas as gpd
4
+
5
+ from dist_s1_enumerator.dist_enum_inputs import enumerate_dist_s1_workflow_inputs
6
+
7
+
8
+ def test_enumerate_dist_s1_workflow_inputs_for_time_series(test_dir: Path) -> None:
9
+ expected_output = [
10
+ {
11
+ 'mgrs_tile_id': '19HBD',
12
+ 'post_acq_date': '2023-11-05',
13
+ 'post_acq_timestamp': '2023-11-05 23:36:49+00:00',
14
+ 'track_number': 91,
15
+ },
16
+ {
17
+ 'mgrs_tile_id': '19HBD',
18
+ 'post_acq_date': '2023-11-10',
19
+ 'post_acq_timestamp': '2023-11-10 10:04:33+00:00',
20
+ 'track_number': 156,
21
+ },
22
+ {
23
+ 'mgrs_tile_id': '19HBD',
24
+ 'post_acq_date': '2023-11-12',
25
+ 'post_acq_timestamp': '2023-11-12 23:28:39+00:00',
26
+ 'track_number': 18,
27
+ },
28
+ {
29
+ 'mgrs_tile_id': '19HBD',
30
+ 'post_acq_date': '2023-11-17',
31
+ 'post_acq_timestamp': '2023-11-17 23:36:49+00:00',
32
+ 'track_number': 91,
33
+ },
34
+ {
35
+ 'mgrs_tile_id': '19HBD',
36
+ 'post_acq_date': '2023-11-22',
37
+ 'post_acq_timestamp': '2023-11-22 10:04:33+00:00',
38
+ 'track_number': 156,
39
+ },
40
+ {
41
+ 'mgrs_tile_id': '19HBD',
42
+ 'post_acq_date': '2023-11-24',
43
+ 'post_acq_timestamp': '2023-11-24 23:28:39+00:00',
44
+ 'track_number': 18,
45
+ },
46
+ {
47
+ 'mgrs_tile_id': '19HBD',
48
+ 'post_acq_date': '2023-12-04',
49
+ 'post_acq_timestamp': '2023-12-04 10:04:33+00:00',
50
+ 'track_number': 156,
51
+ },
52
+ {
53
+ 'mgrs_tile_id': '19HBD',
54
+ 'post_acq_date': '2023-12-06',
55
+ 'post_acq_timestamp': '2023-12-06 23:28:39+00:00',
56
+ 'track_number': 18,
57
+ },
58
+ {
59
+ 'mgrs_tile_id': '19HBD',
60
+ 'post_acq_date': '2023-12-11',
61
+ 'post_acq_timestamp': '2023-12-11 23:36:48+00:00',
62
+ 'track_number': 91,
63
+ },
64
+ {
65
+ 'mgrs_tile_id': '19HBD',
66
+ 'post_acq_date': '2023-12-16',
67
+ 'post_acq_timestamp': '2023-12-16 10:04:32+00:00',
68
+ 'track_number': 156,
69
+ },
70
+ {
71
+ 'mgrs_tile_id': '19HBD',
72
+ 'post_acq_date': '2023-12-18',
73
+ 'post_acq_timestamp': '2023-12-18 23:28:38+00:00',
74
+ 'track_number': 18,
75
+ },
76
+ {
77
+ 'mgrs_tile_id': '19HBD',
78
+ 'post_acq_date': '2023-12-23',
79
+ 'post_acq_timestamp': '2023-12-23 23:36:47+00:00',
80
+ 'track_number': 91,
81
+ },
82
+ {
83
+ 'mgrs_tile_id': '19HBD',
84
+ 'post_acq_date': '2023-12-28',
85
+ 'post_acq_timestamp': '2023-12-28 10:04:31+00:00',
86
+ 'track_number': 156,
87
+ },
88
+ {
89
+ 'mgrs_tile_id': '19HBD',
90
+ 'post_acq_date': '2023-12-30',
91
+ 'post_acq_timestamp': '2023-12-30 23:28:37+00:00',
92
+ 'track_number': 18,
93
+ },
94
+ {
95
+ 'mgrs_tile_id': '19HBD',
96
+ 'post_acq_date': '2024-01-04',
97
+ 'post_acq_timestamp': '2024-01-04 23:36:47+00:00',
98
+ 'track_number': 91,
99
+ },
100
+ {
101
+ 'mgrs_tile_id': '19HBD',
102
+ 'post_acq_date': '2024-01-09',
103
+ 'post_acq_timestamp': '2024-01-09 10:04:31+00:00',
104
+ 'track_number': 156,
105
+ },
106
+ {
107
+ 'mgrs_tile_id': '19HBD',
108
+ 'post_acq_date': '2024-01-11',
109
+ 'post_acq_timestamp': '2024-01-11 23:28:37+00:00',
110
+ 'track_number': 18,
111
+ },
112
+ {
113
+ 'mgrs_tile_id': '19HBD',
114
+ 'post_acq_date': '2024-01-16',
115
+ 'post_acq_timestamp': '2024-01-16 23:36:46+00:00',
116
+ 'track_number': 91,
117
+ },
118
+ {
119
+ 'mgrs_tile_id': '19HBD',
120
+ 'post_acq_date': '2024-01-21',
121
+ 'post_acq_timestamp': '2024-01-21 10:04:30+00:00',
122
+ 'track_number': 156,
123
+ },
124
+ {
125
+ 'mgrs_tile_id': '19HBD',
126
+ 'post_acq_date': '2024-01-23',
127
+ 'post_acq_timestamp': '2024-01-23 23:28:36+00:00',
128
+ 'track_number': 18,
129
+ },
130
+ {
131
+ 'mgrs_tile_id': '19HBD',
132
+ 'post_acq_date': '2024-01-28',
133
+ 'post_acq_timestamp': '2024-01-28 23:36:46+00:00',
134
+ 'track_number': 91,
135
+ },
136
+ {
137
+ 'mgrs_tile_id': '19HBD',
138
+ 'post_acq_date': '2024-02-02',
139
+ 'post_acq_timestamp': '2024-02-02 10:04:30+00:00',
140
+ 'track_number': 156,
141
+ },
142
+ {
143
+ 'mgrs_tile_id': '19HBD',
144
+ 'post_acq_date': '2024-02-04',
145
+ 'post_acq_timestamp': '2024-02-04 23:28:36+00:00',
146
+ 'track_number': 18,
147
+ },
148
+ {
149
+ 'mgrs_tile_id': '19HBD',
150
+ 'post_acq_date': '2024-02-09',
151
+ 'post_acq_timestamp': '2024-02-09 23:36:45+00:00',
152
+ 'track_number': 91,
153
+ },
154
+ {
155
+ 'mgrs_tile_id': '19HBD',
156
+ 'post_acq_date': '2024-02-14',
157
+ 'post_acq_timestamp': '2024-02-14 10:04:29+00:00',
158
+ 'track_number': 156,
159
+ },
160
+ {
161
+ 'mgrs_tile_id': '19HBD',
162
+ 'post_acq_date': '2024-02-16',
163
+ 'post_acq_timestamp': '2024-02-16 23:28:36+00:00',
164
+ 'track_number': 18,
165
+ },
166
+ {
167
+ 'mgrs_tile_id': '19HBD',
168
+ 'post_acq_date': '2024-02-21',
169
+ 'post_acq_timestamp': '2024-02-21 23:36:46+00:00',
170
+ 'track_number': 91,
171
+ },
172
+ {
173
+ 'mgrs_tile_id': '19HBD',
174
+ 'post_acq_date': '2024-02-26',
175
+ 'post_acq_timestamp': '2024-02-26 10:04:29+00:00',
176
+ 'track_number': 156,
177
+ },
178
+ {
179
+ 'mgrs_tile_id': '19HBD',
180
+ 'post_acq_date': '2024-02-28',
181
+ 'post_acq_timestamp': '2024-02-28 23:28:36+00:00',
182
+ 'track_number': 18,
183
+ },
184
+ {
185
+ 'mgrs_tile_id': '19HBD',
186
+ 'post_acq_date': '2024-03-04',
187
+ 'post_acq_timestamp': '2024-03-04 23:36:46+00:00',
188
+ 'track_number': 91,
189
+ },
190
+ {
191
+ 'mgrs_tile_id': '19HBD',
192
+ 'post_acq_date': '2024-03-09',
193
+ 'post_acq_timestamp': '2024-03-09 10:04:29+00:00',
194
+ 'track_number': 156,
195
+ },
196
+ {
197
+ 'mgrs_tile_id': '19HBD',
198
+ 'post_acq_date': '2024-03-11',
199
+ 'post_acq_timestamp': '2024-03-11 23:28:36+00:00',
200
+ 'track_number': 18,
201
+ },
202
+ {
203
+ 'mgrs_tile_id': '19HBD',
204
+ 'post_acq_date': '2024-03-16',
205
+ 'post_acq_timestamp': '2024-03-16 23:36:46+00:00',
206
+ 'track_number': 91,
207
+ },
208
+ {
209
+ 'mgrs_tile_id': '19HBD',
210
+ 'post_acq_date': '2024-03-21',
211
+ 'post_acq_timestamp': '2024-03-21 10:04:30+00:00',
212
+ 'track_number': 156,
213
+ },
214
+ {
215
+ 'mgrs_tile_id': '19HBD',
216
+ 'post_acq_date': '2024-03-23',
217
+ 'post_acq_timestamp': '2024-03-23 23:28:36+00:00',
218
+ 'track_number': 18,
219
+ },
220
+ {
221
+ 'mgrs_tile_id': '19HBD',
222
+ 'post_acq_date': '2024-03-28',
223
+ 'post_acq_timestamp': '2024-03-28 23:36:46+00:00',
224
+ 'track_number': 91,
225
+ },
226
+ ]
227
+
228
+ # Chile 19HBD
229
+ df_ts = gpd.read_parquet(test_dir / 'data' / 'rtc_s1_ts_metadata' / 'chile_19HBD.parquet')
230
+
231
+ workflow_inputs = enumerate_dist_s1_workflow_inputs(
232
+ mgrs_tile_ids='19HBD',
233
+ track_numbers=None,
234
+ start_acq_dt='2023-11-01',
235
+ stop_acq_dt='2024-04-01',
236
+ lookback_strategy='multi_window',
237
+ delta_lookback_days=365,
238
+ delta_window_days=60,
239
+ max_pre_imgs_per_burst=5,
240
+ df_ts=df_ts,
241
+ )
242
+
243
+ assert workflow_inputs == expected_output
@@ -1,62 +0,0 @@
1
- from pathlib import Path
2
-
3
- import geopandas as gpd
4
-
5
- from dist_s1_enumerator.dist_enum_inputs import enumerate_dist_s1_workflow_inputs
6
-
7
-
8
- def test_enumerate_dist_s1_workflow_inputs_for_time_series(test_dir: Path) -> None:
9
- expected_output = [
10
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2023-11-05', 'track_number': 91},
11
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2023-11-10', 'track_number': 156},
12
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2023-11-12', 'track_number': 18},
13
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2023-11-17', 'track_number': 91},
14
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2023-11-22', 'track_number': 156},
15
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2023-11-24', 'track_number': 18},
16
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2023-12-04', 'track_number': 156},
17
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2023-12-06', 'track_number': 18},
18
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2023-12-11', 'track_number': 91},
19
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2023-12-16', 'track_number': 156},
20
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2023-12-18', 'track_number': 18},
21
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2023-12-23', 'track_number': 91},
22
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2023-12-28', 'track_number': 156},
23
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2023-12-30', 'track_number': 18},
24
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-01-04', 'track_number': 91},
25
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-01-09', 'track_number': 156},
26
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-01-11', 'track_number': 18},
27
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-01-16', 'track_number': 91},
28
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-01-21', 'track_number': 156},
29
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-01-23', 'track_number': 18},
30
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-01-28', 'track_number': 91},
31
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-02-02', 'track_number': 156},
32
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-02-04', 'track_number': 18},
33
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-02-09', 'track_number': 91},
34
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-02-14', 'track_number': 156},
35
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-02-16', 'track_number': 18},
36
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-02-21', 'track_number': 91},
37
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-02-26', 'track_number': 156},
38
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-02-28', 'track_number': 18},
39
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-03-04', 'track_number': 91},
40
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-03-09', 'track_number': 156},
41
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-03-11', 'track_number': 18},
42
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-03-16', 'track_number': 91},
43
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-03-21', 'track_number': 156},
44
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-03-23', 'track_number': 18},
45
- {'mgrs_tile_id': '19HBD', 'post_acq_date': '2024-03-28', 'track_number': 91},
46
- ]
47
-
48
- # Chile 19HBD
49
- df_ts = gpd.read_parquet(test_dir / 'data' / 'rtc_s1_ts_metadata' / 'chile_19HBD.parquet')
50
-
51
- workflow_inputs = enumerate_dist_s1_workflow_inputs(
52
- mgrs_tile_ids='19HBD',
53
- track_numbers=None,
54
- start_acq_dt='2023-11-01',
55
- stop_acq_dt='2024-04-01',
56
- lookback_strategy='multi_window',
57
- delta_lookback_days=365,
58
- max_pre_imgs_per_burst=5,
59
- df_ts=df_ts,
60
- )
61
-
62
- assert workflow_inputs == expected_output