########################################################### #ARCH Linux i486 i586 i686, gfortran compiler with gcc #serial smpar dmpar dm+sm # DMPARALLEL = # 1 OMPCPP = # -D_OPENMP OMP = # -fopenmp OMPCC = # -fopenmp SFC = gfortran SCC = gcc CCOMP = gcc DM_FC = mpif90 -f90=$(SFC) DM_CC = mpicc -cc=$(SCC) FC = CONFIGURE_FC CC = CONFIGURE_CC LD = $(FC) RWORDSIZE = CONFIGURE_RWORDSIZE PROMOTION = # -fdefault-real-8 # uncomment manually ARCH_LOCAL = -DNONSTANDARD_SYSTEM_SUBR CFLAGS_LOCAL = -w -O3 -c -DLANDREAD_STUB LDFLAGS_LOCAL = CPLUSPLUSLIB = ESMF_LDFLAG = $(CPLUSPLUSLIB) FCOPTIM = -O3 -ftree-vectorize -ftree-loop-linear -funroll-loops FCREDUCEDOPT = $(FCOPTIM) FCNOOPT = -O0 FCDEBUG = # -g $(FCNOOPT) 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 = /lib/cpp -C -P AR = ar ARFLAGS = ru M4 = m4 -B 14000 RANLIB = ranlib CC_TOOLS = $(SCC) ########################################################### #ARCH Linux i486 i586 i686, g95 compiler with gcc #serial dmpar # DMPARALLEL = # 1 OMPCPP = # not supported OMP = # not supported OMPCC = # not supported SFC = g95 SCC = gcc CCOMP = gcc DM_FC = mpif90 -f90=$(SFC) DM_CC = mpicc -cc=$(SCC) FC = CONFIGURE_FC CC = CONFIGURE_CC LD = $(FC) RWORDSIZE = CONFIGURE_RWORDSIZE PROMOTION = -r$(RWORDSIZE) -i4 ARCH_LOCAL = -DF2CSTYLE -DNONSTANDARD_SYSTEM_SUBR CFLAGS_LOCAL = -DF2CSTYLE LDFLAGS_LOCAL = CPLUSPLUSLIB = ESMF_LDFLAG = $(CPLUSPLUSLIB) FCOPTIM = -O2 #-fast FCREDUCEDOPT = $(FCOPTIM) FCNOOPT = -O0 FCDEBUG = # -g $(FCNOOPT) FORMAT_FIXED = -ffixed-form FORMAT_FREE = -ffree-form -ffree-line-length-huge FCSUFFIX = BYTESWAPIO = -fendian=big FCBASEOPTS_NO_G = -Wno=101,139,155,158 $(FORMAT_FREE) $(BYTESWAPIO) FCBASEOPTS = $(FCBASEOPTS_NO_G) $(FCDEBUG) MODULE_SRCH_FLAG = -fmod=$(WRF_SRC_ROOT_DIR)/main TRADFLAG = -traditional CPP = /lib/cpp -C -P AR = ar ARFLAGS = ru M4 = m4 -B 14000 RANLIB = ranlib CC_TOOLS = $(SCC) ########################################################### #ARCH Linux x86_64, PGI compiler with gcc # serial smpar dmpar dm+sm # DMPARALLEL = # 1 OMPCPP = # -D_OPENMP OMP = # -mp -Minfo=mp -Mrecursive OMPCC = # -mp SFC = pgf90 SCC = gcc CCOMP = pgcc DM_FC = mpif90 -f90=$(SFC) DM_CC = mpicc -cc=$(SCC) FC = CONFIGURE_FC CC = CONFIGURE_CC LD = $(FC) RWORDSIZE = CONFIGURE_RWORDSIZE PROMOTION = -r$(RWORDSIZE) -i4 ARCH_LOCAL = -DNONSTANDARD_SYSTEM_SUBR CFLAGS_LOCAL = -w -O3 LDFLAGS_LOCAL = CPLUSPLUSLIB = ESMF_LDFLAG = $(CPLUSPLUSLIB) FCOPTIM = -fastsse -Mvect=noaltcode -Msmartalloc -Mprefetch=distance:8 -Mfprelaxed # -Minfo=all =Mneginfo=all FCREDUCEDOPT = $(FCOPTIM) FCNOOPT = -O0 FCDEBUG = # -g $(FCNOOPT) FORMAT_FIXED = -Mfixed FORMAT_FREE = -Mfree FCSUFFIX = BYTESWAPIO = -byteswapio FCBASEOPTS_NO_G = -w -Kieee -pc 64 -Ktrap=fp $(FORMAT_FREE) $(BYTESWAPIO) $(OMP) FCBASEOPTS = $(FCBASEOPTS_NO_G) $(FCDEBUG) MODULE_SRCH_FLAG = -module $(WRF_SRC_ROOT_DIR)/main TRADFLAG = -traditional CPP = /lib/cpp -C -P AR = ar ARFLAGS = ru M4 = m4 -B 14000 RANLIB = ranlib CC_TOOLS = $(SCC) ########################################################### #ARCH Linux x86_64, PGI accelerator compiler with gcc # serial smpar dmpar dm+sm # DMPARALLEL = # 1 OMPCPP = # -D_OPENMP OMP = # -mp -Minfo=mp -Mrecursive OMPCC = # -mp SFC = pgf90 SCC = gcc CCOMP = pgcc DM_FC = mpif90 -f90=$(SFC) DM_CC = mpicc -cc=$(SCC) FC = CONFIGURE_FC CC = CONFIGURE_CC LD = $(FC) RWORDSIZE = CONFIGURE_RWORDSIZE PROMOTION = -r$(RWORDSIZE) -i4 ARCH_LOCAL = -DNONSTANDARD_SYSTEM_SUBR -D_ACCEL CFLAGS_LOCAL = -w -O3 LDFLAGS_LOCAL = CPLUSPLUSLIB = ESMF_LDFLAG = $(CPLUSPLUSLIB) FCOPTIM = -fastsse -Mvect=noaltcode -Msmartalloc -Mprefetch=distance:8 -ta=nvidia:fastmath,host # -Minfo=all =Mneginfo=all FCREDUCEDOPT = $(FCOPTIM) FCNOOPT = -O0 FCDEBUG = # -g $(FCNOOPT) FORMAT_FIXED = -Mfixed FORMAT_FREE = -Mfree FCSUFFIX = BYTESWAPIO = -byteswapio FCBASEOPTS = -w -Kieee -pc 64 -Ktrap=fp $(FCDEBUG) $(FORMAT_FREE) $(BYTESWAPIO) $(OMP) MODULE_SRCH_FLAG = -module $(WRF_SRC_ROOT_DIR)/main TRADFLAG = -traditional CPP = /lib/cpp -C -P AR = ar ARFLAGS = ru M4 = m4 -B 14000 RANLIB = ranlib CC_TOOLS = $(SCC) ########################################################### #ARCH Linux i486 i586 i686, PGI compiler with gcc #serial smpar dmpar dm+sm # DMPARALLEL = # 1 OMPCPP = # -D_OPENMP OMP = # -mp -Minfo=mp -Mrecursive OMPCC = # -mp SFC = pgf90 SCC = gcc CCOMP = pgcc DM_FC = mpif90 -f90=$(SFC) DM_CC = mpicc -cc=$(SCC) FC = CONFIGURE_FC CC = CONFIGURE_CC LD = $(FC) RWORDSIZE = CONFIGURE_RWORDSIZE PROMOTION = -r$(RWORDSIZE) -i4 ARCH_LOCAL = -DNONSTANDARD_SYSTEM_SUBR CFLAGS_LOCAL = LDFLAGS_LOCAL = CPLUSPLUSLIB = ESMF_LDFLAG = $(CPLUSPLUSLIB) FCOPTIM = -O2 -fast FCREDUCEDOPT = $(FCOPTIM) FCNOOPT = -O0 FCDEBUG = # -g $(FCNOOPT) FORMAT_FIXED = -Mfixed FORMAT_FREE = -Mfree FCSUFFIX = BYTESWAPIO = -byteswapio FCBASEOPTS_NO_G = -w -Kieee $(FORMAT_FREE) $(BYTESWAPIO) $(OMP) FCBASEOPTS = $(FCBASEOPTS_NO_G) $(FCDEBUG) MODULE_SRCH_FLAG = -module $(WRF_SRC_ROOT_DIR)/main TRADFLAG = -traditional CPP = /lib/cpp -C -P AR = ar ARFLAGS = ru M4 = m4 -B 14000 RANLIB = ranlib CC_TOOLS = $(SCC) ########################################################### #ARCH Linux x86_64 i486 i586 i686, ifort compiler with icc #serial smpar dmpar dm+sm # # 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 OMPCC = # -openmp -fpp -auto SFC = ifort SCC = icc CCOMP = icc DM_FC = mpif90 -f90=$(SFC) DM_CC = mpicc -cc=$(SCC) FC = CONFIGURE_FC CC = CONFIGURE_CC LD = $(FC) RWORDSIZE = CONFIGURE_RWORDSIZE PROMOTION = -i4 ARCH_LOCAL = -DNONSTANDARD_SYSTEM_FUNC CFLAGS_LOCAL = -w -O3 -ip LDFLAGS_LOCAL = -ip CPLUSPLUSLIB = ESMF_LDFLAG = $(CPLUSPLUSLIB) FCOPTIM = -O3 -override-limits FCREDUCEDOPT = $(FCOPTIM) FCNOOPT = -O0 -fno-inline -fno-ip FCDEBUG = # -g $(FCNOOPT) -traceback FORMAT_FIXED = -FI FORMAT_FREE = -FR FCSUFFIX = BYTESWAPIO = -convert big_endian FCBASEOPTS_NO_G = -w -ftz -align all -fno-alias -fp-model precise $(FORMAT_FREE) $(BYTESWAPIO) FCBASEOPTS = $(FCBASEOPTS_NO_G) $(FCDEBUG) MODULE_SRCH_FLAG = TRADFLAG = -traditional CPP = /lib/cpp -C -P AR = ar ARFLAGS = ru M4 = m4 RANLIB = ranlib CC_TOOLS = $(SCC) ########################################################### #ARCH ia64 Linux ifort compiler with icc 9.x,10.x #serial smpar dmpar dm+sm # # 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 get Out Of Memory messages, 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 lower # optimization (see examples at the end of this file), # try the -no-ip compiler flag. # # The default configuration is aimed at accuracy. To improve speed # with only negligible effect on floating point accuracy, # consider removing "-fp-model precise" from FCBASEOPTS. If # you are using ifort 9.1.x compiler or earlier, consider # uncommenting the version of the FCBASEOPTS settings that uses # the -IPF-fp-relaxed option. # # If you can tolerate a longer build, change the setting of # FCNOOPT to -O1, for slightly faster performance. # # 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 bin/mpivars.sh file from your Intel MPI installation # before the build. # DMPARALLEL = # 1 OMPCPP = # -D_OPENMP OMP = # -openmp -fpp -auto OMPCC = # -openmp -fpp -auto SFC = ifort SCC = icc CCOMP = icc DM_FC = mpif90 -f90=$(SFC) DM_CC = mpicc -cc=$(SCC) FC = CONFIGURE_FC CC = CONFIGURE_CC LD = $(FC) RWORDSIZE = CONFIGURE_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_NO_G = -w -ftz -align all -fno-alias -fp-model precise $(FORMAT_FREE) $(BYTESWAPIO) #FCBASEOPTS_NO_G = -w -ftz -align all -fno-alias -IPF-fp-relaxed $(FORMAT_FREE) $(BYTESWAPIO) FCBASEOPTS = $(FCBASEOPTS_NO_G) $(FCDEBUG) LIB_LOCAL = -L/usr/lib -lmpi MODULE_SRCH_FLAG = TRADFLAG = -traditional CPP = /lib/cpp -C -P AR = ar ARFLAGS = ru M4 = m4 RANLIB = ranlib CC_TOOLS = $(SCC) ########################################################### #ARCH Linux SGI Altix, ifort compiler with icc 9.x,10.x #serial smpar dmpar dm+sm # # 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. # # If you get Out Of Memory messages, 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 lower # optimization (see examples at the end of this file), # try the -no-ip compiler flag. # # Please visit http://www.intel.com/support/performancetools/sb/cs-028607.htm # for latest info on how to build WRF with Intel compilers. # # The default configuration is aimed at accuracy. To improve speed # with only negligible effect on floating point accuracy, # consider removing "-fp-model precise" from FCBASEOPTS. If # you are using an ifort 9.1.x compiler or earlier, consider # uncommenting the version of the FCBASEOPTS settings that uses # the -IPF-fp-relaxed option. To further improve performance, # add processor-specific options to FCOPTIM (see ifort manpage). # # If you can tolerate a longer build, change the setting of # FCNOOPT to -O1, for slightly faster performance. # # If your SGI MPI library is not installed in the default # locations (/usr/bin, /usr/include, /usr/lib), set MPI_HOME # to be the path to the directory where the SGI MPI bin, # include and lib directories are, and change the DM_FC, # DM_CC and LIB_LOCAL settings as follows: # DM_FC = $(SFC) -I$(MPI_HOME)/include # DM_CC = $(SFC) -I$(MPI_HOME)/include # LIB_LOCAL = -L$(MPI_HOME)/lib -lmpi DMPARALLEL = # 1 OMPCPP = # -D_OPENMP OMP = # -openmp -fpp -auto OMPCC = # -openmp -fpp -auto SFC = ifort SCC = icc CCOMP = icc DM_FC = $(SFC) DM_CC = $(SCC) FC = CONFIGURE_FC CC = CONFIGURE_CC LD = $(FC) RWORDSIZE = CONFIGURE_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_NO_G = -w -ftz -align all -fno-alias -fp-model precise $(FORMAT_FREE) $(BYTESWAPIO) #FCBASEOPTS_NO_G = -w -ftz -align all -fno-alias -IPF-fp-relaxed $(FORMAT_FREE) $(BYTESWAPIO) FCBASEOPTS = $(FCBASEOPTS_NO_G) $(FCDEBUG) LIB_LOCAL = -L/usr/lib -lmpi MODULE_SRCH_FLAG = TRADFLAG = -traditional CPP = /lib/cpp -C -P AR = ar ARFLAGS = ru M4 = m4 RANLIB = ranlib CC_TOOLS = $(SCC) ########################################################### #ARCH Linux i486 i586 i686 x86_64, PathScale compiler with pathcc #serial dmpar # DMPARALLEL = # 1 OMPCPP = # not supported OMP = # not supported OMPCC = # not supported SFC = pathf90 SCC = pathcc CCOMP = pathcc DM_FC = mpif90 -f90=$(SFC) DM_CC = mpicc -cc=$(SCC) FC = CONFIGURE_FC CC = CONFIGURE_CC LD = $(FC) RWORDSIZE = CONFIGURE_RWORDSIZE PROMOTION = -r$(RWORDSIZE) -i4 ARCH_LOCAL = -DNONSTANDARD_SYSTEM_SUBR CFLAGS_LOCAL = LDFLAGS_LOCAL = CPLUSPLUSLIB = ESMF_LDFLAG = $(CPLUSPLUSLIB) FCOPTIM = -O -OPT:Ofast:Olimit=5000 FCREDUCEDOPT = $(FCOPTIM) FCNOOPT = -O0 FCDEBUG = # -g $(FCNOOPT) FORMAT_FIXED = -fixedform FORMAT_FREE = -freeform FCSUFFIX = BYTESWAPIO = -byteswapio FCBASEOPTS_NO_G = -w -fno-second-underscore $(FORMAT_FREE) $(BYTESWAPIO) FCBASEOPTS = $(FCBASEOPTS_NO_G) $(FCDEBUG) MODULE_SRCH_FLAG = -module $(WRF_SRC_ROOT_DIR)/main TRADFLAG = -traditional CPP = /lib/cpp -C -P AR = ar ARFLAGS = ru M4 = m4 -B 14000 RANLIB = ranlib CC_TOOLS = $(SCC) ########################################################### #ARCH x86_64 Linux, gfortran compiler with gcc #serial smpar dmpar dm+sm # DMPARALLEL = # 1 OMPCPP = # -D_OPENMP OMP = # -fopenmp OMPCC = # -fopenmp SFC = gfortran SCC = gcc CCOMP = gcc DM_FC = mpif90 -f90=$(SFC) DM_CC = mpicc -cc=$(SCC) FC = CONFIGURE_FC CC = CONFIGURE_CC LD = $(FC) RWORDSIZE = CONFIGURE_RWORDSIZE PROMOTION = # -fdefault-real-8 # uncomment manually ARCH_LOCAL = -DNONSTANDARD_SYSTEM_SUBR CFLAGS_LOCAL = -w -O3 -c -DLANDREAD_STUB LDFLAGS_LOCAL = CPLUSPLUSLIB = ESMF_LDFLAG = $(CPLUSPLUSLIB) FCOPTIM = -O3 -ftree-vectorize -ftree-loop-linear -funroll-loops FCREDUCEDOPT = $(FCOPTIM) FCNOOPT = -O0 FCDEBUG = # -g $(FCNOOPT) 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 = /lib/cpp -C -P AR = ar ARFLAGS = ru M4 = m4 -G RANLIB = ranlib CC_TOOLS = $(SCC) ########################################################### #ARCH Darwin (MACOS) PGI compiler with pgcc #serial smpar dmpar dm+sm # DMPARALLEL = # 1 OMPCPP = # -D_OPENMP OMP = # -mp -Minfo=mp -Mrecursive OMPCC = # -mp SFC = pgf90 SCC = pgcc CCOMP = pgcc DM_FC = mpif90 -f90=$(SFC) DM_CC = mpicc -cc=$(SCC) FC = CONFIGURE_FC CC = CONFIGURE_CC LD = $(FC) RWORDSIZE = CONFIGURE_RWORDSIZE PROMOTION = -r$(RWORDSIZE) -i4 ARCH_LOCAL = -DMACOS -DNONSTANDARD_SYSTEM_SUBR CFLAGS_LOCAL = -DMACOS LDFLAGS_LOCAL = CPLUSPLUSLIB = ESMF_LDFLAG = $(CPLUSPLUSLIB) FCOPTIM = -O2 -fast FCREDUCEDOPT = $(FCOPTIM) FCNOOPT = -O0 FCDEBUG = # -g $(FCNOOPT) FORMAT_FIXED = -Mfixed FORMAT_FREE = -Mfree FCSUFFIX = BYTESWAPIO = -byteswapio FCBASEOPTS_NO_G = -w -Kieee -Ktrap=fp $(FORMAT_FREE) $(BYTESWAPIO) $(OMP) FCBASEOPTS = $(FCBASEOPTS_NO_G) $(FCDEBUG) MODULE_SRCH_FLAG = -module $(WRF_SRC_ROOT_DIR)/main TRADFLAG = -traditional CPP = cpp -C -P -xassembler-with-cpp AR = ar ARFLAGS = ru M4 = m4 -B 14000 RANLIB = ranlib CC_TOOLS = cc ########################################################### #ARCH Darwin (MACOS) intel compiler with icc #serial smpar dmpar dm+sm # DMPARALLEL = # 1 OMPCPP = # -D_OPENMP OMP = # -openmp -fpp -auto OMPCC = # -openmp -fpp -auto SFC = ifort SCC = icc CCOMP = icc DM_FC = mpif90 -f90=$(SFC) DM_CC = mpicc -cc=$(SCC) FC = CONFIGURE_FC CC = CONFIGURE_CC LD = $(FC) RWORDSIZE = CONFIGURE_RWORDSIZE PROMOTION = -i4 ARCH_LOCAL = -DMACOS -DNONSTANDARD_SYSTEM_FUNC CFLAGS_LOCAL = -w -O3 -ip -DMACOS # increase stack size; also note that for OpenMP, set environment OMP_STACKSIZE 4G or greater LDFLAGS_LOCAL = -ip -Wl,-stack_addr,0xF10000000 -Wl,-stack_size,0x64000000 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 # added -fno-common at suggestion of R. Dubtsov as workaround for failing to link program_name FCBASEOPTS_NO_G = -w -ftz -align all -fno-alias -fp-model precise -fno-common $(FORMAT_FREE) $(BYTESWAPIO) FCBASEOPTS = $(FCBASEOPTS_NO_G) $(FCDEBUG) MODULE_SRCH_FLAG = TRADFLAG = -traditional CPP = cpp -C -P -xassembler-with-cpp AR = ar ARFLAGS = ru M4 = m4 -B 14000 RANLIB = ranlib CC_TOOLS = cc ########################################################### #ARCH Darwin (MACOS) intel compiler with cc #serial smpar dmpar dm+sm # DMPARALLEL = # 1 OMPCPP = # -D_OPENMP OMP = # -openmp -fpp -auto OMPCC = # -openmp SFC = ifort SCC = cc CCOMP = cc DM_FC = mpif90 -f90=$(SFC) DM_CC = mpicc -cc=$(SCC) FC = CONFIGURE_FC CC = CONFIGURE_CC LD = $(FC) RWORDSIZE = CONFIGURE_RWORDSIZE PROMOTION = -i4 ARCH_LOCAL = -DMACOS -DNONSTANDARD_SYSTEM_FUNC CFLAGS_LOCAL = -w -O3 -DMACOS # increase stack size; also note that for OpenMP, set environment OMP_STACKSIZE 4G or greater LDFLAGS_LOCAL = -ip -Wl,-stack_addr,0xF10000000 -Wl,-stack_size,0x64000000 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 # added -fno-common at suggestion of R. Dubtsov as workaround for failing to link program_name FCBASEOPTS_NO_G = -w -ftz -align all -fno-alias -fp-model precise -fno-common $(FORMAT_FREE) $(BYTESWAPIO) FCBASEOPTS = $(FCBASEOPTS_NO_G) $(FCDEBUG) MODULE_SRCH_FLAG = TRADFLAG = -traditional CPP = cpp -C -P -xassembler-with-cpp AR = ar ARFLAGS = ru M4 = m4 -B 14000 RANLIB = ranlib CC_TOOLS = cc ########################################################### #ARCH Darwin (MACOS) g95 with gcc #serial dmpar # DMPARALLEL = # 1 OMPCPP = # not supported OMP = # not supported OMPCC = # not supported SFC = g95 SCC = gcc CCOMP = gcc DM_FC = mpif90 -f90=$(SFC) DM_CC = mpicc -cc=$(SCC) FC = CONFIGURE_FC CC = CONFIGURE_CC LD = $(FC) RWORDSIZE = CONFIGURE_RWORDSIZE PROMOTION = -r$(RWORDSIZE) -i4 ARCH_LOCAL = -DG95 -DMACOS -DF2CSTYLE -DNONSTANDARD_SYSTEM_SUBR -DRCONFIG_CHARLEN=64 CFLAGS_LOCAL = -DMACOS -DF2CSTYLE LDFLAGS_LOCAL = CPLUSPLUSLIB = ESMF_LDFLAG = $(CPLUSPLUSLIB) FCOPTIM = -O2 # -fast FCREDUCEDOPT = $(FCOPTIM) FCNOOPT = -O0 FCDEBUG = # -g $(FCNOOPT) FORMAT_FIXED = -ffixed-form FORMAT_FREE = -ffree-form -ffree-line-length-huge FCSUFFIX = BYTESWAPIO = -fendian=big FCBASEOPTS_NO_G = -Wno=101,139,155,158 $(FORMAT_FREE) $(BYTESWAPIO) FCBASEOPTS = $(FCBASEOPTS_NO_G) $(FCDEBUG) LIB_LOCAL = -L/usr/lib -lSystemStubs MODULE_SRCH_FLAG = -fmod=$(WRF_SRC_ROOT_DIR)/main TRADFLAG = -traditional CPP = cpp -C -P -xassembler-with-cpp AR = ar ARFLAGS = ru M4 = m4 -B 14000 RANLIB = ranlib -c CC_TOOLS = $(SCC) ########################################################### #ARCH Darwin (MACOS) gfortran with gcc #serial smpar dmpar dm+sm # DMPARALLEL = # 1 OMPCPP = # -D_OPENMP OMP = # -fopenmp OMPCC = # -fopenmp SFC = gfortran SCC = gcc CCOMP = gcc DM_FC = mpif90 -f90=$(SFC) DM_CC = mpicc -cc=$(SCC) FC = CONFIGURE_FC CC = CONFIGURE_CC LD = $(FC) RWORDSIZE = CONFIGURE_RWORDSIZE PROMOTION = # -fdefault-real-8 # uncomment manually ARCH_LOCAL = -DNONSTANDARD_SYSTEM_SUBR -DMACOS CFLAGS_LOCAL = -w -O3 -c -DLANDREAD_STUB -DMACOS LDFLAGS_LOCAL = CPLUSPLUSLIB = ESMF_LDFLAG = $(CPLUSPLUSLIB) FCOPTIM = -O3 -ftree-vectorize -ftree-loop-linear -funroll-loops FCREDUCEDOPT = $(FCOPTIM) FCNOOPT = -O0 FCDEBUG = # -g $(FCNOOPT) 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 = cpp -C -P -xassembler-with-cpp AR = ar ARFLAGS = ru M4 = m4 -B 14000 RANLIB = ranlib CC_TOOLS = $(SCC) ########################################################### #ARCH Darwin (MACOS) xlf #serial dmpar # DMPARALLEL = # 1 OMPCPP = # not supported OMP = # not supported OMPCC = # not supported SFC = xlf90_r SCC = cc CCOMP = cc DM_FC = mpif90 -f90=$(SFC) DM_CC = mpicc -cc=$(SCC) FC = CONFIGURE_FC CC = CONFIGURE_CC LD = $(FC) RWORDSIZE = CONFIGURE_RWORDSIZE PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4 ARCH_LOCAL = -DMAC_KLUDGE -DF2CSTYLE -DNONSTANDARD_SYSTEM_SUBR CFLAGS_LOCAL = -DMACOS -DF2CSTYLE LDFLAGS_LOCAL = CPLUSPLUSLIB = ESMF_LDFLAG = $(CPLUSPLUSLIB) CPLUSPLUSLIB = ESMF_LDFLAG = $(CPLUSPLUSLIB) FCOPTIM = -O3 -qarch=auto FCREDUCEDOPT = $(FCOPTIM) FCNOOPT = -qnoopt FCDEBUG = # -g $(FCNOOPT) -qfullpath FORMAT_FIXED = -qfixed FORMAT_FREE = -qfree=f90 FCSUFFIX = -qsuffix=f=f90 BYTESWAPIO = FCBASEOPTS_NO_G = -qsave -qmaxmem=32767 -qspillsize=32767 -w FCBASEOPTS = $(FCBASEOPTS_NO_G) $(FCDEBUG) MODULE_SRCH_FLAG = -fmod=$(WRF_SRC_ROOT_DIR)/main TRADFLAG = CPP = cpp -C -P AR = ar ARFLAGS = ru M4 = m4 -B 14000 RANLIB = ranlib CC_TOOLS = $(SCC) ########################################################### #ARCH AIX xlf compiler with xlc #serial smpar dmpar dm+sm # DMPARALLEL = # 1 OMPCPP = # -D_OPENMP OMP = # -qsmp=noauto OMPCC = # -qsmp=noauto SFC = xlf90_r SCC = cc_r SC99 = c99_r CCOMP = cc_r DM_FC = mpxlf90_r DM_CC = mpcc_r FC = CONFIGURE_FC CC = CONFIGURE_CC LD = $(FC) RWORDSIZE = CONFIGURE_RWORDSIZE PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4 ARCH_LOCAL = -DNONSTANDARD_SYSTEM_SUBR -DNATIVE_MASSV CFLAGS_LOCAL = -DNOUNDERSCORE LDFLAGS_LOCAL = -lmass -lmassv CPLUSPLUSLIB = -lC ESMF_LDFLAG = $(CPLUSPLUSLIB) # -qhot commented out in 3.0.1.1 release because of reported problems with # model results under certain configurations. Use at your own risk. FCOPTIM = -O3 -qalias_size=209715200 # -qhot FCREDUCEDOPT = -O2 FCNOOPT = -qnoopt FCDEBUG = # -g $(FCNOOPT) -qfullpath FORMAT_FIXED = -qfixed FORMAT_FREE = -qfree=f90 FCSUFFIX = -qsuffix=f=f90 BYTESWAPIO = FCBASEOPTS_NO_G = -w -qspill=20000 -qmaxmem=-1 $(FORMAT_FREE) $(BYTESWAPIO) #-qflttrap=zerodivide:invalid:enable -qsigtrap -C # -qinitauto=7FF7FFFF FCBASEOPTS = $(FCBASEOPTS_NO_G) $(FCDEBUG) MODULE_SRCH_FLAG = TRADFLAG = CPP = /lib/cpp -C -P AR = ar ARFLAGS = ru M4 = m4 -B 14000 RANLIB = ranlib CC_TOOLS = cc ########################################################### #ARCH Cray XT CLE/Linux x86_64, PGI compiler with gcc # serial dmpar smpar dm+sm # # Recommended CLE/Linux memory allocation settings at run time: # export MALLOC_MMAP_MAX_=0 # export MALLOC_TRIM_THRESHOLD_=536870912 # DMPARALLEL = # 1 OMPCPP = # -D_OPENMP OMP = # -mp -Mrecursive OMPCC = # -mp SFC = ftn SCC = gcc CCOMP = pgcc DM_FC = ftn DM_CC = gcc -I$(MPICH_DIR)/include FC = CONFIGURE_FC CC = CONFIGURE_CC LD = $(FC) RWORDSIZE = CONFIGURE_RWORDSIZE PROMOTION = -r$(RWORDSIZE) -i4 ARCH_LOCAL = -DNONSTANDARD_SYSTEM_SUBR CFLAGS_LOCAL = -w -O3 LDFLAGS_LOCAL = # module load libfast to use Cray XT fast math library #LIB_LOCAL = -lfast_mv CPLUSPLUSLIB = ESMF_LDFLAG = $(CPLUSPLUSLIB) # PGI recommended FCOPTIM = -O3 -fast -Mvect=noaltcode -Mprefetch=distance:8 -Mfprelaxed # For Pathscale compiler #FCOPTIM = -O3 -OPT:Ofast FCREDUCEDOPT = $(FCOPTIM) FCNOOPT = -O0 OPTERON_TYPE = # Use this for AMD Opteron quad-core #OPTERON_TYPE = -tp barcelona-64 #OPTERON_TYPE = -tp shanghai-64 # Use this for AMD Opteron six-way Istanbul #OPTERON_TYPE = -tp istanbul FCDEBUG = # -g $(FCNOOPT) FORMAT_FIXED = -Mfixed FORMAT_FREE = -Mfree # For Pathscale compiler #OPTERON_TYPE = -march=barcelona -msse4a #FORMAT_FIXED = -fixedform #FORMAT_FREE = -freeform FCSUFFIX = BYTESWAPIO = -byteswapio FCBASEOPTS_NO_G = -w $(FORMAT_FREE) $(BYTESWAPIO) $(OPTERON_TYPE) $(OMP) FCBASEOPTS = $(FCBASEOPTS_NO_G) $(FCDEBUG) MODULE_SRCH_FLAG = TRADFLAG = -traditional CPP = /lib/cpp -C -P $(TRADFLAG) AR = ar ARFLAGS = ru M4 = m4 -B 14000 RANLIB = ranlib CC_TOOLS = $(SCC) ########################################################### #ARCH Cray XT CLE/Linux x86_64, Cray CCE compiler with gcc # serial dmpar smpar dm+sm # # Recommended CLE/Linux memory allocation settings at run time: # export MALLOC_MMAP_MAX_=0 # export MALLOC_TRIM_THRESHOLD_=536870912 # DMPARALLEL = # 1 OMPCPP = # -D_OPENMP OMP = # -Oomp OMPCC = # -fopenmp SFC = ftn SCC = gcc CCOMP = gcc DM_FC = ftn DM_CC = gcc -I$(MPICH_DIR)/include FC = CONFIGURE_FC CC = CONFIGURE_CC LD = $(FC) RWORDSIZE = CONFIGURE_RWORDSIZE PROMOTION = -s integer32 -s real32 ARCH_LOCAL = -DNONSTANDARD_SYSTEM_SUBR CFLAGS_LOCAL = -w -O3 LDFLAGS_LOCAL = # module load libfast #LIB_LOCAL = -lfast_mv CPLUSPLUSLIB = ESMF_LDFLAG = $(CPLUSPLUSLIB) FCOPTIM = FCREDUCEDOPT = $(FCOPTIM) FCNOOPT = -O1 -Oipa0 OPTERON_TYPE = FCDEBUG = # -g $(FCNOOPT) FORMAT_FIXED = -f fixed FORMAT_FREE = -f free FCSUFFIX = BYTESWAPIO = -h byteswapio FCBASEOPTS_NO_G = -N255 -Onomodinline -em -Onoomp $(FORMAT_FREE) $(BYTESWAPIO) $(OPTERON_TYPE) $(OMP) FCBASEOPTS = $(FCBASEOPTS_NO_G) $(FCDEBUG) MODULE_SRCH_FLAG = TRADFLAG = -traditional CPP = /lib/cpp -C -P $(TRADFLAG) AR = ar ARFLAGS = ru M4 = m4 -B 14000 RANLIB = ranlib CC_TOOLS = $(SCC) ########################################################### #ARCH Linux ppc64 BG /L blxlf compiler with blxlc # dmpar # DMPARALLEL = # 1 OMPCPP = # not supported OMP = # not supported OMPCC = # not supported BGL_SYS = /bgl/BlueLight/ppcfloor/bglsys MPI_INC = -I$(BGL_SYS)/include MPI_LIB = -L$(BGL_SYS)/lib -lmpich.rts -lmsglayer.rts -lrts.rts -ldevices.rts SFC = blrts_xlf90 SCC = blrts_xlc CCOMP = blrts_xlc DM_FC = $(SFC) DM_CC = $(SCC) FC = CONFIGURE_FC CC = CONFIGURE_CC LD = $(FC) RWORDSIZE = CONFIGURE_RWORDSIZE PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4 # If system has even more processors, set VERY_LARGE_MAXPROC to that number ARCH_LOCAL = -DMOVE_NL_OUTSIDE_MODULE_CONFIGURE -DNONSTANDARD_SYSTEM_SUBR -DLANDREAD_STUB -DVERY_LARGE_MAXPROC=36768 -DBLUEGENE CFLAGS_LOCAL = -DNOUNDERSCORE -DNCARIBM_NOC99 $(MPI_INC) -DLANDREAD_STUB LIB_LOCAL = $(MPI_LIB) LDFLAGS_LOCAL = -Wl,--allow-multiple-definition -qstatic CPLUSPLUSLIB = ESMF_LDFLAG = $(CPLUSPLUSLIB) FCOPTIM = -O2 -qarch=440 FCNOOPT = -qnoopt FCDEBUG = # $(FCNOOPT) -qfullpath FORMAT_FIXED = -qfixed FORMAT_FREE = -qfree=f90 FCSUFFIX = -qsuffix=f=f90 BYTESWAPIO = FCBASEOPTS_NO_G = -w -qspill=20000 -qmaxmem=64000 $(FORMAT_FREE) $(BYTESWAPIO) $(MPI_INC) #-qflttrap=zerodivide:invalid:enable -qsigtrap FCBASEOPTS = $(FCBASEOPTS_NO_G) $(FCDEBUG) MODULE_SRCH_FLAG = TRADFLAG = # this might be different on different systems but we want the xlf version of cpp, not Linux's # NYBlue CPP = /opt/ibmcmp/xlf/bg/10.1/exe/cpp -C -P # frost.ucar.edu CPP = /opt/ibmcmp/xlf/9.1/exe/cpp -C -P AR = ar ARFLAGS = ru M4 = m4 -B 14000 RANLIB = ranlib CC_TOOLS = cc ########################################################### #ARCH Linux ppc64 BG /P xlf compiler with xlc # smpar dmpar dm+sm # developed on surveyor.alcf.anl.gov (thanks to ANL/ALCF) # DMPARALLEL = # 1 OMPCPP = # -D_OPENMP OMP = # -qsmp=noauto OMPCC = # -qsmp=noauto # these have to be the same as DM_FC on surveyor or it fails with weird errors in time manager SFC = mpixlf90_r SCC = mpixlc_r CCOMP = mpixlc_r DM_FC = mpixlf90_r DM_CC = mpixlc_r -DMPI2_SUPPORT FC = $(DM_FC) CC = $(DM_CC) -DFSEEKO64_OK LD = $(FC) RWORDSIZE = CONFIGURE_RWORDSIZE PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4 # If system has even more processors, set VERY_LARGE_MAXPROC to that number ARCH_LOCAL = -DMOVE_NL_OUTSIDE_MODULE_CONFIGURE -DNONSTANDARD_SYSTEM_SUBR -DLANDREAD_STUB -DVERY_LARGE_MAXPROC=36768 -DBLUEGENE CFLAGS_LOCAL = -DNOUNDERSCORE -DLANDREAD_STUB LIB_LOCAL = LDFLAGS_LOCAL = -Wl,--allow-multiple-definition,--relax -qstatic CPLUSPLUSLIB = ESMF_LDFLAG = $(CPLUSPLUSLIB) FCOPTIM = -O3 -qnoipa -qarch=auto -qcache=auto -qtune=auto FCNOOPT = -qnoopt FCDEBUG = # $(FCNOOPT) -g -qfullpath FORMAT_FIXED = -qfixed FORMAT_FREE = -qfree=f90 FCSUFFIX = -qsuffix=f=f90 BYTESWAPIO = FCBASEOPTS_NO_G = -w -qspill=20000 -qmaxmem=64000 $(FORMAT_FREE) $(BYTESWAPIO) #-qflttrap=zerodivide:invalid:enable -qsigtrap FCBASEOPTS = $(FCBASEOPTS_NO_G) $(FCDEBUG) MODULE_SRCH_FLAG = TRADFLAG = # this might be different on different systems but we want the xlf version of cpp, not Linux's # surveyor.alcf.anl.gov CPP = /opt/ibmcmp/xlf/bg/11.1/exe/cpp -C -P AR = ar ARFLAGS = ru M4 = m4 -B 14000 RANLIB = ranlib CC_TOOLS = cc ########################################################### #ARCH Linux ppc64 IBM Blade Server xlf compiler with xlc # dmpar # provided by Luis C. Cana Cascallar for IBM JS21 blade server, May 2009 # DMPARALLEL = # 1 OMPCPP = # not supported OMP = # not supported OMPCC = # not supported SFC = xlf90_r -q64 SCC = xlc_r -q64 CCOMP = xlc_r -q64 DM_FC = mpif90 -q64 DM_CC = mpicc -q64 -DMPI2_SUPPORT -DFSEEKO64_OK FC = CONFIGURE_FC CC = CONFIGURE_CC LD = $(FC) RWORDSIZE = CONFIGURE_RWORDSIZE PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4 # If system has even more processors, set VERY_LARGE_MAXPROC to that number ARCH_LOCAL = -DMOVE_NL_OUTSIDE_MODULE_CONFIGURE -DNONSTANDARD_SYSTEM_SUBR -DLANDREAD_STUB -DVERY_LARGE_MAXPROC=36768 CFLAGS_LOCAL = -DNOUNDERSCORE -DLANDREAD_STUB LDFLAGS_LOCAL = CPLUSPLUSLIB = -lC ESMF_LDFLAG = $(CPLUSPLUSLIB) FCOPTIM = -O3 -qtune=ppc970 -qarch=ppc970 FCNOOPT = -qnoopt FCDEBUG = # -g $(FCNOOPT) -qfullpath FORMAT_FIXED = -qfixed FORMAT_FREE = -qfree=f90 FCSUFFIX = -qsuffix=f=f90 BYTESWAPIO = FCBASEOPTS_NO_G = -w -qspill=20000 -qmaxmem=32767 $(FORMAT_FREE) $(BYTESWAPIO) #-qflttrap=zerodivide:invalid:enable -qsigtrap FCBASEOPTS = $(FCBASEOPTS_NO_G) $(FCDEBUG) MODULE_SRCH_FLAG = TRADFLAG = # this might be different on different systems but we want the xlf version of cpp, not Linux CPP = /opt/ibmcmp/xlf/11.1/exe/cpp -C -P AR = ar ARFLAGS = ru M4 = m4 -B 14000 RANLIB = ranlib CC_TOOLS = xlc -q64 ########################################################### #ARCH CYGWIN_NT i686, PGI compiler on Windows # serial smpar dmpar dm+sm # DMPARALLEL = # 1 OMPCPP = # -D_OPENMP OMP = # -mp -Minfo=mp OMPCC = # -mp SFC = pgf90 SCC = pgcc CCOMP = pgcc DM_FC = pgf90 -Mmpi=msmpi DM_CC = pgcc -Mmpi=msmpi FC = CONFIGURE_FC CC = CONFIGURE_CC LD = $(FC) RWORDSIZE = CONFIGURE_RWORDSIZE PROMOTION = -r$(RWORDSIZE) -i4 ARCH_LOCAL = -DNONSTANDARD_SYSTEM_SUBR -D_WIN32 CFLAGS_LOCAL = -w -O3 -DMEMCPY_FOR_BCOPY -DLANDREAD_STUB LDFLAGS_LOCAL = Ws2_32.lib # -lnetcdff CPLUSPLUSLIB = ESMF_LDFLAG = $(CPLUSPLUSLIB) FCOPTIM = -fastsse -Mvect=noaltcode -Mprefetch=distance:8 -Mfprelaxed -tp core2-64 # -Minfo=all FCREDUCEDOPT = $(FCOPTIM) FCNOOPT = -O0 FCDEBUG = # -g $(FCNOOPT) FORMAT_FIXED = -Mfixed FORMAT_FREE = -Mfree FCSUFFIX = BYTESWAPIO = -byteswapio FCBASEOPTS_NO_G = -w $(FORMAT_FREE) $(BYTESWAPIO) FCBASEOPTS = $(FCBASEOPTS_NO_G) $(FCDEBUG) MODULE_SRCH_FLAG= -module $(WRF_SRC_ROOT_DIR)/main TRADFLAG = CPP = pgprepro AR = ar ARFLAGS = cr M4 = NA RANLIB = ranlib CC_TOOLS = $(SCC) LIB_EXTERNAL = \ ../external/io_netcdf/libwrfio_nf.a CONFIGURE_NETCDF_PATH/lib/libnetcdf.lib \ ../external/wavelet/libWavelet.a ../external/wavelet/lib_wavelet.a ESMF_IO_LIB = ../external/esmf_time_f90/libesmf_time.a LIB_BUNDLED = \ ../external/fftpack/fftpack5/libfftpack.a \ ../external/io_grib1/libio_grib1.a \ ../external/io_grib_share/libio_grib_share.a \ ../external/io_int/libwrfio_int.a \ $(ESMF_IO_LIB) \ CONFIGURE_COMMS_LIB \ ../frame/module_internal_header_util.o \ ../frame/pack_utils.o ########################################################### #ARCH NULL