Download docs/inference_contract.md from RAI-Lab/Wildfire-FM: direct link, hf CLI and curl.
- Browser
- Download file 3.51 kB
-
https://huggingface.co/RAI-Lab/Wildfire-FM/resolve/refs%2Fpr%2F3/docs/inference_contract.md
- Command line
-
hf download hf://RAI-Lab/Wildfire-FM@refs/pr/3/docs/inference_contract.md
-
curl -L -o inference_contract.md https://huggingface.co/RAI-Lab/Wildfire-FM/resolve/refs%2Fpr%2F3/docs/inference_contract.md
FireWx-FM Inference Contract
This document defines the final serving contract for the released FireWx-FM CONUS model.
Native Grid
- Domain: Lower-48 CONUS.
- CRS: EPSG:5070.
- Native resolution: 5 km grid cells.
- Prediction target: 12-hour active-fire occupancy probability.
- Tensor order:
[channel, y, x]. - Input shape:
[16, H, W].
The model remains gridded. County or sub-county outputs are produced by post-inference aggregation from the native 5 km probability grid.
Channel Order
| Index | Name | Source | Description | Unit |
|---|---|---|---|---|
| 0 | t2m |
NOAA HRRR | 2 m air temperature | K |
| 1 | d2m |
NOAA HRRR | 2 m dew point temperature | K |
| 2 | u10 |
NOAA HRRR | 10 m eastward wind component | m s-1 |
| 3 | v10 |
NOAA HRRR | 10 m northward wind component | m s-1 |
| 4 | cape |
NOAA HRRR | CAPE, 0-3000 m above-ground layer | J kg-1 |
| 5 | sp |
NOAA HRRR | Surface pressure | Pa |
| 6 | blh |
NOAA HRRR | Boundary-layer height | m |
| 7 | vis |
NOAA HRRR | Visibility | m |
| 8 | prate |
NOAA HRRR | Precipitation rate | kg m-2 s-1 |
| 9 | tp |
NOAA HRRR | Accumulated precipitation | kg m-2 |
| 10 | dynamic_valid |
Input builder | Dynamic weather validity fraction | 0-1 |
| 11 | static_valid |
Input builder | Static-layer validity fraction after reprojection | 0-1 |
| 12 | fuel_fbfm40 |
LANDFIRE | Fire-behavior fuel model | category code |
| 13 | canopy_cover |
LANDFIRE | Canopy cover | percent |
| 14 | housing_density |
Wildfire Risk to Communities | Housing-unit density | provider native |
| 15 | population |
LandScan | Population | persons |
Machine-readable metadata is stored in models/metadata/input_channels.json.
Normalization
The final model uses train-split z-score normalization for continuous channels. In the released training template this covers HRRR channels 0-9, canopy cover channel 13, and exposure channels 14-15. The inference script applies the statistics from:
models/metadata/input_normalization_stats.json
The expected statistics format is the one written by training/train_cold_tiled_mainline.py: a JSON object with enabled, method, eps, and a channels list containing index, mean, and std.
Validity Masks
The two mask channels are part of the input contract.
dynamic_validrecords dynamic weather-input validity after the cache-building step.static_validrecords the fraction of static layers with valid values after reprojection.
These masks are not model outputs. They are input features that let the model distinguish true zeros from sanitized missing values.
Final Serving Settings
The released serving run uses:
- Checkpoint:
models/checkpoints/firewxfm_2024_staticfix_region_balanced_bce_seed42.pt. - Window:
256. - Stride:
64. - Halo:
32. - Phase shifts: all combinations of
0,4,8,12along y and x. - Zeroed channels after normalization:
14,15.
Production live preprocessing should use scripts/build_5km_input_stack.py to
repair the 16-channel stack with the corrected static cache before inference.
The phase ensemble averages shifted overlapping-window predictions. This reduces dependence on tile origin during full-domain inference.
Output
The model output is a probability map in [H, W] order with values in [0, 1]. GeoTIFF writing is intentionally kept outside firewxfm.serve_conus so users can preserve their own transform, CRS, and mask handling.