NCAR / NCAR/ccpp-framework

Simplification of ccpp-framework code

Open
#737 2 comments 0 reactions 6 assignees View on GitHub

@gold2718 is already working on this.

Since Apr 17, 2026.

capgen capgen-unification hackathon_20260417 post-capgen-unification
Dominant language
Python
Stars
25
Forks
67
Avg merge
3d 8h
Merged PRs (30d)
2

Description

Description

On 2026/04/17, the CCPP developers (technical representatives of the CCPP funding organizations) met for a one-day hackathon to advance the transition of models currently using ccpp-prebuild to capgen. The summary below reflects my interpretation of the discussion, as well as the observation that progress during the day was limited.

Goal

Our goal is to establish a CCPP framework codebase based on capgen that is understandable and maintainable by all contributors, within a reasonable learning curve. To achieve this, we must reduce complexity, ensure thorough testing, and provide clear documentation for the remaining code.

Solution

In preparation for, alongside, and following the adoption of capgen in the CCPP-SCM, NEPTUNE, and UFS models, we will review the existing capgen codebase. To remain in - or in the future be added to - the authoritative ccpp-framework develop branch, each code component must satisfy the following criteria:

  1. The code provides functionality that is currently required by at least one of the sponsoring models. At present, these are (in alphabetical order): CCPP-SCM (UCAR/DTC), NEPTUNE (NRL), CAM-SIMA (NCAR/CGD), and UFS (NOAA).
  2. The code is functional, tested, and documented.

For existing code in develop that meets criterion 1 but not criterion 2, we will either implement the missing elements or create an issue outlining a plan, timeline, and assignee to address the gaps.

Existing code in develop that does not meet criterion 1 will be removed. Such code can be recovered from the Git history at any time or maintained in a separate feature development branch. These branches should generally reside in a developer’s fork of ccpp-framework, but may, in some cases, be hosted in the authoritative repository.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.