2. Quick Start Guide

This chapter provides a brief summary of how to build and run the SRW Application. The steps will run most smoothly on Level 1 systems. Users should expect to reference other chapters of this User’s Guide, particularly Chapter 4, for additional explanations regarding each step.

2.1. Install the HPC-Stack

SRW App users who are not working on a Level 1 platform will need to install the HPC-Stack prior to building the SRW App on a new machine. Installation instructions appear in both the HPC-Stack documentation and in Chapter 6 of this User’s Guide. The steps will vary slightly depending on the user’s platform. However, in all cases, the process involves cloning the HPC-Stack repository, creating and entering a build directory, and invoking cmake and make commands to build the stack. This process will create a number of modulefiles and scripts that will be used for setting up the build environment for the SRW App.

Once the HPC-Stack has been successfully installed, users can move on to building the SRW Application.

2.2. Building and Running the UFS SRW Application

For a detailed explanation of how to build and run the SRW App on any supported system, see Chapter 4. The overall procedure for generating an experiment is shown in Figure 4.1, with the scripts to generate and run the workflow shown in red. An overview of the required steps appears below. However, users can expect to access other referenced sections of this User’s Guide for more detail.

  1. Clone the SRW App from GitHub:

    git clone -b release/public-v2 https://github.com/ufs-community/ufs-srweather-app.git
  2. Check out the external repositories:

    cd ufs-srweather-app
  3. Set up the build environment and build the executables.

    • Option 1:

      ./devbuild.sh --platform=<machine_name>

      where <machine_name> is replaced with the name of the user’s platform/system. Valid values are: cheyenne | gaea | hera | jet | macos | odin | orion | singularity | wcoss_dell_p3 | noaacloud

    • Option 2:

      source etc/lmod-setup.sh <machine>

      where <machine> refers to the user’s platform (e.g., macos, gaea, odin, singularity).

      Users will also need to load the “build” modulefile appropriate to their system. On Level 3 & 4 systems, users can adapt an existing modulefile (such as build_macos_gnu) to their system.

      module use modulefiles
      module load build_<platform>_<compiler>

      From the top-level ufs-srweather-app directory, run:

      mkdir build
      cd build
      cmake .. -DCMAKE_INSTALL_PREFIX=..
      make -j 4  >& build.out &
  4. Download and stage data (both the fix files and the IC/LBC files) according to the instructions in Section 7.3 (if on a Level 2-4 system).

  5. Configure the experiment parameters.

    cd regional_workflow/ush
    cp config.community.sh config.sh

    Users will need to adjust the experiment parameters in the config.sh file to suit the needs of their experiment (e.g., date, time, grid, physics suite, etc.). More detailed guidance is available in Section Parameters and valid values are listed in Chapter 9.

  6. Load the python environment for the regional workflow. Users on Level 2-4 systems will need to use one of the existing wflow_<platform> modulefiles (e.g., wflow_macos) and adapt it to their system.

    module use <path/to/modulefiles>
    module load wflow_<platform>

    After loading the workflow, users should follow the instructions printed to the console. For example, if the output says:

    Please do the following to activate conda:
       > conda activate regional_workflow

    then the user should run conda activate regional_workflow to activate the regional_workflow environment.

  7. Generate the experiment workflow.

  8. Run the regional workflow. There are several methods available for this step, which are discussed in Section 4.8 and Section 3.5. One possible method is summarized below. It requires the Rocoto Workflow Manager.

    cd $EXPTDIR

    To launch the workflow and check the experiment’s progress:

    ./launch_FV3LAM_wflow.sh; tail -n 40 log.launch_FV3LAM_wflow

Optionally, users may configure their own grid, instead of using a predefined grid, and plot the output of their experiment(s).