Add Sentinel-1D support - #252
Conversation
- Download S1C/S1D AUX_CAL files from ESA SAR-MPC API, supplementing existing ASF CloudFront bundles for S1A/S1B - Add S1D to DAAC ingest schema platform enum - Add S1D_MIN_DATE (2026-04-17) placeholder to reject uncalibrated S1D acquisitions, mirroring the S1C_MIN_DATE check - Update error messages and comments to include S1D - Add test for S1D minimum date validation
|
ASF/DAAC Ingest Coordination This PR adds "Sentinel-1D" (and "Sentinel-1C") to the platform enum in the producer-side DAAC ingest schema (daac_ingest_schema.json). When S1D products are generated, the JSON metadata will include "platform": ["Sentinel-1D", ...]. Question: Does ASF's receiving-side ingest validation / CMR collection configuration already support Sentinel-1D as a valid platform value? If not, S1D products would pass our local schema validation but could fail on ingest. Specifically wondering about: Server-side schema validation of the platform field |
S1D SLCs don't exist in ASF yet, so download_slcs fails at ASF search before reaching the date check. Test check_if_s1d_has_valid_date directly instead.
|
@cmarshak Can you keep an eye on this? We should do a test when the dependencies are ready. |
|
Edit: looks like issues were just "temporarily" disabled due to spam: I have an open PR to the conda-forge recipe that will enable S1D support by patching the build (dirty): So, if that PR is merged, DockerizedTopsApp could process S1D by changing the isce2 dependency in the environment file to: @cmarshak do you know the status of ISCE2? Any chance we could get S1D support merged and released? |
|
I will have to ask - I have no idea. I don't think there is any active support of ISCE2. |
|
I am manually adding in the file that @jacquelynsmale has in PR to ISCE2. I am hoping that this would be a temporary fix and then we can move forward more stably once the S1D pattern is officially released in ISCE2. |
|
I am fine merging this as long as we agree to delete these lines once ISCE2 is released (would be separate PR): Lines 36 to 39 in 5dc0498 |
|
Also, my understanding in talking with @mgovorcin is that S1D is "officially" calibrated, but the data doesn't look quite right yet. |
|
I released ISCE2 v2.6.5 with support for S1D and S1C post-orbit repositioning, and just merged the conda-forge PR. So updating to v2.6.5+ should be all that's needed. |
|
@jhkennedy and @cmarshak – Would it be possible to bump the ISCE2 version to v2.6.5 in the docker image so that S1D jobs can be deployed on HyP3? I'm happy to make the changes if that is helpful, but not entirely sure what is needed to cut a new docker image in this case. |
Summary
Adds Sentinel-1D support across the pipeline: AUX_CAL downloads, DAAC metadata schema, and SLC validation.
Changes
AUX_CAL downloads (
localize_aux_cal.py)https://sar-mpc.eu/api/v1/) to pick up newer files and S1C/S1D entriesSLC validation (
localize_slc.py)S1D_MIN_DATE(2026-04-17) placeholder to reject uncalibrated S1D acquisitions, mirroring the existingS1C_MIN_DATEcheckMetadata (
daac_ingest_schema.json)Sentinel-1Dto platform enumTests (
test_localize_slc.py)Upstream dependencies
S1[ABCD]regex — no changes neededSentinel1.py— see isce2#28123 (pending merge)Notes
S1D_MIN_DATEis a placeholder — update once S1D calibration is officially confirmed by ESA