Skip to content

SRW Hierarchical Repository Structure and Code Contribution Information

Gillian Petro edited this page Dec 12, 2023 · 8 revisions

Hierarchical Repository Structure of the Short-Range Weather App and Its Submodules

This map of the Unified Forecast System (UFS) Short-Range Weather (SRW) Application (App) and its submodules is up to date as of 10/05/2023; it is recommended that developers using the SRW App check the Externals.cfg file or the .gitmodule file in the root directory for the most recent submodules and their current hashes/branches.

Code Contribution Information

ufs-srweather-app and submodules

This repository contains model code and external links needed to build the UFS SRW Application, which focuses on predictions of atmospheric behavior from less than an hour to about two days.

  • Submodules: ufs-weather-model, ufs_utils, UPP, NEXUS, aqm-utils, workflow-tools
  • Code Contribution: ufs-srweather-app follows the Gitflow development process. The Code Contributor’s Guide contains detailed information on forking the repository, opening an issue, and submitting a pull request for contributing to the ufs-srweather-app repository.
  • Point of Contact For general questions or troubleshooting help, please open a GitHub Discussion. To report a verifiable bug in the code, file a GitHub Issue. Code Manager: Michael Lueken ([email protected])

The ufs-weather-model repository contains the model code and external links needed to build the UFS atmospheric model and associated components.

UFS_UTILS contains preprocessing utilities for the UFS.

The Unified Post Processor is a software package designed to generate useful products from raw model output.

The NOAA Emission and eXchange Unified System (NEXUS) is an emissions processing system developed at the NOAA Air Resources Laboratory (ARL) for use with regional and global UFS atmospheric composition models.

AQM Utilities (AQM-utils) includes the utility executables and python scripts to run SRW-AQM (Online-CMAQ).

Parent: ufs-srweather-app

Code Contribution: Issues can be opened here.

Point of Contact: Chan-Hoo Jeon ([email protected])

Unified Workflow tools for use with UFS applications and beyond

Parent: ufs-srweather-app

Code Contribution: The Unifed Workflow Contributor’s Guide contains detailed information on forking the repository, opening an issue, creating a feature branch, and submitting a pull request to contribute to the workflow-tools repository.

Point of Contact Christina Holt: [email protected]

ufs-weather-model submodules

Contains a driver and key subcomponents of the atmospheric component of NOAA’s UFS Weather Model

Parent: ufs-weather-model

Submodules: ccpp-physics

Code Contribution: Issues can be opened here.

WAVEWATCH III is a community wave modeling framework that includes the latest scientific advancements in the field of wind-wave modeling and dynamics

Parent: ufs-weather-model

Code Contribution: WW3 follows the Gitflow process. The WW3 Developer Guide contains detailed information on forking the repository, opening an issue, and submitting a pull request for contributing to the WW3 repository.

Contains the stochastic physics pattern generator for the UFS developed at NOAA/ESRL/PSL

Parent: ufs-weather-model

Code Contribution: Issues can be opened here.

Common CMake modulefiles used by Spack and CMake to find dependencies

Parent: ufs-weather-model

Code Contribution: Issues can be opened here.

Community Mediator for Earth Prediction Systems is a mediator component for coupling Earth system model components.

Parent: ufs-weather-model

Code Contribution: Issues can be opened here.

Hybrid Coordinate Ocean Model source code

Parent: ufs-weather-model

Code Contribution: This repository is forked from the authoritative HYCOM-src repository. Issues for the authoritative repository can be opened here.

Modular Ocean Model source code

Parent: ufs-weather-model

Code Contribution: This repository is forked from the NOAA/GFDL MOM6 repository. The MOM6 wiki provides detailed information on contributing code to the NOAA/GFDL repository.

This repository contains the files and code needed to run the CICE sea ice numerical model starting with version 6. CICE is maintained by the CICE Consortium.

Parent: ufs-weather-model

Code Contribution: This is a fork of the authoritative CICE repository. Information on contributing to the authoritative repository can be found here.

Community Data Models for Earth Prediction Systems

Parent: ufs-weather-model

Code Contribution: This repository is forked from the authoritative CDEPS repository. Issues for the authoritative repository can be opened here.

The Goddard Chemistry Aerosol Radiation and Transport model, including process library and framework interfaces

Parent: ufs-weather-model

Code Contribution: Information on licensing and contributing to GOCART can be found here.

Parent: ufs-weather-model

Code Contribution: Issues can be opened here.

Official Noah-MP land surface model code

Parent: ufs-weather-model

Code Contribution: The repository’s README.md contains information on creating a fork, branching, and creating a pull request to contribute code to the NOAH-MP repository.

FV3ATM Submodules

The Common Community Physics Package is designed to facilitate the implementation of physics innovations in state-of-the-art atmospheric models.

Parent: ufs_utilsl, FV3ATM

Code Contribution: This repository is a ufs-community institutional fork of the authoritative repository. The ccpp-physics wiki provides information on opening an issue, branching, and regression testing to contribute to the institutional fork.

Points Of Contact Grant Firl, [email protected] Qingfu Liu, [email protected] Dustin Swales, [email protected] Man Zhang, [email protected]

Code for the 202305 release of the Finite Volume Cubed-Sphere Dynamical Core (FV3) from GFDL

Parent: FV3ATM

Code Contribution: Issues can be opened here.

This repository contains the Common Community Physics Package (CCPP) Framework, which is the infrastructure that connects CCPP physics schemes with a host model, as well as stand-alone tools for use with CCPP.

Parent: FV3ATM

Code Contribution: The ccpp-framework wiki provides information on reporting a bug and requesting a feature.

Point Of Contact Mike Kavulich, [email protected]

Other Submodules

The Harmonized Emissions Component source code is a software component for computing atmospheric emissions from different sources, regions, and species on a user-defined grid.

Parent: NEXUS

Code Contribution: Issues can be opened here.

Repository for RTE (Radiative transfer for Energetics) + RRTMGP (Rapid and accurate Radiative Transfer Model for General circulation model applications - Parallel), a set of code for computing radiative fluxes in planetary atmospheres

Parent: ccpp-physics

Code Contribution: Issues can be opened here.

CMAQ is an active open-source development project of the U.S. EPA's Office of Research and Development that consists of a suite of programs for conducting air quality model simulations. CMAQ is supported by the CMAS Center: http://www.cmascenter.org/

Parent: AQM

Code Contribution: Issues can be opened here.

Development repository for sea-ice column physics

Parent: CICE

Code Contribution: Detailed information on forking, workflows, and testing for contribution to Icepack can be found here.