# Spectral Windows
#
# Named wavelength regions of scientific significance. Folia-original
# vocabulary — there's no STAC or CEOS standard for this layer. Used
# as a high-level query axis ("anything that resolves methane at
# 2300 nm with FWHM ≤ 10 nm").
#
# Each window references one or more absorption/reflectance features
# tied to a molecule or biophysical phenomenon. Hyperspectral
# instruments declare which windows they resolve via spectral-grids.yaml.
#
# Spec: docs/spec/SENSOR_CATALOG.md §spectral-windows
# Unit convention: nanometres (nm).

schema_version: "1.0"

spectral_windows:

  # ─── METHANE ────────────────────────────────────────────────────

  ch4-1650nm:
    name: "Methane SWIR Absorption (1650 nm)"
    family: optical
    molecule: CH4
    feature_type: absorption_band
    center_nm: 1650
    range_nm: [1600, 1700]
    fwhm_max_useful_nm: 15
    notes: >
      Secondary CH4 absorption band. Weaker than the 2300 nm band but
      complementary for matched-filter retrievals. Sentinel-2 SWIR1
      (B11) is borderline-useful.

  ch4-2300nm:
    name: "Methane SWIR Absorption (2300 nm)"
    family: optical
    molecule: CH4
    feature_type: absorption_band
    center_nm: 2300
    range_nm: [2200, 2400]
    fwhm_max_useful_nm: 15
    references:
      - "Frankenberg et al. 2016, doi:10.1073/pnas.1605617113"
      - "Thorpe et al. 2023 (EMIT methane), doi:10.1126/sciadv.adh2391"
    notes: >
      Primary CH4 absorption band exploited by EMIT, AVIRIS-NG, MethaneSAT,
      GHGSat for plume detection via matched filtering. Sentinel-2 SWIR2
      (B12) too wide for quantitative retrieval, useful only for coarse
      detection of large plumes.

  # ─── CARBON DIOXIDE ─────────────────────────────────────────────

  co2-1610nm:
    name: "Carbon Dioxide SWIR Absorption (1610 nm)"
    family: optical
    molecule: CO2
    feature_type: absorption_band
    center_nm: 1610
    range_nm: [1580, 1650]
    fwhm_max_useful_nm: 5
    notes: >
      Weak CO2 absorption used by OCO-2/OCO-3 for column CO2 retrieval.
      Requires very narrow FWHM — out of reach for most hyperspectral.

  co2-2060nm:
    name: "Carbon Dioxide SWIR Absorption (2060 nm)"
    family: optical
    molecule: CO2
    feature_type: absorption_band
    center_nm: 2060
    range_nm: [1990, 2100]
    fwhm_max_useful_nm: 10
    notes: >
      Stronger CO2 band. Exploited by EMIT and AVIRIS-NG for CO2 plume
      detection (cement plants, large point sources).

  # ─── OXYGEN ─────────────────────────────────────────────────────

  o2-a-band-760nm:
    name: "Oxygen A-band (760 nm)"
    family: optical
    molecule: O2
    feature_type: absorption_band
    center_nm: 760
    range_nm: [755, 775]
    fwhm_max_useful_nm: 3
    notes: >
      Cloud-top pressure, surface pressure, aerosol layer height.
      Requires very narrow FWHM — typically reserved for purpose-built
      atmospheric instruments (TROPOMI, OCO-2).

  o2-b-band-690nm:
    name: "Oxygen B-band (690 nm)"
    family: optical
    molecule: O2
    feature_type: absorption_band
    center_nm: 688
    range_nm: [685, 695]
    fwhm_max_useful_nm: 5

  # ─── WATER VAPOUR ───────────────────────────────────────────────

  water-vapour-940nm:
    name: "Water Vapour Absorption (940 nm)"
    family: optical
    molecule: H2O
    feature_type: absorption_band
    center_nm: 940
    range_nm: [920, 960]
    fwhm_max_useful_nm: 10
    notes: >
      Column water vapour retrieval. Widely used for atmospheric
      correction (e.g., WV channel on Sentinel-2 B09).

  water-vapour-1130nm:
    name: "Water Vapour Absorption (1130 nm)"
    family: optical
    molecule: H2O
    feature_type: absorption_band
    center_nm: 1130
    range_nm: [1100, 1160]
    fwhm_max_useful_nm: 15

  # ─── VEGETATION FEATURES ────────────────────────────────────────

  chlorophyll-red-edge:
    name: "Chlorophyll Red-Edge Inflection"
    family: optical
    feature_type: reflectance_transition
    range_nm: [680, 750]
    notes: >
      Steep reflectance rise from low (chlorophyll absorption ~670 nm)
      to high (cell-wall scattering >720 nm). Diagnostic of vegetation
      vigour. Resolved by Sentinel-2 red-edge bands (B5/B6/B7),
      hyperspectral fully resolves.

  chlorophyll-absorption-670nm:
    name: "Chlorophyll Absorption (670 nm)"
    family: optical
    molecule: chlorophyll-a
    feature_type: absorption_band
    center_nm: 670
    range_nm: [660, 680]
    fwhm_max_useful_nm: 20

  # ─── MINERAL & SURFACE FEATURES ─────────────────────────────────

  iron-oxide-900nm:
    name: "Iron Oxide Absorption (900 nm)"
    family: optical
    feature_type: absorption_band
    center_nm: 900
    range_nm: [850, 970]
    fwhm_max_useful_nm: 25
    notes: >
      Hematite/goethite electronic transition. Mineralogical mapping,
      acid mine drainage detection.

  clay-2200nm:
    name: "Clay Al-OH Absorption (2200 nm)"
    family: optical
    feature_type: absorption_band
    center_nm: 2200
    range_nm: [2150, 2250]
    fwhm_max_useful_nm: 15
    notes: >
      Al-OH bond in clay minerals (kaolinite, montmorillonite,
      illite). Soil mapping, alteration zone detection.

  # ─── THERMAL (in nm but typically expressed as μm) ──────────────

  thermal-split-window:
    name: "Split-Window Thermal IR (10-12 μm)"
    family: thermal
    feature_type: emission_band_pair
    range_nm: [10000, 12500]
    notes: >
      Used for atmospheric correction of land/sea surface temperature
      via differential absorption (Landsat TIRS B10/B11, MODIS B31/B32).
