WRF
Modeling System
Overview
Jimy Dudhia
Mesoscale & Microscale Meteorology Division / NCAR
What is WRF?
• WRF: Weather Research and Forecasting
Model
– Used for both research and operational
forecasting
• It is a supported “community model”, i.e. a
free and shared resource with distributed
development and centralized support
• Its development is led by NCAR, NOAA/ESRL
and NOAA/NCEP/EMC with partnerships at
AFWA, FAA, DOE/PNNL and collaborations
with universities and other government
agencies in the US and overseas
Mesoscale & Microscale Meteorology Division / NCAR
What is ARW?
• WRF has two dynamical cores: The Advanced Research WRF
(ARW) and Nonhydrostatic Mesoscale Model (NMM)
– Dynamical core includes mostly advection, pressure-
gradients, Coriolis, buoyancy, filters, diffusion, and time-
stepping
• Both are Eulerian mass dynamical cores with terrain-following
vertical coordinates
• ARW support and development are centered at NCAR/MMM
• NMM development is centered at NCEP/EMC and support is
provided by NCAR/DTC
• Both cores are downloadable in the same WRF tar file
• Physics, the software framework, and parts of data pre- and
post-processing are shared between the dynamical cores
• Chemistry works only with the ARW core
Mesoscale & Microscale Meteorology Division / NCAR
WRF as a Community Model
• Version 1.0 WRF was released December 2000
• Version 2.0: May 2004 (NMM added, EM nesting)
• Version 2.1: August 2005 (EM becomes ARW)
• Version 2.2: December 2006 (WPS released)
• Version 3.0: April 2008 (includes global ARW version)
• Version 3.1: April 2009
• Version 3.2: April 2010
• Version 3.3: April 2011
• Version 3.4: April 2012
• Version 3.5: April 2013
• Version 3.5.1 September 2013 (bug-fix/minor release)
• Version 3.6: April 2014 (current version)
• Version 3.7: April 2015 (planned release)
Mesoscale & Microscale Meteorology Division / NCAR
What can WRF be used for?
• ARW and NMM
– Atmospheric physics/parameterization research
– Case-study research
– Real-time NWP and forecast system research
– Data assimilation research
– Teaching dynamics and NWP
• ARW only
– Regional climate and seasonal time-scale research
– Coupled-chemistry applications
– Global simulations
– Idealized simulations at many scales (e.g. convection,
baroclinic waves, large eddy simulations)
Mesoscale & Microscale Meteorology Division / NCAR
Who uses WRF?
• Academic atmospheric scientists
(dynamics, physics, weather, climate
research)
• Forecast teams at operational centers
• Applications scientists (e.g. Air Quality,
Hydrology, Utilities)
Mesoscale & Microscale Meteorology Division / NCAR
Mesoscale & Microscale Meteorology Division / NCAR
Modeling System Components
• WRF Pre-processing System
– Real-data interpolation for NWP runs (WPS)
– Program for adding more observations to analysis (obsgrid)
• WRF Model (ARW and NMM dynamical cores)
– Initialization programs for real and (for ARW) idealized data
([Link]/[Link])
– Numerical integration program ([Link])
• Graphics and verification tools including MET
• WRFDA (separate tutorial)
• WRF-Chem (separate tutorial)
• WRF-Fire – wildland model for forest fires
Mesoscale & Microscale Meteorology Division / NCAR
WPS and WRF Program Flow
[Link] [Link]
ungrib ideal
geogrid metgrid real wrf
Mesoscale & Microscale Meteorology Division / NCAR
Real-Data Applications
• Numerical weather prediction
• Meteorological case studies
• Regional climate
• Applications: air quality, wind energy,
hydrology, etc.
Mesoscale & Microscale Meteorology Division / NCAR
Real-Data Applications
• You need to have time-independent
information for chosen domain
(simulation grid area)
• GEOGRID program
– Map projection information
• 2d gridded latitude, longitude, Coriolis
parameter, map-scale factors, etc.
– Topographic information
• 2d gridded elevation, vegetation and soil
categories, (dust for chemistry) etc.
Mesoscale & Microscale Meteorology Division / NCAR
Real-Data Applications
• You need to have time-dependent information
for an area larger than or equal to domain.
• Initial conditions (initial analysis time)
• Boundary conditions (later times)
– except if running WRF globally
• UNGRIB and METGRID programs
– 3d fields of horizontal wind, temperature,
geopotential height, relative humidity
– 2d fields of surface or sea-level pressure, surface
temperature, relative humidity, horizontal winds
– Time-sensitive land-surface fields: snow-cover,
soil temperature, soil moisture
Mesoscale & Microscale Meteorology Division / NCAR
Real-Data Applications
• Regional domains need specified lateral
boundary conditions at later times (e.g. every
6 hours) through forecast period
– 3d fields of horizontal wind, temperature,
geopotential height, water vapor
– 2d field of surface pressure
• Long simulations (> 1 week) also need lower
boundary condition at later times
– 2d fields of sea-surface temperature, sea-ice,
vegetation fraction
Mesoscale & Microscale Meteorology Division / NCAR
Real-Data Applications
• Lateral Boundary Conditions (linear in time)
– The wrfbdy file contains later gridded information
at model points in a zone (e.g.) 5 points wide
around the domain
– The boundary fields are linearly time-interpolated
from boundary times to the current model time
– This specifies the outer values, and is used to
nudge the next 4 interior points
• Lower Boundary Condition (step-wise)
– New SSTs are read in and overwritten at each
analysis time from wrflowinp file
Mesoscale & Microscale Meteorology Division / NCAR
Real-Data Applications
Summary
• Pre-processing for regional domains therefore needs multiple
times for lateral boundary conditions during whole forecast
period (UNGRIB and METGRID should be run for all needed
analysis times)
– Note: Global models only need initial analysis
– Real-time regional NWP often uses global forecast for
boundary conditions
• Long simulations also need lower boundary information on SST
and sea ice to update them over periods of weeks, months,
years
Mesoscale & Microscale Meteorology Division / NCAR
Nesting
• Running multiple domains with
increasing resolution in nested areas
• Parent has specified boundary
conditions from wrfbdy fie
• Nested boundary conditions come from
parent 45
5
15
Mesoscale & Microscale Meteorology Division / NCAR
Nesting (Two-Way)
• Lateral boundary condition is provided
by parent domain at every parent step
• Method is same as for outer domain
(specified and relaxation zones)
• Additional fields include vertical motion
and microphysics species
• Feedback: Interior of nest overwrites
overlapped parent area
Mesoscale & Microscale Meteorology Division / NCAR
Nesting (Two-Way)
• Sequence
– Parent domain runs a time-step to t+dt
– Nest boundaries from beginning and end of
time-step interpolated
– Nest runs typically three steps (dt/3) using
time-interpolated parent info at nest
boundaries
– After nest reaches t+dt, feedback
overwrites parent in overlapped region
– Repeat
Mesoscale & Microscale Meteorology Division / NCAR
One-Way Nesting
• As two-way nesting but no feedback
• Can also be done with NDOWN program
to take a previous WRF run output and
provide nest boundary conditions at
parent output frequency
– Uses parent WRF run instead of analysis
for initial and lateral boundary conditions
– Recommended method with chemistry
Mesoscale & Microscale Meteorology Division / NCAR
WPS Functions
• Define simulation domain area (and nests)
• Produce terrain, landuse, soil type etc. on the
simulation domain (“static” fields)
• De-grib GRIB files for meteorological data (u, v, T, q,
surface pressure, soil data, snow data, sea-surface
temperature, etc.)
• Interpolate meteorological data to WRF model grid
(horizontally)
• Optionally add more observations to analysis
(separate obsgrid program)
Mesoscale & Microscale Meteorology Division / NCAR
WPS Data
• Geogrid: NCAR provides elevation,
land-use, soil type data (static fields)
– Or user can input own static data in same
easy-to-write format
• Metgrid: Supports input of time-
dependent data (dynamic fields)
– UNGRIB can provide these from GriB files
– Or user can input own data in same
“intermediate format” (simple binary
files)
Mesoscale & Microscale Meteorology Division / NCAR
WPS and WRF Program Flow
[Link] [Link]
Decode original data OR
Create ideal initial conditions
ungrib ideal
geogrid metgrid real wrf Run model
Choose domain Put data onto domain Choose model levels.
Interpolate data to model levels.
Create boundary file.
Mesoscale & Microscale Meteorology Division / NCAR
Data Flow
Mesoscale & Microscale Meteorology Division / NCAR
Dynamical Cores
• Dynamical cores include
– Basic Dynamical Equations: Advection, Coriolis, pressure
gradient terms, buoyancy, diffusion
– Finite differencing: Staggered grid-structure, time-stepping
method and numerical filters
• ARW dynamical core
– Designed for research as well as NWP
– Idealized cases, regional climate, WRF-Chem, more options
• NMM dynamical core
– Used in NCEP operational regional models (i.e. NAM and
HWRF)
– Focused on NWP applications, more limited options
Mesoscale & Microscale Meteorology Division / NCAR
WRFDA (Data Assimilation)
• Variational data assimilation (3D-Var and 4D-Var)
• Ensemble DA
• Hybrid variational/ensemble DA
Function
• Ingest observations to improve WRF input analysis
from WPS
• May be used in cycling mode for updating WRF initial
conditions after WRF run
• Also used for observation impact data studies
Mesoscale & Microscale Meteorology Division / NCAR
WRF-Chem
• Supported by NOAA/ESRL/GSD
• Includes chemistry species and
processes, many chemistry options
• Included in WRF tar file, but requires
special compilation option
• Needs user to provide emissions data
Mesoscale & Microscale Meteorology Division / NCAR
ARW Dynamics
Key features:
• Fully compressible, non-hydrostatic (with hydrostatic
option)
• Mass-based terrain following coordinate, η
η=
(π − π t ), µ = π s −πt
µ
where π is hydrostatic pressure,
µ is column mass
• Arakawa C-grid staggering
v
u T u
v Mesoscale & Microscale Meteorology Division / NCAR
ARW Model
Key features:
• 3rd-order Runge-Kutta time integration
scheme
• High-order advection scheme
• Scalar-conserving (positive definite option)
• Complete Coriolis, curvature and mapping
terms
• Two-way and one-way nesting
Mesoscale & Microscale Meteorology Division / NCAR
ARW Model
Key features:
• Choices of lateral boundary conditions
suitable for real-data and idealized
simulations
– Specified, Periodic, Open, Symmetric, Nested
• Full physics options to represent atmospheric
radiation, surface and boundary layer, and
cloud and precipitation processes
• Grid-nudging and obs-nudging (FDDA)
• Digital Filter Initialization option
Mesoscale & Microscale Meteorology Division / NCAR
Graphics and Verification Tools
• ARW and NMM
– RIP4 (Read, Interpolate and Plot)
– Unified Post-Processor (UPP)
• Conversion to GriB (for GrADS and GEMPAK)
– MET (Model Evaluation Toolkit)
• ARW
– NCAR Graphics Command Language (NCL)
– ARWpost
• Conversion program for GrADS
– VAPOR (3D visualization tool)
– IDV (3D visualization tool)
Mesoscale & Microscale Meteorology Division / NCAR
Basic Software Requirement
• Fortran 90/95 compiler
– Code uses standard f90 (very portable)
• C compiler
– “Registry”-based automatic Fortran code generation (for
argument lists, declarations, nesting functions, I/O routines)
• Perl
– configure/compile scripts
• netcdf library
– for I/O (other I/O formats semi-supported)
• Public domain mpich for MPI
– if using distributed memory option
Mesoscale & Microscale Meteorology Division / NCAR
Code Layers
• Top-level (framework): allocates space,
handles nested domains and
interpolation/feedback functions, time-
stepping, solver calls, and i/o file
contents and calls
• Intermediate level: “start” routine for
initial calls, “solve” routine for run-
time advancing, MPI handling
• Low-level: science code in plain Fortran
(no MPI or I/O calls)
Mesoscale & Microscale Meteorology Division / NCAR
WRF Hierarchical Software Architecture
• Driver Layer
• Memory allocation, nest
Driver Layer wrf
starting, time-‐stepping,
I/O
• Mediation Layer initial_ config alloc_and_configure init_domain integrate
• Solver Mediation Layer solve_interface
solve
• Model Layer
• Dynamics, physics
scalars
prep
recouple
advance w
big_step
decouple
advance uv
physics
filter
Model Layer
Mesoscale & Microscale Meteorology Division / NCAR
WRF Two-‐Layer Domain Decomposition (patches, tiles, halo)
Logical Patch, processor
domain memory size
(ids,ide,…) (ims, ime,…)
• Single version of code enabled for
efficient execution on: Tiles, run loops,
local arrays
– Shared-memory multiprocessors
(its, ite,…)
– Distributed-memory multiprocessors
– Distributed clusters of SMPs
– Vector and scalar processors
Halo, inter-
processor
communication
Mesoscale & Microscale Meteorology Division / NCAR
Registry File
• Designed to make adding arrays or new
namelist parameters easy
• Also can add them to “halo” for MPI
communications (only sometimes needed)
• Allocates, passes, and declares, listed arrays
for nesting, i/o and “solver” routines
• Solver advances one domain by one time step
– From solver, it can be passed to parts of the low-
level code via argument lists
Mesoscale & Microscale Meteorology Division / NCAR
User Support
• Email: wrfhelp@[Link]
• User Web pages:
ARW:[Link]
NMM:[Link]
– Latest update for the modeling system
– WRF software download
– Various documentation
• Users’ Guides (both cores)
• Technical Note (ARW Description)
• Technical Note (NMM Description)
Mesoscale & Microscale Meteorology Division / NCAR