1.1. Introduction

The Unified Forecast System (UFS) is a community-based, coupled, comprehensive Earth modeling system. NOAA’s operational model suite for numerical weather prediction (NWP) is quickly transitioning to the UFS from a number of different modeling systems. The UFS enables research, development, and contribution opportunities within the broader Weather Enterprise (including government, industry, and academia). For more information about the UFS, visit the UFS Portal.

The UFS includes multiple applications that support different forecast durations and spatial domains. This documentation describes the UFS Short-Range Weather (SRW) Application, which targets predictions of atmospheric behavior on a limited spatial domain and on time scales from minutes to several days. The most recent SRW Application includes a prognostic atmospheric model, pre- and post-processing, and a community workflow for running the system end-to-end. These components are documented within this User’s Guide and supported through the GitHub Discussions forum. The SRW App also includes support for a verification package (METplus) for both deterministic and ensemble simulations and support for four stochastically perturbed physics schemes.

Since the v2.1.0 release, developers have added a variety of features:

  • Bug fixes since the v2.1.0 release

  • Pre-implementation Rapid Refresh Forecast System (RRFS) forecast configurations

  • Air Quality Modeling (AQM) capabilities

  • Updates to CCPP that target the top of the main branch (which is ahead of CCPP v6.0.0). See this page for a detailed summary of updates that came in ahead of the v2.1.0 release.

  • Support for the UPP inline post option (see here)

  • Documentation updates to reflect the changes above

The SRW App v2.1.0 citation is as follows and should be used when presenting results based on research conducted with the App:

UFS Development Team. (2022, Nov. 17). Unified Forecast System (UFS) Short-Range Weather (SRW) Application (Version v2.1.0). Zenodo. https://doi.org/10.5281/zenodo.7277602

1.1.1. User’s Guide Organization

The SRW Application documentation is organized into four sections: Background Information; Building, Running, and Testing the SRW App; Customizing the Workflow; and Reference. Background Information

  • This Introduction section explains how the SRW App documentation is organized, how to use this guide, and where to find user support and component documentation.

  • Section 1.2: Technical Overview provides a technical overview, including SRW App prerequisites and an overview of the code directory structure.

  • Section 1.3: SRW Application Components provides a detailed description of the application components, including optional application components. Building, Running, and Testing the SRW App

Hint Customizing the Workflow Reference Information

1.1.2. SRW App Documentation Conventions

This guide uses particular conventions to indicate commands and code snippets, file and directory paths, variables, and options.

Throughout the guide, this presentation style indicates shell commands, code snippets, etc.

Text rendered as AaBbCc123 typically refers to variables in scripts, names of files, or directories.

Code that includes angle brackets (e.g., build_<platform>_<compiler>) indicates that users should insert options appropriate to their SRW App configuration (e.g., build_hera_intel).

File or directory paths that begin with /path/to/ should be replaced with the actual path on the user’s system. For example, /path/to/modulefiles might be replaced by /Users/Jane.Smith/ufs-srweather-app/modulefiles.

1.1.3. Component Documentation

A list of available component documentation is shown in Table 1.1. In general, technical documentation will explain how to use a particular component, whereas scientific documentation provides more in-depth information on the science involved in specific component files.

Table 1.1 Centralized list of documentation



HPC-Stack Documentation


spack-stack Documentation


UFS_UTILS Technical Documentation


UFS_UTILS Scientific Documentation


UFS Weather Model User’s Guide


FV3 Technical Documentation


FV3 Scientific Documentation


CCPP Technical Documentation


CCPP Scientific Documentation


Stochastic Physics Documentation


ESMF manual


Unified Post Processor User’s Guide


Unified Post Processor Scientific Documentation


Unified Workflow User’s Guide


METplus User’s Guide


HEMCO User’s Guide (a component of the NEXUS AQM system)


1.1.4. User Support and Contributions to Development Questions

The SRW App’s GitHub Discussions forum provides online support for UFS users and developers to post questions and exchange information. When users encounter difficulties running the workflow, this is the place to post. Users can expect an initial response within two business days.

When posting a question, it is recommended that users provide the following information:

  • The platform or system being used (e.g., Hera, Orion, MacOS, Linux)

  • The version of the SRW Application being used (e.g., develop, release/public-v2.1.0). (To determine this, users can run git branch, and the name of the branch with an asterisk * in front of it is the name of the branch they are working on.) Note that the version of the application being used and the version of the documentation being used should match, or users will run into difficulties.

  • Stage of the application when the issue appeared (i.e., configuration, build/compilation, or name of a workflow task)

  • Configuration file contents

  • Full error message (preferably in text form rather than a screenshot)

  • Current shell (e.g., bash, csh) and modules loaded

  • Compiler + MPI combination being used Bug Reports

If users (especially new users) believe they have identified a bug in the system, it is recommended that they first ask about the problem in GitHub Discussions, since many “bugs” do not require a code change/fix — instead, the user may be unfamiliar with the system and/or may have misunderstood some component of the system or the instructions, which is causing the problem. Asking for assistance in a GitHub Discussion post can help clarify whether there is a simple adjustment to fix the problem or whether there is a genuine bug in the code. Users are also encouraged to search open issues to see if their bug has already been identified. If there is a genuine bug, and there is no open issue to address it, users can report the bug by filing a GitHub Issue. Feature Requests and Enhancements

Users who want to request a feature enhancement or the addition of a new feature can file a GitHub Issue and add (or request that a code manager add) the EPIC Support Requested label. These feature requests will be forwarded to the Earth Prediction Innovation Center (EPIC) management team for prioritization and eventual addition to the SRW App. Community Contributions

The UFS community is encouraged to contribute to the development efforts of all related utilities, model code, and infrastructure. As described above, users can post issues in the SRW App to report bugs or to announce upcoming contributions to the code base. Additionally, users can file issues in component repositories for contributions that directly concern those repositories. Contributions to the ufs-srweather-app repository should follow the guidelines contained in the SRW App Contributor’s Guide. For code to be accepted into a component repository, users must follow the code management rules of that component’s authoritative repository. These rules are usually outlined in the User’s Guide (see Table 1.1) or GitHub wiki for each respective repository (see Table 1.2).

1.1.5. Future Direction

Users can expect to see incremental improvements and additional capabilities in upcoming releases of the SRW Application to enhance research opportunities and support operational forecast implementations. Planned enhancements include:

  • A more extensive set of supported developmental physics suites.

  • A larger number of pre-defined domains/resolutions and a fully supported capability to create a user-defined domain.

  • Add user-defined vertical levels (number and distribution).

  • Inclusion of data assimilation and forecast restart/cycling capabilities.


T.L. Black, J.A. Abeles, B.T. Blake, D. Jovic, E. Rogers, X. Zhang, E.A. Aligo, L.C. Dawson, Y. Lin, E. Strobach, P.C. Shafran, and J.R. Carley. A limited area modeling capability for the finite-volume cubed-sphere (fv3) dynamical core. AGU Journal of Advances in Earth Modeling Systems, 2021.


H. Lin, D.J. Jacob, E.W. Lundgren, M.P. Sulprizio, C.A. Keller, T.M. Fritz, S.D. Eastham, L.K. Emmons, P.C. Campbell, B. Baker, R.D. Saylor, and R. Montuoro. Harmonized emissions component (hemco) 3.0 as a versatile emissions component for atmospheric models: application in the geos-chem, nasa geos, wrf-gc, cesm2, noaa gefs-aerosol, and noaa ufs models. Geosci. Model Dev., 14:5487–5506, 2021. doi:10.5194/gmd-14-5487-2021.


R.J. Purser, D. Jovic, G. Ketefian, T. Black, J. Beck, J. Dong, and J. Carley. The extended schmidt gnomonic grid for regional applications. Unified Forecast System (UFS) Users’ Workshop, 2020. URL: https://dtcenter.org/sites/default/files/events/2020/2-purser-james.pdf.