Unified Post Processor (UPP) for WRF | System Architecture

Unified Post Processor Description 

UPP interpolates output from the model's native grids to National Weather Service (NWS) standard levels (pressure, height, etc.) and standard output grids (AWIPS, Lambert Conformal, polar-stereographic, etc.) in NWS and World Meteorological Organization (WMO) GRIB1 and GRIB2 format. There is also an option to output fields on the model's native vertical levels. 


  • Produces products like those used operationally on the same operational grids
  • Can read and process model data from WRF-ARW and UFS
  • Generates output in GRIB1 and GRIB2 format
  • Enables product generation on any user define grid
  • MPI parallel code
  • Produces hundreds of products such as:
    • T, Z, humidity, wind, cloud water, cloud ice, rain, and snow on isobaric levels
    • SLP + shelter level T, humidity, and wind fields
    • Precipitation-related fields
    • PBL-related fields
    • Diagnostic products (i.e. RH, CAPE, Vorticity)
    • Radiative/Surface fluxes
    • Cloud related fields
    • Aviation products
    • Satellite look-alike products

Synthetic Satellite Products

UPP incorporates the Joint Center for Satellite Data Assimilation (JCSDA) Community Radiative Transfer Model (CRTM) to compute model derived brightness temperature (TB) for various instruments and channels. This additional feature enables the generation of simulated satellite products such as:

  • Geostationary Operational Environmental Satellite (GOES)
  • Advanced Microwave Scanning Radiometer (AMSRE)
  • Special Sensor Microwave Imager/Sounder (SSMIS)
  • Special Sensor Microwave Imager (SSMI)
  • Multi-functional Transport Satellite (MTSAT2 and MTSAT1R)
  • Spinning Enhanced Visible and Infrared Imager (SEVIRI)
  • Indian Satellite Image (INSAT3D)

For CRTM documentation, refer to CRTM User Guide

For more details, see UPP User's Guide


As shown below, the UPP consists of two major components:

  • COPYGB (grib1)
    • This utility is only shipped as part of the UPP package for V4.0.1 and earlier versions. It is available as a separate utility for V4.1 and later.
UPP Schematic. The copygb source code is included within the UPP package for versions V4.0.1 and earlier. Starting with V4.1, the copygb utility is no longer shipped with UPP, but is available as a separate utility. Please see the Users' Guide for more information.


This component perfoms the bulk of the post processing. Its functions include:

  • Vertical interpolation from model levels/surfaces to isobaric, height, and other levels/surfaces
  • Computing diagnostics from model data such as CAPE, relative humidity, radar reflectivities, etc.
  • Destaggers wind onto mass points for ARW.


This component handles modifications to the grid for GRIB1 data only. It is not necessary to run copygb for ARW model data unless regridding is desired. The key features of COPYGB are:

  • Performs horizontal interpolation to a defined output grid.
  • Creates output on a grid different than that of the model integration. e.g. Lambert -> Lat-Lon
  • GRIB1 data format only

Plotting and Visualization

The UPP package contains some sample visualization scripts to create graphics using either GrADS or GEMPAK. These are not part of the UPP installation and need to be installed separately if one would like to use either plotting package.


The GEMPAK utility nagrib is able to decode GRIB files. Hence, GEMPAK is able to decode GRIB files generated by the Unified Post-Processing package and plot horizontal fields or vertical cross sections. GEMPAK has an online users guide at http://www.unidata.ucar.edu/software/gempak/tutorial/layout5.html

A sample script named run_unipostandgempak, which is included in the scripts/ directory, can be used to run unipost, copygb, and plot some fields using GEMPAK. (For more details, see UPP User's Guide.) This script can be modified to customize fields for output. 


The GrADS utilities Grib2ctl.pl and Gribmap are able to decode GRIB1. These utilities and instructions on how to use them to generate GrADS control files are available from http://www.cpc.ncep.noaa.gov/products/wesley/grib2ctl.html. 

g2ctl.pl can be used to decode GRIB2 and can be found at http://www.cpc.ncep.noaa.gov/products/wesley/g2ctl.html. 

The GrADS package is available from http://cola.gmu.edu/grads/. GrADS has online documentation at http://cola.gmu.edu/grads/gadoc/gadoc.php. A reference of commands for GrADS can be found at http://cola.gmu.edu/grads/gadoc/reference_card.pdf.

A sample script named run_unipostandgrads, which is included in the scripts/ directory, can be used to run unipost, copygb, and plot some fields using GrADS. (For more details, see UPP User's Guide.)