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

WRF 4.3 compile problems - eclipse?

This post was from a previous version of the WRF&MPAS-A Support Forum. New replies have been disabled and if you have follow up questions related to this post, then please start a new thread from the forum home page.

bjewett

New member
Good day,

I'm trying to build WRF4.3 on a Linux system that normally builds WRF without problems (lately, 4.2.2).
This time I'm seeing a number of error messages connected to the new eclipse routines.

In compiling module_radiation_driver.F, I get:

rm -f module_radiation_driver.o
sed -e "s/^\!.*'.*//" -e "s/^ *\!.*'.*//" module_radiation_driver.F > module_radiation_driver.G
/lib/cpp -P -nostdinc -I/data/atmos-rt/a/atmos-rt/WRF/WRF4.3/WRF/inc -DEM_CORE=1 -DNMM_CORE=0 -DNMM_MAX_DIM=2600 -DDA_CORE=0 -DWRFPLUS=0 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 -DNONSTANDARD_SYSTEM_FUNC -DWRF_USE_CLM -DRPC_TYPES=1 -DDM_PARALLEL -DNETCDF -DLANDREAD_STUB=1 -DUSE_ALLOCATABLES -Dwrfmodel -DGRIB1 -DINTIO -DKEEP_INT_AROUND -DLIMIT_ARGS -DBUILD_RRTMG_FAST=0 -DBUILD_RRTMK=0 -DBUILD_SBM_FAST=1 -DSHOW_ALL_VARS_USED=0 -DCONFIG_BUF_LEN=65536 -DMAX_DOMAINS_F=21 -DMAX_HISTORY=25 -DNMM_NEST=0 -I. -traditional-cpp module_radiation_driver.G > module_radiation_driver.bb
/data/atmos-rt/a/atmos-rt/WRF/WRF4.3/WRF/tools/standard.exe module_radiation_driver.bb | /lib/cpp -P -nostdinc -traditional-cpp > module_radiation_driver.f90
rm -f module_radiation_driver.G module_radiation_driver.bb
time mpif90 -f90=ifort -o module_radiation_driver.o -c -O3 -ip -fp-model precise -w -ftz -align all -fno-alias -FR -convert big_endian -I../dyn_em -I../dyn_nmm -I/data/atmos-rt/a/atmos-rt/WRF/WRF4.3/WRF/external/esmf_time_f90 -I/data/atmos-rt/a/atmos-rt/WRF/WRF4.3/WRF/main -I/data/atmos-rt/a/atmos-rt/WRF/WRF4.3/WRF/external/io_netcdf -I/data/atmos-rt/a/atmos-rt/WRF/WRF4.3/WRF/external/io_int -I/data/atmos-rt/a/atmos-rt/WRF/WRF4.3/WRF/frame -I/data/atmos-rt/a/atmos-rt/WRF/WRF4.3/WRF/share -I/data/atmos-rt/a/atmos-rt/WRF/WRF4.3/WRF/phys -I/data/atmos-rt/a/atmos-rt/WRF/WRF4.3/WRF/wrftladj -I/data/atmos-rt/a/atmos-rt/WRF/WRF4.3/WRF/chem -I/data/atmos-rt/a/atmos-rt/WRF/WRF4.3/WRF/inc -I/data/atmos-rt/a/atmos-rt/WRF/netcdf413/include -real-size `expr 8 \* 4` -i4 module_radiation_driver.f90
module_radiation_driver.f90(216): error #7002: Error in opening the compiled module file. Check INCLUDE paths. [MODULE_RA_ECLIPSE]
USE module_ra_eclipse , ONLY : solar_eclipse
-------^
module_radiation_driver.f90(1005): error #6406: Conflicting attributes or multiple declaration of name. [SOLAR_ECLIPSE]
CALL solar_eclipse(ims,ime,jms,jme,its,ite,jts,jte, &
--------------^
module_radiation_driver.f90(216): error #6580: Name in only-list does not exist. [SOLAR_ECLIPSE]
USE module_ra_eclipse , ONLY : solar_eclipse

There are other errors following but I suspect they're connected to the radiation driver issues.

Has anyone else encountered this?

Thanks,
Brian

=============================

# configure.wrf
#
# Original configure options used:
# configure
# Compiler choice: 15
# Nesting option: 1
#
# This file was automatically generated by the configure script in the
# top level directory. You may make changes to the settings in this
# file but be aware they will be overwritten each time you run configure.
# Ordinarily, it is necessary to run configure once, when the code is
# first installed.
#
# To permanently change options, change the settings for your platform
# in the file arch/configure.defaults then rerun configure.
#
SHELL = /bin/sh
DEVTOP = `pwd`
LIBINCLUDE = .
.SUFFIXES: .F .i .o .f90 .c

#### Get core settings from environment (set in compile script)
#### Note to add a core, this has to be added to.

COREDEFS = -DEM_CORE=$(WRF_EM_CORE) \
-DNMM_CORE=$(WRF_NMM_CORE) -DNMM_MAX_DIM=2600 \
-DDA_CORE=$(WRF_DA_CORE) \
-DWRFPLUS=$(WRF_PLUS_CORE)

#### Single location for defining total number of domains. You need
#### at least 1 + 2*(number of total nests). For example, 1 coarse
#### grid + three fine grids = 1 + 2(3) = 7, so MAX_DOMAINS=7.

MAX_DOMAINS = 21

#### DM buffer length for the configuration flags.

CONFIG_BUF_LEN = 65536

#### Size of bitmasks (in 4byte integers) of stream masks for WRF I/O

MAX_HISTORY = 25

IWORDSIZE = 4
DWORDSIZE = 8
LWORDSIZE = 4

##############################################################################
#### The settings in this section are defaults that may be overridden by the
#### architecture-specific settings in the next section.
##############################################################################

##############################################################################
#### NOTE: Do not modify these default values here. To override these
#### values, make changes after "Architecture specific settings".
##############################################################################

#### Native size (in bytes) of Fortran REAL data type on this architecture ####
#### Note: to change real wordsize (for example, to promote REALs from
#### 4-byte to 8-byte), modify the definition of RWORDSIZE in the
#### section following "Architecture specific settings". Do not
#### change NATIVE_RWORDSIZE as is it architecture-specific.
NATIVE_RWORDSIZE = 4

#### Default sed command and script for Fortran source files ####
#SED_FTN = sed -f $(WRF_SRC_ROOT_DIR)/arch/standard.sed
SED_FTN = $(WRF_SRC_ROOT_DIR)/tools/standard.exe

# Hack to work around $(PWD) not changing during OSF1 build.
# $(IO_GRIB_SHARE_DIR) is reset during the OSF1 build only.
IO_GRIB_SHARE_DIR =

#### ESMF switches ####
#### These are set up by Config.pl ####
# switch to use separately installed ESMF library for coupling: 1==true
ESMF_COUPLING = 0
# select dependences on module_utility.o
ESMF_MOD_DEPENDENCE = $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90/module_utility.o
# select -I options for external/io_esmf vs. external/esmf_time_f90
ESMF_IO_INC = -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90
# select -I options for separately installed ESMF library, if present
ESMF_MOD_INC = $(ESMF_IO_INC)
# select cpp token for external/io_esmf vs. external/esmf_time_f90
ESMF_IO_DEFS =
# select build target for external/io_esmf vs. external/esmf_time_f90
ESMF_TARGET = esmf_time

# ESMFINCLUDEGOESHERE


#### NETCDF4 pieces

NETCDF4_IO_OPTS = -DUSE_NETCDF4_FEATURES -DWRFIO_NCD_LARGE_FILE_SUPPORT
GPFS =
CURL =
HDF5 =
ZLIB =
DEP_LIB_PATH =
NETCDF4_DEP_LIB = $(DEP_LIB_PATH) $(HDF5) $(ZLIB) $(GPFS) $(CURL)

# NETCDF4INCLUDEGOESHERE

#### CTSM pieces

# CTSMINCLUDEGOESHERE

##############################################################################

LIBWRFLIB = libwrflib.a

LIB_BUNDLED = \
$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5/libfftpack.a \
$(WRF_SRC_ROOT_DIR)/external/io_grib1/libio_grib1.a \
$(WRF_SRC_ROOT_DIR)/external/io_grib_share/libio_grib_share.a \
$(WRF_SRC_ROOT_DIR)/external/io_int/libwrfio_int.a \
$(ESMF_IO_LIB) \
$(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a \
$(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o \
$(WRF_SRC_ROOT_DIR)/frame/pack_utils.o

LIB_EXTERNAL = \
-L$(WRF_SRC_ROOT_DIR)/external/io_netcdf -lwrfio_nf -L/data/atmos-rt/a/atmos-rt/WRF/netcdf413/lib -lnetcdff -lnetcdf


#### Architecture specific settings ####

# Settings for Linux x86_64 ppc64le i486 i586 i686, ifort compiler with icc (dmpar)
#
# By default, some files are compiled without optimizations to speed up compilation. Removing
# respective makefile rules in the end of this file will result in longer compilation time, and, possibly
# Out Of Memory messages, but might produce binaries which are substantially faster.
#
# Please visit http://www.intel.com/support/performancetools/sb/cs-028607.htm
# for latest info on how to build WRF with Intel compilers.
#
# If you got Out Of Memory message, there are several options:
# 1. Check your memory limits (ulimit -a), possibly increasing swap partitions size.
# 2. Remove any debugging flags (-g, -check, -traceback).
# 3. Force the problematic file to be compiled with less optimizations (see examples at the
# end of this file), try -no-ip compiler flag.
#
# This configuration is aimed at accuracy. To improve performance (at the expence of accuracy) you might
# consider removing '-fp-model precise' flag from FCBASEOPTS. This enables non value-safe optimizations.
# Another option is to add '-ftz' flag, which flushes denormal results to zero when the application is in
# the gradual underflow mode. It may improve performance if the denormal values are not critical to the
# behavior of your workload. To further improve performance, add suitable vectorization options for your
# processor to FCOPTIM (see ifort manpage).
#
# If you have Intel MPI installed and wish to use instead, make the
# following changes to settings below:
# DM_FC = mpiifort
# DM_CC = mpiicc
# and source bin64/mpivars.sh file from your Intel MPI installation
# before the build.
#
# Suggestions for timing improvements from Craig Mattocks
#
#CFLAGS_LOCAL = -w -O3 -ip -fp-model precise -w -ftz -align all -fno-alias $(FORMAT_FREE) $(BYTESWAPIO) #-xHost -fp-model fast=2 -no-prec-div -no-prec-sqrt -ftz -no-multibyte-chars
#LDFLAGS_LOCAL = -ip -fp-model precise -w -ftz -align all -fno-alias $(FORMAT_FREE) $(BYTESWAPIO) #-xHost -fp-model fast=2 -no-prec-div -no-prec-sqrt -ftz -align all -fno-alias -fno-common
#FCBASEOPTS_NO_G = -w -ip -fp-model precise -w -ftz -align all -fno-alias $(FORMAT_FREE) $(BYTESWAPIO) #-xHost -fp-model fast=2 -no-heap-arrays -no-prec-div -no-prec-sqrt -ftz -align all -fno-alias -fno-common $(FORMAT_FREE) $(BYTESWAPIO)

DESCRIPTION = INTEL ($SFC/$SCC)
DMPARALLEL = 1
OMPCPP = # -D_OPENMP
OMP = # -qopenmp -fpp -auto
OMPCC = # -qopenmp -fpp -auto
SFC = ifort
SCC = icc
CCOMP = icc
DM_FC = mpif90 -f90=$(SFC)
DM_CC = mpicc -cc=$(SCC)
FC = time $(DM_FC)
CC = $(DM_CC) -DFSEEKO64_OK
LD = $(FC)
RWORDSIZE = $(NATIVE_RWORDSIZE)
PROMOTION = -real-size `expr 8 \* $(RWORDSIZE)` -i4
ARCH_LOCAL = -DNONSTANDARD_SYSTEM_FUNC -DWRF_USE_CLM -DRPC_TYPES=1
CFLAGS_LOCAL = -w -O3 -ip #-xHost -fp-model fast=2 -no-prec-div -no-prec-sqrt -ftz -no-multibyte-chars # -DRSL0_ONLY
LDFLAGS_LOCAL = -ip #-xHost -fp-model fast=2 -no-prec-div -no-prec-sqrt -ftz -align all -fno-alias -fno-common
CPLUSPLUSLIB =
ESMF_LDFLAG = $(CPLUSPLUSLIB)
FCOPTIM = -O3
FCREDUCEDOPT = $(FCOPTIM)
FCNOOPT = -O0 -fno-inline -no-ip
FCDEBUG = # -g $(FCNOOPT) -traceback # -fpe0 -check noarg_temp_created,bounds,format,output_conversion,pointers,uninit -ftrapuv -unroll0 -u
FORMAT_FIXED = -FI
FORMAT_FREE = -FR
FCSUFFIX =
BYTESWAPIO = -convert big_endian
RECORDLENGTH = -assume byterecl
FCBASEOPTS_NO_G = -ip -fp-model precise -w -ftz -align all -fno-alias $(FORMAT_FREE) $(BYTESWAPIO) #-xHost -fp-model fast=2 -no-heap-arrays -no-prec-div -no-prec-sqrt -fno-common
FCBASEOPTS = $(FCBASEOPTS_NO_G) $(FCDEBUG)
MODULE_SRCH_FLAG =
TRADFLAG = -traditional-cpp
CPP = /lib/cpp -P -nostdinc
AR = ar
ARFLAGS = ru
M4 = m4
RANLIB = ranlib
RLFLAGS =
CC_TOOLS = $(SCC)

###########################################################
######################
# POSTAMBLE

FGREP = fgrep -iq

ARCHFLAGS = $(COREDEFS) -DIWORDSIZE=$(IWORDSIZE) -DDWORDSIZE=$(DWORDSIZE) -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=$(LWORDSIZE) \
$(ARCH_LOCAL) \
$(DA_ARCHFLAGS) \
-DDM_PARALLEL \
\
-DNETCDF \
\
\
\
\
\
\
\
\
-DLANDREAD_STUB=1 \
\
\
-DUSE_ALLOCATABLES \
-Dwrfmodel \
-DGRIB1 \
-DINTIO \
-DKEEP_INT_AROUND \
-DLIMIT_ARGS \
-DBUILD_RRTMG_FAST=0 \
-DBUILD_RRTMK=0 \
-DBUILD_SBM_FAST=1 \
-DSHOW_ALL_VARS_USED=0 \
-DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) \
-DMAX_DOMAINS_F=$(MAX_DOMAINS) \
-DMAX_HISTORY=$(MAX_HISTORY) \
-DNMM_NEST=$(WRF_NMM_NEST)
CFLAGS = $(CFLAGS_LOCAL) -DDM_PARALLEL \
-DLANDREAD_STUB=1 \
-DMAX_HISTORY=$(MAX_HISTORY) -DNMM_CORE=$(WRF_NMM_CORE)
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
ESMF_LIB_FLAGS =
# ESMF 5 -- these are defined in esmf.mk, included above
ESMF_IO_LIB = -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
ESMF_IO_LIB_EXT = -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
INCLUDE_MODULES = $(MODULE_SRCH_FLAG) \
$(ESMF_MOD_INC) $(ESMF_LIB_FLAGS) \
-I$(WRF_SRC_ROOT_DIR)/main \
-I$(WRF_SRC_ROOT_DIR)/external/io_netcdf \
-I$(WRF_SRC_ROOT_DIR)/external/io_int \
-I$(WRF_SRC_ROOT_DIR)/frame \
-I$(WRF_SRC_ROOT_DIR)/share \
-I$(WRF_SRC_ROOT_DIR)/phys \
-I$(WRF_SRC_ROOT_DIR)/wrftladj \
-I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc \
-I$(NETCDFPATH)/include \

REGISTRY = Registry
CC_TOOLS_CFLAGS = -DNMM_CORE=$(WRF_NMM_CORE)

LIB = $(LIB_BUNDLED) $(LIB_EXTERNAL) $(LIB_LOCAL) $(LIB_WRF_HYDRO)
LDFLAGS = $(OMP) $(FCFLAGS) $(LDFLAGS_LOCAL)
ENVCOMPDEFS =
WRF_CHEM = 0
CPPFLAGS = $(ARCHFLAGS) $(ENVCOMPDEFS) -I$(LIBINCLUDE) $(TRADFLAG)
NETCDFPATH = /data/atmos-rt/a/atmos-rt/WRF/netcdf413
HDF5PATH =
WRFPLUSPATH =
RTTOVPATH =
PNETCDFPATH =

bundled: io_only
external: io_only $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a gen_comms_rsllite module_dm_rsllite $(ESMF_TARGET)
io_only: esmf_time wrfio_nf \
wrf_ioapi_includes wrfio_grib_share wrfio_grib1 wrfio_int fftpack


######################
externals: io_only bundled external

gen_comms_serial :
( /bin/rm -f $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )

module_dm_serial :
( if [ ! -e module_dm.F ] ; then /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F ; fi )

gen_comms_rsllite :
( if [ ! -e $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ] ; then \
/bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; \
cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; fi )

module_dm_rsllite :
( if [ ! -e module_dm.F ] ; then /bin/cp module_dm_warning module_dm.F ; \
cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F ; fi )

wrfio_nf :
( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
make $(J) NETCDFPATH="$(NETCDFPATH)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
CC="$(SCC)" CFLAGS="$(CFLAGS)" \
FC="$(SFC) $(PROMOTION) $(OMP) $(FCFLAGS)" TRADFLAG="$(TRADFLAG)" AR="$(AR)" ARFLAGS="$(ARFLAGS)" )

wrfio_pnf :
( cd $(WRF_SRC_ROOT_DIR)/external/io_pnetcdf ; \
make $(J) NETCDFPATH="$(PNETCDFPATH)" RANLIB="$(RANLIB)" CPP="$(CPP) $(ARCHFLAGS)" \
FC="$(FC) $(PROMOTION) $(OMP) $(FCFLAGS)" TRADFLAG="$(TRADFLAG)" AR="$(AR)" ARFLAGS="$(ARFLAGS)" )

wrfio_grib_share :
( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
make $(J) CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) $(FCSUFFIX)" TRADFLAG="$(TRADFLAG)" AR="$(AR)" ARFLAGS="$(ARFLAGS)" archive)

wrfio_grib1 :
( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
make $(J) CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) $(FCSUFFIX)" TRADFLAG="$(TRADFLAG)" AR="$(AR)" ARFLAGS="$(ARFLAGS)" archive)

wrfio_grib2 :
( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
make $(J) CC="$(SCC)" CFLAGS="$(CFLAGS) " RM="$(RM)" RANLIB="$(RANLIB)" \
CPP="$(CPP)" \
FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) $(FCSUFFIX)" TRADFLAG="-traditional" AR="$(AR)" ARFLAGS="$(ARFLAGS)" \
FIXED="$(FORMAT_FIXED)" archive)

wrfio_int :
( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
make $(J) CC="$(CC)" CFLAGS_LOCAL="$(CFLAGS_LOCAL)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) $(OMP)" FGREP="$(FGREP)" \
TRADFLAG="$(TRADFLAG)" AR="$(AR)" ARFLAGS="$(ARFLAGS)" ARCHFLAGS="$(ARCHFLAGS)" all )

esmf_time :
( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
make $(J) FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" \
CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(ARCHFLAGS) $(TRADFLAG)" AR="$(AR)" ARFLAGS="$(ARFLAGS)" )

fftpack :
( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
make $(J) FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" AR="$(AR)" \
ARFLAGS="$(ARFLAGS)" CPP="$(CPP)" CPPFLAGS="$(CPPFLAGS)" RM="$(RM)" )

atm_ocn :
( cd $(WRF_SRC_ROOT_DIR)/external/atm_ocn ; \
make $(J) CC="$(SCC)" CFLAGS="$(CFLAGS) " RM="$(RM)" RANLIB="$(RANLIB)" \
CPP="$(CPP)" CPPFLAGS="$(CPPFLAGS)" \
FC="$(DM_FC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) $(FCSUFFIX)" TRADFLAG="-traditional" AR="$(AR)" ARFLAGS="$(ARFLAGS)" \
FIXED="$(FORMAT_FIXED)" )

$(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; make $(J) CC="$(CC) $(CFLAGS)" \
FC="$(FC) $(FCFLAGS) $(OMP) $(PROMOTION) $(BYTESWAPIO)" \
CPP="$(CPP) -I. $(ARCHFLAGS) $(OMPCPP) $(TRADFLAG)" AR="$(AR)" ARFLAGS="$(ARFLAGS)" ;\
$(RANLIB) $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a )

######################
# Macros, these should be generic for all machines

LN = ln -sf
MAKE = make -i -r
RM = rm -f


# These sub-directory builds are identical across all architectures

wrf_ioapi_includes :
( cd $(WRF_SRC_ROOT_DIR)/external/ioapi_share ; \
$(MAKE) NATIVE_RWORDSIZE="$(NATIVE_RWORDSIZE)" RWORDSIZE="$(RWORDSIZE)" AR="$(AR)" ARFLAGS="$(ARFLAGS)" )

wrfio_esmf :
( cd $(WRF_SRC_ROOT_DIR)/external/io_esmf ; \
make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) $(ESMF_MOD_INC)" \
RANLIB="$(RANLIB)" CPP="$(CPP) $(POUND_DEF) " AR="$(AR)" ARFLAGS="$(ARFLAGS)" )

# There is probably no reason to modify these rules

.F.i:
$(RM) $@
sed -e "s/^\!.*'.*//" -e "s/^ *\!.*'.*//" $*.F > $*.G
$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.G > $*.i
mv $*.i $(DEVTOP)/pick/$*.f90
cp $*.F $(DEVTOP)/pick

.F.o:
$(RM) $@
sed -e "s/^\!.*'.*//" -e "s/^ *\!.*'.*//" $*.F > $*.G
$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $(OMPCPP) $*.G > $*.bb
$(SED_FTN) $*.bb | $(CPP) $(TRADFLAG) > $*.f90
$(RM) $*.G $*.bb
@ if echo $(ARCHFLAGS) | $(FGREP) 'DVAR4D'; then \
echo COMPILING $*.F for 4DVAR ; \
$(WRF_SRC_ROOT_DIR)/var/build/da_name_space.pl $*.f90 > $*.f90.tmp ; \
mv $*.f90.tmp $*.f90 ; \
fi
$(FC) -o $@ -c $(FCFLAGS) $(OMP) $(MODULE_DIRS) $(PROMOTION) $(FCSUFFIX) $*.f90


.F.f90:
$(RM) $@
sed -e "s/^\!.*'.*//" -e "s/^ *\!.*'.*//" $*.F > $*.G
$(SED_FTN) $*.G > $*.H
$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.H > $@
$(RM) $*.G $*.H

.f90.o:
$(RM) $@
$(FC) -o $@ -c $(FCFLAGS) $(PROMOTION) $(FCSUFFIX) $*.f90

setfeenv.o : setfeenv.c
$(RM) $@
$(CCOMP) -o $@ -c $(CFLAGS) $(OMPCC) $*.c

.c.o:
$(RM) $@
$(CC) -o $@ -c $(CFLAGS) $*.c

# A little more adventurous. Allow full opt on
# mediation_integrate.o \
# shift_domain_em.o \
# solve_em.o <-- gets a little kick from SOLVE_EM_SPECIAL too, if defined
# mediation_feedback_domain.o : mediation_feedback_domain.F
# mediation_force_domain.o : mediation_force_domain.F
# mediation_interp_domain.o : mediation_interp_domain.F

# compile these without high optimization to speed compile
track_driver.o : track_driver.F
convert_nmm.o : convert_nmm.F
init_modules_em.o : init_modules_em.F
input_wrf.o : input_wrf.F
module_io.o : module_io.F
module_comm_dm.o : module_comm_dm.F
module_comm_dm_0.o : module_comm_dm_0.F
module_comm_dm_1.o : module_comm_dm_1.F
module_comm_dm_2.o : module_comm_dm_2.F
module_comm_dm_3.o : module_comm_dm_3.F
module_comm_nesting_dm.o : module_comm_nesting_dm.F
module_configure.o : module_configure.F
module_domain.o : module_domain.F
module_domain_type.o : module_domain_type.F
module_alloc_space_0.o : module_alloc_space_0.F
module_alloc_space_1.o : module_alloc_space_1.F
module_alloc_space_2.o : module_alloc_space_2.F
module_alloc_space_3.o : module_alloc_space_3.F
module_alloc_space_4.o : module_alloc_space_4.F
module_alloc_space_5.o : module_alloc_space_5.F
module_alloc_space_6.o : module_alloc_space_6.F
module_alloc_space_7.o : module_alloc_space_7.F
module_alloc_space_8.o : module_alloc_space_8.F
module_alloc_space_9.o : module_alloc_space_9.F
module_tiles.o : module_tiles.F
module_initialize.o : module_initialize.F
module_physics_init.o : module_physics_init.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_scm_xy.o : module_initialize_scm_xy.F
module_integrate.o : module_integrate.F
module_io_mm5.o : module_io_mm5.F
module_io_wrf.o : module_io_wrf.F
module_si_io.o : module_si_io.F
module_wps_io_arw.o : module_wps_io_arw.F
module_state_description.o : module_state_description.F
output_wrf.o : output_wrf.F
solve_interface.o : solve_interface.F
start_domain.o : start_domain.F
wrf_bdyin.o : wrf_bdyin.F
wrf_bdyout.o : wrf_bdyout.F
wrf_ext_read_field.o : wrf_ext_read_field.F
wrf_ext_write_field.o : wrf_ext_write_field.F
wrf_fddaobs_in.o : wrf_fddaobs_in.F
wrf_histin.o : wrf_histin.F
wrf_histout.o : wrf_histout.F
wrf_inputin.o : wrf_inputin.F
wrf_inputout.o : wrf_inputout.F
wrf_restartin.o : wrf_restartin.F
wrf_restartout.o : wrf_restartout.F
wrf_tsin.o : wrf_tsin.F
nl_get_0_routines.o : nl_get_0_routines.F
nl_get_1_routines.o : nl_get_1_routines.F
nl_set_0_routines.o : nl_set_0_routines.F
nl_set_1_routines.o : nl_set_1_routines.F

track_driver.o \
convert_nmm.o \
init_modules_em.o \
module_initialize.o \
module_initialize_squall2d_x.o \
module_initialize_squall2d_y.o \
module_initialize_scm_xy.o \
module_integrate.o \
module_io_mm5.o \
module_io_wrf.o \
module_si_io.o \
module_wps_io_arw.o \
module_tiles.o \
output_wrf.o \
solve_interface.o \
start_domain.o \
wrf_fddaobs_in.o \
wrf_tsin.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $(OMPCPP) $*.b > $*.f90
$(RM) $*.b
@ if echo $(ARCHFLAGS) | $(FGREP) 'DVAR4D'; then \
echo COMPILING $*.F for 4DVAR ; \
$(WRF_SRC_ROOT_DIR)/var/build/da_name_space.pl $*.f90 > $*.f90.tmp ; \
mv $*.f90.tmp $*.f90 ; \
fi
if $(FGREP) '!$$OMP' $*.f90 ; then \
if [ -n "$(OMP)" ] ; then echo COMPILING $*.F WITH OMP ; fi ; \
$(FC) -c $(PROMOTION) $(FCNOOPT) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) $(OMP) $*.f90 ; \
else \
if [ -n "$(OMP)" ] ; then echo COMPILING $*.F WITHOUT OMP ; fi ; \
$(FC) -c $(PROMOTION) $(FCNOOPT) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) $*.f90 ; \
fi

#solve_em.o :
# $(RM) $@
# $(SED_FTN) $*.F > $*.b
# $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
# $(RM) $*.b
# $(FC) -o $@ -c $(FCFLAGS) $(MODULE_DIRS) $(PROMOTION) $(FCSUFFIX) $(SOLVE_EM_SPECIAL) $(OMP) $*.f90

module_sf_ruclsm.o : module_sf_ruclsm.F

module_sf_ruclsm.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $(OMPCPP) $*.b > $*.f90
$(RM) $*.b
if $(FGREP) '!$$OMP' $*.f90 ; then \
echo COMPILING $*.F WITH OMP ; \
if [ -n "$(OMP)" ] ; then echo COMPILING $*.F WITH OMP ; fi ; \
$(FC) -c $(PROMOTION) $(FCREDUCEDOPT) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) $(OMP) $*.f90 ; \
else \
if [ -n "$(OMP)" ] ; then echo COMPILING $*.F WITHOUT OMP ; fi ; \
$(FC) -c $(PROMOTION) $(FCREDUCEDOPT) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) $*.f90 ; \
fi

# compile without OMP
input_wrf.o \
module_domain.o \
module_domain_type.o \
module_physics_init.o \
module_io.o \
wrf_bdyin.o \
wrf_bdyout.o \
wrf_ext_read_field.o \
wrf_ext_write_field.o \
wrf_histin.o \
wrf_histout.o \
wrf_inputin.o \
wrf_inputout.o \
wrf_restartin.o \
wrf_restartout.o \
module_state_description.o \
module_alloc_space.o \
module_alloc_space_0.o \
module_alloc_space_1.o \
module_alloc_space_2.o \
module_alloc_space_3.o \
module_alloc_space_4.o \
module_alloc_space_5.o \
module_alloc_space_6.o \
module_alloc_space_7.o \
module_alloc_space_8.o \
module_alloc_space_9.o \
module_comm_dm.o \
module_comm_dm_0.o \
module_comm_dm_1.o \
module_comm_dm_2.o \
module_comm_dm_3.o \
module_comm_nesting_dm.o \
module_configure.o :
$(RM) $@
$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $(OMPCPP) $*.F > $*.bb
$(SED_FTN) $*.bb | $(CPP) $(TRADFLAG) > $*.f90
@ if echo $(ARCHFLAGS) | $(FGREP) 'DVAR4D'; then \
echo COMPILING $*.F for 4DVAR ; \
$(WRF_SRC_ROOT_DIR)/var/build/da_name_space.pl $*.f90 > $*.f90.tmp ; \
mv $*.f90.tmp $*.f90 ; \
fi
$(RM) $*.b $*.bb
$(FC) -c $(PROMOTION) $(FCSUFFIX) $(FCNOOPT) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
 
Hi Brian,
A couple of questions:
1) I assume you did not make any modifications to the code, and it's just out-of-the-box V4.3 code?
2) When you compiled, did you happen to only compile with a single processor (i.e., export J="-j 1")?

If not, can you do a "clean -a", set to only 1 processor, reconfigure, and then recompile? This shouldn't fix the issue, but I'd like to make sure the radiation driver is actually the culprit. After you recompile and when it fails again, please attach your full compile log. See instructions on the home page of this forum for attaching files. Thanks!
 
Hello,

I also encountered the same error.
I did not make any modifications to the code and already compile it with a single processor.
I use the Intel compiler. I have done the system environment tests and the library compatibility tests.
All shows there is no problem with the system environment and library compatibility.
Could you help me with this?

Thanks,
Dea
 

Attachments

  • logcompile.txt
    773.9 KB · Views: 37
Hi Dea,
**Please see the newest post below this one prior to completing this step.**
I'm not sure why this is failing for certain people. We aren't able to repeat the problem in our group with our machines. If you aren't planning to use the solar eclipse scheme, take a look at the most recent (final) post on this forum inquiry. I've provided code that should allow you to build without that scheme.
 
@Dea,
Before you do the above step I recommended, can you first issue this command?
Code:
ls -ls phys/module_ra_eclipse.*
to see which files are listed. If you do see the files
module_ra_eclipse.o
module_ra_eclipse.mod
then can you just try to recompile, without issuing a 'clean -a' or reconfiguring? Just go to the WRF directory and compile (./compile em_real >& log.compile2). Let me know if this allows you to compile to completion. We believe this is just a dependency issue and if you can confirm these items for us, we will know how to fix the code.
 
@kwerner

Hello, although this thread is months old I feel it relevant to respond regarding this error.

In my many attempts to configure WRF and compile something (just to know that WRF works) I ran into the same problem described here (or at least somewhere in the neighborhood of the errors described here).

I compiled the "em_scm_xy" test case, again I received the errors as described in this post.

However, I followed your suggestion to recompile without doing a "./clean -a", having confirmed that the 'module_ra_eclipse.*' files were in fact in the "phys" folder. To my extreme delight the compilation was successful! I should note that I also changed a couple of options in the configure.wrf file: added "-DLANDREAD_STUB" to the "CFLAGS" variable; and changed "/lib/cpp" to "/usr/bin/cpp". The first of which was suggested in another thread having to do with another error, but shared for completeness.

For reference here are the two logs for "error" and "post-error", along with some computer specific info that may be pertinent in any investigation into this problem, as well as command line calls:

View attachment log.compile.txt
View attachment log.compile2.txt
View attachment configure.wrf

System info (uname -a):
Code:
Linux 5.16.11-arch1-2 #1 SMP PREEMPT Mon, 28 Feb 2022 10:17:30 +0000 x86_64 GNU/Linux
Architecture info (lscpu):
View attachment lscpuout.txt

Commands:
Code:
./configure -d
Code:
./compile -j 1 em_scm_xy >& log.compile

Thank you for providing the suggestion! I hope the program execution goes well!
 
Hi,
Thank you so much for an update to this issue! Hopefully it will help someone else in the future.
 
Top