5 Replies Latest reply on Nov 4, 2010 8:20 PM by los

    compiling WRF

    los

      Hello,

      I'm a basic compilers user. Recently we acquired an AMD server with two 12-core Opteron processors and I'm trying to compile the model Weather Research & Forecasting with Chemistry (WRF/Chem), but I'm facing a problem that I don't know how to solve, this is the error message:

      openf95-237 openf90: LIMIT SHIFT_HALO_Y_HALO_SUB, File = module_comm_dm.f90, Line = 76429
        Maximum table size has been exceeded for the "attr_list_tbl".
      openf90 INTERNAL ERROR: /opt/x86_open64-4.2.4/lib/gcc-lib/x86_64-open64-linux/4.2.4/mfef95 returned non-zero status 1
      make[2]: [module_comm_dm.o] Error 1 (ignored)

       

      Anyhelp would be appreciated.

      Carlos

        • compiling WRF
          RaghavendraSwamy

          Thank you for reaching the support desk. Could you provide the following details to analyze the root cause of the issue,
            - OS Release and is it ( 32 bit / 64 bit) by using  “cat   /proc/cpuinfo”
            - Compiler flags used.
            - WRF release version.
            - Dump the cpuinfo by using  “cat   /proc/cpuinfo”

          Thanks and regards,
          AMD x86 open64 compiler support engineer.

          -------------------------
          The information presented in this document is for informational purposes only and may contain technical inaccuracies, omissions and typographical errors. Links to third party sites are for convenience only, and no endorsement is implied.

            • compiling WRF
              los

              Thanks for your prompt answer!!

              Attached is the information that appears for each core when I used "cat /proc/cpuinfo", that is only for the first one.

              The machine has Ubuntu 10.04 LTS 64 bit, this is what appears with uname -a:

              Linux cognac 2.6.32-25-generic #45-Ubuntu SMP Sat Oct 16 19:52:42 UTC 2010 x86_64 GNU/Linux

              I'm trying to compile WRF/Chem version 3. I hope this is all the info you requested me.

               

              Thanks

              Carlos

               

              processor : 0 vendor_id : AuthenticAMD cpu family : 16 model : 9 model name : AMD Opteron(tm) Processor 6168 stepping : 1 cpu MHz : 1900.195 cache size : 512 KB physical id : 0 siblings : 12 core id : 0 cpu cores : 12 apicid : 0 initial apicid : 0 fpu : yes fpu_exception : yes cpuid level : 5 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxe xt fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nonstop_tsc extd_apicid amd_dcm pni monitor cx16 popcnt lahf_lm cmp _legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt nodeid_msr bogomips : 3800.38 TLB size : 1024 4K pages clflush size : 64 cache_alignment : 64 address sizes : 48 bits physical, 48 bits virtual power management: ts ttp tm stc 100mhzsteps hwpstate

                • compiling WRF
                  los

                  I forgot to put the compiler flags, I'm attaching the whole WRF configure file to avoid any missing.

                  # configure.wrf # # 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 \ -DCOAMPS_CORE=$(WRF_COAMPS_CORE) \ -DDA_CORE=$(WRF_DA_CORE) \ -DEXP_CORE=$(WRF_EXP_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 = 32768 ############################################################################## #### 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 ############################################################################## LIBWRFLIB = libwrflib.a #### Architecture specific settings #### # To enable over-decompostion with dmpar and dm+sm compiles, # add -DALLOW_OVERDECOMP to ARCH_LOCAL, below. (not recommended) # Settings for Linux x86_64 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. DMPARALLEL = 1 OMPCPP = # -D_OPENMP OMP = # -openmp -fpp -auto SFC = /opt/x86_open64-4.2.4/bin/openf90 SCC = /opt/x86_open64-4.2.4/bin/opencc DM_FC = /home/open64/local/bin/mpif90 -f90=$(SFC) DM_CC = /home/open64/local/bin/mpicc -cc=$(SCC) -DMPI2_SUPPORT FC = $(DM_FC) CC = $(DM_CC) LD = $(FC) RWORDSIZE = $(NATIVE_RWORDSIZE) PROMOTION = -r$(RWORDSIZE) -i4 ARCH_LOCAL = -DNONSTANDARD_SYSTEM_SUBR CFLAGS_LOCAL = -woffall -O3 LDFLAGS_LOCAL = CPLUSPLUSLIB = ESMF_LDFLAG = $(CPLUSPLUSLIB) FCOPTIM = -O3 -ffast-math -ftree-vectorize FCREDUCEDOPT = $(FCOPTIM) FCNOOPT = -O0 FCDEBUG = # -g $(FCNOOPT) -traceback FORMAT_FIXED = -fixedform FORMAT_FREE = -freeform FCSUFFIX = BYTESWAPIO = -byteswapio FCBASEOPTS = -woffall -ftz -align64 -OPT:alias=parm -fp-accuracy=strict $(FCDEBUG) $(FORMAT_FREE) $(BYTESWAPIO) MODULE_SRCH_FLAG = TRADFLAG = -traditional CPP = /lib/cpp -C -P AR = ar ARFLAGS = ru M4 = m4 RANLIB = ranlib CC_TOOLS = $(SCC) ########################################################### ###################### FGREP = fgrep -iq ARCHFLAGS = $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \ $(ARCH_LOCAL) \ $(DA_ARCHFLAGS) \ -DDM_PARALLEL \ \ -DNETCDF \ \ \ \ \ \ \ -DGRIB1 \ -DINTIO \ -DLIMIT_ARGS \ -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) \ -DMAX_DOMAINS_F=$(MAX_DOMAINS) \ -DNMM_NEST=$(WRF_NMM_NEST) CFLAGS = $(CFLAGS_LOCAL) -DDM_PARALLEL FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) ESMF_LIB_FLAGS = ESMF_IO_LIB = $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90/libesmf_time.a ESMF_IO_LIB_EXT = -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90/libesmf_time.a 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)/chem -I$(WRF_SRC_ROOT_DIR)/inc \ \ REGISTRY = Registry LIB_BUNDLED = \ -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \ -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \ -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \ -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \ $(ESMF_IO_LIB) \ $(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 = \ $(WRF_SRC_ROOT_DIR)/external/io_netcdf/libwrfio_nf.a -L/home/open64/local/lib -lnetcdf LIB = $(LIB_BUNDLED) $(LIB_EXTERNAL) $(LIB_LOCAL) LDFLAGS = $(OMP) $(FCFLAGS) $(LDFLAGS_LOCAL) ENVCOMPDEFS = -DWRF_CHEM -DBUILD_CHEM=1 WRF_CHEM = 1 CPPFLAGS = $(ARCHFLAGS) $(ENVCOMPDEFS) -I$(LIBINCLUDE) $(TRADFLAG) NETCDFPATH = /home/open64/local PNETCDFPATH = bundled: wrf_ioapi_includes wrfio_grib_share wrfio_grib1 wrfio_int esmf_time fftpack external: wrfio_nf $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a gen_comms_rsllite module_dm_rsllite $(ESMF_TARGET) ###################### externals: 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 NETCDFPATH="$(NETCDFPATH)" RANLIB="$(RANLIB)" CPP="$(CPP)" \ CC="$(SCC)" CFLAGS="$(CFLAGS)" \ FC="$(SFC) $(PROMOTION) $(FCFLAGS)" TRADFLAG="$(TRADFLAG)" AR="$(AR)" ARFLAGS="$(ARFLAGS)" ) wrfio_pnf : ( cd $(WRF_SRC_ROOT_DIR)/external/io_pnetcdf ; \ make NETCDFPATH="$(PNETCDFPATH)" RANLIB="$(RANLIB)" CPP="$(CPP)" \ FC="$(FC) $(PROMOTION) $(FCFLAGS)" TRADFLAG="$(TRADFLAG)" AR="$(AR)" ARFLAGS="$(ARFLAGS)" ) wrfio_grib_share : ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \ make 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 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 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 CC="$(CC)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \ FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" \ TRADFLAG="$(TRADFLAG)" AR="$(AR)" ARFLAGS="$(ARFLAGS)" all ) esmf_time : ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \ make 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 FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" AR="$(AR)" ARFLAGS="$(ARFLAGS)" ) $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a : ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; make CC="$(CC) $(CFLAGS)" \ FC="$(FC) $(FCFLAGS) $(PROMOTION) $(BYTESWAPIO)" \ CPP="$(CPP) -I. $(ARCHFLAGS) $(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) $@ $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.F > $@ mv $*.i $(DEVTOP)/pick/$*.f90 cp $*.F $(DEVTOP)/pick .F.o: $(RM) $@ $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $(OMPCPP) $*.F > $*.bb $(SED_FTN) $*.bb | $(CPP) > $*.f90 $(RM) $*.b $*.bb if $(FGREP) '!$$OMP' $*.f90 ; then \ if [ -n "$(OMP)" ] ; then echo COMPILING $*.F WITH OMP ; fi ; \ $(FC) -o $@ -c $(FCFLAGS) $(OMP) $(MODULE_DIRS) $(PROMOTION) $(FCSUFFIX) $*.f90 ; \ else \ if [ -n "$(OMP)" ] ; then echo COMPILING $*.F WITHOUT OMP ; fi ; \ $(FC) -o $@ -c $(FCFLAGS) $(MODULE_DIRS) $(PROMOTION) $(FCSUFFIX) $*.f90 ; \ fi .F.f90: $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $@ $(RM) $*.b .f90.o: $(RM) $@ $(FC) -o $@ -c $(FCFLAGS) $(PROMOTION) $(FCSUFFIX) $*.f90 .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 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_configure.o : module_configure.F module_dm.o : module_dm.F module_domain.o : module_domain.F module_domain_type.o : module_domain_type.F module_alloc_space.o : module_alloc_space.F module_tiles.o : module_tiles.F module_fddaobs_rtfdda.o : module_fddaobs_rtfdda.F module_initialize.o : module_initialize.F module_physics_init.o : module_physics_init.F module_initialize_b_wave.o : module_initialize_b_wave.F module_initialize_hill2d_x.o : module_initialize_hill2d_x.F module_initialize_quarter_ss.o : module_initialize_quarter_ss.F module_initialize_real.o : module_initialize_real.F module_initialize_real.o: module_initialize_real.F module_initialize_squall2d_x.o : module_initialize_squall2d_x.F module_initialize_squall2d_y.o : module_initialize_squall2d_y.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_state_description.o : module_state_description.F output_wrf.o : output_wrf.F NMM_NEST_UTILS1.o : NMM_NEST_UTILS1.F solve_interface.o : solve_interface.F start_domain.o : start_domain.F start_domain_nmm.o : start_domain_nmm.F start_em.o : start_em.F wrf_auxhist10in.o : wrf_auxhist10in.F wrf_auxhist10out.o : wrf_auxhist10out.F wrf_auxhist11in.o : wrf_auxhist11in.F wrf_auxhist11out.o : wrf_auxhist11out.F wrf_auxhist1in.o : wrf_auxhist1in.F wrf_auxhist1out.o : wrf_auxhist1out.F wrf_auxhist2in.o : wrf_auxhist2in.F wrf_auxhist2out.o : wrf_auxhist2out.F wrf_auxhist3in.o : wrf_auxhist3in.F wrf_auxhist3out.o : wrf_auxhist3out.F wrf_auxhist4in.o : wrf_auxhist4in.F wrf_auxhist4out.o : wrf_auxhist4out.F wrf_auxhist5in.o : wrf_auxhist5in.F wrf_auxhist5out.o : wrf_auxhist5out.F wrf_auxhist6in.o : wrf_auxhist6in.F wrf_auxhist6out.o : wrf_auxhist6out.F wrf_auxhist7in.o : wrf_auxhist7in.F wrf_auxhist7out.o : wrf_auxhist7out.F wrf_auxhist8in.o : wrf_auxhist8in.F wrf_auxhist8out.o : wrf_auxhist8out.F wrf_auxhist9in.o : wrf_auxhist9in.F wrf_auxhist9out.o : wrf_auxhist9out.F wrf_auxinput10in.o : wrf_auxinput10in.F wrf_auxinput10out.o : wrf_auxinput10out.F wrf_auxinput11in.o : wrf_auxinput11in.F wrf_auxinput11out.o : wrf_auxinput11out.F wrf_auxinput1in.o : wrf_auxinput1in.F wrf_auxinput1out.o : wrf_auxinput1out.F wrf_auxinput2in.o : wrf_auxinput2in.F wrf_auxinput2out.o : wrf_auxinput2out.F wrf_auxinput3in.o : wrf_auxinput3in.F wrf_auxinput3out.o : wrf_auxinput3out.F wrf_auxinput4in.o : wrf_auxinput4in.F wrf_auxinput4out.o : wrf_auxinput4out.F wrf_auxinput5in.o : wrf_auxinput5in.F wrf_auxinput5out.o : wrf_auxinput5out.F wrf_auxinput6in.o : wrf_auxinput6in.F wrf_auxinput6out.o : wrf_auxinput6out.F wrf_auxinput7in.o : wrf_auxinput7in.F wrf_auxinput7out.o : wrf_auxinput7out.F wrf_auxinput8in.o : wrf_auxinput8in.F wrf_auxinput8out.o : wrf_auxinput8out.F wrf_auxinput9in.o : wrf_auxinput9in.F wrf_auxinput9out.o : wrf_auxinput9out.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 convert_nmm.o \ init_modules_em.o \ module_dm.o \ module_fddaobs_rtfdda.o \ module_initialize.o \ module_initialize_b_wave.o \ module_initialize_hill2d_x.o \ module_initialize_quarter_ss.o \ module_initialize_real.o \ module_initialize_squall2d_x.o \ module_initialize_squall2d_y.o \ module_integrate.o \ module_io_mm5.o \ module_io_wrf.o \ module_si_io.o \ module_tiles.o \ output_wrf.o \ NMM_NEST_UTILS1.o \ solve_interface.o \ start_domain.o \ start_domain_nmm.o \ shift_domain_nmm.o \ start_em.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 $(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_auxhist10in.o \ wrf_auxhist10out.o \ wrf_auxhist11in.o \ wrf_auxhist11out.o \ wrf_auxhist1in.o \ wrf_auxhist1out.o \ wrf_auxhist2in.o \ wrf_auxhist2out.o \ wrf_auxhist3in.o \ wrf_auxhist3out.o \ wrf_auxhist4in.o \ wrf_auxhist4out.o \ wrf_auxhist5in.o \ wrf_auxhist5out.o \ wrf_auxhist6in.o \ wrf_auxhist6out.o \ wrf_auxhist7in.o \ wrf_auxhist7out.o \ wrf_auxhist8in.o \ wrf_auxhist8out.o \ wrf_auxhist9in.o \ wrf_auxhist9out.o \ wrf_auxinput10in.o \ wrf_auxinput10out.o \ wrf_auxinput11in.o \ wrf_auxinput11out.o \ wrf_auxinput1in.o \ wrf_auxinput1out.o \ wrf_auxinput2in.o \ wrf_auxinput2out.o \ wrf_auxinput3in.o \ wrf_auxinput3out.o \ wrf_auxinput4in.o \ wrf_auxinput4out.o \ wrf_auxinput5in.o \ wrf_auxinput5out.o \ wrf_auxinput6in.o \ wrf_auxinput6out.o \ wrf_auxinput7in.o \ wrf_auxinput7out.o \ wrf_auxinput8in.o \ wrf_auxinput8out.o \ wrf_auxinput9in.o \ wrf_auxinput9out.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 \ nl_set_0_routines.o \ nl_set_1_routines.o \ nl_get_0_routines.o \ nl_get_1_routines.o \ module_alloc_space.o \ module_comm_dm.o \ module_configure.o : $(RM) $@ $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $(OMPCPP) $*.F > $*.bb $(SED_FTN) $*.bb | $(CPP) > $*.f90 $(RM) $*.b $*.bb $(FC) -c $(PROMOTION) $(FCSUFFIX) $(FCNOOPT) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90

                    • compiling WRF
                      RaghavendraSwamy

                      Thank you for providing the required information,

                      - This is a known issue under WRFv3 or WRFv3.1, you could try with the newer version or the WRFv3.1.1 in which the solution in place.
                      - Do let us know if you have any other issues.

                      Thanks and regards,
                      AMD x86 open64 compiler support engineer.

                      -------------------------
                      The information presented in this document is for informational purposes only and may contain technical inaccuracies, omissions and typographical errors. Links to third party sites are for convenience only, and no endorsement is implied.

                       

                        • compiling WRF
                          los

                          Hello,

                          I tried with the version 3.1.1 as you suggested. The former error doesn't appear anymore, but I'm getting a new one:

                          /opt/x86_open64-4.2.4/bin/openf90 -woffall -ftz -align64 -OPT:alias=parm -fp-accuracy=strict  -freeform -byteswapio -c  -I/home/open64/local/include -I../ioapi_share diffwrf.f
                          diffwrf io_netcdf is being built now.
                          wrf_io.o: In function `bit_or__':
                          /home/open64/wrfchem/wrfchem311/external/io_netcdf/wrf_io.f:8248: undefined reference to `bitwise_or__'
                          collect2: ld returned 1 exit status
                          make[2]: [diffwrf] Error 1 (ignored)
                          make[2]: Leaving directory `/home/open64/wrfchem/wrfchem311/external/io_netcdf'
                          make[2]: Entering directory `/home/open64/wrfchem/wrfchem311/external/io_int'

                          I've tried using -fno-second-underscore but whit this I just got more errors referring to other instructions with just one underscore. I hope you can help me. By the way I used the same configure.wrf posted here.

                           

                          Carlos