Interoperable Physics Driver/Common Community Physics Package (IPD/CCPP)

CCPP Ecosystem Detailes
Depiction of the concept of a Common Community Physics Package Ecosystem. Although an officially-supported version of the CCPP exists (within bold-outlined oval), the software infrastructure allows for use (largest oval) and development (second-largest oval) from within the broader community. The operational physics suite can be drawn from the supported CCPP

The Global Model Test Bed (GMTB) has been tasked to develop a Common Community Physics Package (CCPP) for use within operational centers and the research community. Such a framework allows for a relatively small number of supported suites of physical parameterizations to be supported and easily shared among interested groups. Operational centers can draw from this repository for operational NWP, the research community has access to the same codes for R&D, and innovations can be effectively tested and funneled back to operational centers to improve forecasts.

Highlights of the CCPP Ecosystem include:

  • The use of a modern software framework (git) allows for tiers of users within the CCPP ecosystem.

  • Users within the open community can have “read-only” access and are not expected to contribute back. This level of access can be useful for externally-funded research and as a ”low-bar to entry” for testing new ideas.

  • Contributors within the open community can maintain their own “forks” of the officially supported CCPP, developing and maintaining code within their own institutions, and allowing for shared development across institutions. This tier of users is largely for the incubation of physics innovations.

  • Core partners (NOAA EMC, DTC consisting of NOAA GSD and NCAR/RAL staff, and others) support and maintain mature physics suites. Elevation to a supported status within the CCPP requires acceptance by a review committee consisting of members from all core partners.

  • Operational centers control the contents of their physics suites, but they are drawn from the CCPP.

Documentation for the initial CCPP infrastructure can be found here. The operational GFS suite (documentation for 2016) is “grandfathered” as the initial physics suite within the CCPP.

Interoperable Physics Driver

The sharing of physics schemes/suites among models is facilitated through an Interoperable Physics Driver (IPD). This code is designed to be dycore- and physics-agnostic. Physics suites are constructed at runtime by specifying which schemes to use and their order and frequency of calling. A software “cap” is required for a dycore to use the CCPP suites, but once completed, the full functionality of the CCPP is enabled.

An example of the use of the IPD is shown in the following figure. It depicts the FV3 dycore connected to the CCPP through the IPD within the NEMS framework. The IPD has evolved through several versions among different institutions:

  • IPDv2 (NOAA/EMC) connected the GSM to the 2016 operational GFS physics

  • IPDv3 (NOAA/EMC) connected the GSM to the 2017 operational GFS physics

  • IPDv4 (NOAA/GFDL/EMC) connected FV3 to the 2017 operational GFS physics

  • IPDv5 (NOAA/GFDL/EMC/DTC) connects FV3 to all physics within the CCPP ecosystem (consists of IPDv4 + CCPP functionality)

An example of the use of the IPD
An example of the use of the IPD