Requirements to design traceability#
s2_msi_raw_generator reconstructs L1A -> L0plus -> Synthetic L0 by running a S2B L1B backwards
through the exact inverse of the operational Synthetic L0->L1B radiometric chain; success is the Synthetic L0
matching the reference ESA L0 img (10/20 m bands <=~4 DN). Each requirement from the SRS (docs/srs.md) is
traced to its design component, code, test, verification method (T/A/I/R) and status. Verification details
and quantitative results are in the V&V report (docs/vv/report.md).
Functional requirements#
The rows below trace the reverse radiometric reverse chain: descending a S2 L1B through the exact inverse of the operational Synthetic L0->L1B chain (invert gain/offset, relative response / PRNU, dark, un-bin, SWIR re-stage, defective, crosstalk, on-board equalization) to reconstruct L1A -> L0plus (CCSDS-122 ISP) -> Synthetic L0. MTF-deconvolution is OFF, so PSF and noise are intentionally not re-applied (REQ-FUNC-014 and REQ-FUNC-021 retired below).
REQ ID |
Requirement |
Design (module) |
Code |
Test |
Method |
Status |
|---|---|---|---|---|---|---|
REQ-FUNC-001 |
Accept L1A/L1B inputs |
io |
|
|
T |
realized |
REQ-FUNC-003 |
Per-unit (S2A/B/C) support |
sensor |
|
|
T |
realized |
REQ-FUNC-005 |
Reject unsupported inputs |
sensor |
|
|
T |
realized |
REQ-FUNC-010 |
Invert absolute calibration (DN-domain gain/offset) — radiometric entry of the reverse chain |
reverse, sensor |
|
|
T |
realized |
REQ-FUNC-011 |
Reverse scene framing (S3) |
reverse |
|
|
T |
realized |
REQ-FUNC-012 |
Remove radiometric offset (S4) |
reverse, gipp |
|
|
T |
realized |
REQ-FUNC-013 |
Reverse 60 m binning (S5) |
reverse |
|
|
T |
realized |
REQ-FUNC-014 |
PSF re-blur — retired (reverse chain runs with MTF-deconvolution OFF; PSF is not re-applied) |
— |
— |
— |
— |
retired |
REQ-FUNC-015 |
Re-apply relative response / PRNU when descending L1B->Synthetic L0 |
reverse, adf, gipp |
|
|
T |
realized |
REQ-FUNC-016 |
Restore SWIR arrangement (S8) |
reverse |
|
|
T |
realized |
REQ-FUNC-017 |
Re-apply crosstalk (S9) |
reverse, gipp |
|
|
T |
realized |
REQ-FUNC-018 |
Re-insert blind/defective (S10) |
reverse, gipp |
|
|
T |
realized |
REQ-FUNC-019 |
Re-apply dark signal (S11) |
reverse, gipp |
|
|
T |
realized |
REQ-FUNC-020 |
Reverse onboard equalization (S12) |
reverse |
|
|
T |
realized |
REQ-FUNC-021 |
Add sensor noise — retired (noise is not re-introduced in the reverse chain) |
— |
— |
— |
— |
retired |
REQ-FUNC-022 |
Cast Synthetic L0 to 12-bit DN (final integer cast, part of L0 assembly) |
reverse |
|
|
T |
realized |
REQ-FUNC-030 |
Synthetic L0 RAW EOProduct (Zarr) |
l0product |
|
|
T |
realized |
REQ-FUNC-031 |
156 measurement arrays |
l0product |
|
|
T |
realized |
REQ-FUNC-032 |
156 quality masks |
l0product |
|
|
T |
realized |
REQ-FUNC-033 |
STAC discovery metadata |
l0product |
|
|
T |
realized |
REQ-FUNC-034 |
Sensor-configuration metadata |
l0product, sensor |
|
|
T |
realized |
REQ-FUNC-044 |
Synthetic fallback ADFs |
adf |
|
|
T |
realized |
REQ-FUNC-045 |
ADF provenance |
l0product |
|
|
I |
realized |
REQ-FUNC-046 |
Operational GIPP ingest |
gipp, adf |
|
|
T |
realized |
REQ-FUNC-047 |
Calibration sub-set |
calibration |
|
|
T |
realized |
REQ-FUNC-039 |
ESUN spectral ADF |
sensor, adf_writer |
|
|
T |
realized |
REQ-FUNC-035 |
GPS/OBT line datation |
datation, isp, l0product |
|
|
T |
realized |
REQ-FUNC-038 |
STAC geometry & orbit |
l0product |
|
|
T |
realized |
REQ-FUNC-040 |
Quality-flag taxonomy |
quality, l0product |
|
|
T |
realized |
REQ-FUNC-041 |
EOQC quality report |
quality_report, l0product |
|
|
T |
realized |
REQ-FUNC-036 |
Orbit/attitude ephemeris |
sad, l0product |
|
|
T |
realized |
REQ-FUNC-037 |
SAD content (ISP) |
sad, l0product |
|
|
T |
realized |
REQ-FUNC-042 |
Open-container L0 handoff |
l0product, scripts |
|
|
T/I |
realized |
REQ-FUNC-048 |
Calibration-campaign Synthetic L0 products (DASC/ABSR) |
calibration, caldb, l0product, scripts |
|
|
T |
realized |
REQ-FUNC-091 |
PSFD §3 product naming (ICD-IF-NAME) |
|
|
realized |
||
REQ-FUNC-092 |
CCSDS-122 compressed ISP payloads + ground decode |
|
|
realized |
||
REQ-FUNC-093 |
S2 L1B reverse-chain E2E: reconstruct L1A->L0plus->Synthetic L0 from S2B L1B and validate against the reference ESA L0 |
|
|
realized |
||
REQ-FUNC-043 |
Credentialed ADF API |
— |
— |
— |
— |
deferred |
REQ-FUNC-053 |
Configurable PU orchestration |
— |
— |
— |
— |
deferred |
REQ-FUNC-062 |
Dask distribution |
— |
— |
— |
— |
deferred |
REQ-FUNC-090 |
L1C entry + geometry reverse |
— |
— |
— |
— |
cancelled |
Performance requirements#
REQ ID |
Requirement |
Design |
Code |
Test |
Method |
Status |
|---|---|---|---|---|---|---|
REQ-PERF-001 |
Noise \(\sigma\) within ±5 % — retired (no noise model is impressed in the reverse chain) |
— |
— |
— |
— |
retired |
REQ-PERF-002 |
SNR@Lref fidelity — retired (measured against the injected noise model; noise not re-applied) |
— |
— |
— |
— |
retired |
REQ-PERF-003 |
Round-trip exactness (RMSE \(\to 0\)) — retired (L1A forward exact-inverse round-trip; superseded by reverse-chain Synthetic L0 validation, REQ-PERF-005) |
— |
— |
— |
— |
retired |
REQ-PERF-004 |
Calibration recovery accuracy |
calibration |
|
|
T |
realized |
REQ-PERF-005 |
Synthetic L0 DN agrees with the reference ESA L0 |
reverse, l0product |
reverse chain + |
|
T,A |
realized |
Interface requirements#
REQ ID |
Requirement |
Design |
Code |
Test |
Method |
Status |
|---|---|---|---|---|---|---|
REQ-IF-001 |
EOPF L1A/L1B input interface |
io |
|
|
I,T |
realized |
REQ-IF-002 |
L0 output interface (ICD-IF-Synthetic L0) |
l0product |
|
|
I,T |
realized |
REQ-IF-003 |
GIPP JSON interface |
gipp |
|
|
I |
realized |
Quality requirements#
REQ ID |
Requirement |
Design |
Code |
Test |
Method |
Status |
|---|---|---|---|---|---|---|
REQ-QUAL-001 |
Minimal dependencies |
(packaging) |
|
— |
I |
realized |
REQ-QUAL-002 |
Test coverage & CI |
(all) |
|
201 tests (v0.3.0) |
T |
realized |
REQ-QUAL-003 |
Originality (no external-processor source) |
(all) |
repo |
grep |
I,R |
realized |
REQ-QUAL-004 |
Reproducibility (deterministic output; crc32 checks) |
reverse, calibration |
crc32 determinism checks |
|
T |
realized |