Skip to content
BinLi-NOAA edited this page May 24, 2021 · 115 revisions

Welcome to the UFS Weather Model wiki!

The ufs-weather-model repository contains the model code and external links needed to build the Unified Forecast System (UFS) atmosphere model and associated components, including the WaveWatch III model. This weather model is used in several of the UFS applications, including the medium-range weather application and the short-range weather application.

This wiki includes a Getting Started section that leads you through a quick example. It also includes a Graduate Student Test based on that example. The Graduate Student Test is a way for students, postdocs and others to provide feedback on the usability of the code by running through a series of experiments and then filling out a questionnaire about the experience.

Documentation and User Support

The UFS Weather Model User's Guide has more comprehensive information than this wiki, including links to scientific descriptions of the code and more thorough technical instructions.

Depending on what you are doing, you may need different versions of the User's Guide:

Version Description
Tag ufs-v2.0.0 Documentation for the most recent release and the version currently used in the UFS Short Range Weather App
Tag ufs-v1.1.0 Documentation for the most recent release and the version currently used in the Getting Started section and Graduate Student Test.
Latest Documentation for the head of the development. This may have gaps and errors.

You can also get expert help through a user support forum set up specifically for the UFS Weather Model.

image_2002_wm_support_forum

The ufs-weather-model Hierarchical Repository Structure

The ufs-weather-model repository supports several UFS applications. It contains atmosphere and wave components and some infrastructure components. Each of these components has its own repository. All the repositories are currently located in GitHub with public access to the broad community. Below is the ufs-weather-model hierarchical repository structure:

Hierarchy of repositories Authoritative repo URL
ufs-weather-model https://github.com/ufs-community/ufs-weather-model
|── NEMS https://github.com/NOAA-EMC/NEMS
|── CMEPS-interface https://github.com/NOAA-EMC/CMEPS
|── fv3atm https://github.com/NOAA-EMC/fv3atm
└── atmos_cubed_sphere https://github.com/NOAA-GFDL/GFDL_atmos_cubed_sphere
└── ccpp/ccpp-framework https://github.com/NCAR/ccpp-framework
└── ccpp/ccpp-physics https://github.com/NCAR/ccpp-physics
|── DATM https://github.com/NOAA-EMC/NEMSdatm
|── CDEPS-interface/CDEPS https://github.com/NOAA-EMC/CDEPS
|── MOM6-interface/MOM6 https://github.com/NOAA-EMC/MOM6
|── CICE-interface/CICE https://github.com/NOAA-EMC/CICE
|── WW3 https://github.com/NOAA-EMC/WW3
|── stochastic_physics https://github.com/noaa-psd/stochastic_physics
|── CMakeModules https://github.com/NOAA-EMC/CMakeModules

In the table, the left column shows the component names and the right column shows the component authoritative repositories. The ufs-weather-model currently uses git submodule to manage the sub-components. Developers may need to work with several components at the same time and need to get their changes committed to the components' authoritative repositories. To do that, developers need to follow the code management practices of the authoritative repositories. Once the component authoritative repositories have been updated, the changes will be brought into the ufs-weather-model repository by its code managers.

Users who only need to check out the latest code or certain tags can clone the repository without having a GitHub account:

% git clone https://github.com/ufs-community/ufs-weather-model
% cd ufs-weather-model
% git checkout develop (or tags)
% git submodule update --init --recursive

Developers who are making code changes will need to refer to the Weather Model User's Guide. They will need to create a GitHub account if they do not already have one.

Clone this wiki locally