Model inputs and training targets¶
This page describes exactly what enters each model. The figures are not illustrations: they are Matplotlib renders of exported GeoTIFFs and derived tensors from sample WP232024_sar_geo_20241030095303_bb2c52ca.
At a glance¶
| Family | Channels | Used by Stage 1 | Used by Stage 2 | Role |
|---|---|---|---|---|
| GEO | 10 | yes | yes | cloud-top and water-vapor structure |
| ERA5 source + derived | 9 | yes | yes | large-scale atmospheric and surface context |
| Storm geometry + solar time | 4 | yes | yes | storm-relative position and illumination |
| Condition-validity mask | 1 | yes | yes | distinguishes data from missing pixels |
| Explicit ERA5 wind + mask | 2 | yes | baseline computation | physical anchor |
| Frozen Stage 1 baseline + mask | 2 | output | yes | field refined by diffusion |
| Noisy residual | 1 | no | yes | variable denoised at the current timestep |
| SAR wind + target mask | 1 + 1 | training only | training only | supervision and observed footprint |
The distinction matters: SAR is never an inference input. At inference, Stage 1 receives observation/context tensors and produces a baseline. Stage 2 receives the same context plus that frozen baseline and a noise latent.
GEO imagery¶
10 The common10 condition uses bands 7–16 from GOES ABI or Himawari AHI. Each band is a separate normalized channel; the model does not receive a false-color RGB composite.
The ten-channel set is B07 through B16 for AHI and CMI_C07 through CMI_C16 for ABI. The channels span mid-level and upper-level water vapor, window infrared, and split-window information. See Export GEO–SAR for sensor-name mapping and pairing.
ERA5 context¶
9 The exporter stores seven ERA5 variables: precipitable water, sea-surface temperature, mean sea-level pressure, 2 m temperature, 2 m dewpoint, and the two 10 m wind components. The loader adds 10 m wind speed and relative vorticity.
ERA5 wind speed is used twice on purpose:
- its normalized form is available as a context channel; and
- an explicit target-normalized wind field and validity mask are appended inside Stage 1.
That explicit path makes the residual connection unambiguous: the deterministic prediction begins as ERA5 and learns a correction in m/s.
Storm geometry and solar context¶
4 These fields are generated in geo2wf.data.features after the rasters are read. They are deterministic functions of raster bounds, the manifest’s IBTrACS center, and the GEO timestamp.
The distance raster gives the network a storm-relative coordinate without passing scalar latitude/longitude into the model. Local solar time varies by pixel longitude and includes the equation-of-time correction. The sine/cosine pair avoids a discontinuity at midnight; solar zenith helps the model distinguish daylight-dependent imagery.
Physical anchor, SAR target, and masks¶
condition_mask- Marks pixels supported across GEO and ERA5. The models append it as a channel so normalized zero is not confused with missing data.
era5_wind_speed_mask- Limits the explicit physical anchor, off-swath constraints, and baseline comparisons to valid ERA5 pixels.
target_mask- Marks observed SAR pixels. Supervised loss and target-based metrics ignore everything outside it.
The residual models may apply a weak off-swath zero-correction anchor where ERA5 is valid. That is a regularizer; it does not relabel ERA5 as observed SAR.
Exact tensor assembly¶
The dataset returns 23 condition channels:
10 GEO
9 ERA5 source + derived
1 distance to IBTrACS center
3 solar-time fields
──
23 data condition channels
Stage 1 assembles:
23 data condition
1 condition mask
1 explicit ERA5 wind
1 ERA5-valid mask
──
26 deterministic U-Net input channels
Stage 2 assembles:
1 noisy residual
24 prepared condition channels (23 data + condition mask)
1 frozen Stage 1 baseline
1 baseline-valid mask
──
27 diffusion U-Net input channels
Continue to the two-stage model to see what each network does with these tensors, or open the dataset contract for returned keys and shapes.
From source files to a batch¶
flowchart LR
A[Manifest row] --> B[Pair by storm and time]
B --> C[Shared 256 x 256 grid]
C --> D[Raw GeoTIFFs + internal masks]
D --> E[Normalize]
E --> F[Append derived fields]
F --> G[PairedImageDataset sample]
G --> H[Stage 1 or Stage 2] The exporter keeps raw physical values, CRS, geotransform, band descriptions, masks, and provenance tags in the GeoTIFFs. stats.json is learned from valid training pixels only; validation and test samples do not update normalization statistics.
Reproduce these figures¶
Run the checked-in renderer from the repository root:
The selected sample, timestamps, sensors, and grid settings are recorded in data-example-metadata.json. Change --sample-id to render another row from the split manifest.
Related articles¶
- Dataset contract — returned tensors, shapes, and metadata.
- Normalization & masks — transforms, invalid pixels, and sparse completion.
- Export GEO–SAR — observation pairing and GeoTIFF creation.
- Visual examples — paired observations and validation panels.