Skip to content

CCPP Physics Points of Contact

ligiabernardet edited this page Oct 17, 2022 · 14 revisions

Overview

Each primary physics scheme in the CCPP Physics code repository has one or more individuals that serve as Points of Contact (PoCs) for the scheme. PoCs are drawn from the pool of Subject Matter Expert(s) (SMEs) for a scheme. Points of Contact foster community in the development of primary physical parameterizations by creating a friendly environment for collaborative development, create long-term vision for the distribution and support of primary physical parameterizations, and prevent uncoordinated changes to schemes.

A list of primary physics schemes and their PoCs can be found here.

Primary roles, responsibilities and required skills for code owners

  • Roles
    • Be a steward of a scheme
    • Foster the advancement of a scheme via community contributions
  • Primary responsibilities
    • When requested, conduct code reviews in a timely manner (or abstain)
    • Consult with additional experts (e.g., primary scheme developers) as needed
    • Assign additional reviewers if needed
  • Skills
    • Working knowledge of scheme in scientific and technical terms
    • Working knowledge of git/GitHub

From a technical standpoint, PoCs may be manually tagged by the code managers or implemented as GitHub code owners. When a pull request (PR) modifying a primary scheme is issued:

  • PoCs receive request for review
  • CCPP code managers may solicit additional reviewers
  • PoCs should provide a timely review or remove themselves from list of reviewers
  • PoCs can consult primary scheme developers and/or subject-matter experts to support their review
  • PoCs should either “approve” or “request changes” to a PR. If changes are requested, there will be iteration(s) with the developer. PoCs can also reject a PR if its scientific or technical approach is unsound.
  • The PR will be available to merge as soon as two assigned reviewers have approved (1 CCPP code manager and 1 physics PoC) and the required tests have been completed.
    • The testing requirements are an area of active development of the CCPP Physics Code Management Committee.
    • For now, updated to ccpp-physics need to pass the NOAA Unified Forecast System (UFS) regression tests before they can be merged.
  • The ultimate decision to merge a PR remains with the CCPP code managers

Additional roles, responsibilities and required skills for code owners

A few times per year, PoCs may be asked to support the CCPP team at the DTC in additional aspects.

  • Role
    • Plan for maintenance, release, and support of scheme
  • Responsibilities
    • Provide input wrt future or retirement of scheme
    • Help create/maintain regression test(s) that invoke scheme
    • Contribute to documentation (scientific and technical)
    • Provide input for releases, tutorials, trainings
  • Skills
    • Understanding of the scheme in scientific, technical, and programmatic terms, in consultation with primary developer and SMEs