Skip to content
ChunxiZhang-NOAA edited this page Oct 13, 2022 · 105 revisions
Clone this wiki locally

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.


The ufs-weather-model Hierarchical Repository Structure

The ufs-weather-model repository supports several UFS applications. It contains atmosphere, ocean, sea ice, NEMS data atmosphere, CDEPS, stochastic physics, CMEPS mediator and wave components along with 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
|── NEMS
|── CMEPS-interface
|── fv3atm
└── atmos_cubed_sphere
└── ccpp/ccpp-framework
└── ccpp/ccpp-physics
|── CDEPS-interface/CDEPS
|── MOM6-interface/MOM6
|── CICE-interface/CICE
|── WW3
|── HYCOM-interface/HYCOM
|── stochastic_physics
|── 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
% 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.