GCAFS Overview - TerrenceMcGuinness-NOAA/global-workflow GitHub Wiki
GCAFS (Global Composition/Chemistry Aerosol Forecast System)
Report Date: January 30, 2026
Repository: https://github.com/NOAA-EMC/GCAFS
Analysis Method: MCP/RAG tools + Git history analysis
Executive Summary
GCAFS (Global Composition/Chemistry Aerosol Forecast System) is NOAA's next-generation aerosol and air quality forecasting capability, built on the proven global-workflow infrastructure. It represents the fourth major forecasting system alongside GFS, GEFS, and SFS.
| Aspect | Details |
|---|---|
| Purpose | Aerosol/air quality forecasting with GOCART model integration |
| Status | Active development, feature branch merged March 2025 |
| Repository | Fork of global-workflow with GCAFS-specific configurations |
| Lead Developers | Barry Baker, Li Pan, Cory Martin |
| Total Commits | 4,040 (inherited from global-workflow history) |
| First GCAFS Commit | March 12, 2025 |
What is GCAFS?
GCAFS is a specialized application of the global-workflow framework focused on aerosol transport, chemistry, and air quality prediction. While GFS predicts weather and GEFS provides ensemble forecasts, GCAFS focuses on:
- Atmospheric aerosol concentrations (dust, smoke, sea salt, sulfate, organic/black carbon)
- Air quality forecasting for public health advisories
- Aerosol-radiation interactions affecting weather prediction
- Fire emissions impacts on atmospheric composition
Key Distinctions from Other Systems
| System | Purpose | Data Assimilation | Key Model |
|---|---|---|---|
| GFS | Medium-range weather | Full atmospheric DA (GSI/JEDI) | FV3 |
| GEFS | Ensemble weather prediction | Ensemble DA | FV3 |
| SFS | Seasonal/subseasonal forecasting | Seasonal cycles | FV3 |
| GCAFS | Aerosol/air quality forecasting | Aerosol-specific DA | FV3 + GOCART |
Repository Architecture
Relationship to global-workflow
GCAFS is a fork of NOAA-EMC/global-workflow that maintains parallel development:
NOAA-EMC/global-workflow (upstream)
│
├──── NOAA-EMC/GCAFS (GCAFS-specific fork)
│
└──── Both repos actively syncing GCAFS features
Evidence of bidirectional development:
From global-workflow develop:
3db7edff "Enable gcafs tests on Ursa (#4439)"
5091a7b6 "Adding GCAFS products v2 (#4407)"
b446d9fd "Process aerosol analysis in grib2 format via UPP in GCAFS (#4234)"
From GCAFS repo:
136322b5 "Initial GCAFS configuration and application"
52b37f3e "Add GCAFS support in configuration and workflow files"
d0824cbe "Update GOCART path for GDAS/GFS/GCAFS implementations"
Submodule Dependencies
GCAFS inherits all global-workflow submodules:
| Submodule | Repository | Purpose |
|---|---|---|
ufs_model.fd |
ufs-community/ufs-weather-model | UFS Weather Model core |
gdas.cd |
NOAA-EMC/GDASApp | JEDI-based data assimilation |
gsi_enkf.fd |
NOAA-EMC/GSI | GSI/EnKF data assimilation |
wxflow |
NOAA-EMC/wxflow | Workflow utilities |
gfs_utils.fd |
NOAA-EMC/gfs-utils | GFS-specific utilities |
ufs_utils.fd |
ufs-community/UFS_UTILS | UFS preprocessing utilities |
gsi_utils.fd |
NOAA-EMC/GSI-Utils | GSI utilities |
gsi_monitor.fd |
NOAA-EMC/GSI-Monitor | GSI monitoring tools |
verif-global.fd |
NOAA-EMC/EMC_verif-global | Verification tools |
GCAFS-Specific Configuration
The initial GCAFS commit (136322b5) introduced 70+ configuration files in parm/config/gcafs/:
Configuration Categories
| Category | Files | Purpose |
|---|---|---|
| Aerosol Analysis | config.aero*, config.aeroanl* |
Aerosol DA configuration |
| Atmospheric Analysis | config.atmanl*, config.atmensanl* |
ATM analysis with aerosol integration |
| Forecast | config.fcst, config.efcs |
Forecast model settings |
| Products | config.atmos_products, config.awips |
Output product generation |
| Archiving | config.arch_*, config.earc_* |
HPSS/Globus archiving |
| Base/Common | config.base, config.com |
Core GCAFS settings |
Key GCAFS Base Configuration
From parm/config/gcafs/config.base:
#! /usr/bin/env bash
## THIS IS GCAFS
########## config.base ##########
# Toggle for GCAFS-specific features
export DO_GOES="@DO_GOES@" # GOES products
export DO_BUFRSND="@DO_BUFRSND@" # BUFR sounding products
export DO_GEMPAK="@DO_GEMPAK@" # GEMPAK products
export DO_AWIPS="@DO_AWIPS@" # AWIPS products
export DO_TRACKER="@DO_TRACKER@" # Hurricane track verification
export DO_GENESIS="@DO_GENESIS@" # Cyclone genesis verification
Development Evolution Timeline
Phase 1: FV3GFS Origins (2016-2017)
The repository traces back to the original FV3GFS project:
2016-10-18 d1d05ffd "Creating new project: fv3gfs Trunk"
2016-10-19 019054cb "FV3GFS runs on Cray"
2017-01 124 commits - Heavy initial development
Key milestone: Transition from spectral GFS to FV3-based GFS with cubed-sphere grid.
Phase 2: GFS v16 Development (2018-2020)
2018-09 178 commits - Peak activity, major infrastructure work
2019-2020 Steady development toward GFS v16 operational
Key milestone: GFS v16 operational implementation.
Phase 3: JEDI Integration & Multi-System Support (2021-2024)
2022-07-22 ffcd5bbd "Add GDASapp (first wave of JEDI changes) (#871)"
2023-01-20 9fc82753 "Add initial Sphinx documentation (#1258)"
2023-02-10 1040216d "Add in initial 3DVar aerosol DA cycling capability (#1106)"
2024-01-11 a65e4c67 "Initial update of version/module files #2123"
Key milestone: JEDI-based data assimilation begins replacing legacy GSI for some applications.
Phase 4: GCAFS Introduction (March 2025)
2025-03-12 136322b5 Barry Baker: "Initial GCAFS configuration and application"
2025-03-12 d8d9f359 Li Pan: "modification of the global-workflow for GCAFS"
2025-03-13 67c6dc56 Barry Baker: "edit parm/configs/gcafs"
2025-03-14 52b37f3e Barry Baker: "Add GCAFS support in configuration and workflow files"
2025-03-18 d45b886d Barry Baker: "minor updates for gcafs configuration"
2025-03-21 d0824cbe Barry Baker: "Update GOCART path for GDAS/GFS/GCAFS implementations"
2025-04-09 4e9959da "Add initial capability to produce JEDI-based observation space summary stat files"
Key milestone: GCAFS becomes a first-class citizen alongside GFS, GEFS, and SFS.
Git Statistics
Commit Volume by Year
| Year | Commits | Notable Events |
|---|---|---|
| 2016 | 37 | Project creation |
| 2017 | 430 | Initial development surge |
| 2018 | 509 | GFS v16 preparation |
| 2019 | 291 | Stabilization |
| 2020 | 269 | Operations preparation |
| 2021 | 261 | Post-v16 development |
| 2022 | 349 | JEDI integration begins |
| 2023 | 383 | Multi-system expansion |
| 2024 | 407 | SFS and GCAFS development |
| 2025 (Q1) | 160+ | GCAFS introduction |
Active Branches
| Branch | Purpose |
|---|---|
develop |
Main development (default) |
feature/gcafs_enable |
GCAFS feature development |
gcafsv1 |
GCAFS version 1 release |
pantemp |
Li Pan's development branch |
Top Contributors (All Time)
| Rank | Developer | Commits |
|---|---|---|
| 1 | Fanglin Yang | 775 |
| 2 | Kate Friedman | 639 |
| 3 | Russ Treadon | 233 |
| 4 | Rahul Mahajan | 196 |
| 5 | Walter Kolczynski | 171 |
| 6 | George Gayno | 174 |
| 7 | David Huber | 132 |
| 8 | Mallory Row | 113 |
| 9 | Terrence McGuinness | 97 |
| 10 | Boi Vuong | 83 |
GCAFS-Specific Contributors
| Developer | Role |
|---|---|
Barry Baker (bbakernoaa) |
Lead GCAFS architect |
| Li Pan | GCAFS modifications |
| Cory Martin | Aerosol DA cycling |
| lipan-NOAA | Aerosol radiative feedback |
Supported Platforms
| Platform | Tier | Support Level |
|---|---|---|
| WCOSS2 (NCO) | 1 | Full EMC support, production target |
| Hera (NOAA RDHPCS) | 1 | Full EMC support, primary dev/test |
| Hercules (MSU) | 1 | Full EMC support (no TC Tracker) |
| Orion (MSU) | 2 | Ad-hoc support (GSI runs slowly) |
| Gaea C5/C6 (RDHPCS) | 3 | EPIC-supported |
| AWS/GCP/Azure (PW) | 3 | EPIC-supported cloud |
Tier Definitions:
- Tier 1: Full EMC support with regular CI testing
- Tier 2: Ad-hoc EMC support, CI supported but not regular
- Tier 3: Community/EPIC supported, no EMC guarantee
Aerosol Data Assimilation Evolution
The aerosol DA capability that GCAFS leverages has been building for years:
2022-08-19 8a62c3a9 "Add initial config files for global aerosol DA (#986)"
2023-02-10 1040216d "Add in initial 3DVar aerosol DA cycling capability (#1106)"
2023-05-01 6c48e94b "Update aerosol DA to use new COM structure (#1551)"
2023-07-27 de7b10aa "Make small changes to get (aerosol) cycling going at C384"
2023-08-31 573ecce8 "Changes to get C48 aerosol test ready (#1829)"
2023-12-07 3483f550 "Add support for FGAT and IAU for aerosol DA (#1940)"
2024-06-14 6c933455 "Add observation preparation job for aerosols DA (#2624)"
2024-08-29 7f160f66 "Add diffusion/diag B for aerosol DA (#2738)"
2024-09-06 d3ea8e29 "Update aerosol climatology to 2013-2024 mean (#2888)"
2024-11-22 313a461e "Make aerosol output frequency variable (#2982)"
2024-12-13 bef3e0ba "Switch Aerosol DA to use JCB and Jedi class (#3125)"
2025-02-14 0da38327 "Fix the empty aerosol DA aerostat tar file issue (#3332)"
2025-02-21 586f658d "Allow for C1152 ATM-Aero cycled DA to run on WCOSS2 (#3309)"
Job Scripts
GCAFS leverages the extensive job script infrastructure:
Atmosphere Jobs
JGDAS_ATMOS_ANALYSIS- GDAS atmospheric analysisJGLOBAL_ATM_ANALYSIS_*- Global atmospheric analysis suiteJGLOBAL_ATMENS_ANALYSIS_*- Ensemble atmospheric analysis
Aerosol-Specific Jobs
JGLOBAL_AERO_ANALYSIS_INITIALIZE- Aerosol analysis initializationJGLOBAL_AERO_ANALYSIS_VARIATIONAL- 3DVar aerosol analysisJGLOBAL_AERO_ANALYSIS_FINALIZE- Aerosol analysis finalizationJGDAS_AERO_ANALYSIS_GENERATE_BMATRIX- Background error covariance
Product Jobs
JGFS_ATMOS_GEMPAK*- GEMPAK productsJGFS_ATMOS_AWIPS*- AWIPS productsJGFS_ATMOS_POSTSND- Post-processing sounding
Integration with GOCART
GCAFS integrates with the GOCART (Goddard Chemistry Aerosol Radiation and Transport) model for aerosol physics:
2025-03-21 d0824cbe "Update GOCART path for GDAS/GFS/GCAFS implementations (#3455)"
GOCART provides:
- Dust emission and transport
- Sea salt aerosol generation
- Sulfate chemistry
- Carbonaceous aerosol (black carbon, organic carbon)
- Biomass burning emissions
- Aerosol optical depth calculations
Operational Readiness Status
Current State (January 2026)
| Capability | Status |
|---|---|
| Configuration files | ✅ Complete (70+ files) |
| Workflow integration | ✅ Merged to develop |
| CI testing | 🚧 Being enabled (Ursa, MSU) |
| Products v2 | ✅ Added |
| GRIB2 processing | ✅ Working via UPP |
| WCOSS2 support | ✅ Validated |
| C1152 resolution | ✅ Supported |
Upcoming Milestones
Based on git activity and PR patterns:
- Q1 2026: Complete CI test coverage on all Tier 1 platforms
- Q2 2026: Pre-operational testing on WCOSS2
- Q3/Q4 2026: Potential operational implementation
Key Takeaways
-
GCAFS is not new code - It's a configuration of the mature global-workflow infrastructure for aerosol forecasting
-
Parallel development - Both NOAA-EMC/GCAFS and NOAA-EMC/global-workflow repos actively track GCAFS features
-
JEDI integration - GCAFS leverages the modern JEDI data assimilation framework for aerosol analysis
-
Production pathway - Following the same CI/CD and operational readiness process as GFS v17
-
Multi-platform support - Inherits all global-workflow platform support (WCOSS2, Hera, Hercules, cloud)
References
- GCAFS Repository: https://github.com/NOAA-EMC/GCAFS
- global-workflow Repository: https://github.com/NOAA-EMC/global-workflow
- Documentation: https://global-workflow.readthedocs.io/
- GOCART Model: https://github.com/GEOS-ESM/GOCART
Report generated using MCP/RAG analysis tools from the EIB MCP Gateway server
Analysis performed: January 30, 2026