File size: 2,695 Bytes
228af26
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
---

library_name: pytorch
license: mit
datasets:
- TorNet
tags:
- weather
- radar
- tornado
- NEXRAD
- MRMS
- HRRR
- lightning
metrics:
- auprc
- f1
- accuracy
- brier
- ece
pipeline_tag: image-classification
---


# Wonder-Griffin/tornado-super-predictor

**TornadoSuperPredictor** from Storm-Oracle, trained on **TorNet (Zenodo)** patches.  
Outputs a tornado probability per patch (optionally with atmospheric features).

## Summary

- **Data**: TorNet (official split); optional recent holdout recommended.  
- **Architecture**: CNN feature extractor + heads (probability, EF logits, location, timing, uncertainty).  
- **Temporal**: 3 volume(s) stacked as channels.  
- **Normalization**: zscore.  
- **Loss**: bce (pos_weight=2.0).  

- **Calibration**: Platt (A,B)=n/a,n/a; Temperature T=n/a.



## Intended Use



- Research on tornado nowcasting from radar patches;  

- Evaluation under class imbalance with PR metrics;  

- **Not** an operational warning system without further validation & human oversight.



## Dataset



- **Train examples**: 6  

- **Eval examples**: 4  

- **Class balance**: positives=n/a, negatives=n/a, pos_weight≈2.0

## Evaluation (threshold = 0.5)

Confusion matrix (rows = truth, cols = prediction):

|        | Pred 0 | Pred 1 |
|-------:|-------:|-------:|
| True 0 | 0 | 2 |
| True 1 | 0 | 2 |

Metrics:

- **AUPRC**: n/a  
- **Accuracy**: n/a  
- **(Optional)**: attach PR curve & reliability diagrams

## Training

- Optimizer: AdamW (lr=1e-4, wd=1e-4 by default)  
- Batch size: n/a  
- Epochs: n/a  
- Precision: 16-mixed  
- Augmentations: flips/rotations/intensity jitter + optional crops  
- Hardware: 1× GPU (FP16 mixed)

## How to use

```python

from huggingface_hub import snapshot_download

import torch, os, importlib.util, sys



repo_id = "Wonder-Griffin/tornado-super-predictor"

local_dir = snapshot_download(repo_id)

sys.path.insert(0, local_dir)



from modeling import load, apply_temperature

device = "cuda" if torch.cuda.is_available() else "cpu"

model = load(device=device)



# x: torch.Tensor of shape (B, C, 256, 256), C = 3 * T

B = 1; C = 3*3

x = torch.randn(B, C, 256, 256, device=device)



# atmospheric dict (optional—batch-shaped)

atmo = {

  "cape":        torch.zeros(B,1, device=device),

  "wind_shear":  torch.zeros(B,4, device=device),

  "helicity":    torch.zeros(B,2, device=device),

  "temperature": torch.zeros(B,3, device=device),

  "dewpoint":    torch.zeros(B,2, device=device),

  "pressure":    torch.zeros(B,1, device=device),

}



with torch.no_grad():

    out = model(x, atmo)

    prob = out["tornado_probability"]  # (B,)