File size: 2,843 Bytes
006ea64
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
{
  "model_name": "StormCast",
  "model_type": "stormcast",
  "architectures": [
    "StormCast"
  ],
  "framework": "PyTorch",
  "domain": "atmosphere",
  "task": "regional-convection-resolving-weather-forecasting",
  "implementation": {
    "entry_point": "model/stormer.py",
    "scope": "two-stage generative forecasting: a deterministic regression UNet followed by an EDM-preconditioned conditional residual diffusion UNet, both built on the SongUNet backbone"
  },
  "architecture": {
    "family": "two-stage UNet with conditional residual diffusion",
    "stages": [
      "regression",
      "diffusion"
    ],
    "backbone": "SongUNet",
    "image_size": [
      512,
      640
    ],
    "model_channels": 128,
    "channel_mult": [
      1,
      2,
      2,
      2,
      2
    ],
    "num_blocks": 4,
    "attention_resolutions": [],
    "state_channels": 99,
    "background_channels": 26,
    "invariant_channels": 2,
    "regression": {
      "condition": [
        "state",
        "background",
        "invariant"
      ],
      "input_channels": 127,
      "output_channels": 99,
      "additive_pos_embed": false
    },
    "diffusion": {
      "condition": [
        "state",
        "regression",
        "invariant"
      ],
      "input_channels": 299,
      "output_channels": 99,
      "additive_pos_embed": true,
      "preconditioning": "EDM",
      "sigma_data": 0.5,
      "P_mean": -1.2,
      "P_std": 1.2
    }
  },
  "sampling": {
    "diffusion_steps": 18,
    "sigma_min": 0.002,
    "sigma_max": 800.0,
    "rho": 7.0
  },
  "data": {
    "dataset": "ERA5 backgrounds with local high-resolution state",
    "background_source": "ERA5",
    "state_source": "convection-resolving regional reanalysis (HRRR-style)",
    "regional_grid": {
      "projection": "Lambert conformal conic",
      "image_size": [
        512,
        640
      ],
      "horizontal_spacing_km": 3.0,
      "standard_latitude_degrees": 38.5,
      "origin_latitude_degrees": 38.5,
      "central_longitude_degrees": -97.5
    },
    "background_grid": [
      721,
      1440
    ],
    "background_spatial_resolution_degrees": 0.25,
    "time_step_hours": 1,
    "input_steps": 1,
    "output_steps": 1,
    "state_surface_variables": [
      "10m_u_component_of_wind",
      "10m_v_component_of_wind",
      "2m_temperature",
      "mean_sea_level_pressure",
      "composite_reflectivity"
    ],
    "state_model_level_variables": [
      "u_component_of_wind",
      "v_component_of_wind",
      "temperature",
      "specific_humidity",
      "geopotential",
      "pressure"
    ],
    "invariant_variables": [
      "land_sea_mask",
      "orography"
    ]
  },
  "configuration_sources": [
    "conf/config.yaml",
    "model/stormer.py",
    "scripts/train.py",
    "scripts/data_loader.py",
    "scripts/grid.py"
  ]
}