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

The WRF-Hydro V5.3 compiled crash with intel-2018,but the WRF-Hydro v5.2 is OK with the same intel and netcdf

Hi, everyone.

I compile WRF-Hydro V5.3 with Intel-2018 and netcdf4(compiled with intel 2018), it crashed. But the WRF-Hydro V5.2 could compiled successfully with the same intel and netcdf4. Could anyone help me?
Ryan from WRF-Hydro Team told me: You'll need Intel 18 or newer because they fully support Fortran 2008 features. I just tested NetCDF 4.6.3 and that worked. I would expect older versions would work but can't guarantee it.

My HPC setup below::
[phd@mgmt NDHMS]$ ifort -v
ifort version 18.0.1

[phd@mgmt NDHMS]$ lsb_release -a LSB Version
LSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
Distributor ID: CentOS
Description: CentOS release 6.9 (Final)
Release: 6.9
Codename: Final
[phd@mgmt NDHMS]$ gcc -v
Using built-in specs.
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-ppl --with-cloog --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux
Thread model: posix
gcc version 4.4.7 20120313 (Red Hat 4.4.7-18) (GCC)

cmake version 2.8.12.2

The errors:
mpif90 -f90=ifort -fpp -DMPP_LAND -I ../Data_Rec -DHYDRO_D -DWRF_HYDRO -D_HRLDAS_OFFLINE_ -o module_sf_noahmp_groundwater.o -c -I../Utility_routines -Isurfex -O2 -g -w -c -ftz -align all -fno-alias -fp-model precise -FR -convert big_endian module_sf_noahmp_groundwater.F


mpif90 -f90=ifort -fpp -DMPP_LAND -I ../Data_Rec -DHYDRO_D -DWRF_HYDRO -D_HRLDAS_OFFLINE_ -o surfex/ini_csts.o -c -I../Utility_routines -Isurfex -O2 -g -w -c -ftz -align all -fno-alias -fp-model precise -FR -convert big_endian surfex/ini_csts.F
surfex/ini_csts.F(60): error #7002: Error in opening the compiled module file. Check INCLUDE paths. [MODD_CSTS]
USE MODD_CSTS
----^
surfex/ini_csts.F(107): error #6404: This name does not have a type, and must have an explicit type. [XSURF_TINY]
XSURF_TINY = 1.0e-30
^
surfex/ini_csts.F(109): error #6404: This name does not have a type, and must have an explicit type. [XSURF_TINY_12]
XSURF_TINY_12 = SQRT (XSURF_TINY )
^
surfex/ini_csts.F(109): error #6404: This name does not have a type, and must have an explicit type. [SQRT]
XSURF_TINY_12 = SQRT (XSURF_TINY )
----------------^
surfex/ini_csts.F(110): error #6404: This name does not have a type, and must have an explicit type. [XSURF_EPSILON]
XSURF_EPSILON = EPSILON (XSURF_EPSILON ) * 10.0
^
surfex/ini_csts.F(110): error #6362: The data types of the argument(s) are invalid. [EPSILON]
XSURF_EPSILON = EPSILON (XSURF_EPSILON ) * 10.0
-------------------------^
surfex/ini_csts.F(112): error #6404: This name does not have a type, and must have an explicit type. [XPI]
XPI = 2.*ASIN(1.)
^
surfex/ini_csts.F(113): error #6404: This name does not have a type, and must have an explicit type. [XKARMAN]
XKARMAN = 0.4
^
surfex/ini_csts.F(114): error #6404: This name does not have a type, and must have an explicit type. [XBOLTZ]
XBOLTZ = 1.380658E-23
^
surfex/ini_csts.F(115): error #6404: This name does not have a type, and must have an explicit type. [XLIGHTSPEED]
XLIGHTSPEED = 299792458.
^
surfex/ini_csts.F(116): error #6404: This name does not have a type, and must have an explicit type. [XPLANCK]
XPLANCK = 6.6260755E-34
^
surfex/ini_csts.F(117): error #6404: This name does not have a type, and must have an explicit type. [XAVOGADRO]
XAVOGADRO = 6.0221367E+23
^
surfex/ini_csts.F(124): error #6404: This name does not have a type, and must have an explicit type. [XDAY]
XDAY = 86400.
^
surfex/ini_csts.F(125): error #6404: This name does not have a type, and must have an explicit type. [XSIYEA]
XSIYEA = 365.25*XDAY*2.*XPI/ 6.283076
^
surfex/ini_csts.F(126): error #6404: This name does not have a type, and must have an explicit type. [XSIDAY]
XSIDAY = XDAY/(1.+XDAY/XSIYEA)
^
surfex/ini_csts.F(127): error #6404: This name does not have a type, and must have an explicit type. [XOMEGA]
XOMEGA = 2.*XPI/XSIDAY
^
surfex/ini_csts.F(128): error #6404: This name does not have a type, and must have an explicit type. [NDAYSEC]
NDAYSEC = 24*3600 ! Number of seconds in a day
^
surfex/ini_csts.F(136): error #6404: This name does not have a type, and must have an explicit type. [XRADIUS]
XRADIUS = 6371229.
^
surfex/ini_csts.F(137): error #6404: This name does not have a type, and must have an explicit type. [XG]
XG = 9.80665
^
surfex/ini_csts.F(144): error #6404: This name does not have a type, and must have an explicit type. [XP00]
XP00 = 1.E5
^
surfex/ini_csts.F(145): error #6404: This name does not have a type, and must have an explicit type. [XTH00]
XTH00 = 300.
^
surfex/ini_csts.F(152): error #6404: This name does not have a type, and must have an explicit type. [XSTEFAN]
XSTEFAN = ( 2.* XPI**5 / 15. ) * ( (XBOLTZ / XPLANCK)* XBOLTZ ) * (XBOLTZ/(XLIGHTSPEED*XPLANCK))**2
^
surfex/ini_csts.F(153): error #6404: This name does not have a type, and must have an explicit type. [XI0]
XI0 = 1370.
^
surfex/ini_csts.F(160): error #6404: This name does not have a type, and must have an explicit type. [XMD]
XMD = 28.9644E-3
^
surfex/ini_csts.F(161): error #6404: This name does not have a type, and must have an explicit type. [XMV]
XMV = 18.0153E-3
^
surfex/ini_csts.F(162): error #6404: This name does not have a type, and must have an explicit type. [XRD]
XRD = XAVOGADRO * XBOLTZ / XMD
^
surfex/ini_csts.F(163): error #6404: This name does not have a type, and must have an explicit type. [XRV]
XRV = XAVOGADRO * XBOLTZ / XMV
^
surfex/ini_csts.F(164): error #6404: This name does not have a type, and must have an explicit type. [XCPD]
XCPD = 7.* XRD /2.
^
surfex/ini_csts.F(165): error #6404: This name does not have a type, and must have an explicit type. [XCPV]
XCPV = 4.* XRV
^
surfex/ini_csts.F(166): error #6404: This name does not have a type, and must have an explicit type. [XRHOLW]
XRHOLW = 1000.
^
/tmp/ifortD9uvVq.i(325): catastrophic error: Too many errors, exiting
compilation aborted for surfex/ini_csts.F (code 1)
make[2]: [surfex/ini_csts.o] Error 1 (ignored)
 
Last edited:
Hi,
You will need to continue discussing the issue with the WRF-Hydro support team. Unfortunately our group does not manage or support that branch of WRF.
 
Update:
Building with CMake is the simplest method and the least prone to go wrong. To do that first go to the top WRF-Hydro directory and enter:

$ mkdir build
$ cd build
$ cmake ..
$ make -j 4

The wrf_hydro.exe will be in the build/Run directory.
 
Top