WRF Standard Initialization
Download
Report
Transcript WRF Standard Initialization
The WRF Standard
Initialization (WRFSI)
Brent Shaw
NOAA / Forecast Systems Laboratory
WRF Standard Initialization
Purpose
• Provides a method to define a WRF domain
•
•
Location, projection, dimensions, resolution
Acquisition/interpolation of “static”fields
• Provides all required initial and time-varying boundary conditions
required to produce a forecast on the native WRF coordinate
•
•
•
•
Ingest external, readily available gridded fields (NCEP GriB)
Horizontally/vertically interpolate to WRF domain
Grid staggering to support dynamic core
Derivation of state variables required by dynamic core
Required to allow real-time testing of the forecast model
Supports data preparation for future WRF assimilation system
WRF Standard Initialization
Role of FSL
• Lead agency for SI Working Group (John McGinley)
• Designed, developed, and delivered initial version of WRF SI
system
• Maintenance/enhancement of initial system
• Developed and coordinated WRF metadata specification
• Reformatting of static fields provided by NCAR into flexible “tile”
format
Status
• Initial version delivered in Sep 2000 to support WRF release
• Running in real-time at NCAR and AFWA
• Released new version to NCAR in July 2001
•
•
•
Additional fields to support LSM (soil types, greenness, etc.)
Refined interpolation methods for land/water “masked”fields
Improved code structure from initial version
WRFSI Current Capabilities
Domain Definition
• Choice of 3 projections
• Polar stereographic
• Mercator
• Lambert Conformal (secant or tangent)
• Arakawa-C Grid Stagger with no nesting
• Zeta height coordinate
• Static field processing from tiled data sets
Dynamic Data Pre-processing
• GriB-format pressure-level and surface data sets
Horizontal Interpolation
• From Lat/Lon, polar-stereo, Lambert conformal, or mercator
Vertical Interpolation
• From pressure to Zeta
WRFSI Software Design
Modular
• Components can be run individually
• New components can be easily inserted into run stream
• New options can be more easily added
Maintainable
• Reuse of code and concepts from other modeling systems
(e.g., LAPS, MM5, RAMS)
• CVS Revision control
• Multiple platform build and testing strategy
User-Friendly
• Single namelist file for control
• Accommodations for future Graphical User Interface
WRF SI Software Components
Perl scripts for installation and running
Fortran and C routines
• grib_prep: Reformatting of grib-format data files
• gridgen_model: Domain definition and static data prep
• hinterp: Horizontal interpolation and staggering
• vinterp: Vertical interpolation and staggering
Miscellaneous utility programs
Programs controlled via single namelist file
Multi-platform support and testing (Alpha, PC Linux, IBM, SGI)
Program grib_prep
Runs whenever new input data sets available
Reads and re-formats GRIB-format data files containing pressure-level
data
User-editable configuration table allows use of any level(s) of any
variable contained in the GRIB file
Allows multiple sources per output time
Provides time-interpolation to fill gaps in data to meet desired LBC
frequency
Writes simple, intermediate file for input to hinterp, allowing users to
bypass gribprep if they have custom, non-GRIB datasets
Output from one run can support multiple domains provided they fall
within domain of input source
Program gridgen_model
Run once when domain initially defined
Acquires/derives all required static fields
• Topography with user-controllable filtering parameters
• Latitudes, longitudes, map factors, coriolis, etc. on
appropriate stagger (currently Arakawa-C)
• All required fields for LSM support (in forthcoming release)
• USGS 24-category landuse fractions
• WMO/FAO 16-category 2-layer soil types
• Annual mean temperature, monthly greenness fraction
• Reads “tiled”data sets (available on FTP server)
Outputs NetCDF file
Program hinterp
Runs once per domain per simulation
Reads static file and gribprep output
Horizontally interpolates pressure level data to the
WRF horizontal staggered (Arakawa-C) domain
Utilizes special routines for interpolation of masked
fields (e.g., soil moisture, soil temperature, SST,
snowcover, etc.)
Selectable interpolation method
Processes any variable contained in gribprep output
Outputs binary-format data and metadata
Program vinterp
Run once per domain per simulation
Vertically interpolates pressure levels to zeta coordinate
• Linear interpolation of height w.r.t. ln(P)
• Linear interpolation of other variables w.r.t. height
Derives variables needed for input to Runge-Kutta dynamic
engine
Processes all variables found in hinterp output
• “Pass-through”of scalars, 1D, and 2D variables
• Vertical interpolation of 3D variables
Performs final staggering of atmospheric variables
Outputs binary files for input into the WRF "real.exe"
initialization program
Perl Scripts
install_wrfsi.pl: Builds the software
wrfsi.pl: Main driver script for running
• grib_prep.pl: Runs grib_prep.exe
• interp.pl: Runs gridgen_models (optional), hinterp.exe, and
vinterp.exe
window_domain_rt.pl (in forthcoming release): Sets up
domain from pre-existing namelist template
• localize_domain.pl: Edits namelists and cdl file and runs
gridgen_model.exe
WRFSI Software Components
wrfsi.pl
gribprep.pl
gribprep.exe
interp.pl
gridgen_model.exe
hinterp.exe
vinterp.exe
topo
Grib data
(AVN, Eta)
WRF-ready
init/lbc
land use
others
Reformat Data
Define Domain
Populate the Domain
Miscellaneous Utilities
IDL Routines
• read_wrf_static.pro: Reads WRFSI static file
• read_gribprep_output.pro: Read grib_prep output files
• get_wrf_variable.pro: Reads hinterp/vinterp output
Program siscan (in forthcoming release)
• Dumps a summary of wrfsi file contents
WRFSI Setup Overview
Ensure required external packages are installed
Plan the directory setup
Extract the tar file
Configure compiler options
Run the installation script
Configure the domain
Run the main driver script as necessary
Required External Packages
Unix or Linux OS
Fortran 90 Compiler
C Compiler (gcc is sufficient)
make Utility
Perl
netCDF Libraries
WRFSI Setup
Directory Structure
• "Source root" (SRCROOT) -- Approx. 10 MB
• Typically this is the top-level directory created after extracting the
tar file
• Contains src, etc, and data subdirectories
• "Installation root" (INSTALLROOT) -- Approx. 10 MB
• Where installed code will reside
• Contains bin and etc subdirectories
• "MOAD data root" (MOAD_DATAROOT)
• Where data specific to a single domain resides
• Contains static, siprd, cdl, and silog subdirectories
• "External data root" (EXTDATAROOT)
• Location of grib_prep output
• Contains extprd, work, and log subdirectories
WRFSI Setup
Directory Structure Rationale
• Allows separation of executables and source code
• Provides a smooth upgrade path in an operational environment
• Easier to test modifications without impacting operations
• Allows separation of transitory data from source code and
executable code for improved management of disk volumes
• Allows modular programs to communicate effectively
• Very flexible
• INSTALLROOT, SRCROOT, and MOAD_DATAROOT can all be
the same or different
• Supports multiple domains (MOAD_DATAROOTs) with one set of
executable code (INSTALLROOT) and external data
(EXTDATAROOT)
WRFSI Setup
Compiling
• Uses Unix or Gnu make utility
• Machine-dependent settings in one shared file
(SRCROOT/src/include/makefile.inc)
• Top-level makefile (SRCROOT/Makefile) can compile and install
everthing, or each component can be individually compiled
• Perl script "install_wrfsi.pl" handles editing of makefile.inc file,
compilation, and installation based on command-line options
• Requires SRCROOT/src/include/makefile_{machine}.inc.in to be
present with correct compiler options, etc.
WRFSI Setup
Configuring the domain (current method)
• Edit MOAD_DATAROOT/static/wrfsi.nl
•
•
•
•
Horizontal parameters (projection, grid spacing, dimensions)
Vertical level distribution
Paths to GRIB data
Path to EXTDATAROOT
• Edit dimensions in MOAD_DATAROOT/cdl/wrfsi.cdl
• Run gridgen_model.exe manually or allow it to be run on the
first execution of wrfsi.pl
Configuring the domain (forthcoming)
• Edit a template file for the domain
• Run INSTALLROOT/etc/window_domain_rt.pl
Running WRFSI
Execute INSTALLROOT/etc/wrfsi.pl
• Set MOAD_DATAROOT and INSTALLROOT environment
variables or provide to wrfsi.pl as command line options
• Examples:
• wrfsi.pl 2001081612 24 ETA testdomain
• wrfsi.pl -i /my/install/root -d /my/data/root 2001081612 24 ETA
testdomain
Output will be in MOAD_DATAROOT/data/siprd
• Example output files:
•
•
•
•
•
wrf_input.global.metadata
wrf_input.d1.2001-08-16-12:00:00
wrf_input.d1.2001-08-16-15:00:00
...
wrf_input.d1.2001-08-17-12:00:00
Sample SI Output
USGS Landuse on 10-km National Domain
Soil Moisture on 16-km Domain
Pot. Temp on 16-km Domain
Water Vapor on 16-km Domain
WRFSI Software Management
Development is ongoing
CVS revision control is used
Weekly, multi-platform builds performed at FSL
• IBM AIX, Intel-Linux, Alpha-Linux
Latest version and static data available on FSL
anonymous FTP server
• ftp://ftp.fsl.noaa.gov/pub/frd-laps
• WRFSI.TAR.gz
• *TILES.tar.gz
• TERRAIN_GLOBAL_30s.tar
Bug reports, comments, etc. are encouraged!
Future Plans
(as resources allow)
Graphical User Interface (GUI)
• Complete conceptual design of a GUI to provide end-to-end control
of configuring, running, and upgrading the complete WRF system
• Develop an initial capability to control the WRFSI this summer
Real-time testing using LAPS with the WRFSI to initialize and
run the model
Support for nested grids
Support for other vertical coordinates and grid transformations
Parallelization
General software improvements
• Use of autoconfig utility
• Incorporate WRF API for I/O
• Improve real-time scripting
• Maintenance
Summary
Robust WRF SI software developed available
Next release with full LSM support is imminent
Flexible design allows easy insertion of new data
sources and/or intermediate processing steps
Feedback is welcomed and requested
• Suggested software improvements
• Prioritization of new datasets and capabilities
• http://wrf-model.org/WG3/wg3_main.html