Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Governance

AndersJensen-NOAA edited this page Jun 11, 2025 · 2 revisions

This page describes the governance structure and working practices of the TEMPO repository. Outlined below are the steps that developers should follow if they want to make contributions to this repository.

Primary Developers and CODEOWNERS

The primary developers for the TEMPO repository are listed in the CODEOWNERS file. Their responsibilities are to watch the repository and participate in GitHub Discussions and Issues, receive alerts when changes are proposed, review, approve, and merge Pull Requests (PRs).

Communicate with us early

All proposed changes should be discussed with the primary developer(s) before introducing any code modifications. Please open a GitHub issue as early as possible, preferably when you are planning a change. This issue should clearly describe the purpose and scope of the change.

Relevant Branches in the TEMPO Repository

Contributing developers should direct their development to the develop branch. The main branch is running in RRFSv2 (MPAS dynamical core) development systems and will be updated from develop once code in develop is deemed operationally stable and does not degrade forecasts.

Create Fork and Branch

Prior to beginning the development, you will need to create a fork of the TEMPO repository. You can find information here on how to fork a repository on GitHub. Once you have created a forked copy, then you can create a branch to gather your development.

Developing

This repository contains a host-model agnostic microphysics parameterization, which is shared across several hosts and applications. Changes introduced here may impact a host/application that relies on this software. For this reason, it is suggested that any host-specific changes be introduced with backward compatibility (i.e. not break the existing interface). For example, host- or application-specific parametric changes should be implemented as optional scheme arguments, which are assigned when present or revert to the original values when not. New features should also be added in a backward-compatible manner.

Testing

Included in the TEMPO repository is an offline driver that currently runs one test to ensure that any developments being introduced will not break existing functionality or drastically change the answers. This test is included in the GitHub workflow and will be run automatically whenever a GitHub Pull Request (PR) is opened into the authoritative TEMPO repository.

Code Review

Code will be reviewed by the CODEOWNERS and other model developers. When opening the PR, please be sure to fill in the PR template with as much detail as possible. If the PR introduces changes to the results, please be sure to include a detailed explanation of why these changes should be accepted. Including plots and figures within the PR is strongly recommended.

After the PR has been discussed, reviewed and all tests are as expected, it will be merged into the develop branch. At this point the GitHub Issue detailing the work should be closed.

Integration of the TEMPO repository in host models

TEMPO has been integrated into MPAS as a submodule with plans for implementation into other host model. In general, submodules can be initialized using git submodule update --init --recursive from within a host model repository.

  • For MPAS, TEMPO is connected to the UFS-community fork
  • For CCPP, there is a PR
  • For WRF, in progress (expected date of completion 01 September 2025)
  • For CM1, in progress (no expected date of completion)