WG6 Home Page






With the use of NCL Libraries, ARW WRF data can easily be displayed.

The information on these pages has been put together to help users generate NCL scripts to display their ARW WRF model data.

Some example scripts are provided, but in order to fully utilize the functionality of the NCL Libraries, users should adapt these for their own needs, or write their own scripts.

NCL can process ARW WRF static/input and output files, as well as WRF-Var output data. Both single and double precision data can be processed.

What is NEW?

Up to July 2007, one needed to install the NCL Libraries, AND the WRF_NCL package.

In July 2007, the WRF_NCL package has been incorporated into the NCL Libraries, thus only the NCL Libraries, are now needed. NCL version 4.3.1 or higher is required (NOTE: some of the built-in functions has been available since NCL version 4.3.0, but the complete ARW WRF package is only available since version 4.3.1). Version 4.3.1 is now available (August 10, 2007), and you can get downloading it from the NCL web site:

What has changed?

- The basic functions / procedures used in WRF_NCL has moved under the NCL libraries and are now located in "$NCARG_ROOT/lib/ncarg/nclscripts/wrf/".

- All the FORTRAN subroutines used for diagnostics and interpolation (formally located in wrf_user_fortran_util_0.f) has been re-coded into NCL in-line functions. This means a user no longer need to compile these.

The old WRF_NCL package is still available to users, but it is recommended to obtain NCL version 4.3.1 and switch to using the new scripts.

What is NCL

The NCAR Command Language (NCL) is a free interpreted language designed specifically for scientific data processing and visualization. NCL has robust file input and output. It can read in netCDF, HDF4, HDF4-EOS, GRIB, binary and ASCII data. The graphics are world class and highly customizable.

It runs on many different operating systems including Solaris, AIX, IRIX, Linux, MacOSX, Dec Alpha, and Cygwin/X running on Windows. The NCL binaries are freely available at:

Necessary Software

- NCL libraries (version 4.3.1 or higher). Version 4.3.1 is now available (August 10, 2007), and you can get downloading it from the NCL web site:

Steps to Create images

Create a file called .hluresfile in your $HOME directory. This file controls the color / background / fonts and basic size of your plot. For more information regarding this file, see:

NOTE: This file must reside in your $HOME directory and not where you plan on running NCL.

Below is the .hluresfile used in the example scripts (note, if a different color table is used, the plots will look different). Copy this to your .hluresfile, or download it to your $HOME directory.

*wkColorMap : WhViBlGrYeOrReWh
*wkBackgroundColor : white
*wkForegroundColor : black
*FuncCode : ~
*TextFuncCode : ~
*Font : helvetica
*wkWidth : 900
*wkHeight : 900

NOTE: If you see an image similar to the one on the left, your .hluresfile has not been created correctly, or it is in the wrong location. You should see an image similar to the one on the right.


You are now ready to create scripts to generate images. (Or view some example scripts to get you started.)

Below is the outline of a basic plot. Or view a detailed example.

load external functions and procedures


; Open input file(s)
; Open graphical output
; Read variables
; Set up plot resources & Create plots
; Output graphics


Run the script you just created.

ncl   wrf_Surface.ncl    [e.g., assuming your script is called wrf_Surface.ncl]

This will create plots in the format (type = x11 / ncgm / pdf / ps / eps) your selected in the script.

Example scripts.

Real Data Cases:

Cloud Plots

Surface Plots
     Soil and Terrain Plots
     Basics with different wind barb density
Model Levels
Height Levels
Pressure Levels
     Basics with different levels and wind barb density
Cross Sections
     Vertical coordinate - Height ; Plot along an angle through a given point
     Vertical coordinate - Height ; Plot from point A to B
     Vertical coordinate - Pressure ; Plot from point A to B

SkewT Plots
     Plot at a given Lon/Lat
     Plot at a given X/Y
Overlay with Station data

Ideal Data Cases:




For high quality images, create pdf / ps or eps images directly via the ncl scripts (type = pdf / ps / eps)

These file types can be easily converted to other formats with the ImageMagick tools, e.g.
     convert    filename.pdf    filename.png
     convert    filename.pdf    filename.gif

meta files (type= ncgm):

- To view type:     idt    filename.ncgm

- To convert NCGM files to other formats
     ctrans   -d  sun   filename.ncgm   >  filename.ras
     Then use ImageMagick or other tools to convert the filename.ras to the desirer format

     Other very handy tool is the ncgm2gif script.
     To convert all images in test.cgm to testxxx.gif
          ncgm2gif -res 500x500 -nomerge test.cgm

Functions / Procedures under


- These functions and procedures are describe fully on the NCL web site.
- Controls plotting options. If you want to change the defaults, change them in your script.
   e.g., if you do not want footers at the bottom of your plots, set "ARWres@Footer=False".


Options are top "Left", "Center", "Right"


Add Initial Time to plot


Add Valid Time to Plot
Switch off for files which do not have a valid time


Placement of Time Information. Options are top "Left" or "Right". If MainTitlePos and TimePos are on same side, Time Information will be plotted under the Main Title


Add some model information as a Footer to the plots


- Controls map plotting, creation of plots and overlays, via the following functions:

- Get variables from wrf files (wrf_user_getvar)

- Calculate diagnostics

All diagnostics are in-line functions within NCL. These functions can be used directly inside any NCL script without the use of the WRFUserARW.ncl script, but it is recommended to use the interface script, as this will make the use of these functions much easier.

- Interpolate data horizontally and vertically (wrf_user_intrp3d)

- Obtain x/y locations for given lat/long locations (wrf_user_latlon_to_ij)

- Extract times from wrf files (wrf_user_list_times)


Home -- Model System -- User Support -- Doc / Pub -- Links -- Download -- WRF Real-time Forecast