Instructions for WRF on Windows-64



1.       Windows XP or Windows-7.  Must be 64-bit version (32-bit will not work).

2.       PGI Workstation 9.0-4 or later.

3.       Cygwin shell environment (comes with PGI Workstation).

4.       For MPI (WRF dmpar mode) users,

a.        Microsoft MPI SDK (free)

b.      Windows HPC Server (purchase from Microsoft).  Only needed for multi-node installations.

Installation of WRF

Unless specifically indicated, all the commands below are to be executed at the Cygwin prompt in the PGI Workstation application window.

1.       Invoke PGI Workstation by, for example, double clicking the PGI Workstation icon on your desktop or by selecting it from Start>Applications> ????.  Unless otherwise stated, the commands below should be typed at the prompt inside the PGI Workstation dwindow.

2.       Preparation

a.       Choose an install directory that does not have spaces in the pathname.

b.      Do not install in a directory whose path name starts with /cygdrive.  Use a directories that starts with a drive letter, for example: /c.  If necessary, execute "mount –c /" (no quotes) at the PGI Workstation shell prompt (or a Cygwin prompt) to make the /c mount point appear.

3.       Install NetCDF

a.       Download a prebuilt version from here.

b.      Change directories to /c (or the directory you want to install in)

c.       gunzip –c netcdf401_pgi_win64.tar.gz | tar xf –

d.      Will create a /c/NETCDF401 directory with lib, include, and share directories

4.  Download WRF version 3.2 or later from the WRF Users web page.  Unzip and untar in /c (or the directory you chose) which will create the WRFV3 directory.

5.  Change directories into the WRFV3 directory

6.       Edit one of the files tools/sourceme_windows.bash or tools/sourceme_windows.csh, depending on which shell you use, and make sure that the setting of NETCDF is the path to where you installed NetCDF (step 3, above). 

7.       Type: source tools/source_for_pgi_windows.bash or source tools/source_for_pgi_windows.csh, depending on which shell you use.

8.       At this point the instructions for configuring and building WRF are the same as for other systems, using the configure and compile scripts in the top-level WRFV3 directory.  Please consult the WRF Users pages for additional information and tutorials.  The resulting executables are built in the main directory and include wrf.exe, real.exe, and others.  There will also be an executable dumping and differencing program for WRF NetCDF output files in external/io_netcdf/diffwrf.exe .

Running WRF on Win 64

Although they are built under Cygwin, the wrf.exe, real.exe, and other programs in the WRF system are native Win64 executables and can be run  from the Cygwin prompt in the PGI Workstation shell, from a regular Cygwin window, from a windows cmd window, or by double clicking the executable file from Windows.   For the most part, these work the same way on Windows as on other platforms, exceptions noted below:

·         Time stamps in file names.  Windows does not allow colon characters to appear in file names.  Some WRF files have names that include timestamps that use the colon characters to separate hours: minutes: seconds.  WRF allows the variable nocolons = .true.  to be set in the time_control section of the namelist.input file.  On Windows, this is set to .true. by default, so no change is necessary in the namelist.input file. However, be sure that files generated on other systems are renamed so that they do not contain colon characters in their names.

·         Standard error and standard output from MPI runs.  For MPI (dmpar and dm+sm) WRF runs, each MPI task writes standard output to a file rsl.out.dddd .  This is consistent with other platforms.  For standard error output, all but MPI task zero wrote to rsl.error.dddd files, but task zero will output it's standard error output to the terminal.  Reason: Windows buffers standard error output when it is redirected to a file.  Otherwise WRF error messages can be lost when the program fails.

More needed here

Installation of WPS

Please note: Before you go to the trouble of installing WPS on Windows, please read the Warning in the next section, below.

WRF most be installed first (see above).  As with the WRF installation, all commands below are to be executed at the Cygwin prompt in the PGI Workstation application window unless otherwise specified.

1.       Download WPS version 3.2 or later from the WRF Users web page.  Unzip and untar in the same directory as the WRFV3 directory.  WPS uses files from the built WRF model and expects to find it in this location.

2.       Change directories into the WPS directory.

3.       Edit one of the files arch/sourceme_windows.bash or arch/sourceme_windows.csh, depending on which shell you use, and make sure that the setting of WRF_DIR_PRE=/c/WPS/geogrid/src contains the correct path to WPS in your installation. Modify only the /c part of the path (shown in red).

4.       Type: source arch/sourceme_windows.bash or source arch/sourceme_windows.csh, depending on which shell you use.

5.       The NETCDF environment path should already be set from steps 6 and 7 in the WRF install instructions above.  If not, set this manually in your shell environment to the NetCDF directory on your system, as determined in step 3 of the WRF install instructions above.

6.       Type: arch/fixlinks .  This gets rid of the Unix style symbolic links in the WPS source directory and replaces them with copies of the files linked to.  Reason: the PGI compiler on Windows cannot follow these links when compiling the code.  (The command can be undone using the set of commands shown here). 

7.       Type:  ./configure and follow the prompts to select a desired configuration option.

8.       Type:  ./compile

Running WPS

Warning:  WPS uses shell scripts for many of its functions.  Some issues with these on Windows have not yet been fully resolved.  The .exe files built in the Install steps, above, are usable on Windows, but they may not work correctly under the current shell harnesses.  This is a known problem and is being worked on.  If you have developed a solution for all or part of this, please contact the developers at


Additional information

1.       PGI Insider article (Oct. 2009)