File size: 2,974 Bytes
9c16f7b | 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 | {
"model_name": "WeatherNext2",
"model_type": "fgn",
"architectures": [
"FGN"
],
"framework": "PyTorch",
"domain": "climate-and-atmosphere",
"task": "probabilistic-weather-forecasting",
"implementation": {
"entry_point": "model/fgn.py",
"scope": "minimal PyTorch FGN reproduction with regular-grid graph operations, conditional LayerNorm noise injection, autoregressive ensembles, and fair CRPS"
},
"architecture": {
"family": "probabilistic GNN encoder, graph-Transformer processor, and GNN decoder",
"attention_mechanism": "multi-head self-attention over a regular latent mesh with fixed wrap-around 8-neighbor graph message passing",
"input_format": "BSTCHW",
"output_format": "BMTCHW",
"encoder": "per-cell MLP, adaptive pooling from the observation grid to the latent mesh, and GNN message passing",
"processor": "graph-Transformer blocks conditioned by a sampled global noise vector",
"decoder": "latent-mesh GNN, bilinear upsampling, and per-cell output MLP",
"activation": "GELU",
"normalization": "ConditionalLayerNorm",
"repository_default_config": {
"purpose": "small connectivity-validation configuration",
"in_channels": 6,
"out_channels": 6,
"input_steps": 2,
"output_steps": 2,
"grid_shape": [
32,
32
],
"mesh_shape": [
8,
8
],
"latent_dim": 64,
"num_encoder_layers": 2,
"num_decoder_layers": 2,
"num_processor_blocks": 2,
"n_heads": 4,
"hidden_dim": 64,
"noise_dim": 32,
"num_ensemble_models": 1,
"num_members": 2,
"channel_weights": [
1,
1,
1,
1,
1,
1
]
},
"paper_configuration": {
"in_channels": 84,
"out_channels": 84,
"input_steps": 2,
"output_steps": 60,
"grid_shape": [
721,
1440
],
"latent_mesh": "six-times-subdivided icosahedral grid with approximately 40,000 nodes",
"latent_dim": 768,
"num_processor_blocks": 24,
"n_heads": 6,
"noise_dim": 32,
"num_ensemble_models": 4,
"num_members_per_model": 14
}
},
"data": {
"dataset": "ERA5-format HDF5",
"variables": [
"2m_temperature",
"10m_u_component_of_wind",
"10m_v_component_of_wind",
"mean_sea_level_pressure",
"sea_surface_temperature",
"total_precipitation"
],
"frame_interval_hours": 6,
"input_length": 2,
"output_length": 2,
"channels": 6,
"default_smoke_spatial_size": [
32,
32
],
"paper_spatial_size": [
721,
1440
],
"paper_output_length": 60,
"normalization": "per-channel means and standard deviations stored in HDF5"
},
"configuration_sources": [
"conf/config.yaml",
"model/fgn.py",
"scripts/train.py",
"scripts/inference.py",
"scripts/fake_data.py",
"README.md"
]
}
|