SIAC Integration¶
The intended SIAC boundary is:
SIAC target scene
-> SIAC decides which prior observations are relevant
-> Provider.build_prior(...)
-> STAC Item + tiled GeoTIFF assets
-> SIAC reads/scales prior and uncertainty assets
-> SIAC spectral mapping into target sensor basis
-> SurfacePrior construction and validation
The package does not know about observation dates, target months, adjacent months, or history years. Those are SIAC usage policy.
Recommended adapter responsibilities:
- Select the BRDF observations to composite.
- Keep observations on their native MODIS/VIIRS projection and grid.
- Pass WGS84 bounds, native BRDF CRS, resolution, product id, band names, and a caller-defined
composite_periodsuch as2024-07toProvider.build_prior. - Let this package convert WGS84 bounds to native BRDF grid bounds.
- For Google Earth Engine sources, configure
EdownGeeSourcewith SIAC-selected temporal ranges;edowndownloads the source-native GeoTIFFs and the provider composites those arrays directly. - Use
sample_every_dayswhen SIAC wants a reduced-download prior, for example one observation every7days inside a month range. - Validate
surface:schema_versionon the returned STAC Item. - Iterate STAC assets in
properties.surface:band_namesorder usingsurface:asset_kindandsurface:band_index. - Read each
priorGeoTIFF as oneuint16band and apply scale0.0001. - Read each
uncertaintyGeoTIFF as one relative percent uncertainty band; treat255as suspicious/missing. - Keep target-sensor spectral response mapping in SIAC.
Start by moving only fetch/build/provide prior composites. Keep SWIR refine and target-scene-specific logic in SIAC.