-
Notifications
You must be signed in to change notification settings - Fork 0
Home
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.
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:
- FMS
- NEMS
- fv3atm
- stochastic_physics
- WW3
- MOM6-interface
- CICE-interface
- CMEPS-interface
In this list, the subcomponent names are linked to their authoritative repositories. The ufs-weather-model uses git submodule to manage the subcomponents. Developers may need to work with several subcomponents 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.
- To clone the ufs-weather-model:
git clone https://github.com/ufs-community/ufs-weather-model
- Move into the cloned repository:
cd ufs-weather-model
- Checkout the <branch> or <tag> you want:
OR
git checkout develop
git checkout tag/ufs-v1.1.0
- Bring in the files from the subcomponents using the submodule command
git submodule update --init --recursive
-
NOTE:
- --init will initialize any uninitialized submodules
- --recursive will get subcomponents inside the submodules
-
NOTE:
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-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.
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.
- Commit Queue
- Templates for issues and pull requests available
- Making code changes in the UFS weather model using the GitHub repository
- Running regression tests
- Running unit tests
- Regression Test Policy for Weather Model Platforms and Compilers
- NCEPLIBS - builds bundled library dependencies
- NCEPLIBS-external - builds external library dependencies