From 4d8ecae6ddb1c545a2bca7daa96d3136f293d461 Mon Sep 17 00:00:00 2001 From: mgovorcin Date: Fri, 17 Apr 2026 15:23:13 -0700 Subject: [PATCH 1/3] Add S1D (Sentinel-1D) support - relative_orbit_number: add S1D branch with offset=42, derived from abs=2389->rel=73 via manifest.safe - s1_info.py: extend glob pattern S1[AB] -> S1[ABCD] to discover S1D SAFE files Co-Authored-By: Claude Sonnet 4.6 --- src/s1reader/s1_burst_slc.py | 4 +++- src/s1reader/s1_info.py | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/s1reader/s1_burst_slc.py b/src/s1reader/s1_burst_slc.py index 90b75e7c..8fbb612d 100644 --- a/src/s1reader/s1_burst_slc.py +++ b/src/s1reader/s1_burst_slc.py @@ -94,7 +94,7 @@ class represents a polynomial function of range val, res, _, _ = np.linalg.lstsq(A, z, rcond=cond) if len(res) > 0: - print("Chi squared: %f" % (np.sqrt(res / (1.0 * len(z))))) + print("Chi squared: %f" % np.sqrt(res / (1.0 * len(z))).item()) else: print("No chi squared value....") print("Try reducing rank of polynomial.") @@ -1181,6 +1181,8 @@ def relative_orbit_number(self): orbit_number_offset = 27 elif self.platform_id == "S1C": orbit_number_offset = 172 + elif self.platform_id == "S1D": + orbit_number_offset = 42 else: raise ValueError(f"Unknown platform_id: {self.platform_id}") return (self.abs_orbit_number - orbit_number_offset) % 175 + 1 diff --git a/src/s1reader/s1_info.py b/src/s1reader/s1_info.py index ed446e1a..162b0ac9 100644 --- a/src/s1reader/s1_info.py +++ b/src/s1reader/s1_info.py @@ -245,7 +245,7 @@ def main(): all_files.append(path) elif path.is_dir(): # Get all matching files within the directory - files = path.glob("S1[AB]_IW*") + files = path.glob("S1[ABCD]_IW*") all_files.extend(list(sorted(files))) else: warnings.warn(f"{path} is not a file or directory. Skipping.") From 155e346d808bb1f6edab8863d7cc87a3cf027a52 Mon Sep 17 00:00:00 2001 From: mgovorcin Date: Sun, 19 Apr 2026 11:48:13 -0700 Subject: [PATCH 2/3] Add comment about relative orbit offset for S1D --- src/s1reader/s1_burst_slc.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/s1reader/s1_burst_slc.py b/src/s1reader/s1_burst_slc.py index 8fbb612d..3c2e5356 100644 --- a/src/s1reader/s1_burst_slc.py +++ b/src/s1reader/s1_burst_slc.py @@ -1182,6 +1182,7 @@ def relative_orbit_number(self): elif self.platform_id == "S1C": orbit_number_offset = 172 elif self.platform_id == "S1D": + # Note: adjust in July 26 with cal. S1D orbit_number_offset = 42 else: raise ValueError(f"Unknown platform_id: {self.platform_id}") From 43e6826c47de2ec91f9c52a0cb644d2c49952914 Mon Sep 17 00:00:00 2001 From: mgovorcin Date: Thu, 2 Jul 2026 13:40:54 -0700 Subject: [PATCH 3/3] add relative orbit for S1C after 06-24- 2026 --- src/s1reader/s1_burst_slc.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/s1reader/s1_burst_slc.py b/src/s1reader/s1_burst_slc.py index 3c2e5356..a80b2bf2 100644 --- a/src/s1reader/s1_burst_slc.py +++ b/src/s1reader/s1_burst_slc.py @@ -1180,9 +1180,12 @@ def relative_orbit_number(self): elif self.platform_id == "S1B": orbit_number_offset = 27 elif self.platform_id == "S1C": - orbit_number_offset = 172 + # 24 June 2026, S1C orbits aligned for 6-days offset with S1D + if self.sensing_start < datetime.datetime(2026, 6, 24): + orbit_number_offset = 172 + else: + orbit_number_offset = 99 elif self.platform_id == "S1D": - # Note: adjust in July 26 with cal. S1D orbit_number_offset = 42 else: raise ValueError(f"Unknown platform_id: {self.platform_id}")