cancel
Showing results for 
Search instead for 
Did you mean: 

Server Gurus Discussions

Shelly
Journeyman III

WRF v4.2.2 with AOCC v4.0.0 run problem

Hello, I'm trying to run WRF 4.2.2 compiled by AOCC v 4.0.0, but I got the following error when running wrf.exe. 

module_io_quilt_old.F 2931 F
Quilting with 1 groups of 0 I/O tasks.
Ntasks in X 6 , ntasks in Y 8
Domain # 1: dx = 15000.000 m
Domain # 2: dx = 3000.000 m
Domain # 3: dx = 1000.000 m
WRF V4.2.2 MODEL
*************************************
Parent domain
ids,ide,jds,jde 1 170 1 150
ims,ime,jms,jme -4 36 -4 26
ips,ipe,jps,jpe 1 29 1 19
*************************************
DYNAMICS OPTION: Eulerian Mass Coordinate
alloc_space_field: domain 1 , 45718088 bytes allocated
med_initialdata_input: calling input_input
Input data is acceptable to use: wrfinput_d01
CURRENT DATE = 2020-11-10_12:00:00
SIMULATION START DATE = 2020-11-10_12:00:00
Timing for processing wrfinput file (stream 0) for domain 1: 0.49499 elapsed seconds
Max map factor in domain 1 = 1.01. Scale the dt in the model accordingly.
INPUT LandUse = "MODIFIED_IGBP_MODIS_NOAH"
LANDUSE TYPE = "MODIFIED_IGBP_MODIS_NOAH" FOUND 33 CATEGORIES 2 SEASONS WATER CATEGORY = 17 SNOW CATEGORY = 15
-------------- FATAL CALLED ---------------
FATAL CALLED FROM FILE: <stdin> LINE: 12935
module_ra_rrtmg_lw: error reading RRTMG_LW_DATA on unit 10

-------------------------------------------

When look into the module_ra_rrtmg_lw.F file, I found these lines:

#define DM_BCAST_MACRO(A) CALL wrf_dm_bcast_bytes ( A , size ( A ) * RWORDSIZE )

IF ( wrf_dm_on_monitor() ) READ (rrtmg_unit,ERR=9010) &
fracrefao, fracrefbo, kao, kbo, kao_mn2, kbo_mn2, selfrefo, forrefo
DM_BCAST_MACRO(fracrefao)
DM_BCAST_MACRO(fracrefbo)
DM_BCAST_MACRO(kao)
DM_BCAST_MACRO(kbo)
DM_BCAST_MACRO(kao_mn2)
DM_BCAST_MACRO(kbo_mn2)
DM_BCAST_MACRO(selfrefo)
DM_BCAST_MACRO(forrefo)

RETURN
9010 CONTINUE
WRITE( errmess , '(A,I4)' ) 'module_ra_rrtmg_lw: error reading RRTMG_LW_DATA on unit ',rrtmg_unit
CALL wrf_error_fatal(errmess)

end subroutine lw_kgb01

 

 

I guess the problem may be related to the flags I used to compile WRF. Below is the arch information in configure.wrf:

DESCRIPTION = AOCC ($SFC/$SCC):aocc 4.0
DMPARALLEL = 1
OMPCPP = -D_OPENMP
OMP = -fopenmp
OMPCC = -fopenmp
SFC = flang
SCC = clang
CCOMP = clang
DM_FC = mpif90
DM_CC = mpicc # the -cc=cc option causes openmpi mpicc to fail (unrecognized option)
FC = time $(DM_FC)
CC = $(DM_CC) -DFSEEKO64_OK -DFSEEKO64_OK
LD = $(FC)
RWORDSIZE = $(NATIVE_RWORDSIZE)
PROMOTION = #-fdefault-real-8
ARCH_LOCAL = -DNONSTANDARD_SYSTEM_SUBR $(NETCDF4_IO_OPTS) -DRPC_TYPES=1 $(NETCDF4_IO_OPTS)
CFLAGS_LOCAL = -O3 #-march=znver2 -mavx2 # -DRSL0_ONLY
LDFLAGS_LOCAL =
CPLUSPLUSLIB =
ESMF_LDFLAG = $(CPLUSPLUSLIB)
FCOPTIM = -O3 #-march=znver2 -mavx2
FCREDUCEDOPT = -O1
FCNOOPT = -O0
FCDEBUG = # -g $(FCNOOPT) # -fbacktrace -ggdb -fcheck=bounds,do,mem,pointer -ffpe-trap=invalid,zero,overflow
FORMAT_FIXED = -ffixed-form
FORMAT_FREE = -ffree-form -ffree-line-length-none
FCSUFFIX =
BYTESWAPIO = -fconvert=big-endian -frecord-marker=4
FCBASEOPTS_NO_G = -w $(FORMAT_FREE) $(BYTESWAPIO)
FCBASEOPTS = $(FCBASEOPTS_NO_G) $(FCDEBUG)
MODULE_SRCH_FLAG =
TRADFLAG = -traditional-cpp $(NETCDF4_IO_OPTS) $(NETCDF4_IO_OPTS)
CPP = /lib/cpp -P -nostdinc
AR = llvm-ar
ARFLAGS = ru
M4 = m4 -B 14000
RANLIB = llvm-ranlib
CC_TOOLS = $(SCC)

 

Thanks

 

0 Likes
2 Replies

Hi Shelly,

Some of the Fortran flags are different in AOCC.  Can you please check if below settings help you resolve the issue:

FORMAT_FIXED = -Mfixed
FORMAT_FREE = -Mfreeform
BYTESWAPIO = -Mbyteswapio
TRADFLAG = -traditional $(NETCDF4_IO_OPTS)
CPP = /lib/cpp -P
M4 = m4

Regards,

Santosh

 

0 Likes

Hi Santosh,

It works! Thanks a lot!

 

Shelly

0 Likes