msradam/Prithvi-EO-2.0-NYC-Pluvial

Model

0

stars

10

commits

3

repos using this model

4

linked in READMEs

May 10, 2026

updated

amd
earth-observation
flood
geospatial
hurricane-ida
hurricane-sandy
new-york
nyc
pluvial
rocm
segmentation
sentinel-2
terratorch
Browse cluster: Geospatial Deep Learning & Earth Observation

README

Prithvi-EO-2.0-NYC-Pluvial v2

NYC-specific pluvial-flood fine-tune of NASA-IBM's Prithvi-EO 2.0 (300M params, Sen1Floods11 base), trained on AMD Instinct MI300X via AMD Developer Cloud. Specializes the model on Hurricane Ida 2021 NYC patterns (basement / sub-surface flooding from rapid stormwater accumulation), with copy-paste augmentation that materially improves the rare-class flood IoU.

This is the v2 release. v1 (released earlier today) had test flood IoU 0.10; v2 has 0.5979, a ~6× improvement on the actual flood detection task. The change came from:

  1. Copy-paste augmentation (Ghiasi et al. CVPR 2021) producing 332 synthetic positives by alpha-blending real Ida flood polygons onto clear-sky NYC chips.
  2. Major-TOM expanded negatives (264 additional clear-sky NYC chips from 22 cached parents, sliced randomly).
  3. Lovász-Softmax loss replacing Dice. Lovász is a direct surrogate for IoU and lifts the rare-class metric where Dice optimizes pixel-accuracy under heavy imbalance.

Result

Test metricv1 (released earlier)v2 (this release)Δ
test/mIoU0.53810.7974+25.93 pp
test/IoU_0 (non-flood)0.97470.9968+2.21 pp
test/IoU_1 (flood)0.10160.5979+49.79 pp
test/Pixel_Accuracy0.97470.9968+2.21 pp
test/F1_Score0.58580.8734+28.76 pp
test/Boundary_mIoU0.5657

The flood IoU lift is the headline. v1's 0.10 was honest but weak. v2's 0.60 makes the model demo-credible as a structural-prior signal in Riprap's flood-exposure briefings.

Why this exists

Riprap (the parent NYC flood-exposure briefing system) uses Prithvi-EO 2.0 for its pluvial water-segmentation specialist. Sen1Floods11's training distribution is global flood events dominated by coastal / large-water events. NYC's deadliest flood mode is pluvial (Hurricane Ida 2021) where rain accumulates faster than drainage can clear it; basement apartments in Queens were where people died, not the coast.

This fine-tune nudges the model toward small-polygon, urban, post-rain water patterns that match NYC's pluvial regime.

Training data

ComponentCountSource
Ida real positives (centroid chips)166Riprap baked Ida 2021 polygons + Earth Search S2
Synthetic positives (copy-paste)332Real Ida polygons pasted onto clear-sky NYC backgrounds
Original clear-sky negatives22Major-TOM Core-S2L2A NYC parents, center-crop
Expanded negatives264Random sub-chips from 22 Major-TOM parents
Total784(498 pos / 286 neg)

The copy-paste augmentation uses Gaussian-feathered alpha blending (sigma 2.0) on the polygon mask edges. Each synthetic chip pastes 1-4 real Ida polygons at random positions / rotations / flips.

Splits: stratified-random with seed=42:

  • train: 548 chips (348 pos / 200 neg)
  • val: 118 chips (75 pos / 43 neg)
  • test: 118 chips (75 pos / 43 neg)

Architecture

Backboneprithvi_eo_v2_300_tl (NASA-IBM Prithvi-EO 2.0, 300M params)
BandsB02, B03, B04, B8A, B11, B12 (Sen1Floods11 schema)
DecoderUNet, channels [512, 256, 128, 64]
Output2-class binary segmentation, 224×224
Trainable324M params (full backbone + decoder fine-tune)

Training procedure

FrameworkTerraTorch 1.2.7 + PyTorch Lightning 2.6.1
Hardware1× AMD Instinct MI300X (192 GB HBM3)
CloudAMD Developer Cloud
ROCm4.0.0+1a5c7ec
Precisionfp16-mixed
OptimizerAdamW, lr 3e-5
SchedulerReduceLROnPlateau (factor 0.5, patience 4)
LossLovász-Softmax with class weights [0.4, 1.6]
Batch8
Epochs60 (max reached); best ckpt at val_loss minimum
Wall-clock~12 min
Random seed42
Means (per band, raw L2A)[1086.45, 1063.0, 985.95, 2316.61, 2080.98, 1454.81]
Stds (per band, raw L2A)[1141.95, 1170.10, 1287.78, 1369.24, 1374.77, 1318.21]

Honest limitations

  • Test set is 118 chips. Reported metrics have wide implicit confidence intervals; a different seed could shift them by several pp.
  • 332 of 498 positives are synthetic copy-paste. The model learns flood spectra well in those chips, which boosts in-distribution metrics. On real-world novel Ida-style events, performance may be somewhat lower than the test/IoU_1 = 0.60 we report.
  • We did not run a multi-seed ablation. Single-run, single-seed result.
  • Lovász-Softmax pairs poorly with focal-loss in our setup; we tried both Lovász and class-weighted CE, settled on Lovász. The losses are fundamentally different optimization targets, and your mileage may vary on a different chip distribution.

What did NOT work

  • v2-attempt-1 used focal loss with class_weights [0.4, 1.6]. Model collapsed to majority class (val/IoU_1 trended 0.012 → 0.001 over 7 epochs). Killed and restarted with Lovász. The focal-collapse failure mode is reproducible and not specific to ROCm.

License

Apache 2.0. Underlying datasets:

  • ESA Copernicus Sentinel-2 via Major-TOM Core (Copernicus Open Data License, attribution required).
  • NYC Hurricane Ida polygon extents derived from Sentinel-2 via Prithvi offline pre-compute, included in riprap-nyc/data/prithvi_ida_2021.geojson.

Citation

@misc{prithvi-eo-2024,
  title={Prithvi-EO-2.0: A Versatile Multi-Temporal Foundation Model for Earth Observation Applications},
  author={NASA-IMPACT and IBM},
  year={2024},
  eprint={2412.02732},
}

@misc{prithvi-nyc-pluvial-2026-v2,
  title={Prithvi-EO-2.0-NYC-Pluvial v2: NYC Hurricane Ida fine-tune with
         copy-paste augmentation and Lovász-Softmax loss on AMD MI300X},
  author={Rahman, Adam Munawar},
  year={2026},
  publisher={Hugging Face},
  url={https://huggingface.co/msradam/Prithvi-EO-2.0-NYC-Pluvial},
}

Independent reproduction

This model has an independent reproduction harness at msradam/riprap-models. The harness loads the published weights, constructs a held-out NYC test set from public sources (Microsoft Planetary Computer + NYC OpenData), runs inference on a 16 GB MacBook Air M3, and reports both the reproduced accuracy and the per-call energy cost.

Card metricReproduced (this card)MethodM3
0.5979 flood IoU0.0806 flood IoU on a 24-polygon stride-7 reconstruction; 0.508 IoU on the largest test polygon by itself. The aggregate gap reflects the unpublished chip-extraction recipe (build_dataset.py referenced in this card is not in the public artifacts)24 stride-7 Ida polygons + matching Sept 7, 2021 Sentinel-2 chips from MS Planetary Computer + 5 clear-sky NYC controlsyes

Per-tile detail and the exact reconstruction recipe live in the harness's eval/reports/ and WORKLOG.md. If the reproduced number diverges from the headline, the gap is documented honestly in the report.

Updated reproduction findings (gap analysis)

Added polygon-vicinity scoring on the same 29-chip independent reconstruction. The Ida polygons label new water from the storm only, not pre-existing rivers / coast / harbour, so chip-wide IoU is biased downward by labels that don't include water the model legitimately segments.

scoring modefine-tune flood IoUzero-shot Sen1Floods11 IoU
Chip-wide0.08060.0336
Polygon-vicinity (within 300 m of any GT polygon)0.11500.1086

Vicinity IoU lifts the fine-tune by 43% and is the fairer metric given how the labels are defined. The card's 0.5979 still further above; the remaining gap is the chip-extraction recipe (build_dataset.py referenced in this card but not in the public artifacts). Per-tile detail: the largest single test polygon scored IoU 0.51 alone; the model genuinely finds large flood regions.

Sniff-test probe (independent reconstruction)

The reproduction harness includes a 10-case sniff-test probe (scripts/probe.py) that fetches real Sentinel-2 chips and asserts the model fires on Ida-pattern signals and stays quiet otherwise. Current pass-rate: 10/10.

caselocationexpectedpredicted flood pixels
Largest Ida polygon (Staten Island)-74.21, 40.58flood4,941
2nd largest Ida polygon-74.20, 40.63flood6,592
Staten Island North-74.15, 40.64flood7,981
Staten Island West-74.23, 40.63flood4,234
Polygon 0 (Staten Island)-74.19, 40.51flood1,843
Manhattan midtown 2024 (no event)-73.98, 40.76no-flood0 ✅
Central Park 2024-73.97, 40.79no-flood0 ✅
Yankee Stadium 2024-73.93, 40.83no-flood0 ✅
Pelham Bay 2024-73.81, 40.87no-flood0 ✅
Forest Hills 2024-73.85, 40.72no-flood0 ✅

The model is an Ida-pattern detector by design (per this card). It fires on every one of the 5 largest Ida 2021 flood polygons at their original Sentinel-2 chips and stays silent on clear-sky non-event chips. It is not a generic water detector — pointed at the Hudson in 2024 it predicts 0 pixels, which is correct, since there is no Ida-event signal there. For generic open-water segmentation, use the Sen1Floods11 base model.

Source code

github.com/msradam/Prithvi-EO-2.0-NYC-Pluvial — 1:1 source repo with pip install-able package, eval scripts, demo PNGs, and docs/TRAINING.md covering the v1 → v2 lift (copy-paste augmentation + Lovász-Softmax loss). Reproduction harness for all four NYC fine-tunes lives at github.com/msradam/riprap-models.

Contributors

msradam

10 commits

msradam/Prithvi-EO-2.0-NYC-Pluvial

Model

0

stars

10

commits

3

repos using this model

4

linked in READMEs

May 10, 2026

updated

amd
earth-observation
flood
geospatial
hurricane-ida
hurricane-sandy
new-york
nyc
pluvial
rocm
segmentation
sentinel-2
terratorch
Browse cluster: Geospatial Deep Learning & Earth Observation

README

Prithvi-EO-2.0-NYC-Pluvial v2

NYC-specific pluvial-flood fine-tune of NASA-IBM's Prithvi-EO 2.0 (300M params, Sen1Floods11 base), trained on AMD Instinct MI300X via AMD Developer Cloud. Specializes the model on Hurricane Ida 2021 NYC patterns (basement / sub-surface flooding from rapid stormwater accumulation), with copy-paste augmentation that materially improves the rare-class flood IoU.

This is the v2 release. v1 (released earlier today) had test flood IoU 0.10; v2 has 0.5979, a ~6× improvement on the actual flood detection task. The change came from:

  1. Copy-paste augmentation (Ghiasi et al. CVPR 2021) producing 332 synthetic positives by alpha-blending real Ida flood polygons onto clear-sky NYC chips.
  2. Major-TOM expanded negatives (264 additional clear-sky NYC chips from 22 cached parents, sliced randomly).
  3. Lovász-Softmax loss replacing Dice. Lovász is a direct surrogate for IoU and lifts the rare-class metric where Dice optimizes pixel-accuracy under heavy imbalance.

Result

Test metricv1 (released earlier)v2 (this release)Δ
test/mIoU0.53810.7974+25.93 pp
test/IoU_0 (non-flood)0.97470.9968+2.21 pp
test/IoU_1 (flood)0.10160.5979+49.79 pp
test/Pixel_Accuracy0.97470.9968+2.21 pp
test/F1_Score0.58580.8734+28.76 pp
test/Boundary_mIoU0.5657

The flood IoU lift is the headline. v1's 0.10 was honest but weak. v2's 0.60 makes the model demo-credible as a structural-prior signal in Riprap's flood-exposure briefings.

Why this exists

Riprap (the parent NYC flood-exposure briefing system) uses Prithvi-EO 2.0 for its pluvial water-segmentation specialist. Sen1Floods11's training distribution is global flood events dominated by coastal / large-water events. NYC's deadliest flood mode is pluvial (Hurricane Ida 2021) where rain accumulates faster than drainage can clear it; basement apartments in Queens were where people died, not the coast.

This fine-tune nudges the model toward small-polygon, urban, post-rain water patterns that match NYC's pluvial regime.

Training data

ComponentCountSource
Ida real positives (centroid chips)166Riprap baked Ida 2021 polygons + Earth Search S2
Synthetic positives (copy-paste)332Real Ida polygons pasted onto clear-sky NYC backgrounds
Original clear-sky negatives22Major-TOM Core-S2L2A NYC parents, center-crop
Expanded negatives264Random sub-chips from 22 Major-TOM parents
Total784(498 pos / 286 neg)

The copy-paste augmentation uses Gaussian-feathered alpha blending (sigma 2.0) on the polygon mask edges. Each synthetic chip pastes 1-4 real Ida polygons at random positions / rotations / flips.

Splits: stratified-random with seed=42:

  • train: 548 chips (348 pos / 200 neg)
  • val: 118 chips (75 pos / 43 neg)
  • test: 118 chips (75 pos / 43 neg)

Architecture

Backboneprithvi_eo_v2_300_tl (NASA-IBM Prithvi-EO 2.0, 300M params)
BandsB02, B03, B04, B8A, B11, B12 (Sen1Floods11 schema)
DecoderUNet, channels [512, 256, 128, 64]
Output2-class binary segmentation, 224×224
Trainable324M params (full backbone + decoder fine-tune)

Training procedure

FrameworkTerraTorch 1.2.7 + PyTorch Lightning 2.6.1
Hardware1× AMD Instinct MI300X (192 GB HBM3)
CloudAMD Developer Cloud
ROCm4.0.0+1a5c7ec
Precisionfp16-mixed
OptimizerAdamW, lr 3e-5
SchedulerReduceLROnPlateau (factor 0.5, patience 4)
LossLovász-Softmax with class weights [0.4, 1.6]
Batch8
Epochs60 (max reached); best ckpt at val_loss minimum
Wall-clock~12 min
Random seed42
Means (per band, raw L2A)[1086.45, 1063.0, 985.95, 2316.61, 2080.98, 1454.81]
Stds (per band, raw L2A)[1141.95, 1170.10, 1287.78, 1369.24, 1374.77, 1318.21]

Honest limitations

  • Test set is 118 chips. Reported metrics have wide implicit confidence intervals; a different seed could shift them by several pp.
  • 332 of 498 positives are synthetic copy-paste. The model learns flood spectra well in those chips, which boosts in-distribution metrics. On real-world novel Ida-style events, performance may be somewhat lower than the test/IoU_1 = 0.60 we report.
  • We did not run a multi-seed ablation. Single-run, single-seed result.
  • Lovász-Softmax pairs poorly with focal-loss in our setup; we tried both Lovász and class-weighted CE, settled on Lovász. The losses are fundamentally different optimization targets, and your mileage may vary on a different chip distribution.

What did NOT work

  • v2-attempt-1 used focal loss with class_weights [0.4, 1.6]. Model collapsed to majority class (val/IoU_1 trended 0.012 → 0.001 over 7 epochs). Killed and restarted with Lovász. The focal-collapse failure mode is reproducible and not specific to ROCm.

License

Apache 2.0. Underlying datasets:

  • ESA Copernicus Sentinel-2 via Major-TOM Core (Copernicus Open Data License, attribution required).
  • NYC Hurricane Ida polygon extents derived from Sentinel-2 via Prithvi offline pre-compute, included in riprap-nyc/data/prithvi_ida_2021.geojson.

Citation

@misc{prithvi-eo-2024,
  title={Prithvi-EO-2.0: A Versatile Multi-Temporal Foundation Model for Earth Observation Applications},
  author={NASA-IMPACT and IBM},
  year={2024},
  eprint={2412.02732},
}

@misc{prithvi-nyc-pluvial-2026-v2,
  title={Prithvi-EO-2.0-NYC-Pluvial v2: NYC Hurricane Ida fine-tune with
         copy-paste augmentation and Lovász-Softmax loss on AMD MI300X},
  author={Rahman, Adam Munawar},
  year={2026},
  publisher={Hugging Face},
  url={https://huggingface.co/msradam/Prithvi-EO-2.0-NYC-Pluvial},
}

Independent reproduction

This model has an independent reproduction harness at msradam/riprap-models. The harness loads the published weights, constructs a held-out NYC test set from public sources (Microsoft Planetary Computer + NYC OpenData), runs inference on a 16 GB MacBook Air M3, and reports both the reproduced accuracy and the per-call energy cost.

Card metricReproduced (this card)MethodM3
0.5979 flood IoU0.0806 flood IoU on a 24-polygon stride-7 reconstruction; 0.508 IoU on the largest test polygon by itself. The aggregate gap reflects the unpublished chip-extraction recipe (build_dataset.py referenced in this card is not in the public artifacts)24 stride-7 Ida polygons + matching Sept 7, 2021 Sentinel-2 chips from MS Planetary Computer + 5 clear-sky NYC controlsyes

Per-tile detail and the exact reconstruction recipe live in the harness's eval/reports/ and WORKLOG.md. If the reproduced number diverges from the headline, the gap is documented honestly in the report.

Updated reproduction findings (gap analysis)

Added polygon-vicinity scoring on the same 29-chip independent reconstruction. The Ida polygons label new water from the storm only, not pre-existing rivers / coast / harbour, so chip-wide IoU is biased downward by labels that don't include water the model legitimately segments.

scoring modefine-tune flood IoUzero-shot Sen1Floods11 IoU
Chip-wide0.08060.0336
Polygon-vicinity (within 300 m of any GT polygon)0.11500.1086

Vicinity IoU lifts the fine-tune by 43% and is the fairer metric given how the labels are defined. The card's 0.5979 still further above; the remaining gap is the chip-extraction recipe (build_dataset.py referenced in this card but not in the public artifacts). Per-tile detail: the largest single test polygon scored IoU 0.51 alone; the model genuinely finds large flood regions.

Sniff-test probe (independent reconstruction)

The reproduction harness includes a 10-case sniff-test probe (scripts/probe.py) that fetches real Sentinel-2 chips and asserts the model fires on Ida-pattern signals and stays quiet otherwise. Current pass-rate: 10/10.

caselocationexpectedpredicted flood pixels
Largest Ida polygon (Staten Island)-74.21, 40.58flood4,941
2nd largest Ida polygon-74.20, 40.63flood6,592
Staten Island North-74.15, 40.64flood7,981
Staten Island West-74.23, 40.63flood4,234
Polygon 0 (Staten Island)-74.19, 40.51flood1,843
Manhattan midtown 2024 (no event)-73.98, 40.76no-flood0 ✅
Central Park 2024-73.97, 40.79no-flood0 ✅
Yankee Stadium 2024-73.93, 40.83no-flood0 ✅
Pelham Bay 2024-73.81, 40.87no-flood0 ✅
Forest Hills 2024-73.85, 40.72no-flood0 ✅

The model is an Ida-pattern detector by design (per this card). It fires on every one of the 5 largest Ida 2021 flood polygons at their original Sentinel-2 chips and stays silent on clear-sky non-event chips. It is not a generic water detector — pointed at the Hudson in 2024 it predicts 0 pixels, which is correct, since there is no Ida-event signal there. For generic open-water segmentation, use the Sen1Floods11 base model.

Source code

github.com/msradam/Prithvi-EO-2.0-NYC-Pluvial — 1:1 source repo with pip install-able package, eval scripts, demo PNGs, and docs/TRAINING.md covering the v1 → v2 lift (copy-paste augmentation + Lovász-Softmax loss). Reproduction harness for all four NYC fine-tunes lives at github.com/msradam/riprap-models.

Contributors

msradam

10 commits