Scheduled Downtime
On Friday 21 April 2023 @ 5pm MT, this website will be down for maintenance and expected to return online the morning of 24 April 2023 at the latest

Compiling WPS/WRF on Cheyenne


New member

I've been using the precompiled versions of WRFV4.3.3 and WPSV4.3.1 available on Cheyenne, but I need to make modifications to the code that requires compiling WRF and WPS myself. In particular, I'd like to compile the dmpar versions of WRF/WPS. I've had troubles following the tutorial (Compiling WRF) due to issues with installing the prerequisite libraries. It's very time consuming to sort out the errors that arise (I rely solely on internet solutions and am very much out my depth), so I'd prefer to avoid this method if possible. However, it appears that the required libraries are already accessible on Cheyenne, it's just required that they're installed using the same WRF-compatible compiler (as far as I understand). Can anyone confirm that this is true, and if so, how might I access the appropriate libraries and then setup my environment to compile WRF/WPS? Any help is appreciated.
You are correct that on Cheyenne all of the libraries are already installed and available. When you choose a compiler to use on Cheyenne, there are versions of NetCDF and MPICH already available as part of the compiler package (or module), so you won't have to worry about ensuring the versions match. The intel compiler is the default module when you log-in, so if I were to issue the command "module list" it shows the libraries I have access to with my current module.

Currently Loaded Modules:
  1) ncarenv/1.3    3) ncarcompilers/0.5.0   5) netcdf/4.8.1   
  2) intel/19.1.1   4) mpt/2.25

As for the grib2 libraries, we have them all built in the "/glade/u/home/wrfhelp/UNGRIB_LIBRARIES/" directory, which is where the WPS configure automatically places them. After you configure WPS, take a look inside configure.wps and look for the lines "COMPRESSION_LIBS" and "COMPRESSION_INC." You should see

COMPRESSION_LIBS    = -L/glade/u/home/wrfhelp/UNGRIB_LIBRARIES/lib -ljasper -lpng -lz
COMPRESSION_INC     = -I/glade/u/home/wrfhelp/UNGRIB_LIBRARIES/include

So you should be able to compile WPS without needing to install those individual grib2 libraries.
Thanks for the reply! So, if I understand correctly, changes to the default environment are not required to compile WRF and WPS and the compilation should be a very straightforward process. I'll give this a try tomorrow and report back with the results.