Unified Post Processor

Infrared map of mid-level troposphere water vapor based on forecast output for the Geostationary Operational Environmental Satellite 16 (GOES-16) Channel 9 field in the UPP.
Infrared map of mid-level troposphere water vapor based on forecast output for the Geostationary Operational Environmental Satellite 16 (GOES-16) Channel 9 field in the UPP.

Welcome to the Unified Post Processor (UPP) page. The UPP is a software package designed to generate useful products from raw model output. It:

  • Reads and processes GFS and Limited Area Model (LAM) data from the FV3 dynamical core
  • Generates output in GRIB2 format
  • Uses MPI parallel code
  • Produces hundreds of products like those used operationally on the same operational grids

The UPP was developed at the National Centers for Environmental Prediction (NCEP) and is used operationally for several models maintained by NCEP. It is also used in the Unified Forecast System (UFS), including the Rapid Refresh Forecast System (RRFS), Hurricane Analysis and Forecast System (HAFS), Medium-Range Weather (MRW) Application, and Short-Range Weather (SRW) Application. For more information regarding the UFS, please visit https://ufscommunity.org/.

The Earth Prediction Innovation Center (EPIC) provides assistance with facilitating research-to-operations (R2O) code development and encourages community members to contribute to the UPP.


  • The UPP GitHub repository hosts UPP code.
  • The UPP User’s Guide associated with the development branch can be found here. The guide specific to the UPP v11.0.0 release can be found here.
  • The UPP wiki contains information and links related to releases, documentation, and code development.
  • Spack-stack: The required libraries for building the UPP are available via spack-stack. Spack-stack provides a Spack-based method for building the software stack required for numerical weather prediction (NWP) tools. Users working on unsupported platforms will need to install the spack-stack on their system following the instructions in the spack-stack User’s Guide.
  • GRIB2/WGRIB2 Information: UPP outputs data in GRIB2 format, and WGRIB2 is a utility for reading/writing GRIB2 files. Interested users/developers can find additional information at the following links:
  • GRIB2 Format Information
  • GRIB2 Libraries Download and Information
  • wgrib2 Documentation


Version Release & Release Notes Documentation Date

User Guide

This is the documentation for the develop branch of the UPP. It may be slightly behind the head of develop branch code but generally reflects the most recent additions to the UPP. For release documentation, see the “Releases” section above.


User Support

Support for UPP is shifting from the Developmental Testbed Center to EPIC. This support includes:

  • Maintaining the released UPP code and its documentation
  • Answering user questions regarding the UPP
  • Assistance facilitating research-to-operations code development

For frequently asked questions, users can refer to the UPP section of EPIC’s Technical FAQs page.

For general UFS questions, users should direct their questions to the UFS Community GitHub Discussions page. For UPP questions, including build and runtime issues, users should direct their questions to the UPP GitHub Discussions page. Begin a new discussion by selecting “New Discussion” using the Q&A category.

Users or developers wishing to contribute innovations to the UPP should reference the wiki available on the GitHub repository.


If significant help was provided via the EPIC UPP support team for work resulting in a publication, please acknowledge EPIC’s UPP support team. For referencing the UPP User’s Guide, please use the following citation (changing version numbers if appropriate):

UPP User’s Guide v11.0.0, 29 pp. [available online at https://upp.readthedocs.io/en/upp_v11.0.0/]


At this time, EPIC provides community support for UFS-based forecasts. Support for WRF-based applications has been retired; please see the archived UPP for WRF website for information. Users may also find support for WRF-related questions on the UPP section of the WRF/MPAS forum.

Frequently Asked Questions (FAQ)

No, UPP does not currently support NetCDF4.

We are not able to support all platform and compiler combinations out there but will try to help with specific issues when able. We always welcome and are grateful for user-contributed configurations.

This error indicates a failure in ncep_post. The errors and output from this executable are redirected to a log file upp.f000.out for each forecast hour. Please look in this file for details on what the actual error/problem is.

  1. This may be a memory issue; try increasing the number of CPUs or spreading them out across nodes (e.g., increase ptiles).
  2. We also know of one version of MPI (mpich v3.0.4) that does not not work with UPP. A work-around was found by modifying the UPP/sorc/ncep_post.fd/WRFPOST.f routine to change all unit 5 references (which is standard I/O) to unit 4 instead.

This warning appears for some platforms/compilers because a call in the nemsio library is never used for referenced for a serial build. This is just a warning and should not hinder a successful build of ncep_post or negatively impact your UPP run.

  1. This error message is display when using more recent versions of the wgrib2 utility on files for forecast zero that contain accumulated or time-averaged fields. This is due to the newer versions of wgrib2 no longer allowing for n parameter to be zero or empty.
  2. Users should consider using a separate control file (e.g. postcntrl_gfs_f00.xml) for forecast hour zero that does not include accumulated or time-averaged fields, since they are zero anyway. Users can also continue to use an older version of wgrib2, with the latest known version not resulting in this error being v2.0.4.
  1. For re-gridding Grib2 unipost output, the wgrib2 utility can be used. Complete documentation on grid specification with examples of re-gridding for all available grid definitions can be found here.
  2. Examples of wgrib2 to interpolate to various common grids as well as an example from operations can be found in the Regridding section of the UPP User’s Guide.