How noaa-gfdl/pace works
Pace is a Python orchestration layer for the FV3GFS/SHiELD atmospheric model. The documented user workflow is to launch pace.run with a YAML configuration; it builds and runs the driver, which coordinates grid and initial-state setup, model dynamics and physics, and diagnostics. The repository excerpts support the CLI-to-driver path and several module dependencies, but do not show the full timestep implementation. The README documents the dynamics/physics submodule roles; their internal implementations were not sampled.
Main entry points: driver.py Simulation driver · diagnostics.py Diagnostics output · state.py Model state · run.py Run CLI
Components 13
Execution
- Run CLI
pace/run.py - Simulation driver
pace/driver.py - Config registry
pace/registry.py
Model setup
- Communication
pace/comm.py - Grid setup
pace/grid.py - State initialization
pace/initialization.py - Model state
pace/state.py
Simulation
- FV3 dynamics
pyFV3 - SHiELD physics
pySHiELD
Outputs and checks
- Diagnostics output
pace/diagnostics.py - State checks
pace/safety_checks.py - Run output
Other components
- Model user
Connections 15
- Model user → Run CLI: launches
README.md - Run CLI → Simulation driver: creates and runs
pace/run.py - Simulation driver → Communication: imports
pace/driver.py - Simulation driver → Grid setup: imports
pace/driver.py - Simulation driver → State initialization: imports
pace/driver.py - Simulation driver → Model state: imports
pace/driver.py - Simulation driver → Diagnostics output: imports
pace/driver.py - Simulation driver → State checks: imports
pace/driver.py - State initialization → Model state: constructs
pace/initialization.py - Grid setup → Config registry: registers types
pace/grid.py - Communication → Config registry: registers types
pace/comm.py - Diagnostics output → Model state: reads
pace/diagnostics.py - Simulation driver → FV3 dynamics: runs dynamics
README.md - Simulation driver → SHiELD physics: runs physics
README.md - Diagnostics output → Run output: writes diagnostics
README.md