Hui-Ya Chuang
• NCEP uses UPP as the common post processor
for all operational models.
• Forecasts from different models are computed
the same way in UPP and can therefore be
verified fairly.
• UPP generates output in GRIB1 or GRIB2.
Components of the UPP
The UPP has two components: post and
GFS output
Functions and features of post
• Performs vertical interpolation onto isobaric and
other non-model surfaces
• Computes diagnostic fields
• An MPI-parallel code
• Can be run as a post library on NEMS quilt server
Functions of copygb
• Performs horizontal interpolation to a
defined output grid
• Creates an output grid different than the
model integration domain.
• Performs de-staggering for models that
are on staggered grids
– NOTE: many visualization packages cannot
properly handle staggered grids
Fields generated by the UPP
The UPP currently outputs hundreds of possible
Complete list in the Post Processing Utilities Chapter
of the user guide online:
Sample fields generated by UPP:
1) T, Z, humidity, wind, cloud water, cloud ice, rain,
snow, and aerosol on isobaric levels
2) Shelter level T, humidity, and wind fields
3) Two types of SLP
Fields generated by the UPP
4) Precipitation-related fields: accumulated and
instantaneous precipitation for total, convective, and
grid scale
5) PBL-related fields: PBL height, 6 layers of PBL 30
hPa layer-averaged temperature, humidity, and wind
6) Radiative and Surface fluxes
7) Cloud related fields: Cloud fraction, Cloud
top/bottom p, Z, and T (conv, GS, total)
8) Aviation products: in-flight icing, turbulence and
Fields generated by the UPP
9) Diagnostic fields:
Vorticity and geostrophic stream function
Isentropic fields
WMO-defined and dynamic tropopause fields
Precipitation type
Satellite look-alike products
Radar reflectivity for some models
Computation of atmospheric isobaric fields
Vertical interpolation of all state fields from
model to pressure levels is performed in linear
in ln(p) fashion.
The GFS model does not output height fields,
so the post processor generates model level
heights by integrating the hypsometric
Computation of underground isobaric fields
All underground wind components are the same as
those at the first model level above ground.
Temperature applies a constant qv computed from an
average of the 2nd and 3rd model levels above ground.
Humidity fields are defined by maintaining the average
RH of the 2nd and 3rd model levels above the surface.
Derivation of sea level pressure
• Standard NCEP SLP:
– Based on underground temperatures extrapolated using a
constant lapse rate, but subject to the Shuell correction.
– Can be very noisy over mountainous terrain in higherresolution model runs
• Membrane NCEP SLP:
– Underground temperatures recomputed by relaxing  2 T v  0 .
using successive overrelaxation.
– Hydrostatic integration of this smooth underground
temperature field yields a much smoother SLP field.
Computation of simulated Satellite
• They are derived by calling Community Radiative
Transfer Model (CRTM) forward model using model
predicted cloud, moisture, and surface fields as input
• Allow users to make direct comparisons between
satellite observations and model forecast
• EMC has been generating NADIR simulated GOES
products operationally for both GFS and NAM since
• HWRF has also been generating simulated GOES
operationally for several years and recently F-17 SSMIS
Computation of simulated radar
• Different algorithms are used depending on the
microphysics (MP) option used in the model run:
– Ferrier MP scheme: consistent with assumptions
made in Ferrier MP scheme (details in Ferrier’s 94
JAS publication).
– Other MP schemes: adopted from RIP4. More
information can be found online:
– GFS currently does not output radar reflectivity
because its microphysics scheme does not have
suspended rain and snow.
Shelter level fields and PBL height
• Shelter level fields and PBL height are direct
output from each model
• They are not interpolated or diagnosed in the
• This ensures that these fields are derived within
the model based on surface and PBL physics
used in your model runs
Input to run post
• Post needs two input files:
1. itag: a text file which post reads via unit 5 to provide
information on
• model output file name
• format of model output (nemsio, binary, or netcdf)
• forecast validation time
• model name (GFS, NMM or NCAR)
2. gfs_cntrl.parm: control file specifying fields/levels
to output for Grib1
• In the scripts provided in with tutorial, these files
are automatically generated or linked
Post control file: gfs_cntrl.parm
• Users specify which fields or which level(s) of fields to
output by modifying control file, e.g.,
GRIB packing
L=(11000 00000 00000 00000 00000 00000 00000…
L=(11000 00000 00000 00000 00000 00000 00000…
Each column represents a single model/isobaric level:
“1” = output, “0” = no output
Product description – post
code keys on these
character strings.
** larger values  more
precision, but larger GRIB files.
Post control file: gfs_cntrl.parm
• The included gfs_cntrl.parm file is used for
operational GFS post processing.
• The Table 3 in previously mentioned users’
guide explains the character string abbreviations
used in the control file:
Outputting fields on different vertical
• Post outputs on several vertical coordinates:
– Native model levels
– 47 default or user-specified isobaric levels
– 15 flight/wind energy levels: 30, 50, 80, 100, …, 2743,
3658, 4572, 6000 m (above ground or above MSL)
– 6 PBL layers: each averaged over a 30 hPa deep layer
– 2 AGL radar levels: 1000 & 4000 m
• Except for AGL radar and isobaric levels, vertical levels
are listed from the ground surface up in gfs_cntrl.parm.
Examples of using Post control file
Output T every 50 hPa from 50 hPa to 1000 hPa:
) SCAL=( 4.0)
L=(00000 01001
2 5
7 10 20
30 50 70 75 100
125 150
Isobaric levels increase from left to right: 2, 5, 7, 10, 20, 30,
50, 70, then every 25 hPa from 75-1000 hPa.
Isobaric levels every 50 hPa:
L=(00000 01001 01010 10101 01010 10101 01010 10101 01010 10000 00000 00000 00000 00000)
Isobaric levels every 25 hPa:
L=(00000 01011 11111 11111 11111 11111 11111 11111 11111 10000 00000 00000 00000 00000)
Examples of using Post control file
Output instantaneous surface sensible heat flux:
L=(10000 00000 00000 00000 00000 00000 00000 00000 00000 00000…)
Output the U-wind component at the 5 lowest model levels:
L=(11111 00000 00000 00000 00000 00000 00000 00000 00000 00000…)
For the flight/wind
Output U-wind component at 30, 50, and 80 m AGL:
energy level fields:
(U WIND AT FD HEIGHT) SCAL=( 4.0) • “2” requests AGL.
L=(22200 00000 00000 00000 00000 00000
00000 00000…)
• “1” 00000
mean sea level.
To run copygb
The generic command to run copygb and
horizontally interpolate onto a new grid is:
copygb.exe –xg”${grid}” in.grb out.grb
Two options on how to specify the target $grid:
1. Pre-defined NCEP standard grid number
2. User-defined grid definition
Run copygb – Option 1
Interpolate to a pre-defined NCEP standard
grid (restrictive but simple)
– For example, to interpolate onto NCEP grid 212:
copygb.exe –xg212 in.grb out.grb
Descriptions of NCEP grids are available online:
Run copygb – Option 2
Create a user-defined Latitude-Longitude grid by
specifying a full set of grid parameters
(complicated but flexible).
map type
copygb.exe –xg”255 0 NX NY STARTLAT STARTLON 136
ENDLAT ENDLON DLAT DLON 64” in.grb out.grb
NE lat
NE lon
grid spacing
(millidegrees) (millidegrees) (millidegrees)
copygb –xg”255 0 401 401 10000
50000 -90000
100 100
64” in.grb out.grb
GRIB file visualization with GrADS
• GrADS has utilities to read GRIB files on any nonstaggered grids and generate GrADS “control” files. The
utilities grib2ctl and gribmap are available via:
• Package download and user guide for GrADS are
available online:
• A sample script to use GrADS to plot various GFS fields
will be provided with tutorial
Forecast plotted with GrADS:
Observed (L) and GFS derived (R) brightness
temperature for GOES water vapor channel
Future plans
• Continue adding new products to the released
UPP code as they are developed, and expand
code portability
• Continue to improve efficiency of UPP
• Transition all operational model to output Grib2
GRIB file visualization with GEMPAK
• The GEMPAK utility “nagrib” reads GRIB files from any
non-staggered grid and generates GEMPAK-binary files
that are readable by GEMPAK plotting programs
• GEMPAK can plot horizontal maps, vertical crosssections, meteograms, and sounding profiles.
• Package download and user guide are available online:
Forecast plotted with GEMPAK :
Precipitation and derived radar reflectivity

similar documents