Model unification is a huge undertaking as it touches most, if not all, components of a modeling system. A central aspect in this process of unification is the interoperability of the physical parameterizations across the different models. In this context, the Global Model Test Bed (GMTB) with staff at NOAA’s Global Systems Division (GSD) and at NCAR has been tasked to develop a collection of physical parameterizations and a software framework, called the Common Community Physics Package (CCPP), that facilitates the transition of innovations from the research community to operations to advance the UFS.
While the initial development of CCPP is centered around the GMTB single-column model (SCM) and the Finite-Volume Cubed-Sphere dynamical core (FV3), planned for use in upcoming operational implementations of NOAA’s Global Forecast System (GFS), the CCPP framework and physics are available to users and developers worldwide. In this respect, the recent agreement of NOAA and NCAR to adopt and jointly develop the CCPP framework can be considered a milestone in the U.S. model unification efforts. Establishing the CCPP framework as common infrastructure for sharing physics in SCM, FV3, WRF, MPAS and CESM opens the door to a wider involvement of modeling communities and will accelerate the addition and transfer of physics improvements between these models.
The CCPP framework is designed using a model-agnostic approach that allows for an easy integration with atmospheric models, with future extensions to land, ocean, ice, chemistry, or hydrology. The CCPP is a well-documented, freely-available code supported to the community. Students and scientists can obtain the software for development or testing, and (hopefully) for contributing back promising innovations to the pool of parameterizations in the CCPP physics library.
Standardized metadata tables describing the interfaces of the physical parameterizations allow for an automatic generation of documentation, caps and other files. The caps are used by the CCPP framework to establish the communication between the host model and the physical parameterizations. This substantially lowers the bar for both physics developers when adding new parameterizations to the pool, and for model developers when including these new schemes into their dynamical core. In order for a scheme to be considered CCPP-compliant, a parameterization must adopt certain standards such as a well-described interface (metadata) and modern Fortran/C coding styles. These standards allow physics developers to integrate new parameterizations into a model without becoming an expert in the host model code or the CCPP framework.
In this contribution, we will provide a brief overview of the general concept of the CCPP, present the technical design and the requirements for physical parameterizations to be considered as CCPP-compliant, and describe the connection and integration of CCPP with the host model. We will further give an update on the progress towards a common NOAA-NCAR physics software infrastructure, how the lessons learnt from the present development of CCPP at NOAA influence this joint effort and, vice versa, how the requirements and developments brought in from NCAR can improve the system and as such benefit NOAA’s model unification efforts.