Merge remote-tracking branch 'origin/release-v4.6.1'
[WRF.git] / arch / configure.defaults
blob8874630057a24c5afd04152e882321c8e3d2357c
1 ###########################################################
2 #ARCH    Linux i486 i586 i686,  NEC SX sxf90 sxcc #serial smpar dmpar dm+sm
4 DESCRIPTION     =       NEC SX ($SFC/$SCC)
5 DMPARALLEL      =       # 1
6 OMPCPP          =       # -D_OPENMP
7 OMP             =       # -Popenmp
8 OMPCC           =       # -Popenmp
9 SFC             =       sxf90
10 SCC             =       sxcc
11 CCOMP           =       sxcc
12 DM_FC           =       sxmpif90
13 DM_CC           =       sxmpic++
14 FC              =       CONFIGURE_FC
15 CC              =       CONFIGURE_CC
16 LD              =       $(FC)
17 RWORDSIZE       =       CONFIGURE_RWORDSIZE
18 PROMOTION       =       #-fdefault-real-8
19 ARCH_LOCAL      =       -DNEC -DNONSTANDARD_SYSTEM_SUBR CONFIGURE_D_CTSM
20 CFLAGS_LOCAL    =       -c   # -DRSL0_ONLY
21 #-DNCARIBM_NOC99 -Xa -Kc99
22 LDFLAGS_LOCAL   =       -Wl,-h nodefs
23 CPLUSPLUSLIB    =       
24 ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
25 FCOPTIM         =       -w -Chopt -Wf'-M noflunf -M nozdiv' -Wf,-L fmtlist transform,-pvctl fullmsg loopcnt=1000000 -f4 -Wf,-P i
26 FCREDUCEDOPT    =       $(FCOPTIM)
27 FCNOOPT         =       -Cssafe
28 FCDEBUG         =       # -g $(FCNOOPT)
29 FORMAT_FIXED    =       -w -f3
30 FORMAT_FREE     =       -w -f4
31 FCSUFFIX        =       
32 BYTESWAPIO      =       #-FIX_BYTE_SWAP_IF_NECESSARY_FOR_BIG_ENDIAN
33 FCBASEOPTS_NO_G =       -w -Wf'-M noflunf -M nozdiv' $(FORMAT_FREE) $(BYTESWAPIO)
34 FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
35 MODULE_SRCH_FLAG =      -I/SX/usr/include/module/dwdadW64/
36 TRADFLAG        =      CONFIGURE_TRADFLAG
37 CPP             =      /lib/cpp CONFIGURE_CPPFLAGS
38 AR              =      sxar
39 ARFLAGS         =      ru
40 M4              =      m4 -B 14000
41 RANLIB          =      ls
42 RLFLAGS         =       
43 #ranlib
44 CC_TOOLS        =      cc 
45 NETCDFPAR_BUILD =      CONFIGURE_NETCDFPAR_BUILD 
47 ###########################################################
48 #ARCH    Linux i486 i586 i686 armv7l aarch64, gfortran compiler with gcc #serial smpar dmpar dm+sm
50 DESCRIPTION     =       GNU ($SFC/$SCC)
51 DMPARALLEL      =       # 1
52 OMPCPP          =       # -D_OPENMP
53 OMP             =       # -fopenmp
54 OMPCC           =       # -fopenmp
55 SFC             =       gfortran
56 SCC             =       gcc
57 CCOMP           =       gcc
58 DM_FC           =       mpif90 -f90=$(SFC)
59 DM_CC           =       mpicc -cc=$(SCC)
60 FC              =       CONFIGURE_FC
61 CC              =       CONFIGURE_CC
62 LD              =       $(FC)
63 RWORDSIZE       =       CONFIGURE_RWORDSIZE
64 PROMOTION       =       #-fdefault-real-8
65 ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_SUBR  CONFIGURE_D_CTSM
66 CFLAGS_LOCAL    =       -w -O3 -c  # -DRSL0_ONLY
67 LDFLAGS_LOCAL   =
68 CPLUSPLUSLIB    =       
69 ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
70 FCOPTIM         =       -O2 -ftree-vectorize -funroll-loops
71 FCREDUCEDOPT    =       $(FCOPTIM)
72 FCNOOPT         =       -O0
73 FCDEBUG         =       # -g $(FCNOOPT)  # -fbacktrace -ggdb -fcheck=bounds,do,mem,pointer -ffpe-trap=invalid,zero,overflow
74 FORMAT_FIXED    =       -ffixed-form
75 FORMAT_FREE     =       -ffree-form -ffree-line-length-none
76 FCSUFFIX        =       
77 FCCOMPAT        =       
78 BYTESWAPIO      =       -fconvert=big-endian -frecord-marker=4
79 FCBASEOPTS_NO_G =       -w $(FORMAT_FREE) $(BYTESWAPIO) $(FCCOMPAT)
80 FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
81 MODULE_SRCH_FLAG =
82 TRADFLAG        =      CONFIGURE_TRADFLAG
83 CPP             =      /lib/cpp CONFIGURE_CPPFLAGS
84 AR              =      ar
85 ARFLAGS         =      ru
86 M4              =      m4 -B 14000
87 RANLIB          =      ranlib
88 RLFLAGS         =       
89 CC_TOOLS        =      $(SCC) 
90 NETCDFPAR_BUILD =      CONFIGURE_NETCDFPAR_BUILD
92 ###########################################################
93 #ARCH    Linux i486 i586 i686, g95 compiler with gcc #serial dmpar
95 DESCRIPTION     =       GNU ($SFC/$SCC)
96 DMPARALLEL      =       # 1
97 OMPCPP          =       # not supported
98 OMP             =       # not supported
99 OMPCC           =       # not supported
100 SFC             =       g95
101 SCC             =       gcc
102 CCOMP           =       gcc
103 DM_FC           =       mpif90 -f90=$(SFC)
104 DM_CC           =       mpicc -cc=$(SCC)
105 FC              =       CONFIGURE_FC
106 CC              =       CONFIGURE_CC
107 LD              =       $(FC)
108 RWORDSIZE       =       CONFIGURE_RWORDSIZE
109 PROMOTION       =       -r$(RWORDSIZE) -i4
110 ARCH_LOCAL      =       -DF2CSTYLE -DNONSTANDARD_SYSTEM_SUBR  CONFIGURE_D_CTSM
111 CFLAGS_LOCAL    =       -DF2CSTYLE # -DRSL0_ONLY
112 LDFLAGS_LOCAL   =
113 CPLUSPLUSLIB    =       
114 ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
115 FCOPTIM         =       -O2 #-fast
116 FCREDUCEDOPT    =       $(FCOPTIM)
117 FCNOOPT         =       -O0
118 FCDEBUG         =       # -g $(FCNOOPT)
119 FORMAT_FIXED    =       -ffixed-form
120 FORMAT_FREE     =       -ffree-form -ffree-line-length-huge
121 FCSUFFIX        =
122 BYTESWAPIO      =       -fendian=big
123 FCBASEOPTS_NO_G =       -Wno=101,139,155,158 $(FORMAT_FREE) $(BYTESWAPIO)
124 FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
125 MODULE_SRCH_FLAG =     -fmod=$(WRF_SRC_ROOT_DIR)/main
126 TRADFLAG        =      CONFIGURE_TRADFLAG
127 CPP             =      /lib/cpp CONFIGURE_CPPFLAGS
128 AR              =      ar
129 ARFLAGS         =      ru
130 M4              =      m4 -B 14000
131 RANLIB          =      ranlib
132 RLFLAGS         =       
133 CC_TOOLS        =      $(SCC) 
134 NETCDFPAR_BUILD =      CONFIGURE_NETCDFPAR_BUILD
136 ###########################################################
137 #ARCH    Linux x86_64 ppc64le i486 i586 i686, PGI compiler with gcc # serial smpar dmpar dm+sm
139 DESCRIPTION     =       PGI ($SFC/$SCC)
140 DMPARALLEL      =       # 1
141 OMPCPP          =       # -D_OPENMP
142 OMP             =       # -mp -Minfo=mp -Mrecursive
143 OMPCC           =       # -mp
144 SFC             =       pgf90
145 SCC             =       gcc
146 CCOMP           =       pgcc
147 DM_FC           =       mpif90
148 DM_CC           =       mpicc
149 FC              =       CONFIGURE_FC
150 CC              =       CONFIGURE_CC
151 LD              =       $(FC)
152 RWORDSIZE       =       CONFIGURE_RWORDSIZE
153 PROMOTION       =       -r$(RWORDSIZE) -i4
154 ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_SUBR  CONFIGURE_D_CTSM
155 CFLAGS_LOCAL    =       -w -O3 # -DRSL0_ONLY
156 LDFLAGS_LOCAL   =       
157 CPLUSPLUSLIB    =       
158 ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
159 FCOPTIM         =       -O3 #-fastsse -Mvect=noaltcode -Msmartalloc -Mprefetch=distance:8 -Mfprelaxed # -Minfo=all =Mneginfo=all
160 FCREDUCEDOPT    =       $(FCOPTIM)
161 FCNOOPT         =       -O0
162 FCDEBUG         =       # -g $(FCNOOPT)  # -C -Ktrap=fp -traceback
163 FORMAT_FIXED    =       -Mfixed
164 FORMAT_FREE     =       -Mfree
165 FCSUFFIX        =
166 BYTESWAPIO      =       -byteswapio
167 FCBASEOPTS_NO_G =       -w $(FORMAT_FREE) $(BYTESWAPIO) $(OMP) # -Kieee -pc 64 -Ktrap=fp
168 FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
169 MODULE_SRCH_FLAG =     -module $(WRF_SRC_ROOT_DIR)/main
170 TRADFLAG        =      CONFIGURE_TRADFLAG
171 CPP             =      /lib/cpp CONFIGURE_CPPFLAGS
172 AR              =      ar
173 ARFLAGS         =      ru
174 M4              =      m4 -B 14000
175 RANLIB          =      ranlib
176 RLFLAGS         =       
177 CC_TOOLS        =      $(SCC) 
178 NETCDFPAR_BUILD =      CONFIGURE_NETCDFPAR_BUILD
180 ###########################################################
181 #ARCH    Linux x86_64 ppc64le, PGI compiler with pgcc, SGI MPT # serial smpar dmpar dm+sm
183 DESCRIPTION     =       PGI ($SFC/$SCC): SGI MPT
184 DMPARALLEL      =       # 1
185 OMPCPP          =       # -D_OPENMP
186 OMP             =       # -mp -Minfo=mp -Mrecursive
187 OMPCC           =       # -mp
188 SFC             =       pgf90
189 SCC             =       pgcc
190 CCOMP           =       pgcc
191 DM_FC           =       $(SFC) -I$(MPI_ROOT)/include
192 DM_CC           =       $(SCC) -I$(MPI_ROOT)/include
193 FC              =       CONFIGURE_FC
194 CC              =       CONFIGURE_CC
195 LD              =       $(FC)
196 RWORDSIZE       =       CONFIGURE_RWORDSIZE
197 PROMOTION       =       -r$(RWORDSIZE) -i4
198 ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_SUBR  CONFIGURE_D_CTSM
199 CFLAGS_LOCAL    =       -w -O3 # -DRSL0_ONLY
200 LDFLAGS_LOCAL   =       -L$(MPI_ROOT)/lib -lmpi
201 CPLUSPLUSLIB    =       
202 ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
203 FCOPTIM         =       -O3 #-fastsse -Mvect=noaltcode -Msmartalloc -Mprefetch=distance:8 -Mfprelaxed # -Minfo=all =Mneginfo=all
204 FCREDUCEDOPT    =       $(FCOPTIM)
205 FCNOOPT         =       -O0
206 FCDEBUG         =       # -g $(FCNOOPT) # -C -Ktrap=fp -traceback
207 FORMAT_FIXED    =       -Mfixed
208 FORMAT_FREE     =       -Mfree
209 FCSUFFIX        =
210 BYTESWAPIO      =       -byteswapio
211 FCBASEOPTS_NO_G =       -w $(FORMAT_FREE) $(BYTESWAPIO) $(OMP) # -Kieee -pc 64 -Ktrap=fp
212 FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
213 MODULE_SRCH_FLAG =     -module $(WRF_SRC_ROOT_DIR)/main
214 TRADFLAG        =      CONFIGURE_TRADFLAG
215 CPP             =      /lib/cpp CONFIGURE_CPPFLAGS
216 AR              =      ar
217 ARFLAGS         =      ru
218 M4              =      m4 -B 14000
219 RANLIB          =      ranlib
220 RLFLAGS         =       
221 CC_TOOLS        =      $(SCC) 
222 NETCDFPAR_BUILD =      CONFIGURE_NETCDFPAR_BUILD
224 ###########################################################
225 #ARCH    Linux x86_64 ppc64le, PGI accelerator compiler with gcc # serial smpar dmpar dm+sm
227 DESCRIPTION     =       PGI ($SFC/$SCC): PGI accelerator
228 DMPARALLEL      =       # 1
229 OMPCPP          =       # -D_OPENMP
230 OMP             =       # -mp -Minfo=mp -Mrecursive
231 OMPCC           =       # -mp
232 SFC             =       pgf90
233 SCC             =       gcc
234 CCOMP           =       pgcc
235 DM_FC           =       mpif90
236 DM_CC           =       mpicc
237 FC              =       CONFIGURE_FC
238 CC              =       CONFIGURE_CC
239 LD              =       $(FC)
240 RWORDSIZE       =       CONFIGURE_RWORDSIZE
241 PROMOTION       =       -r$(RWORDSIZE) -i4
242 ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_SUBR -D_ACCEL  CONFIGURE_D_CTSM
243 CFLAGS_LOCAL    =       -w -O3 # -DRSL0_ONLY
244 LDFLAGS_LOCAL   =
245 CPLUSPLUSLIB    =
246 ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
247 FCOPTIM         =       -Kieee -acc -ta=nvidia,fastmath,cuda5.0,cc35 -Mcuda -fastsse -Mvect=noaltcode -Msmartalloc -Mprefetch=distance:8  # -Minfo=all =Mneginfo=all
248 FCREDUCEDOPT    =       $(FCOPTIM)
249 FCNOOPT         =       -O0
250 FCDEBUG         =       # -g $(FCNOOPT) -Kieee -acc -ta=nvidia,cuda5.0,cc35 -Mcuda # -C -Ktrap=fp -traceback
251 FORMAT_FIXED    =       -Mfixed
252 FORMAT_FREE     =       -Mfree
253 FCSUFFIX        =
254 BYTESWAPIO      =       -byteswapio
255 FCBASEOPTS      =       -w $(FCDEBUG) $(FORMAT_FREE) $(BYTESWAPIO) $(OMP) # -Kieee
256 MODULE_SRCH_FLAG =     -module $(WRF_SRC_ROOT_DIR)/main
257 TRADFLAG        =      CONFIGURE_TRADFLAG
258 CPP             =      /lib/cpp CONFIGURE_CPPFLAGS
259 AR              =      ar
260 ARFLAGS         =      ru
261 M4              =      m4 -B 14000
262 RANLIB          =      ranlib
263 RLFLAGS         =       
264 CC_TOOLS        =      $(SCC) 
265 NETCDFPAR_BUILD =      CONFIGURE_NETCDFPAR_BUILD
267 ###########################################################
268 #ARCH    Linux x86_64 ppc64le i486 i586 i686, ifort compiler with icc #serial smpar dmpar dm+sm
270 #        By default, some files are compiled without optimizations to speed up compilation. Removing
271 #        respective makefile rules in the end of this file will result in longer compilation time, and, possibly
272 #        Out Of Memory messages, but might produce binaries which are substantially faster.
274 #        Please visit http://www.intel.com/support/performancetools/sb/cs-028607.htm 
275 #        for latest info on how to build WRF with Intel compilers.
277 #        If you got Out Of Memory message, there are several options:
278 #          1. Check your memory limits (ulimit -a), possibly increasing swap partitions size.
279 #          2. Remove any debugging flags (-g, -check, -traceback).
280 #          3. Force the problematic file to be compiled with less optimizations (see examples at the 
281 #             end of this file), try -no-ip compiler flag.
283 #        This configuration is aimed at accuracy. To improve performance (at the expence of accuracy) you might
284 #        consider removing '-fp-model precise' flag from FCBASEOPTS. This enables non value-safe optimizations.
285 #        Another option is to add '-ftz' flag, which flushes denormal results to zero when the application is in
286 #        the gradual underflow mode. It may improve performance if the denormal values are not critical to the
287 #        behavior of your workload. To further improve performance, add suitable vectorization options for your
288 #        processor to FCOPTIM (see ifort manpage).
290 #        If you have Intel MPI installed and wish to use instead, make the
291 #        following changes to settings below:
292 #        DM_FC  = mpiifort
293 #        DM_CC  = mpiicc
294 #        and source bin64/mpivars.sh file from your Intel MPI installation
295 #        before the build.
297 #        Suggestions for timing improvements from Craig Mattocks
299 #CFLAGS_LOCAL    =       -w -O3 -ip -fp-model precise -w -ftz -align all -fno-alias $(FORMAT_FREE) $(BYTESWAPIO) #-xHost -fp-model fast=2 -no-prec-div -no-prec-sqrt -ftz -no-multibyte-chars 
300 #LDFLAGS_LOCAL   =       -ip -fp-model precise -w -ftz -align all -fno-alias $(FORMAT_FREE) $(BYTESWAPIO) #-xHost -fp-model fast=2 -no-prec-div -no-prec-sqrt -ftz -align all -fno-alias -fno-common 
301 #FCBASEOPTS_NO_G =       -w -ip -fp-model precise -w -ftz -align all -fno-alias $(FORMAT_FREE) $(BYTESWAPIO) #-xHost -fp-model fast=2 -no-heap-arrays -no-prec-div -no-prec-sqrt -ftz -align all -fno-alias -fno-common $(FORMAT_FREE) $(BYTESWAPIO)
303 DESCRIPTION     =       INTEL ($SFC/$SCC)
304 DMPARALLEL      =       # 1
305 OMPCPP          =       # -D_OPENMP
306 OMP             =       # -qopenmp -fpp -auto
307 OMPCC           =       # -qopenmp 
308 SFC             =       ifort
309 SCC             =       icc
310 CCOMP           =       icc
311 DM_FC           =       mpif90 -f90=$(SFC)
312 DM_CC           =       mpicc -cc=$(SCC)
313 FC              =       CONFIGURE_FC
314 CC              =       CONFIGURE_CC
315 LD              =       $(FC)
316 RWORDSIZE       =       CONFIGURE_RWORDSIZE
317 PROMOTION       =       -real-size `expr 8 \* $(RWORDSIZE)` -i4
318 ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_FUNC  CONFIGURE_D_CTSM
319 CFLAGS_LOCAL    =       -w -O3 -ip #-xHost -fp-model fast=2 -no-prec-div -no-prec-sqrt -ftz -no-multibyte-chars # -DRSL0_ONLY
320 LDFLAGS_LOCAL   =       -ip #-xHost -fp-model fast=2 -no-prec-div -no-prec-sqrt -ftz -align all -fno-alias -fno-common
321 CPLUSPLUSLIB    =       
322 ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
323 FCOPTIM         =       -O3
324 FCREDUCEDOPT    =       $(FCOPTIM)
325 FCNOOPT         =       -O0 -fno-inline -no-ip
326 FCDEBUG         =       # -g $(FCNOOPT) -traceback # -fpe0 -check noarg_temp_created,bounds,format,output_conversion,pointers,uninit -ftrapuv -unroll0 -u
327 FORMAT_FIXED    =       -FI
328 FORMAT_FREE     =       -FR
329 FCSUFFIX        =
330 BYTESWAPIO      =       -convert big_endian
331 RECORDLENGTH    =       -assume byterecl
332 FCBASEOPTS_NO_G =       -ip -fp-model precise -w -ftz -align all -fno-alias $(FORMAT_FREE) $(BYTESWAPIO) #-xHost -fp-model fast=2 -no-heap-arrays -no-prec-div -no-prec-sqrt -fno-common
333 FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
334 MODULE_SRCH_FLAG =     
335 TRADFLAG        =      CONFIGURE_TRADFLAG
336 CPP             =      /lib/cpp CONFIGURE_CPPFLAGS
337 AR              =      ar
338 ARFLAGS         =      ru
339 M4              =      m4
340 RANLIB          =      ranlib
341 RLFLAGS         =       
342 CC_TOOLS        =      $(SCC) 
343 NETCDFPAR_BUILD =      CONFIGURE_NETCDFPAR_BUILD
345 ###########################################################
346 #ARCH    Linux x86_64 ppc64le i486 i586 i686, Xeon Phi (MIC architecture) ifort compiler with icc # dm+sm
349 DESCRIPTION     =       INTEL ($SFC/$SCC): Xeon Phi (MIC architecture)
350 DMPARALLEL      =       1
351 OMPCPP          =       -D_OPENMP
352 OMP             =       -qopenmp -fpp -auto
353 OMPCC           =       -qopenmp 
354 SFC             =       ifort -mmic
355 SCC             =       icc -mmic
356 CCOMP           =       icc -mmic
357 DM_FC           =       mpiifort -mmic
358 DM_CC           =       mpiicc -mmic
359 FC              =       $(DM_FC)
360 CC              =       $(DM_CC)
361 LD              =       $(FC)
362 RWORDSIZE       =       CONFIGURE_RWORDSIZE
363 PROMOTION       =       -real-size `expr 8 \* $(RWORDSIZE)` -i4
364 ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_FUNC -DCHUNK=16 -DXEON_OPTIMIZED_WSM5 -DXEON_SIMD -DOPTIMIZE_CFL_TEST -DFSEEKO64_OK -DINTEL_YSU_KLUDGE  CONFIGURE_D_CTSM
365 OPTNOSIMD       =
366 OPTKNC          =       -fimf-precision=low -fimf-domain-exclusion=15 -opt-assume-safe-padding -opt-streaming-stores always -opt-streaming-cache-evict=0 -mP2OPT_hlo_pref_use_outer_strategy=F
367 CFLAGS_LOCAL    =       -w -O3 $(OPTKNC) # -DRSL0_ONLY
368 LDFLAGS_LOCAL   =       $(OPTKNC)
369 CPLUSPLUSLIB    =       
370 ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
371 FCOPTIM         =       -O3 $(OPTKNC)
372 FCREDUCEDOPT    =       $(FCOPTIM)
373 FCNOOPT         =       -O0 -fno-inline -no-ip
374 FCDEBUG         =       # -g $(FCNOOPT) -traceback # -fpe0 -check noarg_temp_created,bounds,format,output_conversion,pointers,uninit -ftrapuv -unroll0 -u
375 FORMAT_FIXED    =       -FI
376 FORMAT_FREE     =       -FR
377 FCSUFFIX        =
378 BYTESWAPIO      =       -convert big_endian
379 RECORDLENGTH    =       -assume byterecl
380 FCBASEOPTS_NO_G =       -w -qopenmp -auto -ftz -fno-alias -fp-model fast=1 -no-prec-div -no-prec-sqrt $(FORMAT_FREE) $(BYTESWAPIO) -auto -align array64byte #-vec-report6
381 FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
382 MODULE_SRCH_FLAG =     
383 TRADFLAG        =      CONFIGURE_TRADFLAG
384 CPP             =      /lib/cpp CONFIGURE_CPPFLAGS
385 AR              =      ar
386 ARFLAGS         =      ru
387 M4              =      m4
388 RANLIB          =      ranlib
389 RLFLAGS         =       
390 CC_TOOLS        =      gcc
391 NETCDFPAR_BUILD =      CONFIGURE_NETCDFPAR_BUILD
393 ###########################################################
394 #ARCH    Linux x86_64 ppc64le i486 i586 i686, Xeon (SNB with AVX mods) ifort compiler with icc # serial smpar dmpar dm+sm
397 DESCRIPTION     =       INTEL ($SFC/$SCC): Xeon (SNB with AVX mods)
398 DMPARALLEL      =       # 1
399 OMPCPP          =       # -D_OPENMP
400 OMP             =       # -qopenmp -fpp -auto
401 OMPCC           =       # -qopenmp 
402 SFC             =       ifort 
403 SCC             =       icc 
404 CCOMP           =       icc 
405 DM_FC           =       mpif90 -f90=$(SFC)
406 DM_CC           =       mpicc -cc=$(SCC)
407 FC              =       $(DM_FC)
408 CC              =       $(DM_CC)
409 LD              =       $(FC)
410 RWORDSIZE       =       CONFIGURE_RWORDSIZE
411 PROMOTION       =       -real-size `expr 8 \* $(RWORDSIZE)` -i4
412 ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_FUNC -DCHUNK=64 -DXEON_OPTIMIZED_WSM5 -DOPTIMIZE_CFL_TEST  CONFIGURE_D_CTSM
413 OPTNOSIMD       =
414 OPTAVX          =       -xAVX
415 CFLAGS_LOCAL    =       -w -O3 $(OPTAVX) # -DRSL0_ONLY
416 LDFLAGS_LOCAL   =       $(OPTAVX)
417 CPLUSPLUSLIB    =       
418 ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
419 FCOPTIM         =       -O3 $(OPTAVX)
420 FCREDUCEDOPT    =       $(FCOPTIM)
421 FCNOOPT         =       -O0 -fno-inline -no-ip
422 FCDEBUG         =       # -g $(FCNOOPT) -traceback # -fpe0 -check noarg_temp_created,bounds,format,output_conversion,pointers,uninit -ftrapuv -unroll0 -u
423 FORMAT_FIXED    =       -FI
424 FORMAT_FREE     =       -FR
425 FCSUFFIX        =
426 BYTESWAPIO      =       -convert big_endian
427 RECORDLENGTH    =       -assume byterecl
428 FCBASEOPTS_NO_G =       -w $(OMP) -auto -ftz -fno-alias -fp-model fast=1 -no-prec-div -no-prec-sqrt $(FORMAT_FREE) $(BYTESWAPIO) -auto -align array64byte #-vec-report6
429 FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
430 MODULE_SRCH_FLAG =     
431 TRADFLAG        =      CONFIGURE_TRADFLAG
432 CPP             =      /lib/cpp CONFIGURE_CPPFLAGS
433 AR              =      ar
434 ARFLAGS         =      ru
435 M4              =      m4
436 RANLIB          =      ranlib
437 RLFLAGS         =       
438 CC_TOOLS        =      gcc
439 NETCDFPAR_BUILD =      CONFIGURE_NETCDFPAR_BUILD
441 ###########################################################
442 #ARCH    Linux x86_64 ppc64le i486 i586 i686, ifort compiler with icc, SGI MPT #serial smpar dmpar dm+sm
444 #        By default, some files are compiled without optimizations to speed up compilation. Removing
445 #        respective makefile rules in the end of this file will result in longer compilation time, and, possibly
446 #        Out Of Memory messages, but might produce binaries which are substantially faster.
448 #        Please visit http://www.intel.com/support/performancetools/sb/cs-028607.htm 
449 #        for latest info on how to build WRF with Intel compilers.
451 #        If you got Out Of Memory message, there are several options:
452 #          1. Check your memory limits (ulimit -a), possibly increasing swap partitions size.
453 #          2. Remove any debugging flags (-g, -check, -traceback).
454 #          3. Force the problematic file to be compiled with less optimizations (see examples at the 
455 #             end of this file), try -no-ip compiler flag.
457 #        This configuration is aimed at accuracy. To improve performance (at the expence of accuracy) you might
458 #        consider removing '-fp-model precise' flag from FCBASEOPTS. This enables non value-safe optimizations.
459 #        Another option is to add '-ftz' flag, which flushes denormal results to zero when the application is in
460 #        the gradual underflow mode. It may improve performance if the denormal values are not critical to the
461 #        behavior of your workload. To further improve performance, add suitable vectorization options for your
462 #        processor to FCOPTIM (see ifort manpage).
464 #        If you have Intel MPI installed and wish to use instead, make the
465 #        following changes to settings below:
466 #        DM_FC  = mpiifort
467 #        DM_CC  = mpiicc
468 #        and source bin64/mpivars.sh file from your Intel MPI installation
469 #        before the build.
471 DESCRIPTION     =       INTEL ($SFC/$SCC): SGI MPT
472 DMPARALLEL      =       # 1
473 OMPCPP          =       # -D_OPENMP
474 OMP             =       # -qopenmp -fpp -auto
475 OMPCC           =       # -qopenmp 
476 SFC             =       ifort
477 SCC             =       icc
478 CCOMP           =       icc
479 DM_FC           =       $(SFC)
480 DM_CC           =       $(SCC)
481 FC              =       CONFIGURE_FC
482 CC              =       CONFIGURE_CC
483 LD              =       $(FC)
484 RWORDSIZE       =       CONFIGURE_RWORDSIZE
485 PROMOTION       =       -real-size `expr 8 \* $(RWORDSIZE)` -i4
486 ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_FUNC  CONFIGURE_D_CTSM
487 CFLAGS_LOCAL    =       -w -O3 -ip #-xHost -fp-model fast=2 -no-prec-div -no-prec-sqrt -ftz -no-multibyte-chars # -DRSL0_ONLY
488 LDFLAGS_LOCAL   =       -ip -lmpi #-xHost -fp-model fast=2 -no-prec-div -no-prec-sqrt -ftz -align all -fno-alias -fno-common
489 CPLUSPLUSLIB    =       
490 ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
491 FCOPTIM         =       -O3
492 FCREDUCEDOPT    =       $(FCOPTIM)
493 FCNOOPT         =       -O0 -fno-inline -no-ip
494 FCDEBUG         =       # -g $(FCNOOPT) -traceback # -fpe0 -check noarg_temp_created,bounds,format,output_conversion,pointers,uninit -ftrapuv -unroll0 -u
495 FORMAT_FIXED    =       -FI
496 FORMAT_FREE     =       -FR
497 FCSUFFIX        =
498 BYTESWAPIO      =       -convert big_endian
499 RECORDLENGTH    =       -assume byterecl
500 FCBASEOPTS_NO_G =       -ip -fp-model precise -w -ftz -align all -fno-alias $(FORMAT_FREE) $(BYTESWAPIO) #-xHost -fp-model fast=2 -no-heap-arrays -no-prec-div -no-prec-sqrt -fno-common
501 FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
502 MODULE_SRCH_FLAG =     
503 TRADFLAG        =      CONFIGURE_TRADFLAG
504 CPP             =      /lib/cpp CONFIGURE_CPPFLAGS
505 AR              =      ar
506 ARFLAGS         =      ru
507 M4              =      m4
508 RANLIB          =      ranlib
509 RLFLAGS         =       
510 CC_TOOLS        =      $(SCC) 
511 NETCDFPAR_BUILD =      CONFIGURE_NETCDFPAR_BUILD
513 ###########################################################
514 #ARCH    Linux x86_64 ppc64le i486 i586 i686, ifort compiler with icc, IBM POE #serial smpar dmpar dm+sm
516 # This is identical to the Intel Fortran with Intel MPI but configured
517 # to use IBM POE as the MPI implementation.  NCEP needs this
518 # configuration to run on the new WCOSS Tide and Gyre operational
519 # forecasting machines.
521 DESCRIPTION     =       INTEL ($SFC/$SCC): IBM POE
522 DMPARALLEL      =       # 1
523 OMPCPP          =       # -D_OPENMP
524 OMP             =       # -qopenmp -fpp -auto
525 OMPCC           =       # -qopenmp 
526 SFC             =       ifort
527 SCC             =       icc
528 CCOMP           =       icc
529 DM_FC           =       mpfort
530 DM_CC           =       mpcc
531 FC              =       CONFIGURE_FC
532 CC              =       CONFIGURE_CC
533 LD              =       $(FC)
534 RWORDSIZE       =       CONFIGURE_RWORDSIZE
535 PROMOTION       =       -real-size `expr 8 \* $(RWORDSIZE)` -i4
536 ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_FUNC  CONFIGURE_D_CTSM
537 CFLAGS_LOCAL    =       -w -O3 -ip #-xHost -fp-model fast=2 -no-prec-div -no-prec-sqrt -ftz -no-multibyte-chars # -DRSL0_ONLY
538 LDFLAGS_LOCAL   =       -ip #-xHost -fp-model fast=2 -no-prec-div -no-prec-sqrt -ftz -align all -fno-alias -fno-common
539 CPLUSPLUSLIB    =       
540 ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
541 FCOPTIM         =       -O3
542 FCREDUCEDOPT    =       $(FCOPTIM)
543 FCNOOPT         =       -O0 -fno-inline -no-ip
544 FCDEBUG         =       # -g $(FCNOOPT) -traceback # -fpe0 -check noarg_temp_created,bounds,format,output_conversion,pointers,uninit -ftrapuv -unroll0 -u
545 FORMAT_FIXED    =       -FI
546 FORMAT_FREE     =       -FR
547 FCSUFFIX        =
548 BYTESWAPIO      =       -convert big_endian
549 RECORDLENGTH    =       -assume byterecl
550 FCBASEOPTS_NO_G =       -ip -fp-model precise -w -ftz -align all -fno-alias $(FORMAT_FREE) $(BYTESWAPIO) #-xHost -fp-model fast=2 -no-heap-arrays -no-prec-div -no-prec-sqrt -fno-common
551 FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
552 MODULE_SRCH_FLAG =     
553 TRADFLAG        =      CONFIGURE_TRADFLAG
554 CPP             =      /lib/cpp CONFIGURE_CPPFLAGS
555 AR              =      ar
556 ARFLAGS         =      ru
557 M4              =      m4
558 RANLIB          =      ranlib
559 RLFLAGS         =       
560 CC_TOOLS        =      $(SCC) 
561 NETCDFPAR_BUILD =      CONFIGURE_NETCDFPAR_BUILD
563 ###########################################################
564 #ARCH    ia64 Linux ifort compiler with icc 9.x,10.x #serial smpar dmpar dm+sm
566 #        By default, some files are compiled without optimizations to
567 #        speed up compilation. Removing respective makefile rules in the
568 #        end of this file will result in longer compilation time, and,
569 #        possibly Out Of Memory messages, but might produce binaries
570 #        which are substantially faster.
572 #        Please visit http://www.intel.com/support/performancetools/sb/cs-028607.htm 
573 #        for latest info on how to build WRF with Intel compilers.
575 #        If you get Out Of Memory messages, there are several options:
576 #          1. Check your memory limits (ulimit -a), possibly increasing
577 #             swap partitions size.
578 #          2. Remove any debugging flags (-g, -check, -traceback).
579 #          3. Force the problematic file to be compiled with lower
580 #             optimization (see examples at the end of this file),
581 #             try the -no-ip compiler flag.
583 #        The default configuration is aimed at accuracy. To improve speed
584 #        with only negligible effect on floating point accuracy,
585 #        consider removing "-fp-model precise" from FCBASEOPTS. If
586 #        you are using ifort 9.1.x compiler or earlier, consider
587 #        uncommenting the version of the FCBASEOPTS settings that uses
588 #        the -IPF-fp-relaxed option.
590 #        If you can tolerate a longer build, change the setting of
591 #        FCNOOPT to -O1, for slightly faster performance.
593 #        If you have Intel MPI installed and wish to use instead, make the
594 #        following changes to settings below:
595 #        DM_FC  = mpiifort
596 #        DM_CC  = mpiicc
597 #        and source bin/mpivars.sh file from your Intel MPI installation
598 #        before the build.
601 DESCRIPTION     =       INTEL ($SFC/$SCC): ia64
602 DMPARALLEL      =       # 1
603 OMPCPP          =       # -D_OPENMP
604 OMP             =       # -qopenmp -fpp -auto
605 OMPCC           =       # -qopenmp 
606 SFC             =       ifort
607 SCC             =       icc
608 CCOMP           =       icc
609 DM_FC           =       mpif90 -f90=$(SFC)
610 DM_CC           =       mpicc -cc=$(SCC)
611 FC              =       CONFIGURE_FC
612 CC              =       CONFIGURE_CC
613 LD              =       $(FC)
614 RWORDSIZE       =       CONFIGURE_RWORDSIZE
615 PROMOTION       =       -real-size `expr 8 \* $(RWORDSIZE)` -i4
616 ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_FUNC  CONFIGURE_D_CTSM
617 CFLAGS_LOCAL    =       -w -O3 -ip #-xHost -fp-model fast=2 -no-prec-div -no-prec-sqrt -ftz -no-multibyte-chars # -DRSL0_ONLY
618 LDFLAGS_LOCAL   =       -ip #-xHost -fp-model fast=2 -no-prec-div -no-prec-sqrt -ftz -align all -fno-alias -fno-common
619 CPLUSPLUSLIB    =       
620 ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
621 FCOPTIM         =       -O3
622 FCREDUCEDOPT    =       $(FCOPTIM)
623 FCNOOPT         =       -O0 -fno-inline -no-ip
624 FCDEBUG         =       # -g $(FCNOOPT) -traceback # -fpe0 -check noarg_temp_created,bounds,format,output_conversion,pointers,uninit -ftrapuv -unroll0 -u
625 FORMAT_FIXED    =       -FI
626 FORMAT_FREE     =       -FR
627 FCSUFFIX        =
628 BYTESWAPIO      =       -convert big_endian
629 RECORDLENGTH    =       -assume byterecl
630 FCBASEOPTS_NO_G =       -ip -fp-model precise -w -ftz -align all -fno-alias $(FORMAT_FREE) $(BYTESWAPIO) #-xHost -fp-model fast=2 -no-heap-arrays -no-prec-div -no-prec-sqrt -fno-common
631 #FCBASEOPTS_NO_G =       -w -ftz -align all -fno-alias -IPF-fp-relaxed $(FORMAT_FREE) $(BYTESWAPIO)
632 FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
633 LIB_LOCAL       =       -L/usr/lib -lmpi 
634 MODULE_SRCH_FLAG =     
635 TRADFLAG        =      CONFIGURE_TRADFLAG
636 CPP             =      /lib/cpp CONFIGURE_CPPFLAGS
637 AR              =      ar
638 ARFLAGS         =      ru
639 M4              =      m4
640 RANLIB          =      ranlib
641 RLFLAGS         =       
642 CC_TOOLS        =      $(SCC) 
643 NETCDFPAR_BUILD =      CONFIGURE_NETCDFPAR_BUILD
645 ###########################################################
646 #ARCH    Linux SGI Altix, ifort compiler with icc 9.x,10.x #serial smpar dmpar dm+sm
648 #        By default, some files are compiled without optimizations to
649 #        speed up compilation. Removing respective makefile rules in the
650 #        end of this file will result in longer compilation time, and,
651 #        possibly Out Of Memory messages, but might produce binaries
652 #        which are substantially faster.
654 #        If you get Out Of Memory messages, there are several options:
655 #          1. Check your memory limits (ulimit -a), possibly increasing
656 #             swap partitions size.
657 #          2. Remove any debugging flags (-g, -check, -traceback).
658 #          3. Force the problematic file to be compiled with lower
659 #             optimization (see examples at the end of this file),
660 #             try the -no-ip compiler flag.
662 #        Please visit http://www.intel.com/support/performancetools/sb/cs-028607.htm 
663 #        for latest info on how to build WRF with Intel compilers.
665 #        The default configuration is aimed at accuracy. To improve speed
666 #        with only negligible effect on floating point accuracy,
667 #        consider removing "-fp-model precise" from FCBASEOPTS.  If
668 #        you are using an ifort 9.1.x compiler or earlier, consider
669 #        uncommenting the version of the FCBASEOPTS settings that uses
670 #        the -IPF-fp-relaxed option.  To further improve performance,
671 #        add processor-specific options to FCOPTIM (see ifort manpage).
673 #        If you can tolerate a longer build, change the setting of
674 #        FCNOOPT to -O1, for slightly faster performance.
676 #        If your SGI MPI library is not installed in the default
677 #        locations (/usr/bin, /usr/include, /usr/lib), set MPI_HOME
678 #        to be the path to the directory where the SGI MPI bin,
679 #        include and lib directories are, and change the DM_FC,
680 #        DM_CC and LIB_LOCAL settings as follows:
681 #        DM_FC = $(SFC) -I$(MPI_HOME)/include
682 #        DM_CC = $(SFC) -I$(MPI_HOME)/include
683 #        LIB_LOCAL = -L$(MPI_HOME)/lib -lmpi 
685 DESCRIPTION     =       INTEL ($SFC/$SCC): SGI Altix
686 DMPARALLEL      =       # 1
687 OMPCPP          =       # -D_OPENMP
688 OMP             =       # -qopenmp -fpp -auto
689 OMPCC           =       # -qopenmp 
690 SFC             =       ifort
691 SCC             =       icc
692 CCOMP           =       icc
693 DM_FC           =       $(SFC)
694 DM_CC           =       $(SCC)
695 FC              =       CONFIGURE_FC
696 CC              =       CONFIGURE_CC
697 LD              =       $(FC)
698 RWORDSIZE       =       CONFIGURE_RWORDSIZE
699 PROMOTION       =       -real-size `expr 8 \* $(RWORDSIZE)` -i4
700 ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_FUNC  CONFIGURE_D_CTSM
701 CFLAGS_LOCAL    =       -w -O3 -ip #-xHost -fp-model fast=2 -no-prec-div -no-prec-sqrt -ftz -no-multibyte-chars # -DRSL0_ONLY
702 LDFLAGS_LOCAL   =       -ip #-xHost -fp-model fast=2 -no-prec-div -no-prec-sqrt -ftz -align all -fno-alias -fno-common
703 CPLUSPLUSLIB    =       
704 ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
705 FCOPTIM         =       -O3
706 FCREDUCEDOPT    =       $(FCOPTIM)
707 FCNOOPT         =       -O0 -fno-inline -no-ip
708 FCDEBUG         =       # -g $(FCNOOPT) -traceback # -fpe0 -check noarg_temp_created,bounds,format,output_conversion,pointers,uninit -ftrapuv -unroll0 -u
709 FORMAT_FIXED    =       -FI
710 FORMAT_FREE     =       -FR
711 FCSUFFIX        =
712 BYTESWAPIO      =       -convert big_endian
713 RECORDLENGTH    =       -assume byterecl
714 FCBASEOPTS_NO_G =       -ip -fp-model precise -w -ftz -align all -fno-alias $(FORMAT_FREE) $(BYTESWAPIO) #-xHost -fp-model fast=2 -no-heap-arrays -no-prec-div -no-prec-sqrt -fno-common
715 #FCBASEOPTS_NO_G =       -w -ftz -align all -fno-alias -IPF-fp-relaxed $(FORMAT_FREE) $(BYTESWAPIO)
716 FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
717 LIB_LOCAL       =       -L/usr/lib -lmpi 
718 MODULE_SRCH_FLAG =     
719 TRADFLAG        =      CONFIGURE_TRADFLAG
720 CPP             =      /lib/cpp CONFIGURE_CPPFLAGS
721 AR              =      ar
722 ARFLAGS         =      ru
723 M4              =      m4
724 RANLIB          =      ranlib
725 RLFLAGS         =       
726 CC_TOOLS        =      $(SCC) 
727 NETCDFPAR_BUILD =      CONFIGURE_NETCDFPAR_BUILD
729 ###########################################################
730 #ARCH    Linux i486 i586 i686 x86_64 ppc64le, PathScale compiler with pathcc #serial dmpar
732 DESCRIPTION     =       PATHSCALE ($SFC/$SCC)
733 DMPARALLEL      =       # 1
734 OMPCPP          =       # not supported
735 OMP             =       # not supported
736 OMPCC           =       # not supported
737 SFC             =       pathf90
738 SCC             =       pathcc
739 CCOMP           =       pathcc
740 DM_FC           =       mpif90 -f90=$(SFC)
741 DM_CC           =       mpicc -cc=$(SCC)
742 FC              =       CONFIGURE_FC
743 CC              =       CONFIGURE_CC
744 LD              =       $(FC)
745 RWORDSIZE       =       CONFIGURE_RWORDSIZE
746 PROMOTION       =       -r$(RWORDSIZE) -i4
747 ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_SUBR  CONFIGURE_D_CTSM -D__PATHSCALE__
748 CFLAGS_LOCAL    =        # -DRSL0_ONLY
749 LDFLAGS_LOCAL   =
750 CPLUSPLUSLIB    =       
751 ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
752 FCOPTIM         =       -O -OPT:Ofast:Olimit=5000
753 FCREDUCEDOPT    =       $(FCOPTIM)
754 FCNOOPT         =       -O0
755 FCDEBUG         =       # -g $(FCNOOPT)  # -C -trapuv 
756 FORMAT_FIXED    =       -fixedform
757 FORMAT_FREE     =       -freeform
758 FCSUFFIX        =
759 BYTESWAPIO      =       -byteswapio
760 FCBASEOPTS_NO_G =       -w -fno-second-underscore $(FORMAT_FREE) $(BYTESWAPIO)
761 FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
762 MODULE_SRCH_FLAG =     -module $(WRF_SRC_ROOT_DIR)/main
763 TRADFLAG        =      CONFIGURE_TRADFLAG
764 CPP             =      /lib/cpp CONFIGURE_CPPFLAGS
765 AR              =      ar
766 ARFLAGS         =      ru
767 M4              =      m4 -B 14000
768 RANLIB          =      ranlib
769 RLFLAGS         =       
770 CC_TOOLS        =      $(SCC) 
771 NETCDFPAR_BUILD =      CONFIGURE_NETCDFPAR_BUILD
773 ###########################################################
774 #ARCH    Linux x86_64 ppc64le, gfortran compiler with gcc  #serial smpar dmpar dm+sm
776 DESCRIPTION     =       GNU ($SFC/$SCC)
777 DMPARALLEL      =       # 1
778 OMPCPP          =       # -D_OPENMP
779 OMP             =       # -fopenmp
780 OMPCC           =       # -fopenmp
781 SFC             =       gfortran
782 SCC             =       gcc
783 CCOMP           =       gcc
784 DM_FC           =       mpif90 -f90=$(SFC)
785 DM_CC           =       mpicc -cc=$(SCC)
786 FC              =       CONFIGURE_FC
787 CC              =       CONFIGURE_CC
788 LD              =       $(FC)
789 RWORDSIZE       =       CONFIGURE_RWORDSIZE
790 PROMOTION       =       #-fdefault-real-8
791 ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_SUBR  CONFIGURE_D_CTSM
792 # to validate WRF correctness on aarch64 against x86_64; compile with x86 this alternate ARCH_LOCAL option; able to achieve identical output model on ubuntu 18.04 with gcc 10.2 (on graviton and intel processors)
793 # ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_SUBR  CONFIGURE_D_CTSM -DAARCH64_X86_CORRECTNESS_FIX
794 CFLAGS_LOCAL    =       -w -O3 -c  # -DRSL0_ONLY
795 LDFLAGS_LOCAL   =       
796 CPLUSPLUSLIB    =       
797 ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
798 FCOPTIM         =       -O2 -ftree-vectorize -funroll-loops
799 FCREDUCEDOPT    =       $(FCOPTIM)
800 FCNOOPT         =       -O0
801 FCDEBUG         =       # -g $(FCNOOPT) # -ggdb -fbacktrace -fcheck=bounds,do,mem,pointer -ffpe-trap=invalid,zero,overflow
802 FORMAT_FIXED    =       -ffixed-form
803 FORMAT_FREE     =       -ffree-form -ffree-line-length-none
804 FCSUFFIX        =       
805 FCCOMPAT        =       
806 BYTESWAPIO      =       -fconvert=big-endian -frecord-marker=4
807 FCBASEOPTS_NO_G =       -w $(FORMAT_FREE) $(BYTESWAPIO) $(FCCOMPAT)
808 FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
809 MODULE_SRCH_FLAG =     
810 TRADFLAG        =      CONFIGURE_TRADFLAG
811 CPP             =      /lib/cpp CONFIGURE_CPPFLAGS
812 AR              =      ar
813 ARFLAGS         =      ru
814 M4              =      m4 -G
815 RANLIB          =      ranlib
816 RLFLAGS         =       
817 CC_TOOLS        =      $(SCC) 
818 NETCDFPAR_BUILD =      CONFIGURE_NETCDFPAR_BUILD
820 ###########################################################
821 #ARCH    Darwin x86_64 arm64, (MACOS) PGI compiler with pgcc #serial smpar dmpar dm+sm
823 DESCRIPTION     =       PGI ($SFC/$SCC)
824 DMPARALLEL      =       # 1
825 OMPCPP          =       # -D_OPENMP
826 OMP             =       # -mp -Minfo=mp -Mrecursive
827 OMPCC           =       # -mp
828 SFC             =       pgf90
829 SCC             =       pgcc
830 CCOMP           =       pgcc
831 DM_FC           =       mpif90
832 DM_CC           =       mpicc
833 FC              =       CONFIGURE_FC
834 CC              =       CONFIGURE_CC
835 LD              =       $(FC)
836 RWORDSIZE       =       CONFIGURE_RWORDSIZE
837 PROMOTION       =       -r$(RWORDSIZE) -i4
838 ARCH_LOCAL      =       -DMACOS -DNONSTANDARD_SYSTEM_SUBR  CONFIGURE_D_CTSM
839 CFLAGS_LOCAL    =       -DMACOS # -DRSL0_ONLY
840 LDFLAGS_LOCAL   =       
841 CPLUSPLUSLIB    =       
842 ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
843 FCOPTIM         =       -O2 -fast
844 FCREDUCEDOPT    =       $(FCOPTIM)
845 FCNOOPT         =       -O0
846 FCDEBUG         =       # -g $(FCNOOPT) # -C -Ktrap=fp -traceback
847 FORMAT_FIXED    =       -Mfixed
848 FORMAT_FREE     =       -Mfree
849 FCSUFFIX        =       
850 BYTESWAPIO      =       -byteswapio
851 FCBASEOPTS_NO_G =       -w $(FORMAT_FREE) $(BYTESWAPIO) $(OMP) # -Kieee -pc 64 -Ktrap=fp
852 FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG) -Mnomod
853 MODULE_SRCH_FLAG =     -module $(WRF_SRC_ROOT_DIR)/main
854 TRADFLAG        =      CONFIGURE_TRADFLAG
855 CPP             =      cpp CONFIGURE_CPPFLAGS -xassembler-with-cpp
856 AR              =      ar
857 ARFLAGS         =      ru
858 M4              =      m4 -B 14000
859 RANLIB          =      ranlib
860 RLFLAGS         =       -c
861 CC_TOOLS        =      cc
862 NETCDFPAR_BUILD =      CONFIGURE_NETCDFPAR_BUILD
864 ###########################################################
865 #ARCH    Darwin x86_64 arm64, (MACOS) intel compiler with icc #serial smpar dmpar dm+sm
867 DESCRIPTION     =       INTEL ($SFC/$SCC)
868 DMPARALLEL      =       # 1
869 OMPCPP          =       # -D_OPENMP
870 OMP             =       # -qopenmp -fpp -auto
871 OMPCC           =       # -qopenmp 
872 SFC             =       ifort
873 SCC             =       icc
874 CCOMP           =       icc
875 DM_FC           =       mpif90 -f90=$(SFC)
876 DM_CC           =       mpicc -cc=$(SCC)
877 FC              =       CONFIGURE_FC
878 CC              =       CONFIGURE_CC
879 LD              =       $(FC)
880 RWORDSIZE       =       CONFIGURE_RWORDSIZE
881 PROMOTION       =       -real-size `expr 8 \* $(RWORDSIZE)` -i4
882 ARCH_LOCAL      =       -DMACOS -DNONSTANDARD_SYSTEM_FUNC  CONFIGURE_D_CTSM
883 CFLAGS_LOCAL    =       -w -O3 -ip -DMACOS #-xHost -fp-model fast=2 -no-prec-div -no-prec-sqrt -ftz -no-multibyte-chars -DMACOS # -DRSL0_ONLY
884 # increase stack size; also note that for OpenMP, set environment OMP_STACKSIZE 4G or greater
885 LDFLAGS_LOCAL   =       -ip -Wl,-stack_addr,0xF10000000 -Wl,-stack_size,0x64000000 #-xHost -fp-model fast=2 -no-prec-div -no-prec-sqrt -ftz -align all -fno-alias -fno-common
886 CPLUSPLUSLIB    =       
887 ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
888 FCOPTIM         =       -O3
889 FCREDUCEDOPT    =       $(FCOPTIM)
890 FCNOOPT         =       -O0 -fno-inline -no-ip
891 FCDEBUG         =       # -g $(FCNOOPT) -traceback # -fpe0 -check noarg_temp_created,bounds,format,output_conversion,pointers,uninit -ftrapuv -unroll0 -u
892 FORMAT_FIXED    =       -FI
893 FORMAT_FREE     =       -FR
894 FCSUFFIX        =
895 BYTESWAPIO      =       -convert big_endian
896 RECORDLENGTH    =       -assume byterecl
897 # added -fno-common at suggestion of R. Dubtsov as workaround for failing to link program_name
898 FCBASEOPTS_NO_G =       -ip -fp-model precise -w -ftz -align all -fno-alias $(FORMAT_FREE) $(BYTESWAPIO) #-xHost -fp-model fast=2 -no-heap-arrays -no-prec-div -no-prec-sqrt -fno-common
899 FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
900 MODULE_SRCH_FLAG =
901 TRADFLAG        =      CONFIGURE_TRADFLAG
902 CPP             =      cpp CONFIGURE_CPPFLAGS -xassembler-with-cpp
903 AR              =      ar
904 ARFLAGS         =      ru
905 M4              =      m4 -B 14000
906 RANLIB          =      ranlib
907 RLFLAGS         =       -c
908 CC_TOOLS        =      cc
909 NETCDFPAR_BUILD =      CONFIGURE_NETCDFPAR_BUILD
911 ###########################################################
912 #ARCH    Darwin x86_64 arm64, (MACOS) intel compiler with clang EDIT FOR OPENMPI #serial smpar dmpar dm+sm
914 DESCRIPTION     =       INTEL ($SFC/$SCC)
915 DMPARALLEL      =       # 1
916 OMPCPP          =       # -D_OPENMP
917 OMP             =       # -qopenmp -fpp -auto
918 OMPCC           =       # -qopenmp
919 SFC             =       ifort
920 SCC             =       clang
921 CCOMP           =       clang
922 DM_FC           =       mpif90 -f90=$(SFC)
923 DM_CC           =       mpicc -cc=$(SCC) # the -cc=cc option causes openmpi mpicc to fail (unrecognized option)
924 FC              =       CONFIGURE_FC
925 CC              =       CONFIGURE_CC
926 LD              =       $(FC)
927 RWORDSIZE       =       CONFIGURE_RWORDSIZE
928 PROMOTION       =       -real-size `expr 8 \* $(RWORDSIZE)` -i4
929 ARCH_LOCAL      =       -DMACOS -DNONSTANDARD_SYSTEM_FUNC  CONFIGURE_D_CTSM
930 CFLAGS_LOCAL    =       -w -O3 -DMACOS #-xHost -fp-model fast=2 -no-prec-div -no-prec-sqrt -ftz -no-multibyte-chars -DMACOS # -DRSL0_ONLY
931 # increase stack size; also note that for OpenMP, set environment OMP_STACKSIZE 4G or greater
932 LDFLAGS_LOCAL   =       -Wl,-stack_addr,0xF10000000 -Wl,-stack_size,0x64000000 #-xHost -fp-model fast=2 -no-prec-div -no-prec-sqrt -ftz -align all -fno-alias -fno-common
933 CPLUSPLUSLIB    =       
934 ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
935 FCOPTIM         =       -O3
936 FCREDUCEDOPT    =       $(FCOPTIM)
937 FCNOOPT         =       -O0 -fno-inline -no-ip
938 FCDEBUG         =       # -g $(FCNOOPT) -traceback # -fpe0 -check noarg_temp_created,bounds,format,output_conversion,pointers,uninit -ftrapuv -unroll0 -u
939 FORMAT_FIXED    =       -FI
940 FORMAT_FREE     =       -FR
941 FCSUFFIX        =
942 BYTESWAPIO      =       -convert big_endian
943 RECORDLENGTH    =       -assume byterecl
944 FCBASEOPTS_NO_G =       -fp-model precise -w -ftz -align all -fno-alias -fno-common $(FORMAT_FREE) $(BYTESWAPIO) #-xHost -fp-model fast=2 -no-heap-arrays -no-prec-div -no-prec-sqrt
945 FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
946 MODULE_SRCH_FLAG =
947 TRADFLAG        =      CONFIGURE_TRADFLAG
948 CPP             =      cpp CONFIGURE_CPPFLAGS -xassembler-with-cpp
949 AR              =      ar
950 ARFLAGS         =      ru
951 M4              =      m4 -B 14000
952 RANLIB          =      ranlib
953 RLFLAGS         =       -c
954 CC_TOOLS        =      cc
955 NETCDFPAR_BUILD =      CONFIGURE_NETCDFPAR_BUILD
957 ###########################################################
958 #ARCH    Darwin x86_64 arm64, (MACOS) g95 with gcc #serial dmpar
960 DESCRIPTION     =       GNU ($SFC/$SCC)
961 DMPARALLEL      =       # 1
962 OMPCPP          =       # not supported
963 OMP             =       # not supported
964 OMPCC           =       # not supported
965 SFC             =       g95
966 SCC             =       gcc
967 CCOMP           =       gcc
968 DM_FC           =       mpif90 -f90=$(SFC)
969 DM_CC           =       mpicc -cc=$(SCC)
970 FC              =       CONFIGURE_FC
971 CC              =       CONFIGURE_CC
972 LD              =       $(FC)
973 RWORDSIZE       =       CONFIGURE_RWORDSIZE
974 PROMOTION       =       -r$(RWORDSIZE) -i4
975 ARCH_LOCAL      =       -DG95 -DMACOS -DF2CSTYLE -DNONSTANDARD_SYSTEM_SUBR -DRCONFIG_CHARLEN=64  CONFIGURE_D_CTSM
976 CFLAGS_LOCAL    =       -DMACOS -DF2CSTYLE # -DRSL0_ONLY
977 LDFLAGS_LOCAL   =
978 CPLUSPLUSLIB    =       
979 ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
980 FCOPTIM         =       -O2 # -fast
981 FCREDUCEDOPT    =       $(FCOPTIM)
982 FCNOOPT         =       -O0
983 FCDEBUG         =       # -g $(FCNOOPT)
984 FORMAT_FIXED    =       -ffixed-form
985 FORMAT_FREE     =       -ffree-form -ffree-line-length-huge
986 FCSUFFIX        =
987 BYTESWAPIO      =       -fendian=big
988 FCBASEOPTS_NO_G =       -Wno=101,139,155,158 $(FORMAT_FREE) $(BYTESWAPIO)
989 FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
990 LIB_LOCAL       =    -L/usr/lib -lSystemStubs
991 MODULE_SRCH_FLAG =     -fmod=$(WRF_SRC_ROOT_DIR)/main
992 TRADFLAG        =      CONFIGURE_TRADFLAG
993 CPP             =      cpp CONFIGURE_CPPFLAGS -xassembler-with-cpp
994 AR              =      ar
995 ARFLAGS         =      ru
996 M4              =      m4 -B 14000
997 RANLIB          =      ranlib -c
998 RLFLAGS         =       -c
999 CC_TOOLS        =      $(SCC) 
1000 NETCDFPAR_BUILD =      CONFIGURE_NETCDFPAR_BUILD
1002 ###########################################################
1003 #ARCH    Darwin x86_64 arm64, (MACOS) gfortran with gcc #serial smpar dmpar dm+sm
1005 DESCRIPTION     =       GNU ($SFC/$SCC)
1006 DMPARALLEL      =       # 1
1007 OMPCPP          =       # -D_OPENMP
1008 OMP             =       # -fopenmp
1009 OMPCC           =       # -fopenmp
1010 SFC             =       gfortran
1011 SCC             =       gcc
1012 CCOMP           =       gcc
1013 DM_FC           =       mpif90 -f90=$(SFC)
1014 DM_CC           =       mpicc -cc=$(SCC)
1015 FC              =       CONFIGURE_FC
1016 CC              =       CONFIGURE_CC
1017 LD              =       $(FC)
1018 RWORDSIZE       =       CONFIGURE_RWORDSIZE
1019 PROMOTION       =       #-fdefault-real-8
1020 ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_SUBR -DMACOS  CONFIGURE_D_CTSM
1021 CFLAGS_LOCAL    =       -w -O3 -c  -DMACOS # -DRSL0_ONLY
1022 LDFLAGS_LOCAL   =
1023 CPLUSPLUSLIB    =       
1024 ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
1025 FCOPTIM         =       -O2 -ftree-vectorize -funroll-loops
1026 FCREDUCEDOPT    =       $(FCOPTIM)
1027 FCNOOPT         =       -O0
1028 FCDEBUG         =       # -g $(FCNOOPT) # -fbacktrace -ggdb -fcheck=bounds,do,mem,pointer -ffpe-trap=invalid,zero,overflow
1029 FORMAT_FIXED    =       -ffixed-form
1030 FORMAT_FREE     =       -ffree-form -ffree-line-length-none
1031 FCSUFFIX        =       
1032 FCCOMPAT        =       
1033 BYTESWAPIO      =       -fconvert=big-endian -frecord-marker=4
1034 FCBASEOPTS_NO_G =       -w $(FORMAT_FREE) $(BYTESWAPIO) $(FCCOMPAT)
1035 FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
1036 MODULE_SRCH_FLAG =
1037 TRADFLAG        =      CONFIGURE_TRADFLAG
1038 CPP             =      cpp CONFIGURE_CPPFLAGS -xassembler-with-cpp
1039 AR              =      ar
1040 ARFLAGS         =      ru
1041 M4              =      m4 -B 14000
1042 RANLIB          =      ranlib
1043 RLFLAGS         =       -c
1044 CC_TOOLS        =      $(SCC) 
1045 NETCDFPAR_BUILD =      CONFIGURE_NETCDFPAR_BUILD
1047 ###########################################################
1048 #ARCH    Darwin x86_64 arm64, (MACOS) gfortran with clang #serial smpar dmpar dm+sm
1050 DESCRIPTION     =       GNU ($SFC/clang)
1051 DMPARALLEL      =       # 1
1052 OMPCPP          =       # -D_OPENMP
1053 OMP             =       # -fopenmp
1054 OMPCC           =       # -fopenmp
1055 SFC             =       gfortran
1056 SCC             =       clang
1057 CCOMP           =       clang
1058 DM_FC           =       mpif90 -f90=$(SFC)
1059 DM_CC           =       mpicc -cc=clang
1060 FC              =       CONFIGURE_FC
1061 CC              =       CONFIGURE_CC
1062 LD              =       $(FC)
1063 RWORDSIZE       =       CONFIGURE_RWORDSIZE
1064 PROMOTION       =       #-fdefault-real-8
1065 ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_SUBR -DMACOS CONFIGURE_D_CTSM
1066 CFLAGS_LOCAL    =       -w -O3 -c  -DMACOS # -DRSL0_ONLY
1067 LDFLAGS_LOCAL   =
1068 CPLUSPLUSLIB    =       
1069 ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
1070 FCOPTIM         =       -O2 -ftree-vectorize -funroll-loops
1071 FCREDUCEDOPT    =       $(FCOPTIM)
1072 FCNOOPT         =       -O0
1073 FCDEBUG         =       # -g $(FCNOOPT) # -fbacktrace -ggdb -fcheck=bounds,do,mem,pointer -ffpe-trap=invalid,zero,overflow
1074 FORMAT_FIXED    =       -ffixed-form
1075 FORMAT_FREE     =       -ffree-form -ffree-line-length-none
1076 FCSUFFIX        =       
1077 FCCOMPAT        =       
1078 BYTESWAPIO      =       -fconvert=big-endian -frecord-marker=4
1079 FCBASEOPTS_NO_G =       -w $(FORMAT_FREE) $(BYTESWAPIO) $(FCCOMPAT)
1080 FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
1081 MODULE_SRCH_FLAG =
1082 TRADFLAG        =      CONFIGURE_TRADFLAG
1083 CPP             =      cpp CONFIGURE_CPPFLAGS -xassembler-with-cpp
1084 AR              =      ar
1085 ARFLAGS         =      ru
1086 M4              =      m4 -B 14000
1087 RANLIB          =      ranlib
1088 RLFLAGS         =       -c
1089 CC_TOOLS        =      clang
1090 NETCDFPAR_BUILD =      CONFIGURE_NETCDFPAR_BUILD
1092 ###########################################################
1093 #ARCH    Darwin x86_64 arm64, (MACOS) xlf  #serial dmpar
1095 DESCRIPTION     =       IBM ($SFC/$SCC)
1096 DMPARALLEL      =       # 1
1097 OMPCPP          =       # not supported
1098 OMP             =       # not supported
1099 OMPCC           =       # not supported
1100 SFC             =       xlf90_r
1101 SCC             =       cc
1102 CCOMP           =       cc
1103 DM_FC           =       mpif90 -f90=$(SFC)
1104 DM_CC           =       mpicc -cc=$(SCC)
1105 FC              =       CONFIGURE_FC
1106 CC              =       CONFIGURE_CC
1107 LD              =       $(FC)
1108 RWORDSIZE       =       CONFIGURE_RWORDSIZE
1109 PROMOTION       =        -qrealsize=$(RWORDSIZE) -qintsize=4
1110 ARCH_LOCAL      =       -DMAC_KLUDGE -DF2CSTYLE -DNONSTANDARD_SYSTEM_SUBR  CONFIGURE_D_CTSM
1111 CFLAGS_LOCAL    =       -DMACOS -DF2CSTYLE # -DRSL0_ONLY
1112 LDFLAGS_LOCAL   =
1113 CPLUSPLUSLIB    =       
1114 ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
1115 CPLUSPLUSLIB    =       
1116 ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
1117 FCOPTIM         =       -O3 -qarch=auto
1118 FCREDUCEDOPT    =       $(FCOPTIM)
1119 FCNOOPT         =       -qnoopt
1120 FCDEBUG         =       # -g $(FCNOOPT) -qfullpath
1121 FORMAT_FIXED    =       -qfixed
1122 FORMAT_FREE     =       -qfree=f90
1123 FCSUFFIX        =       -qsuffix=f=f90
1124 BYTESWAPIO      =       
1125 FCBASEOPTS_NO_G =       -qsave -qmaxmem=32767 -qspillsize=32767 -w
1126 FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
1127 MODULE_SRCH_FLAG =     -fmod=$(WRF_SRC_ROOT_DIR)/main
1128 TRADFLAG        =      CONFIGURE_TRADFLAG
1129 CPP             =      cpp CONFIGURE_CPPFLAGS 
1130 AR              =      ar
1131 ARFLAGS         =      ru
1132 M4              =      m4 -B 14000
1133 RANLIB          =      ranlib
1134 RLFLAGS         =       -c
1135 CC_TOOLS        =      $(SCC) 
1136 NETCDFPAR_BUILD =      CONFIGURE_NETCDFPAR_BUILD
1138 ###########################################################
1139 #ARCH    AIX xlf compiler with xlc #serial smpar dmpar dm+sm
1141 DESCRIPTION     =       IBM ($SFC/$SCC)
1142 DMPARALLEL      =       # 1
1143 OMPCPP          =       # -D_OPENMP
1144 OMP             =       # -qsmp=noauto
1145 OMPCC           =       # -qsmp=noauto
1146 SFC             =       xlf90_r
1147 SCC             =       cc_r
1148 SC99            =       c99_r
1149 CCOMP           =       cc_r
1150 DM_FC           =       mpxlf90_r
1151 DM_CC           =       mpcc_r # -DMPI2_SUPPORT
1152 FC              =       CONFIGURE_FC
1153 CC              =       CONFIGURE_CC
1154 LD              =       $(FC)
1155 RWORDSIZE       =       CONFIGURE_RWORDSIZE
1156 PROMOTION       =        -qrealsize=$(RWORDSIZE) -qintsize=4
1157 ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_SUBR -DNATIVE_MASSV  CONFIGURE_D_CTSM
1158 CFLAGS_LOCAL    =       -DNOUNDERSCORE # -DRSL0_ONLY
1159 LDFLAGS_LOCAL   =       -lmass -lmassv -bnoquiet # print diagnostic messages
1160 CPLUSPLUSLIB    =       -lC
1161 ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
1162 # -qhot commented out in 3.0.1.1 release because of reported problems with 
1163 # model results under certain configurations. Use at your own risk.
1164 # -qstrict added in 3.6.1 release because of reported problems with 
1165 # model stability under certain configurations. Use at your own risk.
1166 FCOPTIM         =       -O3 -qalias_size=209715200 -qstrict # -qhot
1167 FCREDUCEDOPT    =       -O2 # implies -qstrict
1168 FCNOOPT         =       -qnoopt
1169 FCDEBUG         =       # -g $(FCNOOPT) -qfullpath
1170 FORMAT_FIXED    =       -qfixed
1171 FORMAT_FREE     =       -qfree=f90
1172 FCSUFFIX        =       -qsuffix=f=f90
1173 BYTESWAPIO      =       
1174 FCBASEOPTS_NO_G =       -w -qspill=81920 -qmaxmem=-1 $(FORMAT_FREE) -qufmt=be $(BYTESWAPIO)  #-qflttrap=zerodivide:invalid:enable -qsigtrap -C # -qinitauto=7FF7FFFF
1175 FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
1176 MODULE_SRCH_FLAG =     
1177 TRADFLAG        =       #CONFIGURE_TRADFLAG  # causing troubles with xl cpp on AIX, -traditional removed fom default settings
1178 CPP             =       /lib/cpp CONFIGURE_CPPFLAGS
1179 AR              =       ar
1180 ARFLAGS         =       ru
1181 M4              =       m4 -B 20000
1182 RANLIB          =       ranlib
1183 RLFLAGS         =       
1184 CC_TOOLS        =       cc
1185 NETCDFPAR_BUILD =       CONFIGURE_NETCDFPAR_BUILD
1187 ###########################################################
1188 #ARCH    Linux x86_64 ppc64le i486 i586 i686, xlf compiler with xlc # serial smpar dmpar dm+sm
1190 DESCRIPTION     =       IBM ($SFC/$SCC)
1191 DMPARALLEL      =        #1
1192 OMPCPP          =        # -D_OPENMP
1193 OMP             =        # -qsmp=noauto
1194 OMPCC           =        # -qsmp=noauto
1195 SFC             =       xlf90_r
1196 SCC             =       cc_r
1197 SC99            =        c99_r
1198 CCOMP           =       cc_r
1199 DM_FC           =        mpfort -compiler xlf90_r
1200 DM_CC           =       mpcc # -DMPI2_SUPPORT
1201 FC              =       CONFIGURE_FC
1202 CC              =       CONFIGURE_CC
1203 LD              =        $(FC)
1204 RWORDSIZE       =       CONFIGURE_RWORDSIZE
1205 PROMOTION       =       -qrealsize=$(RWORDSIZE) -qintsize=4
1206 ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_SUBR -DNATIVE_MASSV  CONFIGURE_D_CTSM
1207 CFLAGS_LOCAL    =       -DNOUNDERSCORE # -DRSL0_ONLY
1208 LDFLAGS_LOCAL   =       -lmass_64 -lmassvp7_64 -q64 -bnoquiet # linking diagnostics
1209 CPLUSPLUSLIB    =       -lC
1210 ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
1211 # -qhot commented out in 3.0.1.1 release because of reported problems with 
1212 # model results under certain configurations. Use at your own risk.
1213 # -qstrict added in 3.6.1 release because of reported problems with 
1214 # model stability under certain configurations. Use at your own risk.
1215 FCOPTIM         =       -q64 -O3 -qstrict # -qhot
1216 # if linking problems with libxlsmp occur, try -qsmp=noauto 
1217 FCREDUCEDOPT    =       -q64 -O2
1218 FCNOOPT         =       -q64 -qnoopt -qstrict # -qsmp=noauto
1219 FCDEBUG         =       # -g $(FCNOOPT) -qfullpath
1220 FORMAT_FIXED    =       -qfixed
1221 FORMAT_FREE     =       -qfree=f90
1222 FCSUFFIX        =       -qsuffix=f=f90
1223 BYTESWAPIO      =       
1224 FCBASEOPTS_NO_G =       -w -qspill=81920 -qmaxmem=-1 $(FORMAT_FREE) -qufmt=be $(BYTESWAPIO)  #-qflttrap=zerodivide:invalid:enable -qsigtrap -C # -qinitauto=7FF7FFFF
1225 FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
1226 MODULE_SRCH_FLAG =     
1227 TRADFLAG        =       
1228 # instead of the GNU CPP, the CPP shipped with XLF should be used, 
1229 # which does not work with the -traditional flag
1230 CPP             =       $(XLF_BASE)/exe/cpp CONFIGURE_CPPFLAGS
1231 AR              =       ar
1232 ARFLAGS         =       ru
1233 M4              =       m4 -B 14000
1234 RANLIB          =       ranlib
1235 RLFLAGS         =       
1236 CC_TOOLS        =       cc
1237 NETCDFPAR_BUILD =       CONFIGURE_NETCDFPAR_BUILD
1239 ###########################################################
1240 #ARCH    Cray XC CLE/Linux x86_64, PGI compiler with gcc # serial dmpar smpar dm+sm
1242 # Recommended CLE/Linux memory allocation settings at run time:
1243 # export MALLOC_MMAP_MAX_=0
1244 # export MALLOC_TRIM_THRESHOLD_=536870912
1246 DESCRIPTION     =       PGI ($SFC/$SCC): Cray XC CLE
1247 DMPARALLEL      =       # 1
1248 OMPCPP          =       # -D_OPENMP
1249 OMP             =       # -mp -Mrecursive
1250 OMPCC           =       # -mp
1251 SFC             =       ftn
1252 SCC             =       gcc
1253 CCOMP           =       pgcc
1254 DM_FC           =       ftn
1255 DM_CC           =       gcc -I$(MPICH_DIR)/include
1256 FC              =       CONFIGURE_FC
1257 CC              =       CONFIGURE_CC
1258 LD              =       $(FC)
1259 RWORDSIZE       =       CONFIGURE_RWORDSIZE
1260 PROMOTION       =       -r$(RWORDSIZE) -i4
1261 ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_SUBR
1262 CFLAGS_LOCAL    =       -w -O3 # -DRSL0_ONLY
1263 LDFLAGS_LOCAL   =
1264 # module load libfast to use Cray XT fast math library
1265 #LIB_LOCAL       =       -lfast_mv
1266 CPLUSPLUSLIB    =       
1267 ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
1268 # PGI recommended
1269 FCOPTIM         =       -O3 #-fastsse -Mvect=noaltcode -Msmartalloc -Mprefetch=distance:8 -Mfprelaxed # -Minfo=all =Mneginfo=all
1270 # For Pathscale compiler
1271 #FCOPTIM        =       -O3 -OPT:Ofast
1272 FCREDUCEDOPT    =       $(FCOPTIM)
1273 FCNOOPT         =       -O0
1274 OPTERON_TYPE    =
1275 # Use this for AMD Opteron quad-core
1276 #OPTERON_TYPE    =      -tp barcelona-64
1277 #OPTERON_TYPE    =      -tp shanghai-64
1278 # Use this for AMD Opteron six-way Istanbul
1279 #OPTERON_TYPE    =      -tp istanbul
1280 FCDEBUG         =       # -g $(FCNOOPT)  # -C -Ktrap=fp -traceback
1281 FORMAT_FIXED    =       -Mfixed
1282 FORMAT_FREE     =       -Mfree
1283 # For Pathscale compiler
1284 #OPTERON_TYPE    =       -march=barcelona -msse4a
1285 #FORMAT_FIXED    =       -fixedform
1286 #FORMAT_FREE     =       -freeform
1287 FCSUFFIX        =
1288 BYTESWAPIO      =       -byteswapio
1289 FCBASEOPTS_NO_G =       -w $(FORMAT_FREE) $(BYTESWAPIO) $(OPTERON_TYPE) $(OMP)
1290 FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
1291 MODULE_SRCH_FLAG =    
1292 TRADFLAG        =      CONFIGURE_TRADFLAG
1293 CPP             =      /lib/cpp CONFIGURE_CPPFLAGS $(TRADFLAG)
1294 AR              =      ar
1295 ARFLAGS         =      ru
1296 M4              =      m4 -B 14000
1297 RANLIB          =      ranlib
1298 RLFLAGS         =       
1299 CC_TOOLS        =      $(SCC) 
1300 NETCDFPAR_BUILD =      CONFIGURE_NETCDFPAR_BUILD
1302 ###########################################################
1303 #ARCH    Cray XE and XC CLE/Linux x86_64, Cray CCE compiler # serial dmpar smpar dm+sm
1304 # Use this for both XE6 systems with AMD Opteron and XC with Intel x86_64
1306 DESCRIPTION     =       CRAY CCE ($SFC/$SCC): Cray XE and XC
1307 # OpenMP is enabled by default for Cray CCE compiler
1308 # This turns it off
1309 NOOMP           =       -hnoomp
1310 DMPARALLEL      =       # 1
1311 OMPCPP          =       # -D_OPENMP
1312 OMP             =       # -homp
1313 OMPCC           =       # -homp
1314 SFC             =       ftn $(NOOMP)
1315 SCC             =       cc 
1316 CCOMP           =       cc 
1317 DM_FC           =       ftn $(NOOMP)
1318 DM_CC           =       cc
1319 FC              =       $(DM_FC)
1320 CC              =       $(DM_CC)
1321 LD              =       $(FC)
1322 RWORDSIZE       =       CONFIGURE_RWORDSIZE
1323 PROMOTION       =       -s integer32 -s real`expr 8 \* $(RWORDSIZE)`
1324 ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_SUBR  CONFIGURE_D_CTSM
1325 CFLAGS_LOCAL    =       -O3  # -DRSL0_ONLY
1326 LDFLAGS_LOCAL   =       
1327 # uncomment this for wrfda build
1328 #LIB_LOCAL       =       -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
1329 #                        -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite
1330 CPLUSPLUSLIB    =       
1331 ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
1332 FCOPTIM         =       # -Ofp3 
1333 FCREDUCEDOPT    =       $(FCOPTIM)
1334 FCNOOPT         =       -O1 -Ofp1 -Oipa0 -Onomodinline
1335 FCDEBUG         =       # -g -O0 # -K trap=fp -R bc
1336 FORMAT_FIXED    =       -f fixed
1337 FORMAT_FREE     =       -f free
1338 FCSUFFIX        =
1339 BYTESWAPIO      =       -h byteswapio
1340 FCBASEOPTS_NO_G =       -N1023 $(FORMAT_FREE) $(BYTESWAPIO) #-ra
1341 FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
1342 MODULE_SRCH_FLAG =     
1343 TRADFLAG        =      CONFIGURE_TRADFLAG
1344 CPP             =      /lib/cpp CONFIGURE_CPPFLAGS
1345 AR              =      ar
1346 ARFLAGS         =      ru
1347 M4              =      m4
1348 RANLIB          =      ranlib
1349 RLFLAGS         =       
1350 CC_TOOLS        =      gcc
1351 NETCDFPAR_BUILD =      CONFIGURE_NETCDFPAR_BUILD
1353 ###########################################################
1354 #ARCH    Cray XC CLE/Linux x86_64, Xeon ifort compiler # serial dmpar smpar dm+sm
1357 DESCRIPTION     =       INTEL ($SFC/$SCC): Cray XC
1358 DMPARALLEL      =       # 1
1359 OMPCPP          =       # -D_OPENMP
1360 OMP             =       # -qopenmp -fpp -auto
1361 OMPCC           =       # -qopenmp 
1362 SFC             =       ftn
1363 SCC             =       icc 
1364 CCOMP           =       icc 
1365 DM_FC           =       ftn
1366 DM_CC           =       cc
1367 FC              =       $(DM_FC)
1368 CC              =       $(DM_CC)
1369 LD              =       $(FC)
1370 RWORDSIZE       =       CONFIGURE_RWORDSIZE
1371 PROMOTION       =       -real-size `expr 8 \* $(RWORDSIZE)` -i4
1372 ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_FUNC  CONFIGURE_D_CTSM
1373 OPTNOSIMD       =
1374 # set this to override Cray 'craype' module setting
1375 #OPTAVX          =       -xAVX
1376 CFLAGS_LOCAL    =       -w -O3 -ip $(OPTAVX) # -DRSL0_ONLY
1377 LDFLAGS_LOCAL   =       $(OPTAVX)
1378 CPLUSPLUSLIB    =       
1379 ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
1380 FCOPTIM         =       -ip -O3 $(OPTAVX)
1381 FCREDUCEDOPT    =       $(FCOPTIM)
1382 FCNOOPT         =       -O0 -fno-inline -fno-ip
1383 FCDEBUG         =       # -g $(FCNOOPT) -traceback # -fpe0 -check noarg_temp_created,bounds,format,output_conversion,pointers,uninit -ftrapuv -unroll0 -u
1384 FORMAT_FIXED    =       -FI
1385 FORMAT_FREE     =       -FR
1386 FCSUFFIX        =
1387 BYTESWAPIO      =       -convert big_endian
1388 RECORDLENGTH    =       -assume byterecl
1389 #add -fp-model precise in FCBASEOPTS_NO_G to improve the accuracy of WRFPLUS check_AD test, suggested by Thomas Schwitalla.
1390 FCBASEOPTS_NO_G =       -w -ftz -fno-alias -align all $(FORMAT_FREE) $(BYTESWAPIO) #-fp-model precise #-vec-report6
1391 FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
1392 MODULE_SRCH_FLAG =     
1393 TRADFLAG        =      CONFIGURE_TRADFLAG
1394 CPP             =      /lib/cpp CONFIGURE_CPPFLAGS
1395 AR              =      ar
1396 ARFLAGS         =      ru
1397 M4              =      m4
1398 RANLIB          =      ranlib
1399 RLFLAGS         =       
1400 CC_TOOLS        =      gcc
1401 NETCDFPAR_BUILD =      CONFIGURE_NETCDFPAR_BUILD
1404 ###########################################################
1405 #ARCH    Linux ppc64 BG /L blxlf compiler with blxlc # dmpar
1407 DESCRIPTION     =       IBM ($SFC/$SCC): ppc64 Blue Gene\L
1408 DMPARALLEL      =       # 1
1409 OMPCPP          =       # not supported
1410 OMP             =       # not supported
1411 OMPCC           =       # not supported
1412 BGL_SYS         =       /bgl/BlueLight/ppcfloor/bglsys
1413 MPI_INC         =       -I$(BGL_SYS)/include
1414 MPI_LIB         =       -L$(BGL_SYS)/lib -lmpich.rts -lmsglayer.rts -lrts.rts -ldevices.rts
1415 SFC             =       blrts_xlf90
1416 SCC             =       blrts_xlc
1417 CCOMP           =       blrts_xlc
1418 DM_FC           =       $(SFC)
1419 DM_CC           =       $(SCC)
1420 FC              =       CONFIGURE_FC
1421 CC              =       CONFIGURE_CC
1422 LD              =       $(FC)
1423 RWORDSIZE       =       CONFIGURE_RWORDSIZE
1424 PROMOTION       =        -qrealsize=$(RWORDSIZE) -qintsize=4
1425 # If system has even more processors, set VERY_LARGE_MAXPROC to that number
1426 ARCH_LOCAL      =       -DMOVE_NL_OUTSIDE_MODULE_CONFIGURE -DNONSTANDARD_SYSTEM_SUBR  -DVERY_LARGE_MAXPROC=36768 -DBLUEGENE  CONFIGURE_D_CTSM
1427 CFLAGS_LOCAL    =       -DNOUNDERSCORE -DNCARIBM_NOC99 $(MPI_INC)   # -DRSL0_ONLY
1428 LIB_LOCAL       =       $(MPI_LIB)
1429 LDFLAGS_LOCAL   =       -Wl,--allow-multiple-definition -qstatic
1430 CPLUSPLUSLIB    =       
1431 ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
1432 FCOPTIM         =       -O2 -qarch=440
1433 FCNOOPT         =       -qnoopt
1434 FCDEBUG         =       # $(FCNOOPT) -qfullpath
1435 FORMAT_FIXED    =       -qfixed
1436 FORMAT_FREE     =       -qfree=f90
1437 FCSUFFIX        =       -qsuffix=f=f90
1438 BYTESWAPIO      =       
1439 FCBASEOPTS_NO_G =       -w -qspill=20000 -qmaxmem=64000 $(FORMAT_FREE) -qufmt=be $(BYTESWAPIO) $(MPI_INC) #-qflttrap=zerodivide:invalid:enable -qsigtrap
1440 FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
1441 MODULE_SRCH_FLAG =     
1442 TRADFLAG        =       CONFIGURE_TRADFLAG
1443 # this might be different on different systems but we want the xlf version of cpp, not Linux's
1444 # NYBlue
1445 CPP             =       /opt/ibmcmp/xlf/bg/10.1/exe/cpp CONFIGURE_CPPFLAGS
1446 # frost.ucar.edu
1447 CPP             =       /opt/ibmcmp/xlf/9.1/exe/cpp CONFIGURE_CPPFLAGS
1448 AR              =       ar
1449 ARFLAGS         =       ru
1450 M4              =       m4 -B 14000
1451 RANLIB          =       ranlib
1452 RLFLAGS         =       
1453 CC_TOOLS        =       cc
1454 NETCDFPAR_BUILD =      CONFIGURE_NETCDFPAR_BUILD
1456 ###########################################################
1457 #ARCH    Linux ppc64 BG /P xlf compiler with xlc # smpar dmpar dm+sm
1458 #     developed on surveyor.alcf.anl.gov (thanks to ANL/ALCF)
1460 DESCRIPTION     =       IBM ($SFC/$SCC): ppc64 Blue Gene\P
1461 DMPARALLEL      =       # 1
1462 OMPCPP          =       # -D_OPENMP
1463 OMP             =       # -qsmp=noauto
1464 OMPCC           =       # -qsmp=noauto
1465 # these have to be the same as DM_FC on surveyor or it fails with weird errors in time manager
1466 SFC             =       mpixlf90_r
1467 SCC             =       mpixlc_r
1468 CCOMP           =       mpixlc_r
1469 DM_FC           =       mpixlf90_r
1470 DM_CC           =       mpixlc_r # -DMPI2_SUPPORT
1471 FC              =        $(DM_FC)
1472 CC              =       $(DM_CC) -DFSEEKO64_OK
1473 LD              =       $(FC)
1474 RWORDSIZE       =       CONFIGURE_RWORDSIZE
1475 PROMOTION       =        -qrealsize=$(RWORDSIZE) -qintsize=4
1476 # If system has even more processors, set VERY_LARGE_MAXPROC to that number
1477 ARCH_LOCAL      =       -DMOVE_NL_OUTSIDE_MODULE_CONFIGURE -DNONSTANDARD_SYSTEM_SUBR  -DVERY_LARGE_MAXPROC=36768 -DBLUEGENE  CONFIGURE_D_CTSM
1478 CFLAGS_LOCAL    =       -DNOUNDERSCORE  # -DRSL0_ONLY
1479 LIB_LOCAL       =
1480 LDFLAGS_LOCAL   =       -Wl,--allow-multiple-definition,--relax -qstatic
1481 CPLUSPLUSLIB    =       
1482 ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
1483 FCOPTIM         =       -O3 -qnoipa -qarch=auto -qcache=auto -qtune=auto
1484 FCNOOPT         =       -qnoopt
1485 FCDEBUG         =       # $(FCNOOPT) -g -qfullpath
1486 FORMAT_FIXED    =       -qfixed
1487 FORMAT_FREE     =       -qfree=f90
1488 FCSUFFIX        =       -qsuffix=f=f90
1489 BYTESWAPIO      =       
1490 FCBASEOPTS_NO_G =       -w -qspill=20000 -qmaxmem=64000 $(FORMAT_FREE) -qufmt=be $(BYTESWAPIO) #-qflttrap=zerodivide:invalid:enable -qsigtrap
1491 FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
1492 MODULE_SRCH_FLAG =     
1493 TRADFLAG        =       CONFIGURE_TRADFLAG
1494 # this might be different on different systems but we want the xlf version of cpp, not Linux's
1495 # surveyor.alcf.anl.gov
1496 CPP             =       /opt/ibmcmp/xlf/bg/11.1/exe/cpp CONFIGURE_CPPFLAGS
1497 AR              =       ar
1498 ARFLAGS         =       ru
1499 M4              =       m4 -B 14000
1500 RANLIB          =       ranlib
1501 RLFLAGS         =       
1502 CC_TOOLS        =       cc
1503 NETCDFPAR_BUILD =      CONFIGURE_NETCDFPAR_BUILD
1505 ###########################################################
1506 #ARCH    Linux ppc64 IBM Blade Server xlf compiler with xlc # dmpar
1507 #    provided by Luis C. Cana Cascallar for IBM JS21 blade server, May 2009
1509 DESCRIPTION     =       IBM ($SFC/$SCC): ppc64 IBM Blade
1510 DMPARALLEL      =       # 1
1511 OMPCPP          =       # not supported
1512 OMP             =       # not supported
1513 OMPCC           =       # not supported
1514 SFC             =       xlf90_r -q64
1515 SCC             =       xlc_r -q64
1516 CCOMP           =       xlc_r -q64
1517 DM_FC           =       mpif90 -q64
1518 DM_CC           =       mpicc -q64 -DFSEEKO64_OK # -DMPI2_SUPPORT
1519 FC              =       CONFIGURE_FC
1520 CC              =       CONFIGURE_CC
1521 LD              =       $(FC)
1522 RWORDSIZE       =       CONFIGURE_RWORDSIZE
1523 PROMOTION       =        -qrealsize=$(RWORDSIZE) -qintsize=4
1524 # If system has even more processors, set VERY_LARGE_MAXPROC to that number
1525 ARCH_LOCAL      =       -DMOVE_NL_OUTSIDE_MODULE_CONFIGURE -DNONSTANDARD_SYSTEM_SUBR  -DVERY_LARGE_MAXPROC=36768  CONFIGURE_D_CTSM
1526 CFLAGS_LOCAL    =       -DNOUNDERSCORE  # -DRSL0_ONLY
1527 LDFLAGS_LOCAL   =       
1528 CPLUSPLUSLIB    =       -lC
1529 ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
1530 FCOPTIM         =       -O3 -qtune=ppc970 -qarch=ppc970 
1531 FCNOOPT         =       -qnoopt
1532 FCDEBUG         =       # -g $(FCNOOPT) -qfullpath
1533 FORMAT_FIXED    =       -qfixed
1534 FORMAT_FREE     =       -qfree=f90
1535 FCSUFFIX        =       -qsuffix=f=f90
1536 BYTESWAPIO      =       
1537 FCBASEOPTS_NO_G =       -w -qspill=20000 -qmaxmem=32767 $(FORMAT_FREE) -qufmt=be $(BYTESWAPIO) #-qflttrap=zerodivide:invalid:enable -qsigtrap
1538 FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
1539 MODULE_SRCH_FLAG =     
1540 TRADFLAG        =       CONFIGURE_TRADFLAG
1541 # this might be different on different systems but we want the xlf version of cpp, not Linux
1542 CPP             =       /opt/ibmcmp/xlf/11.1/exe/cpp CONFIGURE_CPPFLAGS
1543 AR              =       ar
1544 ARFLAGS         =       ru
1545 M4              =       m4 -B 14000
1546 RANLIB          =       ranlib
1547 RLFLAGS         =       
1548 CC_TOOLS        =       xlc -q64
1549 NETCDFPAR_BUILD =       CONFIGURE_NETCDFPAR_BUILD
1551 ###########################################################
1552 #ARCH    Linux x86_64 ppc64le i486 i586 i686, PGI compiler with pgcc # serial smpar dmpar dm+sm
1554 DESCRIPTION     =       PGI ($SFC/$SCC)
1555 DMPARALLEL      =       # 1
1556 OMPCPP          =       # -D_OPENMP
1557 OMP             =       # -mp -Minfo=mp -Mrecursive
1558 OMPCC           =       # -mp
1559 SFC             =       pgf90
1560 SCC             =       pgcc
1561 CCOMP           =       pgcc
1562 DM_FC           =       mpif90
1563 DM_CC           =       mpicc
1564 FC              =       CONFIGURE_FC
1565 CC              =       CONFIGURE_CC
1566 LD              =       $(FC)
1567 RWORDSIZE       =       CONFIGURE_RWORDSIZE
1568 PROMOTION       =       -r$(RWORDSIZE) -i4
1569 ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_SUBR  CONFIGURE_D_CTSM
1570 CFLAGS_LOCAL    =       -w -O3 # -DRSL0_ONLY
1571 LDFLAGS_LOCAL   =       
1572 CPLUSPLUSLIB    =       
1573 ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
1574 FCOPTIM         =       -O3 #-fastsse -Mvect=noaltcode -Msmartalloc -Mprefetch=distance:8 -Mfprelaxed # -Minfo=all =Mneginfo=all
1575 FCREDUCEDOPT    =       $(FCOPTIM)
1576 FCNOOPT         =       -O0
1577 FCDEBUG         =       # -g $(FCNOOPT)  # -C -Ktrap=fp -traceback
1578 FORMAT_FIXED    =       -Mfixed
1579 FORMAT_FREE     =       -Mfree
1580 FCSUFFIX        =
1581 BYTESWAPIO      =       -byteswapio
1582 FCBASEOPTS_NO_G =       -w $(FORMAT_FREE) $(BYTESWAPIO) $(OMP)
1583 FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
1584 MODULE_SRCH_FLAG =     -module $(WRF_SRC_ROOT_DIR)/main
1585 TRADFLAG        =      CONFIGURE_TRADFLAG
1586 CPP             =      /lib/cpp CONFIGURE_CPPFLAGS
1587 AR              =      ar
1588 ARFLAGS         =      ru
1589 M4              =      m4 -B 14000
1590 RANLIB          =      ranlib
1591 RLFLAGS         =       
1592 CC_TOOLS        =      $(SCC) 
1593 NETCDFPAR_BUILD =      CONFIGURE_NETCDFPAR_BUILD
1595 ###########################################################
1596 #ARCH    CYGWIN_NT i686, PGI compiler on Windows # serial smpar dmpar dm+sm
1598 DESCRIPTION     =       PGI ($SFC/$SCC): Windows POSIX native
1599 DMPARALLEL      =       # 1
1600 OMPCPP          =       # -D_OPENMP
1601 OMP             =       # -mp -Minfo=mp
1602 OMPCC           =       # -mp
1603 SFC             =       pgf90
1604 SCC             =       pgcc
1605 CCOMP           =       pgcc
1606 DM_FC           =       pgf90
1607 DM_CC           =       pgcc
1608 FC              =       CONFIGURE_FC
1609 CC              =       CONFIGURE_CC
1610 LD              =       $(FC)
1611 RWORDSIZE       =       CONFIGURE_RWORDSIZE
1612 PROMOTION       =       -r$(RWORDSIZE) -i4
1613 ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_SUBR -D_WIN32  CONFIGURE_D_CTSM
1614 CFLAGS_LOCAL    =       -w -O3 -DMEMCPY_FOR_BCOPY  # -DRSL0_ONLY
1615 LDFLAGS_LOCAL   =       Ws2_32.lib # -lnetcdff
1616 CPLUSPLUSLIB    =
1617 ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
1618 FCOPTIM         =       -fastsse -Mvect=noaltcode -Mprefetch=distance:8 -Mfprelaxed -tp core2-64 # -Minfo=all 
1619 FCREDUCEDOPT    =       $(FCOPTIM)
1620 FCNOOPT         =       -O0
1621 FCDEBUG         =       # -g $(FCNOOPT) # -C -Ktrap=fp
1622 FORMAT_FIXED    =       -Mfixed
1623 FORMAT_FREE     =       -Mfree
1624 FCSUFFIX        =
1625 BYTESWAPIO      =       -byteswapio 
1626 FCBASEOPTS_NO_G =       -w $(FORMAT_FREE) $(BYTESWAPIO)
1627 FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
1628 MODULE_SRCH_FLAG=       -module $(WRF_SRC_ROOT_DIR)/main
1629 TRADFLAG        =
1630 CPP             =       pgprepro
1631 AR              =       ar
1632 ARFLAGS         =       cr
1633 M4              =       NA
1634 RANLIB          =       ranlib
1635 RLFLAGS         =       
1636 CC_TOOLS        =       $(SCC) 
1637 NETCDFPAR_BUILD =       CONFIGURE_NETCDFPAR_BUILD
1639 LIB_EXTERNAL    = \
1640                      ../external/io_netcdf/libwrfio_nf.a CONFIGURE_NETCDF_PATH/lib/libnetcdf.lib \
1641                      ../external/wavelet/libWavelet.a ../external/wavelet/lib_wavelet.a
1642 ESMF_IO_LIB     =    ../external/esmf_time_f90/libesmf_time.a
1643 LIB_BUNDLED     = \
1644                      ../external/fftpack/fftpack5/libfftpack.a \
1645                      ../external/io_grib1/libio_grib1.a \
1646                      ../external/io_grib_share/libio_grib_share.a \
1647                      ../external/io_int/libwrfio_int.a \
1648                      $(ESMF_IO_LIB) \
1649                      CONFIGURE_COMMS_LIB \
1650                      ../frame/module_internal_header_util.o \
1651                      ../frame/pack_utils.o
1653 ###########################################################
1654 #ARCH    Linux x86_64 ppc64le i486 i586 i686, PGI compiler with gcc -f90= # serial smpar dmpar dm+sm
1656 DESCRIPTION     =       PGI ($SFC/$SCC): -f90=pgf90
1657 DMPARALLEL      =       # 1
1658 OMPCPP          =       # -D_OPENMP
1659 OMP             =       # -mp -Minfo=mp -Mrecursive
1660 OMPCC           =       # -mp
1661 SFC             =       pgf90
1662 SCC             =       gcc
1663 CCOMP           =       gcc
1664 DM_FC           =       mpif90 -f90=pgf90
1665 DM_CC           =       mpicc -cc=gcc
1666 FC              =       CONFIGURE_FC
1667 CC              =       CONFIGURE_CC
1668 LD              =       $(FC)
1669 RWORDSIZE       =       CONFIGURE_RWORDSIZE
1670 PROMOTION       =       -r$(RWORDSIZE) -i4
1671 ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_SUBR  CONFIGURE_D_CTSM
1672 CFLAGS_LOCAL    =       -w -O3 # -DRSL0_ONLY
1673 LDFLAGS_LOCAL   =       
1674 CPLUSPLUSLIB    =       
1675 ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
1676 FCOPTIM         =       -O3 #-fastsse -Mvect=noaltcode -Msmartalloc -Mprefetch=distance:8 -Mfprelaxed # -Minfo=all =Mneginfo=all
1677 FCREDUCEDOPT    =       $(FCOPTIM)
1678 FCNOOPT         =       -O0
1679 FCDEBUG         =       # -g $(FCNOOPT)  # -C -Ktrap=fp -traceback
1680 FORMAT_FIXED    =       -Mfixed
1681 FORMAT_FREE     =       -Mfree
1682 FCSUFFIX        =
1683 BYTESWAPIO      =       -byteswapio
1684 FCBASEOPTS_NO_G =       -w $(FORMAT_FREE) $(BYTESWAPIO) $(OMP)
1685 FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
1686 MODULE_SRCH_FLAG =     -module $(WRF_SRC_ROOT_DIR)/main
1687 TRADFLAG        =      CONFIGURE_TRADFLAG
1688 CPP             =      /lib/cpp CONFIGURE_CPPFLAGS
1689 AR              =      ar
1690 ARFLAGS         =      ru
1691 M4              =      m4 -B 14000
1692 RANLIB          =      ranlib
1693 RLFLAGS         =       
1694 CC_TOOLS        =      $(SCC) 
1695 NETCDFPAR_BUILD =      CONFIGURE_NETCDFPAR_BUILD
1697 ###########################################################
1698 #ARCH    Darwin x86_64 arm64, (MACOS) PGI compiler with pgcc -f90= #serial smpar dmpar dm+sm
1700 DESCRIPTION     =       PGI ($SFC/$SCC): -f90=pgf90
1701 DMPARALLEL      =       # 1
1702 OMPCPP          =       # -D_OPENMP
1703 OMP             =       # -mp -Minfo=mp -Mrecursive
1704 OMPCC           =       # -mp
1705 SFC             =       pgf90
1706 SCC             =       pgcc
1707 CCOMP           =       pgcc
1708 DM_FC           =       mpif90 -f90=pgf90
1709 DM_CC           =       mpicc -cc=pgcc
1710 FC              =       CONFIGURE_FC
1711 CC              =       CONFIGURE_CC
1712 LD              =       $(FC)
1713 RWORDSIZE       =       CONFIGURE_RWORDSIZE
1714 PROMOTION       =       -r$(RWORDSIZE) -i4
1715 ARCH_LOCAL      =       -DMACOS -DNONSTANDARD_SYSTEM_SUBR  CONFIGURE_D_CTSM
1716 CFLAGS_LOCAL    =       -DMACOS # -DRSL0_ONLY
1717 LDFLAGS_LOCAL   =       
1718 CPLUSPLUSLIB    =       
1719 ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
1720 FCOPTIM         =       -O2 -fast
1721 FCREDUCEDOPT    =       $(FCOPTIM)
1722 FCNOOPT         =       -O0
1723 FCDEBUG         =       # -g $(FCNOOPT) # -C -Ktrap=fp -traceback
1724 FORMAT_FIXED    =       -Mfixed
1725 FORMAT_FREE     =       -Mfree
1726 FCSUFFIX        =       
1727 BYTESWAPIO      =       -byteswapio
1728 FCBASEOPTS_NO_G =       -w $(FORMAT_FREE) $(BYTESWAPIO) $(OMP)
1729 FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG) -Mnomod
1730 MODULE_SRCH_FLAG =     -module $(WRF_SRC_ROOT_DIR)/main
1731 TRADFLAG        =      CONFIGURE_TRADFLAG
1732 CPP             =      cpp CONFIGURE_CPPFLAGS -xassembler-with-cpp
1733 AR              =      ar
1734 ARFLAGS         =      ru
1735 M4              =      m4 -B 14000
1736 RANLIB          =      ranlib
1737 RLFLAGS         =       -c
1738 CC_TOOLS        =      cc
1739 NETCDFPAR_BUILD =      CONFIGURE_NETCDFPAR_BUILD
1741 ###########################################################
1742 #ARCH    Darwin x86_64 arm64, (MACOS) intel compiler with icc #serial smpar dmpar dm+sm
1744 DESCRIPTION     =       INTEL ($SFC/$SCC): Open MPI
1745 DMPARALLEL      =       # 1
1746 OMPCPP          =       # -D_OPENMP
1747 OMP             =       # -qopenmp -fpp -auto
1748 OMPCC           =       # -qopenmp 
1749 SFC             =       ifort
1750 SCC             =       icc
1751 CCOMP           =       icc
1752 DM_FC           =       mpif90
1753 DM_CC           =       mpicc
1754 FC              =       CONFIGURE_FC
1755 CC              =       CONFIGURE_CC
1756 LD              =       $(FC)
1757 RWORDSIZE       =       CONFIGURE_RWORDSIZE
1758 PROMOTION       =       -real-size `expr 8 \* $(RWORDSIZE)` -i4
1759 ARCH_LOCAL      =       -DMACOS -DNONSTANDARD_SYSTEM_FUNC  CONFIGURE_D_CTSM
1760 CFLAGS_LOCAL    =       -w -O3 -ip -DMACOS #-xHost -fp-model fast=2 -no-prec-div -no-prec-sqrt -ftz -no-multibyte-chars -DMACOS # -DRSL0_ONLY
1761 # increase stack size; also note that for OpenMP, set environment OMP_STACKSIZE 4G or greater
1762 LDFLAGS_LOCAL   =       -ip -Wl,-stack_addr,0xF10000000 -Wl,-stack_size,0x64000000 #-xHost -fp-model fast=2 -no-prec-div -no-prec-sqrt -ftz -align all -fno-alias -fno-common
1763 CPLUSPLUSLIB    =       
1764 ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
1765 FCOPTIM         =       -O3
1766 FCREDUCEDOPT    =       $(FCOPTIM)
1767 FCNOOPT         =       -O0 -fno-inline -no-ip
1768 FCDEBUG         =       # -g $(FCNOOPT) -traceback # -fpe0 -check noarg_temp_created,bounds,format,output_conversion,pointers,uninit -ftrapuv -unroll0 -u
1769 FORMAT_FIXED    =       -FI
1770 FORMAT_FREE     =       -FR
1771 FCSUFFIX        =
1772 BYTESWAPIO      =       -convert big_endian
1773 RECORDLENGTH    =       -assume byterecl
1774 # added -fno-common at suggestion of R. Dubtsov as workaround for failing to link program_name
1775 FCBASEOPTS_NO_G =       -ip -fp-model precise -w -ftz -align all -fno-alias $(FORMAT_FREE) $(BYTESWAPIO) #-xHost -fp-model fast=2 -no-heap-arrays -no-prec-div -no-prec-sqrt -fno-common
1776 FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
1777 MODULE_SRCH_FLAG =
1778 TRADFLAG        =      CONFIGURE_TRADFLAG
1779 CPP             =      cpp CONFIGURE_CPPFLAGS -xassembler-with-cpp
1780 AR              =      ar
1781 ARFLAGS         =      ru
1782 M4              =      m4 -B 14000
1783 RANLIB          =      ranlib
1784 RLFLAGS         =       -c
1785 CC_TOOLS        =      cc
1786 NETCDFPAR_BUILD =      CONFIGURE_NETCDFPAR_BUILD
1788 ###########################################################
1789 #ARCH    Darwin x86_64 arm64, (MACOS) gfortran with gcc openmpi #serial smpar dmpar dm+sm
1791 DESCRIPTION     =       GNU ($SFC/$SCC): Open MPI
1792 DMPARALLEL      =       # 1
1793 OMPCPP          =       # -D_OPENMP
1794 OMP             =       # -fopenmp
1795 OMPCC           =       # -fopenmp
1796 SFC             =       gfortran
1797 SCC             =       gcc
1798 CCOMP           =       gcc
1799 DM_FC           =       mpif90
1800 DM_CC           =       mpicc
1801 FC              =       CONFIGURE_FC
1802 CC              =       CONFIGURE_CC
1803 LD              =       $(FC)
1804 RWORDSIZE       =       CONFIGURE_RWORDSIZE
1805 PROMOTION       =       #-fdefault-real-8
1806 ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_SUBR -DMACOS  CONFIGURE_D_CTSM
1807 CFLAGS_LOCAL    =       -w -O3 -c  -DMACOS # -DRSL0_ONLY
1808 LDFLAGS_LOCAL   =
1809 CPLUSPLUSLIB    =       
1810 ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
1811 FCOPTIM         =       -O2 -ftree-vectorize -funroll-loops
1812 FCREDUCEDOPT    =       $(FCOPTIM)
1813 FCNOOPT         =       -O0
1814 FCDEBUG         =       # -g $(FCNOOPT) # -fbacktrace -ggdb -fcheck=bounds,do,mem,pointer -ffpe-trap=invalid,zero,overflow
1815 FORMAT_FIXED    =       -ffixed-form
1816 FORMAT_FREE     =       -ffree-form -ffree-line-length-none
1817 FCSUFFIX        =       
1818 FCCOMPAT        =       
1819 BYTESWAPIO      =       -fconvert=big-endian -frecord-marker=4
1820 FCBASEOPTS_NO_G =       -w $(FORMAT_FREE) $(BYTESWAPIO) $(FCCOMPAT)
1821 FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
1822 MODULE_SRCH_FLAG =
1823 TRADFLAG        =      CONFIGURE_TRADFLAG
1824 CPP             =      cpp CONFIGURE_CPPFLAGS -xassembler-with-cpp
1825 AR              =      ar
1826 ARFLAGS         =      ru
1827 M4              =      m4 -B 14000
1828 RANLIB          =      ranlib
1829 RLFLAGS         =       -c
1830 CC_TOOLS        =      $(SCC) 
1831 NETCDFPAR_BUILD =      CONFIGURE_NETCDFPAR_BUILD
1833 ###########################################################
1834 #ARCH    Linux x86_64 ppc64le i486 i586 i686, PGI compiler with pgcc -f90= # serial smpar dmpar dm+sm
1836 DESCRIPTION     =       PGI ($SFC/$SCC): -f90=pgf90
1837 DMPARALLEL      =       # 1
1838 OMPCPP          =       # -D_OPENMP
1839 OMP             =       # -mp -Minfo=mp -Mrecursive
1840 OMPCC           =       # -mp
1841 SFC             =       pgf90
1842 SCC             =       pgcc
1843 CCOMP           =       pgcc
1844 DM_FC           =       mpif90 -f90=pgf90
1845 DM_CC           =       mpicc -cc=pgcc
1846 FC              =       CONFIGURE_FC
1847 CC              =       CONFIGURE_CC
1848 LD              =       $(FC)
1849 RWORDSIZE       =       CONFIGURE_RWORDSIZE
1850 PROMOTION       =       -r$(RWORDSIZE) -i4
1851 ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_SUBR  CONFIGURE_D_CTSM
1852 CFLAGS_LOCAL    =       -w -O3 # -DRSL0_ONLY
1853 LDFLAGS_LOCAL   =       
1854 CPLUSPLUSLIB    =       
1855 ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
1856 FCOPTIM         =       -O3 #-fastsse -Mvect=noaltcode -Msmartalloc -Mprefetch=distance:8 -Mfprelaxed # -Minfo=all =Mneginfo=all
1857 FCREDUCEDOPT    =       $(FCOPTIM)
1858 FCNOOPT         =       -O0
1859 FCDEBUG         =       # -g $(FCNOOPT)  # -C -Ktrap=fp -traceback
1860 FORMAT_FIXED    =       -Mfixed
1861 FORMAT_FREE     =       -Mfree
1862 FCSUFFIX        =
1863 BYTESWAPIO      =       -byteswapio
1864 FCBASEOPTS_NO_G =       -w $(FORMAT_FREE) $(BYTESWAPIO) $(OMP)
1865 FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
1866 MODULE_SRCH_FLAG =     -module $(WRF_SRC_ROOT_DIR)/main
1867 TRADFLAG        =      CONFIGURE_TRADFLAG
1868 CPP             =      /lib/cpp CONFIGURE_CPPFLAGS
1869 AR              =      ar
1870 ARFLAGS         =      ru
1871 M4              =      m4 -B 14000
1872 RANLIB          =      ranlib
1873 RLFLAGS         =       
1874 CC_TOOLS        =      $(SCC) 
1875 NETCDFPAR_BUILD =      CONFIGURE_NETCDFPAR_BUILD
1877 ###########################################################
1878 #ARCH    Linux HSW/BDW x86_64 ppc64le i486 i586 i686, ifort compiler with icc #serial smpar dmpar dm+sm
1880 DESCRIPTION     =       INTEL ($SFC/$SCC): HSW/BDW
1881 DMPARALLEL      =       # 1
1882 OMPCPP          =       # -D_OPENMP
1883 OMP             =       # -qopenmp -fpp -auto
1884 OMPCC           =       # -qopenmp 
1885 SFC             =       ifort
1886 SCC             =       icc
1887 CCOMP           =       icc
1888 DM_FC           =       mpif90 -f90=$(SFC)
1889 DM_CC           =       mpicc -cc=$(SCC)
1890 FC              =       CONFIGURE_FC
1891 CC              =       CONFIGURE_CC
1892 LD              =       $(FC)
1893 RWORDSIZE       =       CONFIGURE_RWORDSIZE
1894 PROMOTION       =       -real-size `expr 8 \* $(RWORDSIZE)` -i4
1895 ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_FUNC CONFIGURE_D_CTSM
1896 CFLAGS_LOCAL    =       -w -O3 -ip -xHost -fp-model fast=2 -no-prec-div -no-prec-sqrt -ftz -no-multibyte-chars -xCORE-AVX2 # -DRSL0_ONLY
1897 LDFLAGS_LOCAL   =       -ip -xHost -fp-model fast=2 -no-prec-div -no-prec-sqrt -ftz -align all -fno-alias -fno-common -xCORE-AVX2
1898 CPLUSPLUSLIB    =       
1899 ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
1900 FCOPTIM         =       -O3
1901 FCREDUCEDOPT    =       $(FCOPTIM)
1902 FCNOOPT         =       -O0 -fno-inline -no-ip
1903 FCDEBUG         =       # -g $(FCNOOPT) -traceback # -fpe0 -check noarg_temp_created,bounds,format,output_conversion,pointers,uninit -ftrapuv -unroll0 -u
1904 FORMAT_FIXED    =       -FI
1905 FORMAT_FREE     =       -FR
1906 FCSUFFIX        =
1907 BYTESWAPIO      =       -convert big_endian
1908 RECORDLENGTH    =       -assume byterecl
1909 FCBASEOPTS_NO_G =       -ip -fp-model precise -w -ftz -align all -fno-alias $(FORMAT_FREE) $(BYTESWAPIO) -xHost -fp-model fast=2 -no-heap-arrays -no-prec-div -no-prec-sqrt -fno-common -xCORE-AVX2
1910 FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
1911 MODULE_SRCH_FLAG =     
1912 TRADFLAG        =      CONFIGURE_TRADFLAG
1913 CPP             =      /lib/cpp CONFIGURE_CPPFLAGS
1914 AR              =      ar
1915 ARFLAGS         =      ru
1916 M4              =      m4
1917 RANLIB          =      ranlib
1918 RLFLAGS         =       
1919 CC_TOOLS        =      $(SCC) 
1920 NETCDFPAR_BUILD =      CONFIGURE_NETCDFPAR_BUILD
1922 ###########################################################
1923 #ARCH    Linux KNL x86_64 ppc64le i486 i586 i686, ifort compiler with icc #serial smpar dmpar dm+sm
1925 DESCRIPTION     =       INTEL ($SFC/$SCC): KNL MIC
1926 DMPARALLEL      =       # 1
1927 OMPCPP          =       # -D_OPENMP
1928 OMP             =       # -qopenmp -fpp -auto
1929 OMPCC           =       # -qopenmp 
1930 SFC             =       ifort
1931 SCC             =       icc
1932 CCOMP           =       icc
1933 DM_FC           =       mpif90 -f90=$(SFC)
1934 DM_CC           =       mpicc -cc=$(SCC)
1935 FC              =       CONFIGURE_FC
1936 CC              =       CONFIGURE_CC
1937 LD              =       $(FC)
1938 RWORDSIZE       =       CONFIGURE_RWORDSIZE
1939 PROMOTION       =       -real-size `expr 8 \* $(RWORDSIZE)` -i4
1940 ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_FUNC CONFIGURE_D_CTSM
1941 CFLAGS_LOCAL    =       -w -O3 -ip -xHost -fp-model fast=2 -no-prec-div -no-prec-sqrt -ftz -no-multibyte-chars -xMIC-AVX512 # -DRSL0_ONLY
1942 LDFLAGS_LOCAL   =       -ip -xHost -fp-model fast=2 -no-prec-div -no-prec-sqrt -ftz -align all -fno-alias -fno-common -xMIC-AVX512
1943 CPLUSPLUSLIB    =       
1944 ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
1945 FCOPTIM         =       -O3
1946 FCREDUCEDOPT    =       $(FCOPTIM)
1947 FCNOOPT         =       -O0 -fno-inline -no-ip
1948 FCDEBUG         =       # -g $(FCNOOPT) -traceback # -fpe0 -check noarg_temp_created,bounds,format,output_conversion,pointers,uninit -ftrapuv -unroll0 -u
1949 FORMAT_FIXED    =       -FI
1950 FORMAT_FREE     =       -FR
1951 FCSUFFIX        =
1952 BYTESWAPIO      =       -convert big_endian
1953 RECORDLENGTH    =       -assume byterecl
1954 FCBASEOPTS_NO_G =       -ip -fp-model precise -w -ftz -align all -fno-alias $(FORMAT_FREE) $(BYTESWAPIO) -xHost -fp-model fast=2 -no-heap-arrays -no-prec-div -no-prec-sqrt -fno-common -xMIC-AVX512
1955 FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
1956 MODULE_SRCH_FLAG =     
1957 TRADFLAG        =      CONFIGURE_TRADFLAG
1958 CPP             =      /lib/cpp CONFIGURE_CPPFLAGS
1959 AR              =      ar
1960 ARFLAGS         =      ru
1961 M4              =      m4
1962 RANLIB          =      ranlib
1963 RLFLAGS         =       
1964 CC_TOOLS        =      $(SCC) 
1965 NETCDFPAR_BUILD =      CONFIGURE_NETCDFPAR_BUILD
1967 ###########################################################
1968 #ARCH    CYGWIN_NT i686 x86_64 Cygwin, gfortran compiler with gcc  #serial smpar dmpar dm+sm
1970 DESCRIPTION     =       GNU ($SFC/$SCC)
1971 DMPARALLEL      =       # 1
1972 OMPCPP          =       # -D_OPENMP
1973 OMP             =       # -fopenmp
1974 OMPCC           =       # -fopenmp
1975 SFC             =       gfortran
1976 SCC             =       gcc
1977 CCOMP           =       gcc
1978 DM_FC           =       mpif90
1979 DM_CC           =       mpicc
1980 FC              =       CONFIGURE_FC
1981 CC              =       CONFIGURE_CC
1982 LD              =       $(FC)
1983 RWORDSIZE       =       CONFIGURE_RWORDSIZE
1984 PROMOTION       =       #-fdefault-real-8
1985 ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_SUBR CONFIGURE_D_CTSM
1986 CFLAGS_LOCAL    =       -w -O3 -c #
1987 LDFLAGS_LOCAL   =       
1988 CPLUSPLUSLIB    =       
1989 ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
1990 FCOPTIM         =       -O2 -ftree-vectorize -funroll-loops
1991 FCREDUCEDOPT    =       $(FCOPTIM)
1992 FCNOOPT         =       -O0
1993 FCDEBUG         =       # -g $(FCNOOPT) # -ggdb -fbacktrace
1994 FORMAT_FIXED    =       -ffixed-form
1995 FORMAT_FREE     =       -ffree-form -ffree-line-length-none
1996 FCSUFFIX        =       
1997 FCCOMPAT        =       
1998 BYTESWAPIO      =       -fconvert=big-endian -frecord-marker=4
1999 FCBASEOPTS_NO_G =       -w $(FORMAT_FREE) $(BYTESWAPIO) $(FCCOMPAT)
2000 FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
2001 MODULE_SRCH_FLAG =     
2002 TRADFLAG        =      -traditional
2003 CPP             =      /lib/cpp -P
2004 AR              =      ar
2005 ARFLAGS         =      ru
2006 M4              =      m4 -G
2007 RANLIB          =      ranlib
2008 RLFLAGS         =       
2009 CC_TOOLS        =      $(SCC)
2010 NETCDFPAR_BUILD =      CONFIGURE_NETCDFPAR_BUILD
2012 LIB_EXTERNAL    = \
2013                      $(WRF_SRC_ROOT_DIR)/external/io_netcdf/libwrfio_nf.a CONFIGURE_NETCDF_PATH/lib/libnetcdf.dll.a \
2014                      -L CONFIGURE_NETCDF_PATH -lnetcdff -lnetcdf -lnetcdf -ltirpc -lhdf5_hl -lhdf5 -lm -lz \
2015                      CONFIGURE_GRIB2_LIB
2016 ESMF_IO_LIB     =    $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90/libesmf_time.a
2017 LIB_BUNDLED     = \
2018                      $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5/libfftpack.a \
2019                      $(WRF_SRC_ROOT_DIR)/external/io_grib1/libio_grib1.a \
2020                      $(WRF_SRC_ROOT_DIR)/external/io_grib_share/libio_grib_share.a \
2021                      $(WRF_SRC_ROOT_DIR)/external/io_int/libwrfio_int.a \
2022                      $(ESMF_IO_LIB) \
2023                      CONFIGURE_COMMS_LIB \
2024                      $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o \
2025                      $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o
2027 ###########################################################
2028 #ARCH   Linux   armv7l aarch64, gnu OpenMPI #serial smpar dmpar dm+sm
2030 DESCRIPTION     =       GNU ($SFC/$SCC)
2031 DMPARALLEL      =       # 1
2032 OMPCPP          =       # -D_OPENMP
2033 OMP             =       # -fopenmp
2034 OMPCC           =       # -fopenmp
2035 SFC             =       gfortran
2036 SCC             =       gcc
2037 CCOMP           =       gcc
2038 DM_FC           =       mpif90 -f90=$(SFC)
2039 DM_CC           =       mpicc -cc=$(SCC)
2040 FC              =       CONFIGURE_FC
2041 CC              =       CONFIGURE_CC
2042 LD              =       $(FC)
2043 RWORDSIZE       =       CONFIGURE_RWORDSIZE
2044 PROMOTION       =       #-fdefault-real-8
2045 ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_SUBR  CONFIGURE_D_CTSM
2046 CFLAGS_LOCAL    =       -w -O3 -c -march=native # -DRSL0_ONLY
2047 LDFLAGS_LOCAL   =
2048 CPLUSPLUSLIB    =
2049 ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
2050 FCOPTIM         =       -O3 -ftree-vectorize -funroll-loops -march=native
2051 FCREDUCEDOPT    =       $(FCOPTIM)
2052 FCNOOPT         =       -O0
2053 FCDEBUG         =       # -g $(FCNOOPT)  # -fbacktrace -ggdb -fcheck=bounds,do,mem,pointer -ffpe-trap=invalid,zero,overflow
2054 FORMAT_FIXED    =       -ffixed-form
2055 FORMAT_FREE     =       -ffree-form -ffree-line-length-none
2056 FCSUFFIX        =
2057 FCCOMPAT        =
2058 BYTESWAPIO      =       -fconvert=big-endian -frecord-marker=4
2059 FCBASEOPTS_NO_G =       -w $(FORMAT_FREE) $(BYTESWAPIO) $(FCCOMPAT)
2060 FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
2061 MODULE_SRCH_FLAG =
2062 TRADFLAG        =      CONFIGURE_TRADFLAG
2063 CPP             =      /lib/cpp CONFIGURE_CPPFLAGS
2064 AR              =      ar
2065 ARFLAGS         =      ru
2066 M4              =      m4 -G
2067 RANLIB          =      ranlib
2068 RLFLAGS         =
2069 CC_TOOLS        =      $(SCC)
2070 NETCDFPAR_BUILD =      CONFIGURE_NETCDFPAR_BUILD
2072 ###########################################################
2073 #ARCH    AMD Linux x86_64, AOCC flang compiler with AOCC clang  #serial smpar dmpar dm+sm
2074 # Supported AMDARCH are znver1, znver2 and znver3 for ZEN1, ZEN2 and ZEN3 respectively
2075 # For optimized AMDFCFLAGS and AMDLDFLAGS, please reach out to toolchainsupport@amd.com
2078 DESCRIPTION     =       AMD ($SFC/$SCC) :  AMD ZEN1/ ZEN2/ ZEN3 Architectures
2079 DMPARALLEL      =       1
2080 OMPCPP          =       -D_OPENMP
2081 OMP             =       -fopenmp
2082 OMPCC           =       -fopenmp
2083 SFC             =       flang
2084 SCC             =       clang
2085 CCOMP           =       clang
2086 DM_FC           =       mpif90
2087 DM_CC           =       mpicc
2088 FC              =       CONFIGURE_FC
2089 CC              =       CONFIGURE_CC
2090 LD              =       $(FC)
2091 RWORDSIZE       =       CONFIGURE_RWORDSIZE
2093 AMDARCH         =       -march=znver3
2094 AMDMATHLIB      =       -fveclib=AMDLIBM
2095 AMDLDFLAGS      =       -Wl,-mllvm -Wl,-enable-loop-reversal -Wl,-mllvm -Wl,-enable-gather -Wl,-mllvm -Wl,-vectorize-noncontigous-memory-aggressively
2096 AMDFCFLAGS      =
2098 PROMOTION       =       #-fdefault-real-8
2099 ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_SUBR  -DWRF_USE_CLM -DRPC_TYPES=2
2100 CFLAGS_LOCAL    =       -w -c -m64 -Ofast -ffast-math $(AMDARCH)
2101 LDFLAGS_LOCAL   =       -m64 -Ofast -Mstack_arrays $(AMDARCH) $(AMDLDFLAGS) $(AMDMATHLIB) -lamdlibm -lomp
2102 CPLUSPLUSLIB    =
2103 ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
2104 FCOPTIM         =       -Ofast -ffast-math $(AMDARCH) -Mbyteswapio -Mstack_arrays -ftree-vectorize -Mbyteswapio -funroll-loops -finline-aggressive -finline-hint-functions $(AMDMATHLIB) $(AMDFCFLAGS)
2105 FCREDUCEDOPT    =       -O3 $(AMDARCH) -ffast-math -Mstack_arrays -DFCREDUCEDOPT
2106 FCNOOPT         =       -O0
2107 FCDEBUG         =       # -g $(FCNOOPT)
2108 FORMAT_FIXED    =       -Mfixed
2109 FORMAT_FREE     =       -Mfreeform
2110 FCSUFFIX        =
2111 BYTESWAPIO      =       -Mbyteswapio
2112 FCBASEOPTS_NO_G =       -w $(FORMAT_FREE) $(BYTESWAPIO)
2113 FCBASEOPTS      =       -Ofast -ffast-math $(FCBASEOPTS_NO_G) $(FCDEBUG)
2114 MODULE_SRCH_FLAG=
2115 TRADFLAG        =       -traditional
2116 CPP             =       /lib/cpp -P
2117 AR              =       llvm-ar
2118 ARFLAGS         =       ru
2119 M4              =       m4
2120 RANLIB          =       llvm-ranlib
2121 RLFLAGS         =
2122 CC_TOOLS        =       $(SCC)
2123 NETCDFPAR_BUILD =       CONFIGURE_NETCDFPAR_BUILD
2125 #insert new stanza here
2127 ###########################################################
2128 #ARCH    Linux x86_64 ppc64le i486 i586 i686, Intel oneAPI compiler with icx #serial smpar dmpar dm+sm
2129 # This mirrors the above Intel build but changes ifort=>ifx icc=>icx
2131 DESCRIPTION     =       INTEL ($SFC/$SCC) : oneAPI LLVM
2132 DMPARALLEL      =       # 1
2133 OMPCPP          =       # -D_OPENMP
2134 OMP             =       # -qopenmp -fpp -auto
2135 OMPCC           =       # -qopenmp
2136 SFC             =       ifx
2137 SCC             =       icx
2138 CCOMP           =       icx
2139 DM_FC           =       mpif90 -f90=$(SFC)
2140 DM_CC           =       mpicc -cc=$(SCC)
2141 FC              =       CONFIGURE_FC
2142 CC              =       CONFIGURE_CC
2143 LD              =       $(FC)
2144 RWORDSIZE       =       CONFIGURE_RWORDSIZE
2145 PROMOTION       =       -real-size `expr 8 \* $(RWORDSIZE)` -i4
2146 ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_FUNC  CONFIGURE_D_CTSM
2147 CFLAGS_LOCAL    =       -w -O3 -ip #-xHost -fp-model fast=2 -no-prec-div -no-prec-sqrt -ftz -no-multibyte-chars # -DRSL0_ONLY
2148 LDFLAGS_LOCAL   =       -ip #-xHost -fp-model fast=2 -no-prec-div -no-prec-sqrt -ftz -align all -fno-alias -fno-common
2149 CPLUSPLUSLIB    =
2150 ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
2151 FCOPTIM         =       -O3
2152 FCREDUCEDOPT    =       $(FCOPTIM)
2153 FCNOOPT         =       -O0 -fno-inline -no-ip
2154 FCDEBUG         =       # -g $(FCNOOPT) -traceback # -fpe0 -check noarg_temp_created,bounds,format,output_conversion,pointers,uninit -ftrapuv -unroll0 -u
2155 FORMAT_FIXED    =       -FI
2156 FORMAT_FREE     =       -FR
2157 FCSUFFIX        =
2158 BYTESWAPIO      =       -convert big_endian
2159 RECORDLENGTH    =       -assume byterecl
2160 FCBASEOPTS_NO_G =       -ip -fp-model precise -w -ftz -align all -fno-alias $(FORMAT_FREE) $(BYTESWAPIO) #-xHost -fp-model fast=2 -no-heap-arrays -no-prec-div -no-prec-sqrt -fno-common
2161 FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
2162 MODULE_SRCH_FLAG =
2163 TRADFLAG        =      CONFIGURE_TRADFLAG
2164 CPP             =      /lib/cpp CONFIGURE_CPPFLAGS
2165 AR              =      ar
2166 ARFLAGS         =      ru
2167 M4              =      m4
2168 RANLIB          =      ranlib
2169 RLFLAGS         =
2170 CC_TOOLS        =      $(SCC)
2171 NETCDFPAR_BUILD =      CONFIGURE_NETCDFPAR_BUILD
2173 ###########################################################
2174 #ARCH    Linux aarch64, armclang compiler OpenMPI # serial smpar dmpar dm+sm
2176 DESCRIPTION     =      armclang ($SFC/$SCC): Aarch64
2177 DMPARALLEL      =
2178 OMPCPP          =      -fopenmp
2179 OMP             =      -fopenmp
2180 OMPCC           =      -fopenmp
2181 SFC             =      armflang
2182 SCC             =      armclang
2183 CCOMP           =      armclang
2184 DM_FC           =      mpif90
2185 DM_CC           =      mpicc -DMPI2_SUPPORT
2186 FC              =      CONFIGURE_FC
2187 CC              =      CONFIGURE_CC
2188 LD              =      $(FC)
2189 RWORDSIZE       =      CONFIGURE_RWORDSIZE
2190 PROMOTION       =
2191 ARCH_LOCAL      =
2192 CFLAGS_LOCAL    =      -w -O3 -c -Wno-implicit-function-declaration -Wno-int-conversion -Wno-implicit-int
2193 LDFLAGS_LOCAL   =      -fopenmp
2194 FCOPTIM         =      -Ofast -mcpu=native -funroll-loops
2195 FCREDUCEDOPT    =      $(FCOPTIM)
2196 FCNOOPT         =      -O0 -fopenmp -frecursive
2197 FCDEBUG         =      -g $(FCNOOPT)
2198 FORMAT_FIXED    =      -ffixed-form -ffixed-line-length-0
2199 FORMAT_FREE     =      -ffree-form -ffree-line-length-0
2200 FCSUFFIX        =
2201 BYTESWAPIO      =      -fconvert=big-endian -frecord-marker=4
2202 FCBASEOPTS      =      -w $(FORMAT_FREE) $(BYTESWAPIO)
2203 MODULE_SRCH_FLAG=      -I$(WRF_SRC_ROOT_DIR)/main
2204 TRADFLAG        =      -traditional-cpp
2205 CPP             =      /lib/cpp CONFIGURE_CPPFLAGS
2206 AR              =      ar
2207 ARFLAGS         =      ru
2208 M4              =      m4 -B 14000
2209 RANLIB          =      ranlib
2210 RLFLAGS         =
2211 CC_TOOLS        =      $(SCC) -Wno-implicit-function-declaration -Wno-int-conversion -Wno-implicit-int
2213 ###########################################################
2214 #ARCH    Linux aarch64, GCC compiler OpenMPI # serial smpar dmpar dm+sm
2216 DESCRIPTION     =      GCC ($SFC/$SCC): Aarch64
2217 DMPARALLEL      =
2218 OMPCPP          =      -fopenmp
2219 OMP             =      -fopenmp
2220 OMPCC           =      -fopenmp
2221 SFC             =      gfortran
2222 SCC             =      gcc
2223 CCOMP           =      gcc
2224 DM_FC           =      mpif90
2225 DM_CC           =      mpicc -DMPI2_SUPPORT
2226 FC              =      CONFIGURE_FC
2227 CC              =      CONFIGURE_CC
2228 LD              =      $(FC)
2229 RWORDSIZE       =      CONFIGURE_RWORDSIZE
2230 PROMOTION       =
2231 ARCH_LOCAL      =      -DAARCH64_X86_CORRECTNESS_FIX
2232 CFLAGS_LOCAL    =      -w -O3 -c
2233 LDFLAGS_LOCAL   =      -fopenmp
2234 FCOPTIM         =      -Ofast -mcpu=native -funroll-loops -fno-expensive-optimizations -fno-reciprocal-math -fsigned-zeros -fno-unsafe-math-optimizations
2235 # for graviton 2 use the folowing flag
2236 #FCOPTIM         =      -Ofast -march=armv8.2-a+fp16+rcpc+dotprod -funroll-loops -fno-expensive-optimizations -fno-reciprocal-math -fsigned-zeros -fno-unsafe-math-optimizations
2237 FCREDUCEDOPT    =      $(FCOPTIM)
2238 FCNOOPT         =      -O0 -fopenmp -frecursive
2239 FCDEBUG         =      -g $(FCNOOPT)
2240 FORMAT_FIXED    =      -ffixed-form -ffixed-line-length-0 -fallow-argument-mismatch -fallow-invalid-boz
2241 FORMAT_FREE     =      -ffree-form -ffree-line-length-0 -fallow-argument-mismatch -fallow-invalid-boz
2242 FCSUFFIX        =
2243 BYTESWAPIO      =      -fconvert=big-endian -frecord-marker=4
2244 FCBASEOPTS      =      -w $(FORMAT_FREE) $(BYTESWAPIO)
2245 MODULE_SRCH_FLAG=      -I$(WRF_SRC_ROOT_DIR)/main
2246 TRADFLAG        =      -traditional-cpp
2247 CPP             =      /lib/cpp CONFIGURE_CPPFLAGS
2248 AR              =      ar
2249 ARFLAGS         =      ru
2250 M4              =      m4 -B 14000
2251 RANLIB          =      ranlib
2252 RLFLAGS         =
2253 CC_TOOLS        =      $(SCC)
2255 ###########################################################
2256 #ARCH    Linux aarch64, NVHPC compiler with nvc # serial smpar dmpar dm+sm
2258 DESCRIPTION     =       NVHPC ($SFC/$SCC)
2259 DMPARALLEL      =       # 1
2260 OMPCPP          =       # -D_OPENMP
2261 OMP             =       # -mp -Minfo=mp -Mrecursive
2262 OMPCC           =       # -mp
2263 SFC             =       nvfortran
2264 SCC             =       nvc
2265 CCOMP           =       nvc
2266 DM_FC           =       mpif90
2267 DM_CC           =       mpicc
2268 FC              =       CONFIGURE_FC
2269 CC              =       CONFIGURE_CC
2270 LD              =       $(FC)
2271 RWORDSIZE       =       CONFIGURE_RWORDSIZE
2272 PROMOTION       =       -r$(RWORDSIZE) -i4
2273 ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_SUBR  -DWRF_USE_CLM
2274 CFLAGS_LOCAL    =       -w -O3
2275 LDFLAGS_LOCAL   =
2276 CPLUSPLUSLIB    =
2277 ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
2278 FCOPTIM         =       -O3 -fast -Mvect=noaltcode -Mprefetch=distance:8 # -Mfprelaxed # -Minfo=all =Mneginfo=all
2279 FCREDUCEDOPT  =       $(FCOPTIM)
2280 FCNOOPT               =       -O0
2281 FCDEBUG         =       # -g $(FCNOOPT)  # -C -Ktrap=fp -traceback
2282 FORMAT_FIXED    =       -Mfixed
2283 FORMAT_FREE     =       -Mfree
2284 FCSUFFIX        =
2285 BYTESWAPIO      =       -byteswapio
2286 FCBASEOPTS_NO_G =       -w $(FORMAT_FREE) $(BYTESWAPIO) $(OMP)
2287 FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
2288 MODULE_SRCH_FLAG =     -module $(WRF_SRC_ROOT_DIR)/main
2289 TRADFLAG        =      CONFIGURE_TRADFLAG
2290 CPP             =      /lib/cpp CONFIGURE_CPPFLAGS
2291 AR              =      ar
2292 ARFLAGS         =      ru
2293 M4              =      m4 -B 14000
2294 RANLIB          =      ranlib
2295 RLFLAGS         =
2296 CC_TOOLS        =      $(SCC)
2298 ###########################################################
2299 #ARCH    Fujitsu FX10/FX100 Linux x86_64 SPARC64IXfx/SPARC64Xlfx, mpifrtpx and mpifccpx compilers #serial smpar dmpar dm+sm
2301 DESCRIPTION     =       FUJITSU ($SFC/$SCC): FX10/FX100 SPARC64 IXfx/Xlfx
2302 DMPARALLEL      =       # 1
2303 OMPCPP          =       # -D_OPENMP
2304 OMP             =       # -Kopenmp
2305 OMPCC           =       # -Kopenmp
2306 SFC             =       frtpx
2307 SCC             =       fccpx
2308 CCOMP           =       fccpx
2309 DM_FC           =       mpifrtpx
2310 DM_CC           =       mpifccpx -DMPI2_THREAD_SUPPORT # -DMPI2_SUPPORT
2311 FC              =       CONFIGURE_FC
2312 CC              =       CONFIGURE_CC
2313 LD              =       $(FC)
2314 RWORDSIZE       =       CONFIGURE_RWORDSIZE
2315 PROMOTION       =       -CcdRR$(RWORDSIZE)
2316 ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_SUBR  CONFIGURE_D_CTSM
2317 CFLAGS_LOCAL    =       -Kfast -Xg -DSUN # -DRSL0_ONLY
2318 LDFLAGS_LOCAL   =
2319 CPLUSPLUSLIB    =
2320 ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
2321 FCOPTIM         =       -Kfast
2322 FCREDUCEDOPT    =       $(FCOPTIM)
2323 FCNOOPT         =       -O0
2324 FCDEBUG         =       # -g $(FCNOOPT)
2325 FORMAT_FIXED    =       -Fixed
2326 FORMAT_FREE     =       -Free
2327 FCSUFFIX        =
2328 BYTESWAPIO      =
2329 FCBASEOPTS_NO_G =       -Kautoobjstack,ocl -fw $(FORMAT_FREE) $(BYTESWAPIO) $(OMP)
2330 FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
2331 MODULE_SRCH_FLAG =
2332 TRADFLAG        =      -traditional
2333 CPP             =      /lib/cpp -P
2334 AR              =      ar
2335 ARFLAGS         =      ru
2336 M4              =      m4
2337 RANLIB          =      ranlib
2338 RLFLAGS         =
2339 CC_TOOLS        =      /usr/bin/gcc -Wall
2340 NETCDFPAR_BUILD =      CONFIGURE_NETCDFPAR_BUILD
2342 #insert new stanza before the Fujitsu block, keep Fujitsu at the end of the list
2343 ###########################################################
2344 #ARCH  NULL