This post is also available in: English (Inglés)
Recientemente necesité instalar el ARWpost en un servidor CentOS 7 para post-procesar archivos de salida del modelo WRF, sin embargo, al tratar de configurar e instalar el ARWpost me encontré con varios errores como los que detallo más abajo.
Qué es el ARWpost? El ARWpost es una utilería de post-proceso que permite procesar archivos de salida del modelo WRF, en formato NetCDF, y generar archivos .dat/.ctl que son compatibles con el lenguaje GrADS, que permite de una forma fácil y rápida visualizar gráficamente los datos generados por el modelo WRF.
El primero error que obtuve fue:
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)
y luego:
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_'
A modo de recordatorio, documento los pasos que seguí para poder instalar el ARWpost v3 en un CentOS 7:
Estoy asumiendo que el WRF y WPS ya están instalados en el servidor.
El primer paso es descargar el ARWpost:
$ wget https://www2.mmm.ucar.edu/wrf/src/ARWpost_V3.tar.gz
una vez descargado, descomprimir el archivo, idealmente, en el mismo nivel que las carpetas del modelo (carpetas WRF y WPS):
$ tar -zxvf ARWpost_V3.tar.gz
a continuación, ir a la carpeta y ejecutar el comando de configuración:
$ cd ARWpost $ ./configure
en pantalla, se mostrarán 3 opciones de configuración para compiladores PGI, Intel y gfortran, en este caso, elegimos la opcion 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
antes de compilar, editamos el archivo configure.arwp y buscamos la siguiente linea:
CPP = /lib/cpp -C -P -traditional
y borramos la bandera -C:
CPP = /lib/cpp -P -traditional
a continuación, editamos el archivo Makefile en src/Makefile, y modificamos la linea:
-L$(NETCDF)/lib -I$(NETCDF)/include -lnetcdf
para que quede de esta forma (ojo, el orden es importante):
-L$(NETCDF)/lib -I$(NETCDF)/include -lnetcdff -lnetcdf
finalmente, compilamos el ARWpost:
$ ./compile
al finalizar la compilación, ya tendremos nuestro ARWpost compilado y listo para usar:
$ 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