The WRF Pre-Processing System (WPS) is a collection
of Fortran and C programs that provides data used as
input to the real.exe program. There are three main
programs and a number of auxiliary programs that
are part of WPS.
Main programs: geogrid.exe, ungrib.exe, metgrid.exe
Input to the main programs is through the namelist
file “namelist.wps”. Each main program has an
exclusive namelist record (named “geogrid”, “ungrib”,
or “metgrid”, respectively), and the three programs
have a group record (named “share”) that each program
reads.
geogrid
Defines the model horizontal domain
Horizontally interpolates static data to the model
domain
Output conforms to the WRF I/O API
ungrib
Decodes Grib Edition 1 and 2 data
Uses tables to decide which variables to extract
Supports isobaric and generalized vertical coordinates
Output is in a non-WRF-I/O-API form, referred to as an
intermediate format
metgrid
Ingest static data and raw meteorological fields
Horizontally interpolate meteorological fields to the
model domain
Output conforms to WRF I/O API
Parallelism
The geogrid and metgrid programs may be run as
distributed memory parallel jobs to reduce the
time-to-solution. These two programs use MPI calls
directly, compared to WRF, which has an abstraction
layer (RSL or RSL_LITE).
Grib Edition 2
The Grib Edition 2 compression requires three libraries
external to the WPS source code: zlib, png, and jasper.
It is recommended that users request support from their
system administrators when installing these packages.
Users can compile the code without these libraries by
selecting the “NO GRIB2” options in the build.
Building WPS
Similar to the WRF package, WPS uses a two-step build
mechanism,
./configure
./compile
which directs the unix make underneath.
If the user is on a recognized architecture, the
configure script will display a list of available
compile options (usually serial vs parallel, Grib 2
enabled vs a “NO GRIB2” option). For some OS options,
there are multiple compilers that are supported.
The configure option lists both “build GRIB2” and
“do not build GRIB2” options. It is suggested that
the first builds be without the GRIB Edition 2
capability.
The utility plotting programs requiring NCAR Graphics are not
compiled automatically. Library paths must be set correctly
in configure.wps and then compiled using
./compile plotfmt
./compile plotgrids
Building WPS with CMake
The WPS cmake build follows the same procedure as the WRF
build procedure, using the following:
./configure_new
./compile_new
The prompts will look similar and present the user with
available options specific to their system.
Running WPS (for serially compiled code)
geogrid.exe
edit namelist.wps (&share and &geogrid sections)
make sure the correct GEOGRID.TBL is used (ls -l geogrid/GEOGRID.TBL*)
type ‘geogrid.exe’ to run
check output in geogrid.log
ungrib.exe
edit namelist.wps for start_date and end_date, output file prefix
(&share and &ungrib sections)
link correct Vtable:
ls -l ungrib/Variable_Tables
For example, for NCEP GFS (or AVN, FNL) data,
ln -sf ungrib/Variable_Tables/Vtable.GFS Vtable
link grib data files:
link_grib.csh /data-directory/file*
type ‘ungrib.exe >& ungrib.out’ to run
check output in ungrib.log and ungrib.out
metgrid.exe
edit namelist.wps (&share and &metgrid sections)
make sure the correct METGRID.TBL is used (ls -l metgrid/METGRID.TBL*)
type ‘metgrid.exe’ to run
check output in metgrid.log
There are a number of utility programs that will be
built in WPS/util/ directory:
avg_tsfc.exe
purpose: computes a daily mean of the surface air
temperature, reads the namelist.wps file
usage:
avg_tsfc.exe
g1print.exe
purpose: read a Grib Edition 1 file, output
information to build a Vtable
usage:
g1print.exe GRIB1_file
g2print.exe
purpose: read a Grib Edition 2 file, output
information to build a Vtable
usage:
g2print.exe GRIB2_file
mod_levs.exe
purpose: reduce levels in a intermediate file
so that different GRIB sources may be used
for the initial and lateral boundary time periods
usage:
mod_levs.exe OLD_intermetdiate:date_string NEW_intermetdiate:date_string
Processes a single file at a time, uses the
pressure levels defined in the namelist.wps file.
plotfmt.exe
purpose: generate NCAR Graphics metacode 2d
horizontal plots of each field and level in the
intermediate file
usage:
plotfmt.exe intermediate_file:date_string
plotgrids.exe
purpose: generate an NCEAR Graphics metacode
plot of the domain locations, one frame with
all of the domain locations plotted, reads the
namelist.wps file to get the domain information
usage:
plotgrids.exe
rd_intermediate.exe
purpose: read an intermediate file and print
the information to the screen
purpose: when using ECMWF model data in GRIB format,
computes the 3-d pressure, height, and RH fields from
the output of ungrib.exe, and writes these fields to
a new set of intermediate files to be used in addition
to those produced by ungrib. All times between the start_date
and end_date specified in the &share namelist will be
processed.
usage:
calc_ecmwf_p.exe
Static Input Data
The static input data is provided in two tar files: one
contains full resolution data (30”, 2’, 5’ and 10’) and the other
contains only 10’ low-resolution data. The data may be downloaded
from http://www2.mmm.ucar.edu/wrf/users/download/get_source.html.
WRF Pre-Processing System Version 4.6.0
http://www2.mmm.ucar.edu/wrf/users/
The WRF Pre-Processing System (WPS) is a collection of Fortran and C programs that provides data used as input to the real.exe program. There are three main programs and a number of auxiliary programs that are part of WPS.
For questions and help to run the program, please see the User’s Guide at http://www2.mmm.ucar.edu/wrf/users/docs/user_guide_v4/contents.html and send email to wrfhelp@ucar.edu.
===================================================
Main programs: geogrid.exe, ungrib.exe, metgrid.exe
Input to the main programs is through the namelist file “namelist.wps”. Each main program has an exclusive namelist record (named “geogrid”, “ungrib”, or “metgrid”, respectively), and the three programs have a group record (named “share”) that each program reads.
geogrid
ungrib
metgrid
Parallelism
The geogrid and metgrid programs may be run as distributed memory parallel jobs to reduce the time-to-solution. These two programs use MPI calls directly, compared to WRF, which has an abstraction layer (RSL or RSL_LITE).
Grib Edition 2
The Grib Edition 2 compression requires three libraries external to the WPS source code: zlib, png, and jasper. It is recommended that users request support from their system administrators when installing these packages. Users can compile the code without these libraries by selecting the “NO GRIB2” options in the build.
Building WPS
Similar to the WRF package, WPS uses a two-step build mechanism, ./configure ./compile which directs the unix make underneath. If the user is on a recognized architecture, the configure script will display a list of available compile options (usually serial vs parallel, Grib 2 enabled vs a “NO GRIB2” option). For some OS options, there are multiple compilers that are supported.
The configure option lists both “build GRIB2” and “do not build GRIB2” options. It is suggested that the first builds be without the GRIB Edition 2 capability.
The utility plotting programs requiring NCAR Graphics are not compiled automatically. Library paths must be set correctly in configure.wps and then compiled using ./compile plotfmt ./compile plotgrids
Building WPS with CMake
The WPS cmake build follows the same procedure as the WRF build procedure, using the following: ./configure_new ./compile_new
The prompts will look similar and present the user with available options specific to their system.
Running WPS (for serially compiled code)
geogrid.exe
ungrib.exe
metgrid.exe
There are a number of utility programs that will be built in WPS/util/ directory:
avg_tsfc.exe
purpose: computes a daily mean of the surface air temperature, reads the namelist.wps file
usage: avg_tsfc.exe
g1print.exe
purpose: read a Grib Edition 1 file, output information to build a Vtable
usage: g1print.exe GRIB1_file
g2print.exe
purpose: read a Grib Edition 2 file, output information to build a Vtable
usage: g2print.exe GRIB2_file
mod_levs.exe
purpose: reduce levels in a intermediate file so that different GRIB sources may be used for the initial and lateral boundary time periods
usage: mod_levs.exe OLD_intermetdiate:date_string
NEW_intermetdiate:date_string Processes a single file at a time, uses the pressure levels defined in the namelist.wps file.
plotfmt.exe
purpose: generate NCAR Graphics metacode 2d horizontal plots of each field and level in the intermediate file
usage: plotfmt.exe intermediate_file:date_string
plotgrids.exe
purpose: generate an NCEAR Graphics metacode plot of the domain locations, one frame with all of the domain locations plotted, reads the namelist.wps file to get the domain information
usage: plotgrids.exe
rd_intermediate.exe
purpose: read an intermediate file and print the information to the screen
usage: rd_intermediate.exe intermediate_file:date_string
calc_ecmwf_p.exe
purpose: when using ECMWF model data in GRIB format, computes the 3-d pressure, height, and RH fields from the output of ungrib.exe, and writes these fields to a new set of intermediate files to be used in addition to those produced by ungrib. All times between the start_date and end_date specified in the &share namelist will be processed.
usage: calc_ecmwf_p.exe
Static Input Data
The static input data is provided in two tar files: one contains full resolution data (30”, 2’, 5’ and 10’) and the other contains only 10’ low-resolution data. The data may be downloaded from http://www2.mmm.ucar.edu/wrf/users/download/get_source.html.
Meteorological Input Data
The meteorological input data for WPS is the GRIB Edition 1 GFS data from NCEP. A test data set (Jan 2000, 24/12Z to 25/12Z) is available from http://www2.mmm.ucar.edu/wrf/users/download/get_source.html.
Sample WPS output data for WRF
Samples of the output data from WPS for use in WRF for the Jan 2000 and June 2001 cases are provided from http://www2.mmm.ucar.edu/wrf/users/download/get_source.html.