2 ###########################################################
3 #ARCH Linux i486 i586 i686, gfortran compiler with gcc #serial smpar dmpar dm+sm
12 DM_FC = mpif90 -f90=$(SFC)
13 DM_CC = mpicc -cc=$(SCC)
17 RWORDSIZE = CONFIGURE_RWORDSIZE
18 PROMOTION = # -fdefault-real-8 # uncomment manually
19 ARCH_LOCAL = -DNONSTANDARD_SYSTEM_SUBR
20 CFLAGS_LOCAL = -w -O3 -c -DLANDREAD_STUB
23 ESMF_LDFLAG = $(CPLUSPLUSLIB)
24 FCOPTIM = -O3 -ftree-vectorize -ftree-loop-linear -funroll-loops
25 FCREDUCEDOPT = $(FCOPTIM)
27 FCDEBUG = # -g $(FCNOOPT)
28 FORMAT_FIXED = -ffixed-form
29 FORMAT_FREE = -ffree-form -ffree-line-length-none
31 BYTESWAPIO = -fconvert=big-endian -frecord-marker=4
32 FCBASEOPTS_NO_G = -w $(FORMAT_FREE) $(BYTESWAPIO)
33 FCBASEOPTS = $(FCBASEOPTS_NO_G) $(FCDEBUG)
35 TRADFLAG = -traditional
43 ###########################################################
44 #ARCH Linux i486 i586 i686, g95 compiler with gcc #serial dmpar
47 OMPCPP = # not supported
49 OMPCC = # not supported
53 DM_FC = mpif90 -f90=$(SFC)
54 DM_CC = mpicc -cc=$(SCC)
58 RWORDSIZE = CONFIGURE_RWORDSIZE
59 PROMOTION = -r$(RWORDSIZE) -i4
60 ARCH_LOCAL = -DF2CSTYLE -DNONSTANDARD_SYSTEM_SUBR
61 CFLAGS_LOCAL = -DF2CSTYLE
64 ESMF_LDFLAG = $(CPLUSPLUSLIB)
66 FCREDUCEDOPT = $(FCOPTIM)
68 FCDEBUG = # -g $(FCNOOPT)
69 FORMAT_FIXED = -ffixed-form
70 FORMAT_FREE = -ffree-form -ffree-line-length-huge
72 BYTESWAPIO = -fendian=big
73 FCBASEOPTS_NO_G = -Wno=101,139,155,158 $(FORMAT_FREE) $(BYTESWAPIO)
74 FCBASEOPTS = $(FCBASEOPTS_NO_G) $(FCDEBUG)
75 MODULE_SRCH_FLAG = -fmod=$(WRF_SRC_ROOT_DIR)/main
76 TRADFLAG = -traditional
84 ###########################################################
85 #ARCH Linux x86_64, PGI compiler with gcc # serial smpar dmpar dm+sm
89 OMP = # -mp -Minfo=mp -Mrecursive
94 DM_FC = mpif90 -f90=$(SFC)
95 DM_CC = mpicc -cc=$(SCC)
99 RWORDSIZE = CONFIGURE_RWORDSIZE
100 PROMOTION = -r$(RWORDSIZE) -i4
101 ARCH_LOCAL = -DNONSTANDARD_SYSTEM_SUBR
102 CFLAGS_LOCAL = -w -O3
105 ESMF_LDFLAG = $(CPLUSPLUSLIB)
106 FCOPTIM = -fastsse -Mvect=noaltcode -Msmartalloc -Mprefetch=distance:8 -Mfprelaxed # -Minfo=all =Mneginfo=all
107 FCREDUCEDOPT = $(FCOPTIM)
109 FCDEBUG = # -g $(FCNOOPT)
110 FORMAT_FIXED = -Mfixed
113 BYTESWAPIO = -byteswapio
114 FCBASEOPTS_NO_G = -w $(FORMAT_FREE) $(BYTESWAPIO) $(OMP)
115 FCBASEOPTS = $(FCBASEOPTS_NO_G) $(FCDEBUG)
116 MODULE_SRCH_FLAG = -module $(WRF_SRC_ROOT_DIR)/main
117 TRADFLAG = -traditional
125 ###########################################################
126 #ARCH Linux x86_64, PGI accelerator compiler with gcc # serial smpar dmpar dm+sm
130 OMP = # -mp -Minfo=mp -Mrecursive
135 DM_FC = mpif90 -f90=$(SFC)
136 DM_CC = mpicc -cc=$(SCC)
140 RWORDSIZE = CONFIGURE_RWORDSIZE
141 PROMOTION = -r$(RWORDSIZE) -i4
142 ARCH_LOCAL = -DNONSTANDARD_SYSTEM_SUBR -D_ACCEL
143 CFLAGS_LOCAL = -w -O3
146 ESMF_LDFLAG = $(CPLUSPLUSLIB)
147 FCOPTIM = -fastsse -Mvect=noaltcode -Msmartalloc -Mprefetch=distance:8 -ta=nvidia:fastmath,host # -Minfo=all =Mneginfo=all
148 FCREDUCEDOPT = $(FCOPTIM)
150 FCDEBUG = # -g $(FCNOOPT)
151 FORMAT_FIXED = -Mfixed
154 BYTESWAPIO = -byteswapio
155 FCBASEOPTS = -w $(FCDEBUG) $(FORMAT_FREE) $(BYTESWAPIO) $(OMP)
156 MODULE_SRCH_FLAG = -module $(WRF_SRC_ROOT_DIR)/main
157 TRADFLAG = -traditional
165 ###########################################################
166 #ARCH Linux i486 i586 i686, PGI compiler with gcc #serial smpar dmpar dm+sm
170 OMP = # -mp -Minfo=mp -Mrecursive
175 DM_FC = mpif90 -f90=$(SFC)
176 DM_CC = mpicc -cc=$(SCC)
180 RWORDSIZE = CONFIGURE_RWORDSIZE
181 PROMOTION = -r$(RWORDSIZE) -i4
182 ARCH_LOCAL = -DNONSTANDARD_SYSTEM_SUBR
186 ESMF_LDFLAG = $(CPLUSPLUSLIB)
188 FCREDUCEDOPT = $(FCOPTIM)
190 FCDEBUG = # -g $(FCNOOPT)
191 FORMAT_FIXED = -Mfixed
194 BYTESWAPIO = -byteswapio
195 FCBASEOPTS_NO_G = -w $(FORMAT_FREE) $(BYTESWAPIO) $(OMP)
196 FCBASEOPTS = $(FCBASEOPTS_NO_G) $(FCDEBUG)
197 MODULE_SRCH_FLAG = -module $(WRF_SRC_ROOT_DIR)/main
198 TRADFLAG = -traditional
206 ###########################################################
207 #ARCH Linux x86_64 i486 i586 i686, ifort compiler with icc #serial smpar dmpar dm+sm
209 # By default, some files are compiled without optimizations to speed up compilation. Removing
210 # respective makefile rules in the end of this file will result in longer compilation time, and, possibly
211 # Out Of Memory messages, but might produce binaries which are substantially faster.
213 # Please visit http://www.intel.com/support/performancetools/sb/cs-028607.htm
214 # for latest info on how to build WRF with Intel compilers.
216 # If you got Out Of Memory message, there are several options:
217 # 1. Check your memory limits (ulimit -a), possibly increasing swap partitions size.
218 # 2. Remove any debugging flags (-g, -check, -traceback).
219 # 3. Force the problematic file to be compiled with less optimizations (see examples at the
220 # end of this file), try -no-ip compiler flag.
222 # This configuration is aimed at accuracy. To improve performance (at the expence of accuracy) you might
223 # consider removing '-fp-model precise' flag from FCBASEOPTS. This enables non value-safe optimizations.
224 # Another option is to add '-ftz' flag, which flushes denormal results to zero when the application is in
225 # the gradual underflow mode. It may improve performance if the denormal values are not critical to the
226 # behavior of your workload. To further improve performance, add suitable vectorization options for your
227 # processor to FCOPTIM (see ifort manpage).
229 # If you have Intel MPI installed and wish to use instead, make the
230 # following changes to settings below:
233 # and source bin64/mpivars.sh file from your Intel MPI installation
238 OMP = # -openmp -fpp -auto
239 OMPCC = # -openmp -fpp -auto
243 DM_FC = mpif90 -f90=$(SFC)
244 DM_CC = mpicc -cc=$(SCC)
248 RWORDSIZE = CONFIGURE_RWORDSIZE
250 ARCH_LOCAL = -DNONSTANDARD_SYSTEM_FUNC
251 CFLAGS_LOCAL = -w -O3 -ip
254 ESMF_LDFLAG = $(CPLUSPLUSLIB)
256 FCREDUCEDOPT = $(FCOPTIM)
257 FCNOOPT = -O0 -fno-inline -fno-ip
258 FCDEBUG = # -g $(FCNOOPT) -traceback
262 BYTESWAPIO = -convert big_endian
263 FCBASEOPTS_NO_G = -w -ftz -align all -fno-alias -fp-model precise $(FORMAT_FREE) $(BYTESWAPIO)
264 FCBASEOPTS = $(FCBASEOPTS_NO_G) $(FCDEBUG)
266 TRADFLAG = -traditional
274 ###########################################################
275 #ARCH ia64 Linux ifort compiler with icc 9.x,10.x #serial smpar dmpar dm+sm
277 # By default, some files are compiled without optimizations to
278 # speed up compilation. Removing respective makefile rules in the
279 # end of this file will result in longer compilation time, and,
280 # possibly Out Of Memory messages, but might produce binaries
281 # which are substantially faster.
283 # Please visit http://www.intel.com/support/performancetools/sb/cs-028607.htm
284 # for latest info on how to build WRF with Intel compilers.
286 # If you get Out Of Memory messages, there are several options:
287 # 1. Check your memory limits (ulimit -a), possibly increasing
288 # swap partitions size.
289 # 2. Remove any debugging flags (-g, -check, -traceback).
290 # 3. Force the problematic file to be compiled with lower
291 # optimization (see examples at the end of this file),
292 # try the -no-ip compiler flag.
294 # The default configuration is aimed at accuracy. To improve speed
295 # with only negligible effect on floating point accuracy,
296 # consider removing "-fp-model precise" from FCBASEOPTS. If
297 # you are using ifort 9.1.x compiler or earlier, consider
298 # uncommenting the version of the FCBASEOPTS settings that uses
299 # the -IPF-fp-relaxed option.
301 # If you can tolerate a longer build, change the setting of
302 # FCNOOPT to -O1, for slightly faster performance.
304 # If you have Intel MPI installed and wish to use instead, make the
305 # following changes to settings below:
308 # and source bin/mpivars.sh file from your Intel MPI installation
314 OMP = # -openmp -fpp -auto
315 OMPCC = # -openmp -fpp -auto
319 DM_FC = mpif90 -f90=$(SFC)
320 DM_CC = mpicc -cc=$(SCC)
324 RWORDSIZE = CONFIGURE_RWORDSIZE
326 ARCH_LOCAL = -DNONSTANDARD_SYSTEM_FUNC
327 CFLAGS_LOCAL = -w -O3 -ip
330 ESMF_LDFLAG = $(CPLUSPLUSLIB)
332 FCREDUCEDOPT = $(FCOPTIM)
333 FCNOOPT = -O0 -fno-inline -fno-ip
334 FCDEBUG = # -g $(FCNOOPT) -traceback
338 BYTESWAPIO = -convert big_endian
339 FCBASEOPTS_NO_G = -w -ftz -align all -fno-alias -fp-model precise $(FORMAT_FREE) $(BYTESWAPIO)
340 #FCBASEOPTS_NO_G = -w -ftz -align all -fno-alias -IPF-fp-relaxed $(FORMAT_FREE) $(BYTESWAPIO)
341 FCBASEOPTS = $(FCBASEOPTS_NO_G) $(FCDEBUG)
342 LIB_LOCAL = -L/usr/lib -lmpi
344 TRADFLAG = -traditional
352 ###########################################################
353 #ARCH Linux SGI Altix, ifort compiler with icc 9.x,10.x #serial smpar dmpar dm+sm
355 # By default, some files are compiled without optimizations to
356 # speed up compilation. Removing respective makefile rules in the
357 # end of this file will result in longer compilation time, and,
358 # possibly Out Of Memory messages, but might produce binaries
359 # which are substantially faster.
361 # If you get Out Of Memory messages, there are several options:
362 # 1. Check your memory limits (ulimit -a), possibly increasing
363 # swap partitions size.
364 # 2. Remove any debugging flags (-g, -check, -traceback).
365 # 3. Force the problematic file to be compiled with lower
366 # optimization (see examples at the end of this file),
367 # try the -no-ip compiler flag.
369 # Please visit http://www.intel.com/support/performancetools/sb/cs-028607.htm
370 # for latest info on how to build WRF with Intel compilers.
372 # The default configuration is aimed at accuracy. To improve speed
373 # with only negligible effect on floating point accuracy,
374 # consider removing "-fp-model precise" from FCBASEOPTS. If
375 # you are using an ifort 9.1.x compiler or earlier, consider
376 # uncommenting the version of the FCBASEOPTS settings that uses
377 # the -IPF-fp-relaxed option. To further improve performance,
378 # add processor-specific options to FCOPTIM (see ifort manpage).
380 # If you can tolerate a longer build, change the setting of
381 # FCNOOPT to -O1, for slightly faster performance.
383 # If your SGI MPI library is not installed in the default
384 # locations (/usr/bin, /usr/include, /usr/lib), set MPI_HOME
385 # to be the path to the directory where the SGI MPI bin,
386 # include and lib directories are, and change the DM_FC,
387 # DM_CC and LIB_LOCAL settings as follows:
388 # DM_FC = $(SFC) -I$(MPI_HOME)/include
389 # DM_CC = $(SFC) -I$(MPI_HOME)/include
390 # LIB_LOCAL = -L$(MPI_HOME)/lib -lmpi
394 OMP = # -openmp -fpp -auto
395 OMPCC = # -openmp -fpp -auto
404 RWORDSIZE = CONFIGURE_RWORDSIZE
406 ARCH_LOCAL = -DNONSTANDARD_SYSTEM_FUNC
407 CFLAGS_LOCAL = -w -O3 -ip
410 ESMF_LDFLAG = $(CPLUSPLUSLIB)
412 FCREDUCEDOPT = $(FCOPTIM)
413 FCNOOPT = -O0 -fno-inline -fno-ip
414 FCDEBUG = # -g $(FCNOOPT) -traceback
418 BYTESWAPIO = -convert big_endian
419 FCBASEOPTS_NO_G = -w -ftz -align all -fno-alias -fp-model precise $(FORMAT_FREE) $(BYTESWAPIO)
420 #FCBASEOPTS_NO_G = -w -ftz -align all -fno-alias -IPF-fp-relaxed $(FORMAT_FREE) $(BYTESWAPIO)
421 FCBASEOPTS = $(FCBASEOPTS_NO_G) $(FCDEBUG)
422 LIB_LOCAL = -L/usr/lib -lmpi
424 TRADFLAG = -traditional
432 ###########################################################
433 #ARCH Linux i486 i586 i686 x86_64, PathScale compiler with pathcc #serial dmpar
436 OMPCPP = # not supported
437 OMP = # not supported
438 OMPCC = # not supported
442 DM_FC = mpif90 -f90=$(SFC)
443 DM_CC = mpicc -cc=$(SCC)
447 RWORDSIZE = CONFIGURE_RWORDSIZE
448 PROMOTION = -r$(RWORDSIZE) -i4
449 ARCH_LOCAL = -DNONSTANDARD_SYSTEM_SUBR
453 ESMF_LDFLAG = $(CPLUSPLUSLIB)
454 FCOPTIM = -O -OPT:Ofast:Olimit=5000
455 FCREDUCEDOPT = $(FCOPTIM)
457 FCDEBUG = # -g $(FCNOOPT)
458 FORMAT_FIXED = -fixedform
459 FORMAT_FREE = -freeform
461 BYTESWAPIO = -byteswapio
462 FCBASEOPTS_NO_G = -w -fno-second-underscore $(FORMAT_FREE) $(BYTESWAPIO)
463 FCBASEOPTS = $(FCBASEOPTS_NO_G) $(FCDEBUG)
464 MODULE_SRCH_FLAG = -module $(WRF_SRC_ROOT_DIR)/main
465 TRADFLAG = -traditional
473 ###########################################################
474 #ARCH x86_64 Linux, gfortran compiler with gcc #serial smpar dmpar dm+sm
483 DM_FC = mpif90 -f90=$(SFC)
484 DM_CC = mpicc -cc=$(SCC)
488 RWORDSIZE = CONFIGURE_RWORDSIZE
489 PROMOTION = # -fdefault-real-8 # uncomment manually
490 ARCH_LOCAL = -DNONSTANDARD_SYSTEM_SUBR
491 CFLAGS_LOCAL = -w -O3 -c -DLANDREAD_STUB
494 ESMF_LDFLAG = $(CPLUSPLUSLIB)
495 FCOPTIM = -O3 -ftree-vectorize -ftree-loop-linear -funroll-loops
496 FCREDUCEDOPT = $(FCOPTIM)
498 FCDEBUG = # -g $(FCNOOPT)
499 FORMAT_FIXED = -ffixed-form
500 FORMAT_FREE = -ffree-form -ffree-line-length-none
502 BYTESWAPIO = -fconvert=big-endian -frecord-marker=4
503 FCBASEOPTS_NO_G = -w $(FORMAT_FREE) $(BYTESWAPIO)
504 FCBASEOPTS = $(FCBASEOPTS_NO_G) $(FCDEBUG)
506 TRADFLAG = -traditional
514 ###########################################################
515 #ARCH Darwin (MACOS) PGI compiler with pgcc #serial smpar dmpar dm+sm
519 OMP = # -mp -Minfo=mp -Mrecursive
524 DM_FC = mpif90 -f90=$(SFC)
525 DM_CC = mpicc -cc=$(SCC)
529 RWORDSIZE = CONFIGURE_RWORDSIZE
530 PROMOTION = -r$(RWORDSIZE) -i4
531 ARCH_LOCAL = -DMACOS -DNONSTANDARD_SYSTEM_SUBR
532 CFLAGS_LOCAL = -DMACOS
535 ESMF_LDFLAG = $(CPLUSPLUSLIB)
537 FCREDUCEDOPT = $(FCOPTIM)
539 FCDEBUG = # -g $(FCNOOPT)
540 FORMAT_FIXED = -Mfixed
543 BYTESWAPIO = -byteswapio
544 FCBASEOPTS_NO_G = -w $(FORMAT_FREE) $(BYTESWAPIO) $(OMP)
545 FCBASEOPTS = $(FCBASEOPTS_NO_G) $(FCDEBUG)
546 MODULE_SRCH_FLAG = -module $(WRF_SRC_ROOT_DIR)/main
547 TRADFLAG = -traditional
548 CPP = cpp -C -P -xassembler-with-cpp
555 ###########################################################
556 #ARCH Darwin (MACOS) intel compiler with icc #serial smpar dmpar dm+sm
560 OMP = # -openmp -fpp -auto
561 OMPCC = # -openmp -fpp -auto
565 DM_FC = mpif90 -f90=$(SFC)
566 DM_CC = mpicc -cc=$(SCC)
570 RWORDSIZE = CONFIGURE_RWORDSIZE
572 ARCH_LOCAL = -DMACOS -DNONSTANDARD_SYSTEM_FUNC
573 CFLAGS_LOCAL = -w -O3 -ip -DMACOS
574 # increase stack size; also note that for OpenMP, set environment OMP_STACKSIZE 4G or greater
575 LDFLAGS_LOCAL = -ip -Wl,-stack_addr,0xF10000000 -Wl,-stack_size,0x64000000
577 ESMF_LDFLAG = $(CPLUSPLUSLIB)
579 FCREDUCEDOPT = $(FCOPTIM)
580 FCNOOPT = -O0 -fno-inline -fno-ip
581 FCDEBUG = # -g $(FCNOOPT) -traceback
585 BYTESWAPIO = -convert big_endian
586 # added -fno-common at suggestion of R. Dubtsov as workaround for failing to link program_name
587 FCBASEOPTS_NO_G = -w -ftz -align all -fno-alias -fp-model precise -fno-common $(FORMAT_FREE) $(BYTESWAPIO)
588 FCBASEOPTS = $(FCBASEOPTS_NO_G) $(FCDEBUG)
590 TRADFLAG = -traditional
591 CPP = cpp -C -P -xassembler-with-cpp
598 ###########################################################
599 #ARCH Darwin (MACOS) intel compiler with cc #serial smpar dmpar dm+sm
603 OMP = # -openmp -fpp -auto
608 DM_FC = mpif90 -f90=$(SFC)
609 DM_CC = mpicc -cc=$(SCC)
613 RWORDSIZE = CONFIGURE_RWORDSIZE
615 ARCH_LOCAL = -DMACOS -DNONSTANDARD_SYSTEM_FUNC
616 CFLAGS_LOCAL = -w -O3 -DMACOS
617 # increase stack size; also note that for OpenMP, set environment OMP_STACKSIZE 4G or greater
618 LDFLAGS_LOCAL = -ip -Wl,-stack_addr,0xF10000000 -Wl,-stack_size,0x64000000
620 ESMF_LDFLAG = $(CPLUSPLUSLIB)
622 FCREDUCEDOPT = $(FCOPTIM)
623 FCNOOPT = -O0 -fno-inline -fno-ip
624 FCDEBUG = # -g $(FCNOOPT) -traceback
628 BYTESWAPIO = -convert big_endian
629 # added -fno-common at suggestion of R. Dubtsov as workaround for failing to link program_name
630 FCBASEOPTS_NO_G = -w -ftz -align all -fno-alias -fp-model precise -fno-common $(FORMAT_FREE) $(BYTESWAPIO)
631 FCBASEOPTS = $(FCBASEOPTS_NO_G) $(FCDEBUG)
633 TRADFLAG = -traditional
634 CPP = cpp -C -P -xassembler-with-cpp
641 ###########################################################
642 #ARCH Darwin (MACOS) g95 with gcc #serial dmpar
645 OMPCPP = # not supported
646 OMP = # not supported
647 OMPCC = # not supported
651 DM_FC = mpif90 -f90=$(SFC)
652 DM_CC = mpicc -cc=$(SCC)
656 RWORDSIZE = CONFIGURE_RWORDSIZE
657 PROMOTION = -r$(RWORDSIZE) -i4
658 ARCH_LOCAL = -DG95 -DMACOS -DF2CSTYLE -DNONSTANDARD_SYSTEM_SUBR -DRCONFIG_CHARLEN=64
659 CFLAGS_LOCAL = -DMACOS -DF2CSTYLE
662 ESMF_LDFLAG = $(CPLUSPLUSLIB)
663 FCOPTIM = -O2 # -fast
664 FCREDUCEDOPT = $(FCOPTIM)
666 FCDEBUG = # -g $(FCNOOPT)
667 FORMAT_FIXED = -ffixed-form
668 FORMAT_FREE = -ffree-form -ffree-line-length-huge
670 BYTESWAPIO = -fendian=big
671 FCBASEOPTS_NO_G = -Wno=101,139,155,158 $(FORMAT_FREE) $(BYTESWAPIO)
672 FCBASEOPTS = $(FCBASEOPTS_NO_G) $(FCDEBUG)
673 LIB_LOCAL = -L/usr/lib -lSystemStubs
674 MODULE_SRCH_FLAG = -fmod=$(WRF_SRC_ROOT_DIR)/main
675 TRADFLAG = -traditional
676 CPP = cpp -C -P -xassembler-with-cpp
683 ###########################################################
684 #ARCH Darwin (MACOS) gfortran with gcc #serial smpar dmpar dm+sm
693 DM_FC = mpif90 -f90=$(SFC)
694 DM_CC = mpicc -cc=$(SCC)
698 RWORDSIZE = CONFIGURE_RWORDSIZE
699 PROMOTION = # -fdefault-real-8 # uncomment manually
700 ARCH_LOCAL = -DNONSTANDARD_SYSTEM_SUBR -DMACOS
701 CFLAGS_LOCAL = -w -O3 -c -DLANDREAD_STUB -DMACOS
704 ESMF_LDFLAG = $(CPLUSPLUSLIB)
705 FCOPTIM = -O3 -ftree-vectorize -ftree-loop-linear -funroll-loops
706 FCREDUCEDOPT = $(FCOPTIM)
708 FCDEBUG = # -g $(FCNOOPT)
709 FORMAT_FIXED = -ffixed-form
710 FORMAT_FREE = -ffree-form -ffree-line-length-none
712 BYTESWAPIO = -fconvert=big-endian -frecord-marker=4
713 FCBASEOPTS_NO_G = -w $(FORMAT_FREE) $(BYTESWAPIO)
714 FCBASEOPTS = $(FCBASEOPTS_NO_G) $(FCDEBUG)
716 TRADFLAG = -traditional
717 CPP = cpp -C -P -xassembler-with-cpp
724 ###########################################################
725 #ARCH Darwin (MACOS) xlf #serial dmpar
728 OMPCPP = # not supported
729 OMP = # not supported
730 OMPCC = # not supported
734 DM_FC = mpif90 -f90=$(SFC)
735 DM_CC = mpicc -cc=$(SCC)
739 RWORDSIZE = CONFIGURE_RWORDSIZE
740 PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4
741 ARCH_LOCAL = -DMAC_KLUDGE -DF2CSTYLE -DNONSTANDARD_SYSTEM_SUBR
742 CFLAGS_LOCAL = -DMACOS -DF2CSTYLE
745 ESMF_LDFLAG = $(CPLUSPLUSLIB)
747 ESMF_LDFLAG = $(CPLUSPLUSLIB)
748 FCOPTIM = -O3 -qarch=auto
749 FCREDUCEDOPT = $(FCOPTIM)
751 FCDEBUG = # -g $(FCNOOPT) -qfullpath
752 FORMAT_FIXED = -qfixed
753 FORMAT_FREE = -qfree=f90
754 FCSUFFIX = -qsuffix=f=f90
756 FCBASEOPTS_NO_G = -qsave -qmaxmem=32767 -qspillsize=32767 -w
757 FCBASEOPTS = $(FCBASEOPTS_NO_G) $(FCDEBUG)
758 MODULE_SRCH_FLAG = -fmod=$(WRF_SRC_ROOT_DIR)/main
767 ###########################################################
768 #ARCH AIX xlf compiler with xlc #serial smpar dmpar dm+sm
773 OMPCC = # -qsmp=noauto
783 RWORDSIZE = CONFIGURE_RWORDSIZE
784 PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4
785 ARCH_LOCAL = -DNONSTANDARD_SYSTEM_SUBR -DNATIVE_MASSV
786 CFLAGS_LOCAL = -DNOUNDERSCORE
787 LDFLAGS_LOCAL = -lmass -lmassv
789 ESMF_LDFLAG = $(CPLUSPLUSLIB)
790 # -qhot commented out in 3.0.1.1 release because of reported problems with
791 # model results under certain configurations. Use at your own risk.
792 FCOPTIM = -O3 # -qhot
795 FCDEBUG = # -g $(FCNOOPT) -qfullpath
796 FORMAT_FIXED = -qfixed
797 FORMAT_FREE = -qfree=f90
798 FCSUFFIX = -qsuffix=f=f90
800 FCBASEOPTS_NO_G = -w -qspill=20000 -qmaxmem=32767 $(FORMAT_FREE) $(BYTESWAPIO) #-qflttrap=zerodivide:invalid:enable -qsigtrap -C # -qinitauto=7FF7FFFF
801 FCBASEOPTS = $(FCBASEOPTS_NO_G) $(FCDEBUG)
811 ###########################################################
812 #ARCH Cray XT CLE/Linux x86_64, PGI compiler with gcc # serial dmpar smpar dm+sm
814 # Recommended CLE/Linux memory allocation settings at run time:
815 # export MALLOC_MMAP_MAX_=0
816 # export MALLOC_TRIM_THRESHOLD_=536870912
820 OMP = # -mp -Mrecursive
826 DM_CC = gcc -I$(MPICH_DIR)/include
830 RWORDSIZE = CONFIGURE_RWORDSIZE
831 PROMOTION = -r$(RWORDSIZE) -i4
832 ARCH_LOCAL = -DNONSTANDARD_SYSTEM_SUBR
833 CFLAGS_LOCAL = -w -O3
835 # module load libfast to use Cray XT fast math library
836 #LIB_LOCAL = -lfast_mv
838 ESMF_LDFLAG = $(CPLUSPLUSLIB)
840 FCOPTIM = -O3 -fast -Mvect=noaltcode -Mprefetch=distance:8 -Mfprelaxed
841 # For Pathscale compiler
842 #FCOPTIM = -O3 -OPT:Ofast
843 FCREDUCEDOPT = $(FCOPTIM)
846 # Use this for AMD Opteron quad-core
847 #OPTERON_TYPE = -tp barcelona-64
848 #OPTERON_TYPE = -tp shanghai-64
849 # Use this for AMD Opteron six-way Istanbul
850 #OPTERON_TYPE = -tp istanbul
851 FCDEBUG = # -g $(FCNOOPT)
852 FORMAT_FIXED = -Mfixed
854 # For Pathscale compiler
855 #OPTERON_TYPE = -march=barcelona -msse4a
856 #FORMAT_FIXED = -fixedform
857 #FORMAT_FREE = -freeform
859 BYTESWAPIO = -byteswapio
860 FCBASEOPTS_NO_G = -w $(FORMAT_FREE) $(BYTESWAPIO) $(OPTERON_TYPE) $(OMP)
861 FCBASEOPTS = $(FCBASEOPTS_NO_G) $(FCDEBUG)
863 TRADFLAG = -traditional
864 CPP = /lib/cpp -C -P $(TRADFLAG)
871 ###########################################################
872 #ARCH Cray XT CLE/Linux x86_64, Cray CCE compiler with gcc # serial dmpar smpar dm+sm
874 # Recommended CLE/Linux memory allocation settings at run time:
875 # export MALLOC_MMAP_MAX_=0
876 # export MALLOC_TRIM_THRESHOLD_=536870912
886 DM_CC = gcc -I$(MPICH_DIR)/include
890 RWORDSIZE = CONFIGURE_RWORDSIZE
891 PROMOTION = -s integer32 -s real32
892 ARCH_LOCAL = -DNONSTANDARD_SYSTEM_SUBR
893 CFLAGS_LOCAL = -w -O3
895 # module load libfast
896 #LIB_LOCAL = -lfast_mv
898 ESMF_LDFLAG = $(CPLUSPLUSLIB)
900 FCREDUCEDOPT = $(FCOPTIM)
903 FCDEBUG = # -g $(FCNOOPT)
904 FORMAT_FIXED = -f fixed
905 FORMAT_FREE = -f free
907 BYTESWAPIO = -h byteswapio
908 FCBASEOPTS_NO_G = -N255 -Onomodinline -em -Onoomp $(FORMAT_FREE) $(BYTESWAPIO) $(OPTERON_TYPE) $(OMP)
909 FCBASEOPTS = $(FCBASEOPTS_NO_G) $(FCDEBUG)
911 TRADFLAG = -traditional
912 CPP = /lib/cpp -C -P $(TRADFLAG)
919 ###########################################################
920 #ARCH Linux ppc64 BG /L blxlf compiler with blxlc # dmpar
923 OMPCPP = # not supported
924 OMP = # not supported
925 OMPCC = # not supported
926 BGL_SYS = /bgl/BlueLight/ppcfloor/bglsys
927 MPI_INC = -I$(BGL_SYS)/include
928 MPI_LIB = -L$(BGL_SYS)/lib -lmpich.rts -lmsglayer.rts -lrts.rts -ldevices.rts
937 RWORDSIZE = CONFIGURE_RWORDSIZE
938 PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4
939 # If system has even more processors, set VERY_LARGE_MAXPROC to that number
940 ARCH_LOCAL = -DMOVE_NL_OUTSIDE_MODULE_CONFIGURE -DNONSTANDARD_SYSTEM_SUBR -DLANDREAD_STUB -DVERY_LARGE_MAXPROC=36768 -DBLUEGENE
941 CFLAGS_LOCAL = -DNOUNDERSCORE -DNCARIBM_NOC99 $(MPI_INC) -DLANDREAD_STUB
942 LIB_LOCAL = $(MPI_LIB)
943 LDFLAGS_LOCAL = -Wl,--allow-multiple-definition -qstatic
945 ESMF_LDFLAG = $(CPLUSPLUSLIB)
946 FCOPTIM = -O2 -qarch=440
948 FCDEBUG = # $(FCNOOPT) -qfullpath
949 FORMAT_FIXED = -qfixed
950 FORMAT_FREE = -qfree=f90
951 FCSUFFIX = -qsuffix=f=f90
953 FCBASEOPTS_NO_G = -w -qspill=20000 -qmaxmem=64000 $(FORMAT_FREE) $(BYTESWAPIO) $(MPI_INC) #-qflttrap=zerodivide:invalid:enable -qsigtrap
954 FCBASEOPTS = $(FCBASEOPTS_NO_G) $(FCDEBUG)
957 # this might be different on different systems but we want the xlf version of cpp, not Linux's
959 CPP = /opt/ibmcmp/xlf/bg/10.1/exe/cpp -C -P
961 CPP = /opt/ibmcmp/xlf/9.1/exe/cpp -C -P
967 ###########################################################
968 #ARCH Linux ppc64 BG /P xlf compiler with xlc # smpar dmpar dm+sm
969 # developed on surveyor.alcf.anl.gov (thanks to ANL/ALCF)
974 OMPCC = # -qsmp=noauto
975 # these have to be the same as DM_FC on surveyor or it fails with weird errors in time manager
980 DM_CC = mpixlc_r -DMPI2_SUPPORT
982 CC = $(DM_CC) -DFSEEKO64_OK
984 RWORDSIZE = CONFIGURE_RWORDSIZE
985 PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4
986 # If system has even more processors, set VERY_LARGE_MAXPROC to that number
987 ARCH_LOCAL = -DMOVE_NL_OUTSIDE_MODULE_CONFIGURE -DNONSTANDARD_SYSTEM_SUBR -DLANDREAD_STUB -DVERY_LARGE_MAXPROC=36768 -DBLUEGENE
988 CFLAGS_LOCAL = -DNOUNDERSCORE -DLANDREAD_STUB
990 LDFLAGS_LOCAL = -Wl,--allow-multiple-definition,--relax -qstatic
992 ESMF_LDFLAG = $(CPLUSPLUSLIB)
993 FCOPTIM = -O3 -qnoipa -qarch=auto -qcache=auto -qtune=auto
995 FCDEBUG = # $(FCNOOPT) -g -qfullpath
996 FORMAT_FIXED = -qfixed
997 FORMAT_FREE = -qfree=f90
998 FCSUFFIX = -qsuffix=f=f90
1000 FCBASEOPTS_NO_G = -w -qspill=20000 -qmaxmem=64000 $(FORMAT_FREE) $(BYTESWAPIO) #-qflttrap=zerodivide:invalid:enable -qsigtrap
1001 FCBASEOPTS = $(FCBASEOPTS_NO_G) $(FCDEBUG)
1004 # this might be different on different systems but we want the xlf version of cpp, not Linux's
1005 # surveyor.alcf.anl.gov
1006 CPP = /opt/ibmcmp/xlf/bg/11.1/exe/cpp -C -P
1012 ###########################################################
1013 #ARCH Linux ppc64 IBM Blade Server xlf compiler with xlc # dmpar
1014 # provided by Luis C. Cana Cascallar for IBM JS21 blade server, May 2009
1017 OMPCPP = # not supported
1018 OMP = # not supported
1019 OMPCC = # not supported
1024 DM_CC = mpicc -q64 -DMPI2_SUPPORT -DFSEEKO64_OK
1028 RWORDSIZE = CONFIGURE_RWORDSIZE
1029 PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4
1030 # If system has even more processors, set VERY_LARGE_MAXPROC to that number
1031 ARCH_LOCAL = -DMOVE_NL_OUTSIDE_MODULE_CONFIGURE -DNONSTANDARD_SYSTEM_SUBR -DLANDREAD_STUB -DVERY_LARGE_MAXPROC=36768
1032 CFLAGS_LOCAL = -DNOUNDERSCORE -DLANDREAD_STUB
1035 ESMF_LDFLAG = $(CPLUSPLUSLIB)
1036 FCOPTIM = -O3 -qtune=ppc970 -qarch=ppc970
1038 FCDEBUG = # -g $(FCNOOPT) -qfullpath
1039 FORMAT_FIXED = -qfixed
1040 FORMAT_FREE = -qfree=f90
1041 FCSUFFIX = -qsuffix=f=f90
1043 FCBASEOPTS_NO_G = -w -qspill=20000 -qmaxmem=32767 $(FORMAT_FREE) $(BYTESWAPIO) #-qflttrap=zerodivide:invalid:enable -qsigtrap
1044 FCBASEOPTS = $(FCBASEOPTS_NO_G) $(FCDEBUG)
1047 # this might be different on different systems but we want the xlf version of cpp, not Linux
1048 CPP = /opt/ibmcmp/xlf/11.1/exe/cpp -C -P
1054 ###########################################################
1055 #ARCH CYGWIN_NT i686, PGI compiler on Windows # serial smpar dmpar dm+sm
1058 OMPCPP = # -D_OPENMP
1059 OMP = # -mp -Minfo=mp
1064 DM_FC = pgf90 -Mmpi=msmpi
1065 DM_CC = pgcc -Mmpi=msmpi
1069 RWORDSIZE = CONFIGURE_RWORDSIZE
1070 PROMOTION = -r$(RWORDSIZE) -i4
1071 ARCH_LOCAL = -DNONSTANDARD_SYSTEM_SUBR -D_WIN32
1072 CFLAGS_LOCAL = -w -O3 -DMEMCPY_FOR_BCOPY -DLANDREAD_STUB
1073 LDFLAGS_LOCAL = Ws2_32.lib # -lnetcdff
1075 ESMF_LDFLAG = $(CPLUSPLUSLIB)
1076 FCOPTIM = -fastsse -Mvect=noaltcode -Mprefetch=distance:8 -Mfprelaxed -tp core2-64 # -Minfo=all
1077 FCREDUCEDOPT = $(FCOPTIM)
1079 FCDEBUG = # -g $(FCNOOPT)
1080 FORMAT_FIXED = -Mfixed
1081 FORMAT_FREE = -Mfree
1083 BYTESWAPIO = -byteswapio
1084 FCBASEOPTS_NO_G = -w $(FORMAT_FREE) $(BYTESWAPIO)
1085 FCBASEOPTS = $(FCBASEOPTS_NO_G) $(FCDEBUG)
1086 MODULE_SRCH_FLAG= -module $(WRF_SRC_ROOT_DIR)/main
1096 ../external/io_netcdf/libwrfio_nf.a CONFIGURE_NETCDF_PATH/lib/libnetcdf.lib \
1097 ../external/wavelet/libWavelet.a ../external/wavelet/lib_wavelet.a
1098 ESMF_IO_LIB = ../external/esmf_time_f90/libesmf_time.a
1100 ../external/fftpack/fftpack5/libfftpack.a \
1101 ../external/io_grib1/libio_grib1.a \
1102 ../external/io_grib_share/libio_grib_share.a \
1103 ../external/io_int/libwrfio_int.a \
1105 CONFIGURE_COMMS_LIB \
1106 ../frame/module_internal_header_util.o \
1107 ../frame/pack_utils.o
1110 ###########################################################