Wildfire-FM / docs /serving_notes.md
yx21e's picture
Add clean FireWx-FM ICLR technical-report release
939693f verified
|
Raw History Blame
1.82 kB
# Serving Notes
FireWx-FM predicts 12-hour active-fire occupancy on a native 5 km grid. This page records the serving choices needed for full-map inference.
## Use The Fixed Channel Contract
The model consumes a 16-channel tensor in `[channel, y, x]` order. The channel list and units are defined in:
```text
models/metadata/input_channels.json
docs/inference_contract.md
```
Two details are especially important:
- The CAPE channel is NOAA HRRR CAPE for the 0-3000 m above-ground layer.
- Continuous channels are z-score normalized with `models/metadata/input_normalization_stats.json`.
## Apply The No-Exposure Serving Contract
The released checkpoint is served with channels `14` and `15` zeroed after normalization:
- `14`: housing density.
- `15`: population.
The output should therefore be interpreted as active-fire occupancy probability under the released no-exposure serving contract.
## Use Overlap-Window Inference
Training uses 32 by 32 crops to sample sparse active-fire labels. That crop size is not the full-map serving tile size. For CONUS-scale inference, use the default serving settings:
| Setting | Value |
|---|---:|
| Window | `256` |
| Stride | `64` |
| Halo crop | `32` |
| Phase shifts | `0,4,8,12` along y and x |
The phase ensemble evaluates shifted versions of the same input and averages the shifted-back probability maps. This reduces dependence on tile origin and produces a smoother full-domain probability field.
## Preserve Validity Masks
The validity masks are numeric input features:
- `dynamic_valid`: dynamic weather-input validity after cache construction.
- `static_valid`: fraction of static layers valid after reprojection.
They are not output masks. They should be supplied with the physical channels so sanitized missing values are not confused with true zeros.