This post is also available in: Español (Spanish)
I recently needed to install ARWpost on a CentOS 7 server to post-process WRF model output data, however, when I tried to configure and install I ran into a couple of errors as detailed below.
What’s ARWpost? ARWpost is a post-processing command line utility that allows you to process WRF model output data, which comes in NetCDF format, and generate .dat/.ctl files that are compatible with the GrADS language. GrADS allows you to quickly and easily visualize data generated by WRF model.
The first error I got as soon as I try to compiled the utility was the following error:
ARWpost.f:9.7: USE gridinfo_module 1 Fatal Error: Can't open module file 'gridinfo_module.mod' for reading at (1): No such file or directory make: [ARWpost.o] Error 1 (ignored)
once I got the error above fixed, I ran in the following error:
gfortran -ffree-form -O -fno-second-underscore -fconvert=big-endian -frecord-marker=4 -o ARWpost.exe module_model_basics.o constants_module.o gridinfo_module.o ARWpost.o input_module.o output_module.o module_map_utils.o misc_definitions_module.o module_date_pack.o module_debug.o process_domain_module.o module_get_file_names.o module_interp.o module_basic_arrays.o module_diagnostics.o module_arrays.o module_pressure.o module_calc_height.o module_calc_pressure.o module_calc_theta.o module_calc_tk.o module_calc_tc.o module_calc_td.o module_calc_td2.o module_calc_rh.o module_calc_rh2.o module_calc_uvmet.o module_calc_slp.o module_calc_dbz.o module_calc_cape.o module_calc_wdir.o module_calc_wspd.o module_calc_clfr.o \ -L/home/wrf/libraries/netcdf/lib -I/home/wrf/libraries/netcdf/include -lnetcdf input_module.o: In function__input_module_MOD_arw_get_next_time': input_module.f:(.text+0x3f): undefined reference to
nf_inq_varid_' input_module.f:(.text+0x7e): undefined reference tonf_inq_var_' input_module.f:(.text+0x133): undefined reference to
nf_get_vara_text_'
As a reminder, I’m documenting the steps I took to install ARWpost v3 on a CentOS 7 server (which should be fairly similar to other Linux flavors):
I’m assuming you already have WRF and WPS installed on your server.
First step, is to get a copy of ARWpost:
$ wget https://www2.mmm.ucar.edu/wrf/src/ARWpost_V3.tar.gz
once downloaded, expand the file and, ideally, place it on the same level as the WRF and WPS folders (README says this is no longer needed but just in case):
$ tar -zxvf ARWpost_V3.tar.gz
now go to the folder and run the configure command:
$ cd ARWpost $ ./configure
you will see 3 options on your screen, one for PGI, Intel and gfortran compilers, in this case, we will go with option 3 (gfortran):
$ ./configure Will use NETCDF in dir: /home/wrf/libraries/netcdf Please select from among the following supported platforms. 1. PC Linux i486 i586 i686 x86_64, PGI compiler 2. PC Linux i486 i586 i686 x86_64, Intel compiler 3. PC Linux i486 i586 i686 x86_64, gfortran compiler Enter selection [1-3] : 3
now, before you try to compile the utility, edit the configure.arwp file first and change the following line:
CPP = /lib/cpp -C -P -traditional
to look like this (we drop the -C parameter/flag):
CPP = /lib/cpp -P -traditional
next, we edit the Makefile file in src/Makefile and change the following line:
-L$(NETCDF)/lib -I$(NETCDF)/include -lnetcdf
to look like this (note we add the -lnetcdff flag before the -lnetcdf flag, order is important here):
-L$(NETCDF)/lib -I$(NETCDF)/include -lnetcdff -lnetcdf
finally, we execute the compile command to generate the ARWpost binary:
$ ./compile
once it’s done compiling, we should have the ARWpost utility compiled and ready to go:
$ ls -l total 48 lrwxrwxrwx. 1 wrf wrf 15 Jan 27 23:31 ARWpost.exe -> src/ARWpost.exe -rw-r--r--. 1 wrf wrf 7189 Dec 15 2010 README drwxr-xr-x. 2 wrf wrf 82 Jan 27 23:16 arch -rwxr-xr-x. 1 wrf wrf 905 May 24 2007 clean -rwxr-xr-x. 1 wrf wrf 490 Dec 15 2010 compile -rwxr-xr-x. 1 wrf wrf 4257 May 24 2007 configure -rw-rw-r--. 1 wrf wrf 1756 Jan 27 23:31 configure.arwp -rw-rw-r--. 1 wrf wrf 0 Jan 27 23:31 configure.arwp.backup -rw-r--r--. 1 wrf wrf 12 May 24 2007 fields.plt -rw-r--r--. 1 wrf wrf 19 May 24 2007 myLIST -rw-r--r--. 1 wrf wrf 1150 Dec 15 2010 namelist.ARWpost drwxr-xr-x. 2 wrf wrf 269 Jan 27 23:16 scripts drwxr-xr-x. 2 wrf wrf 4096 Jan 27 23:31 src drwxr-xr-x. 2 wrf wrf 68 Mar 2 2011 util
NS says:
Hi everdaniel,
Thank you very much for posting this guideline. This method is work for me.
Regards,
NS