mpich2, ifort, icc

Installing the WRF Preprocessing System

mpich2, ifort, icc

Postby vongrads on Fri Feb 05, 2010 12:12 pm

dear all,
is it possible to compile WRF using ifort, icc and mpich2?
can anyone show me the configuration? (configure.wrf)

nb: im using WRF3.1
thanks
vongrads
 
Posts: 6
Joined: Fri Feb 05, 2010 11:57 am

Re: mpich2, ifort, icc

Postby mjm on Fri Feb 05, 2010 4:37 pm

I have recently compiled the latest version of WRF-ARW using the Intel compilers. This website very helpful:
http://software.intel.com/en-us/articles/building-the-wrf-with-intel-compilers-on-linux-and-improving-performance-on-intel-architecture/

Just click on the link to setting up WRF for serial or for parallel, whichever you need. This Mr. Mavrodiev seems to be on top of things. ;)

Don't forget that you must have netCDF compiled with the same compiler you intend to use for WRF.
http://software.intel.com/en-us/articles/performance-tools-for-software-developers-building-netcdf-with-the-intel-compilers/

If you are still having problems let me know and I will email you my configure.wrf file.

-mj
mjm
 
Posts: 6
Joined: Sat Oct 11, 2008 12:04 am

Re: mpich2, ifort, icc

Postby vongrads on Wed Feb 10, 2010 8:14 am

dear MJ

thanks for your help.
but im still having a problem compiling WRF using intel.
could you please send your configure.wrf file for intel environment

regards
vongrads
 
Posts: 6
Joined: Fri Feb 05, 2010 11:57 am

Re: mpich2, ifort, icc

Postby mjm on Wed Feb 10, 2010 6:15 pm

I did have to make a couple of changes to the configure.wrf file in the "architecture specific settings". The changes were recommended in the comments of the file. Here is the full configure.wrf for my architecture (I am running with the parallel option):

Code: Select all
# 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             =       ifort
SCC             =       icc
DM_FC           =       mpiifort
DM_CC           =       mpiicc
FC              =        $(DM_FC)
CC              =       $(DM_CC) -DFSEEKO64_OK
LD              =       $(FC)
RWORDSIZE       =       $(NATIVE_RWORDSIZE)
PROMOTION       =       -i4
ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_FUNC
CFLAGS_LOCAL    =       -w -O3 -ip
LDFLAGS_LOCAL   =       -ip
CPLUSPLUSLIB    =       
ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
FCOPTIM         =       -O3
FCREDUCEDOPT   =       $(FCOPTIM)
FCNOOPT      =       -O0 -fno-inline -fno-ip
FCDEBUG         =       # -g $(FCNOOPT) -traceback
FORMAT_FIXED    =       -FI
FORMAT_FREE     =       -FR
FCSUFFIX        =
BYTESWAPIO      =       -convert big_endian
FCBASEOPTS      =       -w -ftz -align all -fno-alias -fp-model precise $(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/mmurphy/netcdf/lib  -lnetcdf   

LIB             =    $(LIB_BUNDLED) $(LIB_EXTERNAL) $(LIB_LOCAL)
LDFLAGS         =    $(OMP) $(FCFLAGS) $(LDFLAGS_LOCAL)
ENVCOMPDEFS     =   
WRF_CHEM   =   0
CPPFLAGS        =    $(ARCHFLAGS) $(ENVCOMPDEFS) -I$(LIBINCLUDE) $(TRADFLAG)
NETCDFPATH      =    /home/mmurphy/netcdf
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="$(ARFLA
GS)" 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="$(ARFLA
GS)" 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="$(ARFL
AGS)" \
          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



mj
mjm
 
Posts: 6
Joined: Sat Oct 11, 2008 12:04 am

Re: mpich2, ifort, icc

Postby vongrads on Thu Feb 11, 2010 12:02 am

if im using MPICH2 the parameter below should refer to mpicc and mpif90?
what do you think?
DM_FC = mpiifort
DM_CC = mpiicc
vongrads
 
Posts: 6
Joined: Fri Feb 05, 2010 11:57 am


Return to Installation

Who is online

Users browsing this forum: No registered users and 1 guest