News

EPIC’s Code Management Team Implements Automated Jenkins Pipeline for CI/CD in NOAA PSL Stochastic Physics Repository

Contributors: National Oceanic and Atmospheric Administration (NOAA) / Office of Oceanic and Atmospheric Research (OAR) / Earth System Research Laboratories (ESRL) / Physical Sciences Laboratory (PSL) / Earth Prediction Innovation Center (EPIC)

Stochastic Physics Unit Test Pipeline Life CycleThe EPIC Code Management team has successfully developed and integrated a new automated Jenkins pipeline for unit testing code changes in the NOAA Physical Sciences Laboratory (PSL) Stochastic Physics repository. This pipeline streamlines the software development lifecycle by enabling Continuous Integration (CI), Continuous Delivery (CD), and Continuous Deployment (CD) through an efficient, automated process. By simply adding a GitHub label to a pull request, EPIC Code Managers can now trigger unit tests and seamlessly progress through the CI/CD pipeline.

Continuous Integration keeps developers’ work synchronized with the shared main development repository, enabling quick detection and resolution of integration issues. Continuous Delivery ensures code is always deployable, allowing teams to confidently release updates. Continuous Deployment, the final step, allows changes to production only after passing scientific and code quality checks.

Unit testing plays a critical role in this new pipeline, ensuring the reliability, accuracy, and stability of the stochastic physics schemes within the UFS Weather Model (WM). These schemes, such as Stochastic Kinetic Energy Backscatter (SKEB), Stochastically Perturbed Physics Tendencies (SPPT), Specific Humidity Perturbations (SHUM), and Stochastic Parameter Perturbation (SPP), introduce controlled perturbations to better represent the impact of unresolved scales on weather forecasts. Through automated unit tests, researchers and developers can verify the correctness of these components in isolation before full integration, reducing errors and improving overall model performance.

With the new Jenkins pipeline in place, the Code Management team has improved the efficiency of testing prospective updates to the PSL Stochastic Physics repository. This advancement can accelerate the development process and strengthen the scientific integrity of the UFS by ensuring quality control at every stage. By leveraging automation, EPIC continues to enhance its capabilities in weather modeling and forecasting, reinforcing its commitment to innovation and operational excellence.

 

Stochastic Physics Unit Test Pipeline life-cycle shows the testing process clock-wise following the arrows from adding the GitHub Label to the pull request. The life-cycle repeats itself after each new code commit.
Stochastic Physics Unit Test Pipeline life-cycle shows the testing process clock-wise following the arrows from adding the GitHub Label to the pull request. The life-cycle repeats itself after each new code commit.