Skip to content

Getting Started

Gillian Petro edited this page Sep 9, 2024 · 8 revisions

Levels of Support

Four levels (or tiers) of support have been defined for Unified Forecast System (UFS) applications, and the UPP operates under this paradigm:

  • Level 1 (Preconfigured): Prerequisite software libraries are pre-built and available in a central location; code builds; full testing of model.
  • Level 2 (Configurable): Prerequisite libraries are not available in a centralized location but are expected to install successfully; code builds; full testing of model.
  • Level 3 (Limited-test platforms): Libraries and code build on these systems, but there is limited testing of the model.
  • Level 4 (Build-only platforms): Libraries and code build, but running the model is not tested.

Before running the UPP, users should determine which of the four levels of support is applicable to their system. Generally, Level 1 & 2 systems are restricted to those with access through NOAA and its affiliates. These systems are named (e.g., Hera, Hercules). The UPP should be able to run on any UNIX-based platform (e.g., Mac, Linux) that has the prerequisite libraries installed. However, this has not been tested.

Supported Systems

Building and running UPP v11.0.0 has been tested and is supported on the following pre-configured platforms:

  • Hera
  • Orion
  • Hercules

Currently, UPP code managers explicitly support the following platforms:

Level 1 Level 2 Level 3 Level 4
Hera None Gaea Derecho
Orion Jet
Hercules
WCOSS2*

* EMC performs testing on WCOSS2 to ensure operational readiness; however, no community support is available on this machine.

Notes:

  • Support for Cheyenne (end of life: December 31, 2023) has been deprecated.
  • Eventually, Gaea, Jet, and Derecho are slated to become Level 1 systems. However, this transition is in progress.
  • UPP code managers do not have access to S4 and can provide only limited support. However, there are active developers on S4 who have contributed a modulefile for use on that system.

Prerequisite Libraries

Currently, all prerequisite libraries are built via spack-stack. The most updated list of modules can be viewed in the modulefiles directory. The upp_common.lua modulefile contains modules used by all platforms that run the UPP. Each machine's modulefile contains additional information on module versions specific to that platform. If building UPP on a platform not listed above and supported through the compile_upp.sh script, the user must first install spack-stack and add a modulefile for it in the UPP directory tree under UPP/modulefiles. Users on a non-Level-1 system should look at the modulefile for the system whose architecture most closely resembles their own system’s architecture for an example.

NCEPLIBS

Library name source version
bacio https://github.com/NOAA-EMC/NCEPLIBS-bacio 2.4.1
g2 https://github.com/NOAA-EMC/NCEPLIBS-g2 3.5.1
g2tmpl https://github.com/NOAA-EMC/NCEPLIBS-g2tmpl 1.13.0
IP https://github.com/NOAA-EMC/NCEPLIBS-ip 4.3.0
nemsio https://github.com/NOAA-EMC/NCEPLIBS-nemsio 2.5.4
sigio https://github.com/NOAA-EMC/NCEPLIBS-sigio 2.3.2
SP https://github.com/NOAA-EMC/NCEPLIBS-sp 2.5.0
w3emc https://github.com/NOAA-EMC/NCEPLIBS-w3emc 2.10.0
wrfio https://github.com/NOAA-EMC/NCEPLIBS-wrf_io 1.2.0

Third-Party Packages

Library name source version
crtm https://github.com/NOAA-EMC/EMC_crtm 2.4.0.1
HDF5-parallel https://support.hdfgroup.org/downloads/index.html 1.14.0
jasper https://github.com/mdadams/jasper 2.0.32
libpng http://www.libpng.org/pub/png/libpng.html 1.6.37
parallelio https://github.com/NCAR/ParallelIO 2.5.10
netcdf-c https://downloads.unidata.ucar.edu/netcdf/ 4.9.2
netcdf-fortran https://downloads.unidata.ucar.edu/netcdf/ 4.6.1
zlib https://github.com/madler/zlib 1.2.13

Using the UPP

To build and run the UPP, visit Building and Running the UPP.