-
Notifications
You must be signed in to change notification settings - Fork 4
Open
Labels
documentationImprovements or additions to documentationImprovements or additions to documentationenhancementNew feature or requestNew feature or request
Description
Add O96 Mesh Analysis Output and Gridded Verification Against NWP Forecasts
Summary
Enable the model to save evolved mesh state (O96 grid) for gridded verification against traditional NWP model forecasts. Currently, the model only outputs predictions decoded to observation space, but the mesh state itself represents a gridded analysis that can be directly compared with operational forecast models.
Background
- The O96 icosahedral mesh (~40,962 nodes, ~100km resolution) represents the analyzed atmospheric state
- Current validation only compares decoded predictions against observations (irregular locations)
- For operational use and comprehensive validation, we need gridded comparisons on the O96 mesh
- This enables standard DA metrics (analysis-forecast differences, ACC, RMSE on grid)
Proposed Changes
1. Modify Model Forward Pass
Add capability to return mesh state before decoding
2. Save Mesh State During Validation
Capture and save mesh state for gridded analysis
3. Implement NWP Comparison on O96 Mesh
Add utilities to:
- Interpolate NWP gridded forecasts to O96 mesh nodes
- Compute gridded verification metrics (RMSE, bias, ACC)
- Compare GNN analysis vs NWP forecast on common O96 grid
4. Output Format
Save mesh analyses in netCDF format compatible with operational workflows
Benefits
- Dual validation: Both observation-space and gridded metrics
- Operational compatibility: Direct comparison with NWP models on same grid
- Standard verification: Enables traditional DA metrics (O-A, O-F statistics)
- Interpretability: Gridded output easier to visualize and understand than scattered obs
Implementation Tasks
- Modify
forward()to optionally return mesh state - Update
validation_step()to capture mesh state - Implement NWP interpolation to O96 mesh
- Add gridded metric computation
- Create netCDF output utility for mesh analyses
- Add gridded metrics to logging/tensorboard
- Update documentation with gridded validation workflow
- Add example notebook showing O96 mesh analysis vs NWP comparison
Mesh Resolution Details
The current model uses mesh_resolution=6, which creates an icosahedral mesh with the following properties:
Technical Specifications
- Number of nodes: 40,962 (calculated as
10 × 4^6 + 2) - Spatial resolution: ~100-110 km average node spacing
- Global coverage: Quasi-uniform distribution over Earth's surface
- Area per node: ~12,450 km²
Resolution Comparison Table
| Resolution | Splits | Nodes | Approx. Spacing | Use Case |
|---|---|---|---|---|
| 4 | 4 | 2,562 | ~280 km | Coarse testing |
| 5 | 5 | 10,242 | ~140 km | Medium resolution |
| 6 | 6 | 40,962 | ~100 km | current |
| 7 | 7 | 163,842 | ~50 km | High resolution |
| 8 | 8 | 655,362 | ~25 km | Very high resolution |
Metadata
Metadata
Assignees
Labels
documentationImprovements or additions to documentationImprovements or additions to documentationenhancementNew feature or requestNew feature or request