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 analysis
  • JGLOBAL_ATM_ANALYSIS_* - Global atmospheric analysis suite
  • JGLOBAL_ATMENS_ANALYSIS_* - Ensemble atmospheric analysis

Aerosol-Specific Jobs

  • JGLOBAL_AERO_ANALYSIS_INITIALIZE - Aerosol analysis initialization
  • JGLOBAL_AERO_ANALYSIS_VARIATIONAL - 3DVar aerosol analysis
  • JGLOBAL_AERO_ANALYSIS_FINALIZE - Aerosol analysis finalization
  • JGDAS_AERO_ANALYSIS_GENERATE_BMATRIX - Background error covariance

Product Jobs

  • JGFS_ATMOS_GEMPAK* - GEMPAK products
  • JGFS_ATMOS_AWIPS* - AWIPS products
  • JGFS_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:

  1. Q1 2026: Complete CI test coverage on all Tier 1 platforms
  2. Q2 2026: Pre-operational testing on WCOSS2
  3. Q3/Q4 2026: Potential operational implementation

Key Takeaways

  1. GCAFS is not new code - It's a configuration of the mature global-workflow infrastructure for aerosol forecasting

  2. Parallel development - Both NOAA-EMC/GCAFS and NOAA-EMC/global-workflow repos actively track GCAFS features

  3. JEDI integration - GCAFS leverages the modern JEDI data assimilation framework for aerosol analysis

  4. Production pathway - Following the same CI/CD and operational readiness process as GFS v17

  5. Multi-platform support - Inherits all global-workflow platform support (WCOSS2, Hera, Hercules, cloud)


References


Report generated using MCP/RAG analysis tools from the EIB MCP Gateway server
Analysis performed: January 30, 2026