Skip to content

CCPP Framework Governance

Michael Kavulich edited this page Sep 17, 2026 · 8 revisions

CCPP Framework Governance: DRAFT September 2026

This page is currently being updated, and may not represent the final governance document moving forward.

Background

Around the year 2017, NOAA had tasked the Global Model Test Bed with implementing the CCPP, a model-independent library of physical parameterizations, containing both operational and developmental suites, that can be used in all Unified Forecast System (UFS) applications. The CCPP has two components: the CCPP-physics, which comprises the actual parameterizations, and the CCPP Framework, which enables their connection to host models. In 2019, NCAR reviewed the CCPP Framework and decided to develop it as a key component of the SIMA project for unifying several physics among WRF, MPAS, and CESM models. In 2021 the Naval Research Lab's NEPTUNE model adopted the CCPP Framework, resulting in our current ecosystem of three major institutes of atmospheric research (NOAA, NCAR, and NRL) all utilizing the same software framework connecting physics parameterizations to dynamical models.

What is being governed

This governance applies to the model agnostic framework for the Common Community Physics Package (CCPP), a code referred to as CCPP framework. This governance is being established to acknowledge that multiple groups will be contributing to and using the CCPP framework, and therefore need to have input in the developmental process. The CCPP framework source code currently resides at https://github.com/NCAR/ccpp-framework

Scope of governance committee

The role of the governance body is to

  • Review, provide feedback on, and approve new design documents and design changes
  • Review, provide feedback on, and approve framework code changes
  • Provide test cases and testing resources as necessary to ensure compatibility, viability, and correctness of all proposed code changes

Approval by at least one representative of each modeling group is required for the acceptance of new code. These groups are:

  • The Unified Forecast System (UFS); specifically the Weather Model (UFSWM) and Single-Column Model (UFS-SCM)
  • The System for Integrated Modeling of the Atmosphere (SIMA)
  • The Naval Research Lab's NEPTUNE model

While the governing body may suggest new or revised requirements for the CCPP framework itself, approval of requirements for the CCPP framework is beyond the scope of this governance and is done by the funding agencies. The governance committee is aware of the needs and direction provided by the funding agencies. The governance described in this document pertains to the active development phase, and may evolve as the CCPP Framework matures.

Governance body and composition

The CCPP Framework is governed by a committee that represents the parties and organizations that contribute to maintaining and updating the CCPP Framework. They meet weekly or biweekly (depending on code activity and other needs) on Thursdays, via virtual Google Meet rooms. To request an invitation to these meetings, contact Michael Kavulich (kavulich@ucar.edu) or OTHER?

The CCPP Framework governance committee has a chair that rotates every two years. The role of the chair is to work with the committee to a) establish, publish, and update as needed the procedures for development; b) enforce the procedures for development; c) coordinate code releases.

Proposed Technical Committee Members:

  • Representatives for SIMA
    • Primary: Courtney Peverley (NCAR CGD)
    • Backups: Jesse Nusbaumer (NCAR CGD), Cheryl Craig (NCAR CGD)
  • Representatives for the UFS
    • Primary: Michael Kavulich (DTC at NCAR), current chair
    • Backups: Dustin Swales (DTC at NOAA), Soren Rasmussen (DTC at NCAR)
  • Representatives for
    • Primary: Dom Heinzeller (NRL)
    • Backup: TBD

Procedures for development

A Developer’s Guide will be listed in a public wiki at https://github.com/NCAR/ccpp-framework/wiki and can be altered by the governance committee The Developer’s Guide will include, among others topics:

  • Overview of CCPP (current requirements, design, and implementation schedule)
  • Coding guidelines
  • Developmental workflow (how to obtain, modify, and submit innovations for review and commit to master code)
  • Protocols for reviewing code submissions
  • Testing requirements to accompany code submissions
  • How to report bugs
  • How to request new features in the CCPP Framework

Clone this wiki locally