###########################################################
#ARCH    Linux i486 i586 i686,  NEC SX sxf90 sxcc #serial smpar dmpar dm+sm
#
DESCRIPTION     =       NEC SX ($SFC/$SCC)
DMPARALLEL      =       # 1
OMPCPP          =       # -D_OPENMP
OMP             =       # -Popenmp
OMPCC           =       # -Popenmp
SFC             =       sxf90
SCC             =       sxcc
CCOMP           =       sxcc
DM_FC           =       sxmpif90
DM_CC           =       sxmpic++
FC              =       CONFIGURE_FC
CC              =       CONFIGURE_CC
LD              =       $(FC)
RWORDSIZE       =       CONFIGURE_RWORDSIZE
PROMOTION       =       #-fdefault-real-8
ARCH_LOCAL      =       -DNEC -DNONSTANDARD_SYSTEM_SUBR  -DWRF_USE_CLM
CFLAGS_LOCAL    =       -c  
#-DNCARIBM_NOC99 -Xa -Kc99
LDFLAGS_LOCAL   =       -Wl,-h nodefs
CPLUSPLUSLIB    =       
ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
FCOPTIM         =       -w -Chopt -Wf'-M noflunf -M nozdiv' -Wf,-L fmtlist transform,-pvctl fullmsg loopcnt=1000000 -f4 -Wf,-P i
FCREDUCEDOPT	=       $(FCOPTIM)
FCNOOPT         =       -Cssafe
FCDEBUG         =       # -g $(FCNOOPT)
FORMAT_FIXED    =       -w -f3
FORMAT_FREE     =       -w -f4
FCSUFFIX        =       
BYTESWAPIO      =       #-FIX_BYTE_SWAP_IF_NECESSARY_FOR_BIG_ENDIAN
FCBASEOPTS_NO_G =       -w -Wf'-M noflunf -M nozdiv' $(FORMAT_FREE) $(BYTESWAPIO)
FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
MODULE_SRCH_FLAG =      -I/SX/usr/include/module/dwdadW64/
TRADFLAG        =      -traditional
CPP             =      /lib/cpp -P
AR              =      sxar
ARFLAGS         =      ru
M4              =      m4 -B 14000
RANLIB          =      ls
RLFLAGS		=	
#ranlib
CC_TOOLS        =      cc 

###########################################################
#ARCH    Linux i486 i586 i686, gfortran compiler with gcc #serial smpar dmpar dm+sm
#
DESCRIPTION     =       GNU ($SFC/$SCC)
DMPARALLEL      =       # 1
OMPCPP          =       # -D_OPENMP
OMP             =       # -fopenmp
OMPCC           =       # -fopenmp
SFC             =       gfortran
SCC             =       gcc
CCOMP           =       gcc
DM_FC           =       mpif90 -f90=$(SFC)
DM_CC           =       mpicc -cc=$(SCC)
FC              =       CONFIGURE_FC
CC              =       CONFIGURE_CC
LD              =       $(FC)
RWORDSIZE       =       CONFIGURE_RWORDSIZE
PROMOTION       =       #-fdefault-real-8
ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_SUBR  -DWRF_USE_CLM
CFLAGS_LOCAL    =       -w -O3 -c 
LDFLAGS_LOCAL   =
CPLUSPLUSLIB    =       
ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
FCOPTIM         =       -O2 -ftree-vectorize -funroll-loops
FCREDUCEDOPT	=       $(FCOPTIM)
FCNOOPT         =       -O0
FCDEBUG         =       # -g $(FCNOOPT)  # -fbacktrace -ggdb -fcheck=bounds,do,mem,pointer -ffpe-trap=invalid,zero,overflow
FORMAT_FIXED    =       -ffixed-form
FORMAT_FREE     =       -ffree-form -ffree-line-length-none
FCSUFFIX        =       
BYTESWAPIO      =       -fconvert=big-endian -frecord-marker=4
FCBASEOPTS_NO_G =       -w $(FORMAT_FREE) $(BYTESWAPIO)
FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
MODULE_SRCH_FLAG =
TRADFLAG        =      -traditional
CPP             =      /lib/cpp -P
AR              =      ar
ARFLAGS         =      ru
M4              =      m4 -B 14000
RANLIB          =      ranlib
RLFLAGS		=	
CC_TOOLS        =      $(SCC) 

###########################################################
#ARCH    Linux i486 i586 i686, g95 compiler with gcc #serial dmpar
#
DESCRIPTION     =       GNU ($SFC/$SCC)
DMPARALLEL      =       # 1
OMPCPP          =       # not supported
OMP             =       # not supported
OMPCC           =       # not supported
SFC             =       g95
SCC             =       gcc
CCOMP           =       gcc
DM_FC           =       mpif90 -f90=$(SFC)
DM_CC           =       mpicc -cc=$(SCC)
FC              =       CONFIGURE_FC
CC              =       CONFIGURE_CC
LD              =       $(FC)
RWORDSIZE       =       CONFIGURE_RWORDSIZE
PROMOTION       =       -r$(RWORDSIZE) -i4
ARCH_LOCAL      =       -DF2CSTYLE -DNONSTANDARD_SYSTEM_SUBR  -DWRF_USE_CLM
CFLAGS_LOCAL    =       -DF2CSTYLE
LDFLAGS_LOCAL   =
CPLUSPLUSLIB    =       
ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
FCOPTIM         =       -O2 #-fast
FCREDUCEDOPT	=       $(FCOPTIM)
FCNOOPT         =       -O0
FCDEBUG         =       # -g $(FCNOOPT)
FORMAT_FIXED    =       -ffixed-form
FORMAT_FREE     =       -ffree-form -ffree-line-length-huge
FCSUFFIX        =
BYTESWAPIO      =       -fendian=big
FCBASEOPTS_NO_G =       -Wno=101,139,155,158 $(FORMAT_FREE) $(BYTESWAPIO)
FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
MODULE_SRCH_FLAG =     -fmod=$(WRF_SRC_ROOT_DIR)/main
TRADFLAG        =      -traditional
CPP             =      /lib/cpp -P
AR              =      ar
ARFLAGS         =      ru
M4              =      m4 -B 14000
RANLIB          =      ranlib
RLFLAGS		=	
CC_TOOLS        =      $(SCC) 

###########################################################
#ARCH    Linux x86_64 ppc64le i486 i586 i686, PGI compiler with gcc # serial smpar dmpar dm+sm
#
DESCRIPTION     =       PGI ($SFC/$SCC)
DMPARALLEL      =       # 1
OMPCPP          =       # -D_OPENMP
OMP             =       # -mp -Minfo=mp -Mrecursive
OMPCC           =       # -mp
SFC             =       pgf90
SCC             =       gcc
CCOMP           =       pgcc
DM_FC           =       mpif90
DM_CC           =       mpicc
FC              =       CONFIGURE_FC
CC              =       CONFIGURE_CC
LD              =       $(FC)
RWORDSIZE       =       CONFIGURE_RWORDSIZE
PROMOTION       =       -r$(RWORDSIZE) -i4
ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_SUBR  -DWRF_USE_CLM
CFLAGS_LOCAL    =       -w -O3
LDFLAGS_LOCAL   =       
CPLUSPLUSLIB    =       
ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
FCOPTIM         =       -O3 #-fastsse -Mvect=noaltcode -Msmartalloc -Mprefetch=distance:8 -Mfprelaxed # -Minfo=all =Mneginfo=all
FCREDUCEDOPT	=       $(FCOPTIM)
FCNOOPT		=       -O0
FCDEBUG         =       # -g $(FCNOOPT)  # -C -Ktrap=fp -traceback
FORMAT_FIXED    =       -Mfixed
FORMAT_FREE     =       -Mfree
FCSUFFIX        =
BYTESWAPIO      =       -byteswapio
FCBASEOPTS_NO_G =       -w $(FORMAT_FREE) $(BYTESWAPIO) $(OMP)
FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
MODULE_SRCH_FLAG =     -module $(WRF_SRC_ROOT_DIR)/main
TRADFLAG        =      -traditional
CPP             =      /lib/cpp -P
AR              =      ar
ARFLAGS         =      ru
M4              =      m4 -B 14000
RANLIB          =      ranlib
RLFLAGS		=	
CC_TOOLS        =      $(SCC) 

###########################################################
#ARCH    Linux x86_64 ppc64le, PGI compiler with pgcc, SGI MPT # serial smpar dmpar dm+sm
#
DESCRIPTION     =       PGI ($SFC/$SCC): SGI MPT
DMPARALLEL      =       # 1
OMPCPP          =       # -D_OPENMP
OMP             =       # -mp -Minfo=mp -Mrecursive
OMPCC           =       # -mp
SFC             =       pgf90
SCC             =       pgcc
CCOMP           =       pgcc
DM_FC           =       $(SFC) -I$(MPI_ROOT)/include
DM_CC           =       $(SCC) -I$(MPI_ROOT)/include
FC              =       CONFIGURE_FC
CC              =       CONFIGURE_CC
LD              =       $(FC)
RWORDSIZE       =       CONFIGURE_RWORDSIZE
PROMOTION       =       -r$(RWORDSIZE) -i4
ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_SUBR  -DWRF_USE_CLM
CFLAGS_LOCAL    =       -w -O3
LDFLAGS_LOCAL   =       -L$(MPI_ROOT)/lib -lmpi
CPLUSPLUSLIB    =       
ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
FCOPTIM         =       -O3 #-fastsse -Mvect=noaltcode -Msmartalloc -Mprefetch=distance:8 -Mfprelaxed # -Minfo=all =Mneginfo=all
FCREDUCEDOPT	=       $(FCOPTIM)
FCNOOPT		=       -O0
FCDEBUG         =       # -g $(FCNOOPT) # -C -Ktrap=fp -traceback
FORMAT_FIXED    =       -Mfixed
FORMAT_FREE     =       -Mfree
FCSUFFIX        =
BYTESWAPIO      =       -byteswapio
FCBASEOPTS_NO_G =       -w $(FORMAT_FREE) $(BYTESWAPIO) $(OMP)
FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
MODULE_SRCH_FLAG =     -module $(WRF_SRC_ROOT_DIR)/main
TRADFLAG        =      -traditional
CPP             =      /lib/cpp -P
AR              =      ar
ARFLAGS         =      ru
M4              =      m4 -B 14000
RANLIB          =      ranlib
RLFLAGS		=	
CC_TOOLS        =      $(SCC) 

###########################################################
#ARCH    Linux x86_64 ppc64le, PGI accelerator compiler with gcc # serial smpar dmpar dm+sm
#
DESCRIPTION     =       PGI ($SFC/$SCC): PGI accelerator
DMPARALLEL      =       # 1
OMPCPP          =       # -D_OPENMP
OMP             =       # -mp -Minfo=mp -Mrecursive
OMPCC           =       # -mp
SFC             =       pgf90
SCC             =       gcc
CCOMP           =       pgcc
DM_FC           =       mpif90
DM_CC           =       mpicc
FC              =       CONFIGURE_FC
CC              =       CONFIGURE_CC
LD              =       $(FC)
RWORDSIZE       =       CONFIGURE_RWORDSIZE
PROMOTION       =       -r$(RWORDSIZE) -i4
ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_SUBR -D_ACCEL  -DWRF_USE_CLM
CFLAGS_LOCAL    =       -w -O3
LDFLAGS_LOCAL   =
CPLUSPLUSLIB    =
ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
FCOPTIM         =       -Kieee -acc -ta=nvidia,fastmath,cuda5.0,cc35 -Mcuda -fastsse -Mvect=noaltcode -Msmartalloc -Mprefetch=distance:8  # -Minfo=all =Mneginfo=all
FCREDUCEDOPT    =       $(FCOPTIM)
FCNOOPT         =       -O0
FCDEBUG         =       # -g $(FCNOOPT) -Kieee -acc -ta=nvidia,cuda5.0,cc35 -Mcuda # -C -Ktrap=fp -traceback
FORMAT_FIXED    =       -Mfixed
FORMAT_FREE     =       -Mfree
FCSUFFIX        =
BYTESWAPIO      =       -byteswapio
FCBASEOPTS      =       -w $(FCDEBUG) $(FORMAT_FREE) $(BYTESWAPIO) $(OMP)
MODULE_SRCH_FLAG =     -module $(WRF_SRC_ROOT_DIR)/main
TRADFLAG        =      -traditional
CPP             =      /lib/cpp -P
AR              =      ar
ARFLAGS         =      ru
M4              =      m4 -B 14000
RANLIB          =      ranlib
RLFLAGS		=	
CC_TOOLS        =      $(SCC) 

###########################################################
#ARCH    Linux x86_64 ppc64le i486 i586 i686, ifort compiler with icc #serial smpar dmpar dm+sm
#
#        By default, some files are compiled without optimizations to speed up compilation. Removing
#        respective makefile rules in the end of this file will result in longer compilation time, and, possibly
#        Out Of Memory messages, but might produce binaries which are substantially faster.
#
#        Please visit http://www.intel.com/support/performancetools/sb/cs-028607.htm 
#        for latest info on how to build WRF with Intel compilers.
#
#        If you got Out Of Memory message, there are several options:
#          1. Check your memory limits (ulimit -a), possibly increasing swap partitions size.
#          2. Remove any debugging flags (-g, -check, -traceback).
#          3. Force the problematic file to be compiled with less optimizations (see examples at the 
#             end of this file), try -no-ip compiler flag.
#
#        This configuration is aimed at accuracy. To improve performance (at the expence of accuracy) you might
#        consider removing '-fp-model precise' flag from FCBASEOPTS. This enables non value-safe optimizations.
#        Another option is to add '-ftz' flag, which flushes denormal results to zero when the application is in
#        the gradual underflow mode. It may improve performance if the denormal values are not critical to the
#        behavior of your workload. To further improve performance, add suitable vectorization options for your
#        processor to FCOPTIM (see ifort manpage).
#
#        If you have Intel MPI installed and wish to use instead, make the
#        following changes to settings below:
#        DM_FC  = mpiifort
#        DM_CC  = mpiicc
#        and source bin64/mpivars.sh file from your Intel MPI installation
#        before the build.
#
#        Suggestions for timing improvements from Craig Mattocks
#
#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 
#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 
#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)

DESCRIPTION     =       INTEL ($SFC/$SCC)
DMPARALLEL      =       # 1
OMPCPP          =       # -D_OPENMP
OMP             =       # -openmp -fpp -auto
OMPCC           =       # -openmp -fpp -auto
SFC             =       ifort
SCC             =       icc
CCOMP           =       icc
DM_FC           =       mpif90 -f90=$(SFC)
DM_CC           =       mpicc -cc=$(SCC)
FC              =       CONFIGURE_FC
CC              =       CONFIGURE_CC
LD              =       $(FC)
RWORDSIZE       =       CONFIGURE_RWORDSIZE
PROMOTION       =       -real-size `expr 8 \* $(RWORDSIZE)` -i4
ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_FUNC  -DWRF_USE_CLM
CFLAGS_LOCAL    =       -w -O3 -ip #-xHost -fp-model fast=2 -no-prec-div -no-prec-sqrt -ftz -no-multibyte-chars
LDFLAGS_LOCAL   =       -ip #-xHost -fp-model fast=2 -no-prec-div -no-prec-sqrt -ftz -align all -fno-alias -fno-common
CPLUSPLUSLIB    =       
ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
FCOPTIM         =       -O3
FCREDUCEDOPT	=       $(FCOPTIM)
FCNOOPT		=       -O0 -fno-inline -no-ip
FCDEBUG         =       # -g $(FCNOOPT) -traceback # -fpe0 -check noarg_temp_created,bounds,format,output_conversion,pointers,uninit -ftrapuv -unroll0 -u
FORMAT_FIXED    =       -FI
FORMAT_FREE     =       -FR
FCSUFFIX        =
BYTESWAPIO      =       -convert big_endian
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
FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
MODULE_SRCH_FLAG =     
TRADFLAG        =      -traditional
CPP             =      /lib/cpp -P
AR              =      ar
ARFLAGS         =      ru
M4              =      m4
RANLIB          =      ranlib
RLFLAGS		=	
CC_TOOLS        =      $(SCC) 

###########################################################
#ARCH    Linux x86_64 ppc64le i486 i586 i686, Xeon Phi (MIC architecture) ifort compiler with icc # dm+sm
#

DESCRIPTION     =       INTEL ($SFC/$SCC): Xeon Phi (MIC architecture)
DMPARALLEL      =       1
OMPCPP          =       -D_OPENMP
OMP             =       -openmp -fpp -auto
OMPCC           =       -openmp -fpp -auto
SFC             =       ifort -mmic
SCC             =       icc -mmic
CCOMP           =       icc -mmic
DM_FC           =       mpiifort -mmic
DM_CC           =       mpiicc -mmic
FC              =       $(DM_FC)
CC              =       $(DM_CC)
LD              =       $(FC)
RWORDSIZE       =       CONFIGURE_RWORDSIZE
PROMOTION       =       -real-size `expr 8 \* $(RWORDSIZE)` -i4
ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_FUNC -DCHUNK=16 -DXEON_OPTIMIZED_WSM5 -DXEON_SIMD -DOPTIMIZE_CFL_TEST -DFSEEKO64_OK -DINTEL_YSU_KLUDGE  -DWRF_USE_CLM
OPTNOSIMD       =
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
CFLAGS_LOCAL    =       -w -O3 $(OPTKNC)
LDFLAGS_LOCAL   =       $(OPTKNC)
CPLUSPLUSLIB    =       
ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
FCOPTIM         =       -O3 $(OPTKNC)
FCREDUCEDOPT	=       $(FCOPTIM)
FCNOOPT		=       -O0 -fno-inline -no-ip
FCDEBUG         =       # -g $(FCNOOPT) -traceback # -fpe0 -check noarg_temp_created,bounds,format,output_conversion,pointers,uninit -ftrapuv -unroll0 -u
FORMAT_FIXED    =       -FI
FORMAT_FREE     =       -FR
FCSUFFIX        =
BYTESWAPIO      =       -convert big_endian
FCBASEOPTS_NO_G =       -w -openmp -auto -ftz -fno-alias -fp-model fast=1 -no-prec-div -no-prec-sqrt $(FORMAT_FREE) $(BYTESWAPIO) -auto -align array64byte #-vec-report6
FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
MODULE_SRCH_FLAG =     
TRADFLAG        =      -traditional
CPP             =      /lib/cpp -P
AR              =      ar
ARFLAGS         =      ru
M4              =      m4
RANLIB          =      ranlib
RLFLAGS		=	
CC_TOOLS        =      gcc

###########################################################
#ARCH    Linux x86_64 ppc64le i486 i586 i686, Xeon (SNB with AVX mods) ifort compiler with icc # serial smpar dmpar dm+sm
#

DESCRIPTION     =       INTEL ($SFC/$SCC): Xeon (SNB with AVX mods)
DMPARALLEL      =       # 1
OMPCPP          =       # -D_OPENMP
OMP             =       # -openmp -fpp -auto
OMPCC           =       # -openmp -fpp -auto
SFC             =       ifort 
SCC             =       icc 
CCOMP           =       icc 
DM_FC           =       mpif90 -f90=$(SFC)
DM_CC           =       mpicc -cc=$(SCC)
FC              =       $(DM_FC)
CC              =       $(DM_CC)
LD              =       $(FC)
RWORDSIZE       =       CONFIGURE_RWORDSIZE
PROMOTION       =       -real-size `expr 8 \* $(RWORDSIZE)` -i4
ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_FUNC -DCHUNK=64 -DXEON_OPTIMIZED_WSM5 -DOPTIMIZE_CFL_TEST  -DWRF_USE_CLM
OPTNOSIMD       =
OPTAVX          =       -xAVX
CFLAGS_LOCAL    =       -w -O3 $(OPTAVX)
LDFLAGS_LOCAL   =       $(OPTAVX)
CPLUSPLUSLIB    =       
ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
FCOPTIM         =       -O3 $(OPTAVX)
FCREDUCEDOPT	=       $(FCOPTIM)
FCNOOPT		=       -O0 -fno-inline -no-ip
FCDEBUG         =       # -g $(FCNOOPT) -traceback # -fpe0 -check noarg_temp_created,bounds,format,output_conversion,pointers,uninit -ftrapuv -unroll0 -u
FORMAT_FIXED    =       -FI
FORMAT_FREE     =       -FR
FCSUFFIX        =
BYTESWAPIO      =       -convert big_endian
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
FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
MODULE_SRCH_FLAG =     
TRADFLAG        =      -traditional
CPP             =      /lib/cpp -P
AR              =      ar
ARFLAGS         =      ru
M4              =      m4
RANLIB          =      ranlib
RLFLAGS		=	
CC_TOOLS        =      gcc

###########################################################
#ARCH    Linux x86_64 ppc64le i486 i586 i686, ifort compiler with icc, SGI MPT #serial smpar dmpar dm+sm
#
#        By default, some files are compiled without optimizations to speed up compilation. Removing
#        respective makefile rules in the end of this file will result in longer compilation time, and, possibly
#        Out Of Memory messages, but might produce binaries which are substantially faster.
#
#        Please visit http://www.intel.com/support/performancetools/sb/cs-028607.htm 
#        for latest info on how to build WRF with Intel compilers.
#
#        If you got Out Of Memory message, there are several options:
#          1. Check your memory limits (ulimit -a), possibly increasing swap partitions size.
#          2. Remove any debugging flags (-g, -check, -traceback).
#          3. Force the problematic file to be compiled with less optimizations (see examples at the 
#             end of this file), try -no-ip compiler flag.
#
#        This configuration is aimed at accuracy. To improve performance (at the expence of accuracy) you might
#        consider removing '-fp-model precise' flag from FCBASEOPTS. This enables non value-safe optimizations.
#        Another option is to add '-ftz' flag, which flushes denormal results to zero when the application is in
#        the gradual underflow mode. It may improve performance if the denormal values are not critical to the
#        behavior of your workload. To further improve performance, add suitable vectorization options for your
#        processor to FCOPTIM (see ifort manpage).
#
#        If you have Intel MPI installed and wish to use instead, make the
#        following changes to settings below:
#        DM_FC  = mpiifort
#        DM_CC  = mpiicc
#        and source bin64/mpivars.sh file from your Intel MPI installation
#        before the build.

DESCRIPTION     =       INTEL ($SFC/$SCC): SGI MPT
DMPARALLEL      =       # 1
OMPCPP          =       # -D_OPENMP
OMP             =       # -openmp -fpp -auto
OMPCC           =       # -openmp -fpp -auto
SFC             =       ifort
SCC             =       icc
CCOMP           =       icc
DM_FC           =       $(SFC)
DM_CC           =       $(SCC)
FC              =       CONFIGURE_FC
CC              =       CONFIGURE_CC
LD              =       $(FC)
RWORDSIZE       =       CONFIGURE_RWORDSIZE
PROMOTION       =       -real-size `expr 8 \* $(RWORDSIZE)` -i4
ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_FUNC  -DWRF_USE_CLM
CFLAGS_LOCAL    =       -w -O3 -ip #-xHost -fp-model fast=2 -no-prec-div -no-prec-sqrt -ftz -no-multibyte-chars
LDFLAGS_LOCAL   =       -ip -lmpi #-xHost -fp-model fast=2 -no-prec-div -no-prec-sqrt -ftz -align all -fno-alias -fno-common
CPLUSPLUSLIB    =       
ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
FCOPTIM         =       -O3
FCREDUCEDOPT	=       $(FCOPTIM)
FCNOOPT		=       -O0 -fno-inline -no-ip
FCDEBUG         =       # -g $(FCNOOPT) -traceback # -fpe0 -check noarg_temp_created,bounds,format,output_conversion,pointers,uninit -ftrapuv -unroll0 -u
FORMAT_FIXED    =       -FI
FORMAT_FREE     =       -FR
FCSUFFIX        =
BYTESWAPIO      =       -convert big_endian
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
FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
MODULE_SRCH_FLAG =     
TRADFLAG        =      -traditional
CPP             =      /lib/cpp -P
AR              =      ar
ARFLAGS         =      ru
M4              =      m4
RANLIB          =      ranlib
RLFLAGS		=	
CC_TOOLS        =      $(SCC) 

###########################################################
#ARCH    Linux x86_64 ppc64le i486 i586 i686, ifort compiler with icc, IBM POE #serial smpar dmpar dm+sm

# This is identical to the Intel Fortran with Intel MPI but configured
# to use IBM POE as the MPI implementation.  NCEP needs this
# configuration to run on the new WCOSS Tide and Gyre operational
# forecasting machines.

DESCRIPTION     =       INTEL ($SFC/$SCC): IBM POE
DMPARALLEL      =       # 1
OMPCPP          =       # -D_OPENMP
OMP             =       # -openmp -fpp -auto
OMPCC           =       # -openmp -fpp -auto
SFC             =       ifort
SCC             =       icc
CCOMP           =       icc
DM_FC           =       mpfort
DM_CC           =       mpcc
FC              =       CONFIGURE_FC
CC              =       CONFIGURE_CC
LD              =       $(FC)
RWORDSIZE       =       CONFIGURE_RWORDSIZE
PROMOTION       =       -real-size `expr 8 \* $(RWORDSIZE)` -i4
ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_FUNC  -DWRF_USE_CLM
CFLAGS_LOCAL    =       -w -O3 -ip #-xHost -fp-model fast=2 -no-prec-div -no-prec-sqrt -ftz -no-multibyte-chars
LDFLAGS_LOCAL   =       -ip #-xHost -fp-model fast=2 -no-prec-div -no-prec-sqrt -ftz -align all -fno-alias -fno-common
CPLUSPLUSLIB    =       
ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
FCOPTIM         =       -O3
FCREDUCEDOPT	=       $(FCOPTIM)
FCNOOPT		=       -O0 -fno-inline -no-ip
FCDEBUG         =       # -g $(FCNOOPT) -traceback # -fpe0 -check noarg_temp_created,bounds,format,output_conversion,pointers,uninit -ftrapuv -unroll0 -u
FORMAT_FIXED    =       -FI
FORMAT_FREE     =       -FR
FCSUFFIX        =
BYTESWAPIO      =       -convert big_endian
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
FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
MODULE_SRCH_FLAG =     
TRADFLAG        =      -traditional
CPP             =      /lib/cpp -P
AR              =      ar
ARFLAGS         =      ru
M4              =      m4
RANLIB          =      ranlib
RLFLAGS		=	
CC_TOOLS        =      $(SCC) 

###########################################################
#ARCH    ia64 Linux ifort compiler with icc 9.x,10.x #serial smpar dmpar dm+sm
#
#        By default, some files are compiled without optimizations to
#        speed up compilation. Removing respective makefile rules in the
#        end of this file will result in longer compilation time, and,
#        possibly Out Of Memory messages, but might produce binaries
#        which are substantially faster.
#
#        Please visit http://www.intel.com/support/performancetools/sb/cs-028607.htm 
#        for latest info on how to build WRF with Intel compilers.
#
#        If you get Out Of Memory messages, there are several options:
#          1. Check your memory limits (ulimit -a), possibly increasing
#             swap partitions size.
#          2. Remove any debugging flags (-g, -check, -traceback).
#          3. Force the problematic file to be compiled with lower
#             optimization (see examples at the end of this file),
#             try the -no-ip compiler flag.
#
#        The default configuration is aimed at accuracy. To improve speed
#        with only negligible effect on floating point accuracy,
#        consider removing "-fp-model precise" from FCBASEOPTS. If
#        you are using ifort 9.1.x compiler or earlier, consider
#        uncommenting the version of the FCBASEOPTS settings that uses
#        the -IPF-fp-relaxed option.
#
#        If you can tolerate a longer build, change the setting of
#        FCNOOPT to -O1, for slightly faster performance.
#
#        If you have Intel MPI installed and wish to use instead, make the
#        following changes to settings below:
#        DM_FC  = mpiifort
#        DM_CC  = mpiicc
#        and source bin/mpivars.sh file from your Intel MPI installation
#        before the build.
#

DESCRIPTION     =       INTEL ($SFC/$SCC): ia64
DMPARALLEL      =       # 1
OMPCPP          =       # -D_OPENMP
OMP             =       # -openmp -fpp -auto
OMPCC           =       # -openmp -fpp -auto
SFC             =       ifort
SCC             =       icc
CCOMP           =       icc
DM_FC           =       mpif90 -f90=$(SFC)
DM_CC           =       mpicc -cc=$(SCC)
FC              =       CONFIGURE_FC
CC              =       CONFIGURE_CC
LD              =       $(FC)
RWORDSIZE       =       CONFIGURE_RWORDSIZE
PROMOTION       =       -real-size `expr 8 \* $(RWORDSIZE)` -i4
ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_FUNC  -DWRF_USE_CLM
CFLAGS_LOCAL    =       -w -O3 -ip #-xHost -fp-model fast=2 -no-prec-div -no-prec-sqrt -ftz -no-multibyte-chars
LDFLAGS_LOCAL   =       -ip #-xHost -fp-model fast=2 -no-prec-div -no-prec-sqrt -ftz -align all -fno-alias -fno-common
CPLUSPLUSLIB    =       
ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
FCOPTIM         =       -O3
FCREDUCEDOPT	=       $(FCOPTIM)
FCNOOPT		=       -O0 -fno-inline -no-ip
FCDEBUG         =       # -g $(FCNOOPT) -traceback # -fpe0 -check noarg_temp_created,bounds,format,output_conversion,pointers,uninit -ftrapuv -unroll0 -u
FORMAT_FIXED    =       -FI
FORMAT_FREE     =       -FR
FCSUFFIX        =
BYTESWAPIO      =       -convert big_endian
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
#FCBASEOPTS_NO_G =       -w -ftz -align all -fno-alias -IPF-fp-relaxed $(FORMAT_FREE) $(BYTESWAPIO)
FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
LIB_LOCAL       =       -L/usr/lib -lmpi 
MODULE_SRCH_FLAG =     
TRADFLAG        =      -traditional
CPP             =      /lib/cpp -P
AR              =      ar
ARFLAGS         =      ru
M4              =      m4
RANLIB          =      ranlib
RLFLAGS		=	
CC_TOOLS        =      $(SCC) 

###########################################################
#ARCH    Linux SGI Altix, ifort compiler with icc 9.x,10.x #serial smpar dmpar dm+sm
#
#        By default, some files are compiled without optimizations to
#        speed up compilation. Removing respective makefile rules in the
#        end of this file will result in longer compilation time, and,
#        possibly Out Of Memory messages, but might produce binaries
#        which are substantially faster.
#
#        If you get Out Of Memory messages, there are several options:
#          1. Check your memory limits (ulimit -a), possibly increasing
#             swap partitions size.
#          2. Remove any debugging flags (-g, -check, -traceback).
#          3. Force the problematic file to be compiled with lower
#             optimization (see examples at the end of this file),
#             try the -no-ip compiler flag.
#
#        Please visit http://www.intel.com/support/performancetools/sb/cs-028607.htm 
#        for latest info on how to build WRF with Intel compilers.
#
#        The default configuration is aimed at accuracy. To improve speed
#        with only negligible effect on floating point accuracy,
#        consider removing "-fp-model precise" from FCBASEOPTS.  If
#        you are using an ifort 9.1.x compiler or earlier, consider
#        uncommenting the version of the FCBASEOPTS settings that uses
#        the -IPF-fp-relaxed option.  To further improve performance,
#        add processor-specific options to FCOPTIM (see ifort manpage).
#
#        If you can tolerate a longer build, change the setting of
#        FCNOOPT to -O1, for slightly faster performance.
#
#        If your SGI MPI library is not installed in the default
#        locations (/usr/bin, /usr/include, /usr/lib), set MPI_HOME
#        to be the path to the directory where the SGI MPI bin,
#        include and lib directories are, and change the DM_FC,
#        DM_CC and LIB_LOCAL settings as follows:
#        DM_FC = $(SFC) -I$(MPI_HOME)/include
#        DM_CC = $(SFC) -I$(MPI_HOME)/include
#        LIB_LOCAL = -L$(MPI_HOME)/lib -lmpi 

DESCRIPTION     =       INTEL ($SFC/$SCC): SGI Altix
DMPARALLEL      =       # 1
OMPCPP          =       # -D_OPENMP
OMP             =       # -openmp -fpp -auto
OMPCC           =       # -openmp -fpp -auto
SFC             =       ifort
SCC             =       icc
CCOMP           =       icc
DM_FC           =       $(SFC)
DM_CC           =       $(SCC)
FC              =       CONFIGURE_FC
CC              =       CONFIGURE_CC
LD              =       $(FC)
RWORDSIZE       =       CONFIGURE_RWORDSIZE
PROMOTION       =       -real-size `expr 8 \* $(RWORDSIZE)` -i4
ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_FUNC  -DWRF_USE_CLM
CFLAGS_LOCAL    =       -w -O3 -ip #-xHost -fp-model fast=2 -no-prec-div -no-prec-sqrt -ftz -no-multibyte-chars
LDFLAGS_LOCAL   =       -ip #-xHost -fp-model fast=2 -no-prec-div -no-prec-sqrt -ftz -align all -fno-alias -fno-common
CPLUSPLUSLIB    =       
ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
FCOPTIM         =       -O3
FCREDUCEDOPT	=       $(FCOPTIM)
FCNOOPT		=       -O0 -fno-inline -no-ip
FCDEBUG         =       # -g $(FCNOOPT) -traceback # -fpe0 -check noarg_temp_created,bounds,format,output_conversion,pointers,uninit -ftrapuv -unroll0 -u
FORMAT_FIXED    =       -FI
FORMAT_FREE     =       -FR
FCSUFFIX        =
BYTESWAPIO      =       -convert big_endian
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
#FCBASEOPTS_NO_G =       -w -ftz -align all -fno-alias -IPF-fp-relaxed $(FORMAT_FREE) $(BYTESWAPIO)
FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
LIB_LOCAL       =       -L/usr/lib -lmpi 
MODULE_SRCH_FLAG =     
TRADFLAG        =      -traditional
CPP             =      /lib/cpp -P
AR              =      ar
ARFLAGS         =      ru
M4              =      m4
RANLIB          =      ranlib
RLFLAGS		=	
CC_TOOLS        =      $(SCC) 

###########################################################
#ARCH    Linux i486 i586 i686 x86_64 ppc64le, PathScale compiler with pathcc #serial dmpar
#
DESCRIPTION     =       PATHSCALE ($SFC/$SCC)
DMPARALLEL      =       # 1
OMPCPP          =       # not supported
OMP             =       # not supported
OMPCC           =       # not supported
SFC             =       pathf90
SCC             =       pathcc
CCOMP           =       pathcc
DM_FC           =       mpif90 -f90=$(SFC)
DM_CC           =       mpicc -cc=$(SCC)
FC              =       CONFIGURE_FC
CC              =       CONFIGURE_CC
LD              =       $(FC)
RWORDSIZE       =       CONFIGURE_RWORDSIZE
PROMOTION       =       -r$(RWORDSIZE) -i4
ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_SUBR  -DWRF_USE_CLM -D__PATHSCALE__
CFLAGS_LOCAL    =       
LDFLAGS_LOCAL   =
CPLUSPLUSLIB    =       
ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
FCOPTIM         =       -O -OPT:Ofast:Olimit=5000
FCREDUCEDOPT	=       $(FCOPTIM)
FCNOOPT         =       -O0
FCDEBUG         =       # -g $(FCNOOPT)  # -C -trapuv 
FORMAT_FIXED    =       -fixedform
FORMAT_FREE     =       -freeform
FCSUFFIX        =
BYTESWAPIO      =       -byteswapio
FCBASEOPTS_NO_G =       -w -fno-second-underscore $(FORMAT_FREE) $(BYTESWAPIO)
FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
MODULE_SRCH_FLAG =     -module $(WRF_SRC_ROOT_DIR)/main
TRADFLAG        =      -traditional
CPP             =      /lib/cpp -P
AR              =      ar
ARFLAGS         =      ru
M4              =      m4 -B 14000
RANLIB          =      ranlib
RLFLAGS		=	
CC_TOOLS        =      $(SCC) 

###########################################################
#ARCH    Linux x86_64 ppc64le, gfortran compiler with gcc  #serial smpar dmpar dm+sm
#
DESCRIPTION     =       GNU ($SFC/$SCC)
DMPARALLEL      =       # 1
OMPCPP          =       # -D_OPENMP
OMP             =       # -fopenmp
OMPCC           =       # -fopenmp
SFC             =       gfortran
SCC             =       gcc
CCOMP           =       gcc
DM_FC           =       mpif90 -f90=$(SFC)
DM_CC           =       mpicc -cc=$(SCC)
FC              =       CONFIGURE_FC
CC              =       CONFIGURE_CC
LD              =       $(FC)
RWORDSIZE       =       CONFIGURE_RWORDSIZE
PROMOTION       =       #-fdefault-real-8
ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_SUBR  -DWRF_USE_CLM
CFLAGS_LOCAL    =       -w -O3 -c 
LDFLAGS_LOCAL   =       
CPLUSPLUSLIB    =       
ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
FCOPTIM         =       -O2 -ftree-vectorize -funroll-loops
FCREDUCEDOPT	=       $(FCOPTIM)
FCNOOPT		=       -O0
FCDEBUG         =       # -g $(FCNOOPT) # -ggdb -fbacktrace -fcheck=bounds,do,mem,pointer -ffpe-trap=invalid,zero,overflow
FORMAT_FIXED    =       -ffixed-form
FORMAT_FREE     =       -ffree-form -ffree-line-length-none
FCSUFFIX        =       
BYTESWAPIO      =       -fconvert=big-endian -frecord-marker=4
FCBASEOPTS_NO_G =       -w $(FORMAT_FREE) $(BYTESWAPIO)
FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
MODULE_SRCH_FLAG =     
TRADFLAG        =      -traditional
CPP             =      /lib/cpp -P
AR              =      ar
ARFLAGS         =      ru
M4              =      m4 -G
RANLIB          =      ranlib
RLFLAGS		=	
CC_TOOLS        =      $(SCC) 

###########################################################
#ARCH    Darwin (MACOS) PGI compiler with pgcc #serial smpar dmpar dm+sm
#
DESCRIPTION     =       PGI ($SFC/$SCC)
DMPARALLEL      =       # 1
OMPCPP          =       # -D_OPENMP
OMP             =       # -mp -Minfo=mp -Mrecursive
OMPCC           =       # -mp
SFC             =       pgf90
SCC             =       pgcc
CCOMP           =       pgcc
DM_FC           =       mpif90
DM_CC           =       mpicc
FC              =       CONFIGURE_FC
CC              =       CONFIGURE_CC
LD              =       $(FC)
RWORDSIZE       =       CONFIGURE_RWORDSIZE
PROMOTION       =       -r$(RWORDSIZE) -i4
ARCH_LOCAL      =       -DMACOS -DNONSTANDARD_SYSTEM_SUBR  -DWRF_USE_CLM
CFLAGS_LOCAL    =       -DMACOS
LDFLAGS_LOCAL   =       
CPLUSPLUSLIB    =       
ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
FCOPTIM         =       -O2 -fast
FCREDUCEDOPT	=       $(FCOPTIM)
FCNOOPT		=       -O0
FCDEBUG         =       # -g $(FCNOOPT) # -C -Ktrap=fp -traceback
FORMAT_FIXED    =       -Mfixed
FORMAT_FREE     =       -Mfree
FCSUFFIX        =       
BYTESWAPIO      =       -byteswapio
FCBASEOPTS_NO_G =       -w $(FORMAT_FREE) $(BYTESWAPIO) $(OMP)
FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG) -Mnomod
MODULE_SRCH_FLAG =     -module $(WRF_SRC_ROOT_DIR)/main
TRADFLAG        =      -traditional
CPP             =      cpp -P -xassembler-with-cpp
AR              =      ar
ARFLAGS         =      ru
M4              =      m4 -B 14000
RANLIB          =      ranlib
RLFLAGS		=	-c
CC_TOOLS        =      cc

###########################################################
#ARCH    Darwin (MACOS) intel compiler with icc #serial smpar dmpar dm+sm
#
DESCRIPTION     =       INTEL ($SFC/$SCC)
DMPARALLEL      =       # 1
OMPCPP          =       # -D_OPENMP
OMP             =       # -openmp -fpp -auto
OMPCC           =       # -openmp -fpp -auto
SFC             =       ifort
SCC             =       icc
CCOMP           =       icc
DM_FC           =       mpif90 -f90=$(SFC)
DM_CC           =       mpicc -cc=$(SCC)
FC              =       CONFIGURE_FC
CC              =       CONFIGURE_CC
LD              =       $(FC)
RWORDSIZE       =       CONFIGURE_RWORDSIZE
PROMOTION       =       -real-size `expr 8 \* $(RWORDSIZE)` -i4
ARCH_LOCAL      =       -DMACOS -DNONSTANDARD_SYSTEM_FUNC  -DWRF_USE_CLM
CFLAGS_LOCAL    =       -w -O3 -ip -DMACOS #-xHost -fp-model fast=2 -no-prec-div -no-prec-sqrt -ftz -no-multibyte-chars -DMACOS
# increase stack size; also note that for OpenMP, set environment OMP_STACKSIZE 4G or greater
LDFLAGS_LOCAL   =       -ip -Wl,-stack_addr,0xF10000000 -Wl,-stack_size,0x64000000 #-xHost -fp-model fast=2 -no-prec-div -no-prec-sqrt -ftz -align all -fno-alias -fno-common
CPLUSPLUSLIB    =       
ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
FCOPTIM         =       -O3
FCREDUCEDOPT	=       $(FCOPTIM)
FCNOOPT         =       -O0 -fno-inline -no-ip
FCDEBUG         =       # -g $(FCNOOPT) -traceback # -fpe0 -check noarg_temp_created,bounds,format,output_conversion,pointers,uninit -ftrapuv -unroll0 -u
FORMAT_FIXED    =       -FI
FORMAT_FREE     =       -FR
FCSUFFIX        =
BYTESWAPIO      =       -convert big_endian
# added -fno-common at suggestion of R. Dubtsov as workaround for failing to link program_name
FCBASEOPTS_NO_G =       -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
FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
MODULE_SRCH_FLAG =
TRADFLAG        =      -traditional
CPP             =      cpp -P -xassembler-with-cpp
AR              =      ar
ARFLAGS         =      ru
M4              =      m4 -B 14000
RANLIB          =      ranlib
RLFLAGS		=	-c
CC_TOOLS        =      cc

###########################################################
#ARCH    Darwin (MACOS) intel compiler with clang EDIT FOR OPENMPI #serial smpar dmpar dm+sm
#
DESCRIPTION     =       INTEL ($SFC/$SCC)
DMPARALLEL      =       # 1
OMPCPP          =       # -D_OPENMP
OMP             =       # -openmp -fpp -auto
OMPCC           =       # -openmp
SFC             =       ifort
SCC             =       clang
CCOMP           =       clang
DM_FC           =       mpif90 -f90=$(SFC)
DM_CC           =       mpicc -cc=$(SCC) # the -cc=cc option causes openmpi mpicc to fail (unrecognized option)
FC              =       CONFIGURE_FC
CC              =       CONFIGURE_CC
LD              =       $(FC)
RWORDSIZE       =       CONFIGURE_RWORDSIZE
PROMOTION       =       -real-size `expr 8 \* $(RWORDSIZE)` -i4
ARCH_LOCAL      =       -DMACOS -DNONSTANDARD_SYSTEM_FUNC  -DWRF_USE_CLM
CFLAGS_LOCAL    =       -w -O3 -DMACOS #-xHost -fp-model fast=2 -no-prec-div -no-prec-sqrt -ftz -no-multibyte-chars -DMACOS
# increase stack size; also note that for OpenMP, set environment OMP_STACKSIZE 4G or greater
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
CPLUSPLUSLIB    =       
ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
FCOPTIM         =       -O3
FCREDUCEDOPT	=       $(FCOPTIM)
FCNOOPT         =       -O0 -fno-inline -no-ip
FCDEBUG         =       # -g $(FCNOOPT) -traceback # -fpe0 -check noarg_temp_created,bounds,format,output_conversion,pointers,uninit -ftrapuv -unroll0 -u
FORMAT_FIXED    =       -FI
FORMAT_FREE     =       -FR
FCSUFFIX        =
BYTESWAPIO      =       -convert big_endian
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
FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
MODULE_SRCH_FLAG =
TRADFLAG        =      -traditional
CPP             =      cpp -P -xassembler-with-cpp
AR              =      ar
ARFLAGS         =      ru
M4              =      m4 -B 14000
RANLIB          =      ranlib
RLFLAGS		=	-c
CC_TOOLS        =      cc

###########################################################
#ARCH    Darwin (MACOS) g95 with gcc #serial dmpar
#
DESCRIPTION     =       GNU ($SFC/$SCC)
DMPARALLEL      =       # 1
OMPCPP          =       # not supported
OMP             =       # not supported
OMPCC           =       # not supported
SFC             =       g95
SCC             =       gcc
CCOMP           =       gcc
DM_FC           =       mpif90 -f90=$(SFC)
DM_CC           =       mpicc -cc=$(SCC)
FC              =       CONFIGURE_FC
CC              =       CONFIGURE_CC
LD              =       $(FC)
RWORDSIZE       =       CONFIGURE_RWORDSIZE
PROMOTION       =       -r$(RWORDSIZE) -i4
ARCH_LOCAL      =       -DG95 -DMACOS -DF2CSTYLE -DNONSTANDARD_SYSTEM_SUBR -DRCONFIG_CHARLEN=64  -DWRF_USE_CLM
CFLAGS_LOCAL    =       -DMACOS -DF2CSTYLE
LDFLAGS_LOCAL   =
CPLUSPLUSLIB    =       
ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
FCOPTIM         =       -O2 # -fast
FCREDUCEDOPT	=       $(FCOPTIM)
FCNOOPT		=       -O0
FCDEBUG         =       # -g $(FCNOOPT)
FORMAT_FIXED    =       -ffixed-form
FORMAT_FREE     =       -ffree-form -ffree-line-length-huge
FCSUFFIX        =
BYTESWAPIO      =       -fendian=big
FCBASEOPTS_NO_G =       -Wno=101,139,155,158 $(FORMAT_FREE) $(BYTESWAPIO)
FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
LIB_LOCAL       =    -L/usr/lib -lSystemStubs
MODULE_SRCH_FLAG =     -fmod=$(WRF_SRC_ROOT_DIR)/main
TRADFLAG        =      -traditional
CPP             =      cpp -P -xassembler-with-cpp
AR              =      ar
ARFLAGS         =      ru
M4              =      m4 -B 14000
RANLIB          =      ranlib -c
RLFLAGS		=	-c
CC_TOOLS        =      $(SCC) 

###########################################################
#ARCH    Darwin (MACOS) gfortran with gcc #serial smpar dmpar dm+sm
#
DESCRIPTION     =       GNU ($SFC/$SCC)
DMPARALLEL      =       # 1
OMPCPP          =       # -D_OPENMP
OMP             =       # -fopenmp
OMPCC           =       # -fopenmp
SFC             =       gfortran
SCC             =       gcc
CCOMP           =       gcc
DM_FC           =       mpif90 -f90=$(SFC)
DM_CC           =       mpicc -cc=$(SCC)
FC              =       CONFIGURE_FC
CC              =       CONFIGURE_CC
LD              =       $(FC)
RWORDSIZE       =       CONFIGURE_RWORDSIZE
PROMOTION       =       #-fdefault-real-8
ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_SUBR -DMACOS  -DWRF_USE_CLM
CFLAGS_LOCAL    =       -w -O3 -c  -DMACOS
LDFLAGS_LOCAL   =
CPLUSPLUSLIB    =       
ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
FCOPTIM         =       -O2 -ftree-vectorize -funroll-loops
FCREDUCEDOPT	=       $(FCOPTIM)
FCNOOPT         =       -O0
FCDEBUG         =       # -g $(FCNOOPT) # -fbacktrace -ggdb -fcheck=bounds,do,mem,pointer -ffpe-trap=invalid,zero,overflow
FORMAT_FIXED    =       -ffixed-form
FORMAT_FREE     =       -ffree-form -ffree-line-length-none
FCSUFFIX        =       
BYTESWAPIO      =       -fconvert=big-endian -frecord-marker=4
FCBASEOPTS_NO_G =       -w $(FORMAT_FREE) $(BYTESWAPIO)
FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
MODULE_SRCH_FLAG =
TRADFLAG        =      -traditional
CPP             =      cpp -P -xassembler-with-cpp
AR              =      ar
ARFLAGS         =      ru
M4              =      m4 -B 14000
RANLIB          =      ranlib
RLFLAGS		=	-c
CC_TOOLS        =      $(SCC) 

###########################################################
#ARCH    Darwin (MACOS) gfortran with clang #serial smpar dmpar dm+sm
#
DESCRIPTION     =       GNU ($SFC/clang)
DMPARALLEL      =       # 1
OMPCPP          =       # -D_OPENMP
OMP             =       # -fopenmp
OMPCC           =       # -fopenmp
SFC             =       gfortran
SCC             =       clang
CCOMP           =       clang
DM_FC           =       mpif90 -f90=$(SFC)
DM_CC           =       mpicc -cc=clang
FC              =       CONFIGURE_FC
CC              =       CONFIGURE_CC
LD              =       $(FC)
RWORDSIZE       =       CONFIGURE_RWORDSIZE
PROMOTION       =       #-fdefault-real-8
ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_SUBR -DMACOS -DWRF_USE_CLM
CFLAGS_LOCAL    =       -w -O3 -c  -DMACOS
LDFLAGS_LOCAL   =
CPLUSPLUSLIB    =       
ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
FCOPTIM         =       -O2 -ftree-vectorize -funroll-loops
FCREDUCEDOPT	=       $(FCOPTIM)
FCNOOPT         =       -O0
FCDEBUG         =       # -g $(FCNOOPT) # -fbacktrace -ggdb -fcheck=bounds,do,mem,pointer -ffpe-trap=invalid,zero,overflow
FORMAT_FIXED    =       -ffixed-form
FORMAT_FREE     =       -ffree-form -ffree-line-length-none
FCSUFFIX        =       
BYTESWAPIO      =       -fconvert=big-endian -frecord-marker=4
FCBASEOPTS_NO_G =       -w $(FORMAT_FREE) $(BYTESWAPIO)
FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
MODULE_SRCH_FLAG =
TRADFLAG        =      -traditional
CPP             =      cpp -P -xassembler-with-cpp
AR              =      ar
ARFLAGS         =      ru
M4              =      m4 -B 14000
RANLIB          =      ranlib
RLFLAGS		=	-c
CC_TOOLS        =      clang

###########################################################
#ARCH    Darwin (MACOS) xlf  #serial dmpar
#
DESCRIPTION     =       IBM ($SFC/$SCC)
DMPARALLEL      =       # 1
OMPCPP          =       # not supported
OMP             =       # not supported
OMPCC           =       # not supported
SFC             =       xlf90_r
SCC             =       cc
CCOMP           =       cc
DM_FC           =       mpif90 -f90=$(SFC)
DM_CC           =       mpicc -cc=$(SCC)
FC              =       CONFIGURE_FC
CC              =       CONFIGURE_CC
LD              =       $(FC)
RWORDSIZE       =       CONFIGURE_RWORDSIZE
PROMOTION       =        -qrealsize=$(RWORDSIZE) -qintsize=4
ARCH_LOCAL      =       -DMAC_KLUDGE -DF2CSTYLE -DNONSTANDARD_SYSTEM_SUBR  -DWRF_USE_CLM
CFLAGS_LOCAL    =       -DMACOS -DF2CSTYLE
LDFLAGS_LOCAL   =
CPLUSPLUSLIB    =       
ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
CPLUSPLUSLIB    =       
ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
FCOPTIM         =       -O3 -qarch=auto
FCREDUCEDOPT	=       $(FCOPTIM)
FCNOOPT		=       -qnoopt
FCDEBUG         =       # -g $(FCNOOPT) -qfullpath
FORMAT_FIXED    =       -qfixed
FORMAT_FREE     =       -qfree=f90
FCSUFFIX        =       -qsuffix=f=f90
BYTESWAPIO      =       
FCBASEOPTS_NO_G =       -qsave -qmaxmem=32767 -qspillsize=32767 -w
FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
MODULE_SRCH_FLAG =     -fmod=$(WRF_SRC_ROOT_DIR)/main
TRADFLAG        =      -traditional
CPP             =      cpp -P 
AR              =      ar
ARFLAGS         =      ru
M4              =      m4 -B 14000
RANLIB          =      ranlib
RLFLAGS		=	-c
CC_TOOLS        =      $(SCC) 

###########################################################
#ARCH    AIX xlf compiler with xlc #serial smpar dmpar dm+sm
#
DESCRIPTION     =       IBM ($SFC/$SCC)
DMPARALLEL      =       # 1
OMPCPP          =       # -D_OPENMP
OMP             =       # -qsmp=noauto
OMPCC           =       # -qsmp=noauto
SFC             =       xlf90_r
SCC             =       cc_r
SC99            =       c99_r
CCOMP           =       cc_r
DM_FC           =       mpxlf90_r
DM_CC           =       mpcc_r -DMPI2_SUPPORT
FC              =       CONFIGURE_FC
CC              =       CONFIGURE_CC
LD              =       $(FC)
RWORDSIZE       =       CONFIGURE_RWORDSIZE
PROMOTION       =        -qrealsize=$(RWORDSIZE) -qintsize=4
ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_SUBR -DNATIVE_MASSV  -DWRF_USE_CLM
CFLAGS_LOCAL    =       -DNOUNDERSCORE
LDFLAGS_LOCAL   =       -lmass -lmassv -bnoquiet # print diagnostic messages
CPLUSPLUSLIB    =       -lC
ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
# -qhot commented out in 3.0.1.1 release because of reported problems with 
# model results under certain configurations. Use at your own risk.
# -qstrict added in 3.6.1 release because of reported problems with 
# model stability under certain configurations. Use at your own risk.
FCOPTIM         =       -O3 -qstrict # -qhot
FCREDUCEDOPT    =       -O2 # implies -qstrict
FCNOOPT         =       -qnoopt
FCDEBUG         =       # -g $(FCNOOPT) -qfullpath
FORMAT_FIXED    =       -qfixed
FORMAT_FREE     =       -qfree=f90
FCSUFFIX        =       -qsuffix=f=f90
BYTESWAPIO      =       
FCBASEOPTS_NO_G =       -w -qspill=81920 -qmaxmem=-1 $(FORMAT_FREE) $(BYTESWAPIO)  #-qflttrap=zerodivide:invalid:enable -qsigtrap -C # -qinitauto=7FF7FFFF
FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
MODULE_SRCH_FLAG =     
TRADFLAG        =       #-traditional  # causing troubles with xl cpp on AIX, -traditional removed fom default settings
CPP             =       /lib/cpp -P
AR              =       ar
ARFLAGS         =       ru
M4              =       m4 -B 20000
RANLIB          =       ranlib
RLFLAGS		=	
CC_TOOLS        =       cc

###########################################################
#ARCH    Linux x86_64 ppc64le i486 i586 i686, xlf compiler with xlc # serial smpar dmpar dm+sm
#
DESCRIPTION     =       IBM ($SFC/$SCC)
DMPARALLEL      =        #1
OMPCPP          =        # -D_OPENMP
OMP             =        # -qsmp=noauto
OMPCC           =        # -qsmp=noauto
SFC             =       xlf90_r
SCC             =       cc_r
SC99            =        c99_r
CCOMP           =       cc_r
DM_FC           =        mpfort -compiler xlf90_r
DM_CC           =       mpcc -DMPI2_SUPPORT
FC              =       CONFIGURE_FC
CC              =       CONFIGURE_CC
LD              =        $(FC)
RWORDSIZE       =       CONFIGURE_RWORDSIZE
PROMOTION       =       -qrealsize=$(RWORDSIZE) -qintsize=4
ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_SUBR -DNATIVE_MASSV  -DWRF_USE_CLM
CFLAGS_LOCAL    =       -DNOUNDERSCORE
LDFLAGS_LOCAL   =       -lmass_64 -lmassvp7_64 -q64 -bnoquiet # linking diagnostics
CPLUSPLUSLIB    =       -lC
ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
# -qhot commented out in 3.0.1.1 release because of reported problems with 
# model results under certain configurations. Use at your own risk.
# -qstrict added in 3.6.1 release because of reported problems with 
# model stability under certain configurations. Use at your own risk.
FCOPTIM         =       -q64 -O3 -qstrict # -qhot
# if linking problems with libxlsmp occur, try -qsmp=noauto 
FCREDUCEDOPT    =       -q64 -O2
FCNOOPT         =       -q64 -qnoopt -qstrict # -qsmp=noauto
FCDEBUG         =       # -g $(FCNOOPT) -qfullpath
FORMAT_FIXED    =       -qfixed
FORMAT_FREE     =       -qfree=f90
FCSUFFIX        =       -qsuffix=f=f90
BYTESWAPIO      =       
FCBASEOPTS_NO_G =       -w -qspill=81920 -qmaxmem=-1 $(FORMAT_FREE) $(BYTESWAPIO)  #-qflttrap=zerodivide:invalid:enable -qsigtrap -C # -qinitauto=7FF7FFFF
FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
MODULE_SRCH_FLAG =     
TRADFLAG        =       
# instead of the GNU CPP, the CPP shipped with XLF should be used, 
# which does not work with the -traditional flag
CPP             =       $(XLF_BASE)/exe/cpp -P
AR              =       ar
ARFLAGS         =       ru
M4              =       m4 -B 14000
RANLIB          =       ranlib
RLFLAGS		=	
CC_TOOLS        =       cc

###########################################################
#ARCH    Cray XC CLE/Linux x86_64, PGI compiler with gcc # serial dmpar smpar dm+sm
#
# Recommended CLE/Linux memory allocation settings at run time:
# export MALLOC_MMAP_MAX_=0
# export MALLOC_TRIM_THRESHOLD_=536870912
#
DESCRIPTION     =       PGI ($SFC/$SCC): Cray XC CLE
DMPARALLEL      =       # 1
OMPCPP          =       # -D_OPENMP
OMP             =       # -mp -Mrecursive
OMPCC           =       # -mp
SFC             =       ftn
SCC             =       gcc
CCOMP           =       pgcc
DM_FC           =       ftn
DM_CC           =       gcc -I$(MPICH_DIR)/include
FC              =       CONFIGURE_FC
CC              =       CONFIGURE_CC
LD              =       $(FC)
RWORDSIZE       =       CONFIGURE_RWORDSIZE
PROMOTION       =       -r$(RWORDSIZE) -i4
ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_SUBR
CFLAGS_LOCAL    =       -w -O3
LDFLAGS_LOCAL   =
# module load libfast to use Cray XT fast math library
#LIB_LOCAL       =       -lfast_mv
CPLUSPLUSLIB    =       
ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
# PGI recommended
FCOPTIM         =       -O3 #-fastsse -Mvect=noaltcode -Msmartalloc -Mprefetch=distance:8 -Mfprelaxed # -Minfo=all =Mneginfo=all
# For Pathscale compiler
#FCOPTIM        =       -O3 -OPT:Ofast
FCREDUCEDOPT	=       $(FCOPTIM)
FCNOOPT         =       -O0
OPTERON_TYPE    =
# Use this for AMD Opteron quad-core
#OPTERON_TYPE    =      -tp barcelona-64
#OPTERON_TYPE    =      -tp shanghai-64
# Use this for AMD Opteron six-way Istanbul
#OPTERON_TYPE    =      -tp istanbul
FCDEBUG         =       # -g $(FCNOOPT)  # -C -Ktrap=fp -traceback
FORMAT_FIXED    =       -Mfixed
FORMAT_FREE     =       -Mfree
# For Pathscale compiler
#OPTERON_TYPE    =       -march=barcelona -msse4a
#FORMAT_FIXED    =       -fixedform
#FORMAT_FREE     =       -freeform
FCSUFFIX        =
BYTESWAPIO      =       -byteswapio
FCBASEOPTS_NO_G =       -w $(FORMAT_FREE) $(BYTESWAPIO) $(OPTERON_TYPE) $(OMP)
FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
MODULE_SRCH_FLAG =    
TRADFLAG        =      -traditional
CPP             =      /lib/cpp -P $(TRADFLAG)
AR              =      ar
ARFLAGS         =      ru
M4              =      m4 -B 14000
RANLIB          =      ranlib
RLFLAGS		=	
CC_TOOLS        =      $(SCC) 

###########################################################
#ARCH    Cray XE and XC CLE/Linux x86_64, Cray CCE compiler # serial dmpar smpar dm+sm
# Use this for both XE6 systems with AMD Opteron and XC with Intel x86_64

DESCRIPTION     =       CRAY CCE ($SFC/$SCC): Cray XE and XC
# OpenMP is enabled by default for Cray CCE compiler
# This turns it off
OMP             =       -hnoomp
DMPARALLEL      =       # 1
OMPCPP          =       # -D_OPENMP
OMP             =       # -homp
OMPCC           =       # -homp
SFC             =       ftn
SCC             =       cc 
CCOMP           =       gcc 
DM_FC           =       ftn
DM_CC           =       cc
FC              =       $(DM_FC)
CC              =       $(DM_CC)
LD              =       $(FC)
RWORDSIZE       =       CONFIGURE_RWORDSIZE
PROMOTION       =       -s integer32
ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_SUBR  -DWRF_USE_CLM
CFLAGS_LOCAL    =       -O3 
LDFLAGS_LOCAL   =       
CPLUSPLUSLIB    =       
ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
FCOPTIM         =       
FCREDUCEDOPT	=       $(FCOPTIM)
FCNOOPT		=       -O1 -Ofp1 -Oipa0 -Onomodinline
FCDEBUG         =       # -g -O0 # -K trap=fp -R bc
FORMAT_FIXED    =       -f fixed
FORMAT_FREE     =       -f free
FCSUFFIX        =
BYTESWAPIO      =       -h byteswapio
FCBASEOPTS_NO_G =       -N1023 $(FORMAT_FREE) $(BYTESWAPIO) #-ra
FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
MODULE_SRCH_FLAG =     
TRADFLAG        =      -traditional
CPP             =      /lib/cpp -P
AR              =      ar
ARFLAGS         =      ru
M4              =      m4
RANLIB          =      ranlib
RLFLAGS		=	
CC_TOOLS        =      gcc

###########################################################
#ARCH    Cray XC CLE/Linux x86_64, Xeon ifort compiler # serial dmpar smpar dm+sm
#

DESCRIPTION     =       INTEL ($SFC/$SCC): Cray XC
DMPARALLEL      =       # 1
OMPCPP          =       # -D_OPENMP
OMP             =       # -openmp -fpp -auto
OMPCC           =       # -openmp -fpp -auto
SFC             =       ftn
SCC             =       icc 
CCOMP           =       icc 
DM_FC           =       ftn
DM_CC           =       cc
FC              =       $(DM_FC)
CC              =       $(DM_CC)
LD              =       $(FC)
RWORDSIZE       =       CONFIGURE_RWORDSIZE
PROMOTION       =       -real-size `expr 8 \* $(RWORDSIZE)` -i4
ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_FUNC  -DWRF_USE_CLM
OPTNOSIMD       =
# set this to override Cray 'craype' module setting
#OPTAVX          =       -xAVX
CFLAGS_LOCAL    =       -w -O3 -ip $(OPTAVX)
LDFLAGS_LOCAL   =       $(OPTAVX)
CPLUSPLUSLIB    =       
ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
FCOPTIM         =       -ip -O3 $(OPTAVX)
FCREDUCEDOPT	=       $(FCOPTIM)
FCNOOPT		=       -O0 -fno-inline -fno-ip
FCDEBUG         =       # -g $(FCNOOPT) -traceback # -fpe0 -check noarg_temp_created,bounds,format,output_conversion,pointers,uninit -ftrapuv -unroll0 -u
FORMAT_FIXED    =       -FI
FORMAT_FREE     =       -FR
FCSUFFIX        =
BYTESWAPIO      =       -convert big_endian
#add -fp-model precise in FCBASEOPTS_NO_G to improve the accuracy of WRFPLUS check_AD test, suggested by Thomas Schwitalla.
FCBASEOPTS_NO_G =       -w -ftz -fno-alias -align all $(FORMAT_FREE) $(BYTESWAPIO) #-fp-model precise #-vec-report6
FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
MODULE_SRCH_FLAG =     
TRADFLAG        =      -traditional
CPP             =      /lib/cpp -P
AR              =      ar
ARFLAGS         =      ru
M4              =      m4
RANLIB          =      ranlib
RLFLAGS		=	
CC_TOOLS        =      gcc


###########################################################
#ARCH    Linux ppc64 BG /L blxlf compiler with blxlc # dmpar
#
DESCRIPTION     =       IBM ($SFC/$SCC): ppc64 Blue Gene\L
DMPARALLEL      =       # 1
OMPCPP          =       # not supported
OMP             =       # not supported
OMPCC           =       # not supported
BGL_SYS         =       /bgl/BlueLight/ppcfloor/bglsys
MPI_INC         =       -I$(BGL_SYS)/include
MPI_LIB         =       -L$(BGL_SYS)/lib -lmpich.rts -lmsglayer.rts -lrts.rts -ldevices.rts
SFC             =       blrts_xlf90
SCC             =       blrts_xlc
CCOMP           =       blrts_xlc
DM_FC           =       $(SFC)
DM_CC           =       $(SCC)
FC              =       CONFIGURE_FC
CC              =       CONFIGURE_CC
LD              =       $(FC)
RWORDSIZE       =       CONFIGURE_RWORDSIZE
PROMOTION       =        -qrealsize=$(RWORDSIZE) -qintsize=4
# If system has even more processors, set VERY_LARGE_MAXPROC to that number
ARCH_LOCAL      =       -DMOVE_NL_OUTSIDE_MODULE_CONFIGURE -DNONSTANDARD_SYSTEM_SUBR  -DVERY_LARGE_MAXPROC=36768 -DBLUEGENE  -DWRF_USE_CLM
CFLAGS_LOCAL    =       -DNOUNDERSCORE -DNCARIBM_NOC99 $(MPI_INC)  
LIB_LOCAL       =       $(MPI_LIB)
LDFLAGS_LOCAL   =       -Wl,--allow-multiple-definition -qstatic
CPLUSPLUSLIB    =       
ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
FCOPTIM         =       -O2 -qarch=440
FCNOOPT		=       -qnoopt
FCDEBUG         =       # $(FCNOOPT) -qfullpath
FORMAT_FIXED    =       -qfixed
FORMAT_FREE     =       -qfree=f90
FCSUFFIX        =       -qsuffix=f=f90
BYTESWAPIO      =       
FCBASEOPTS_NO_G =       -w -qspill=20000 -qmaxmem=64000 $(FORMAT_FREE) $(BYTESWAPIO) $(MPI_INC) #-qflttrap=zerodivide:invalid:enable -qsigtrap
FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
MODULE_SRCH_FLAG =     
TRADFLAG        =       -traditional
# this might be different on different systems but we want the xlf version of cpp, not Linux's
# NYBlue
CPP             =       /opt/ibmcmp/xlf/bg/10.1/exe/cpp -P
# frost.ucar.edu
CPP             =       /opt/ibmcmp/xlf/9.1/exe/cpp -P
AR              =       ar
ARFLAGS         =       ru
M4              =       m4 -B 14000
RANLIB          =       ranlib
RLFLAGS		=	
CC_TOOLS        =       cc
###########################################################
#ARCH    Linux ppc64 BG /P xlf compiler with xlc # smpar dmpar dm+sm
#     developed on surveyor.alcf.anl.gov (thanks to ANL/ALCF)
#
DESCRIPTION     =       IBM ($SFC/$SCC): ppc64 Blue Gene\P
DMPARALLEL      =       # 1
OMPCPP          =       # -D_OPENMP
OMP             =       # -qsmp=noauto
OMPCC           =       # -qsmp=noauto
# these have to be the same as DM_FC on surveyor or it fails with weird errors in time manager
SFC             =       mpixlf90_r
SCC             =       mpixlc_r
CCOMP           =       mpixlc_r
DM_FC           =       mpixlf90_r
DM_CC           =       mpixlc_r -DMPI2_SUPPORT
FC              =        $(DM_FC)
CC              =       $(DM_CC) -DFSEEKO64_OK
LD              =       $(FC)
RWORDSIZE       =       CONFIGURE_RWORDSIZE
PROMOTION       =        -qrealsize=$(RWORDSIZE) -qintsize=4
# If system has even more processors, set VERY_LARGE_MAXPROC to that number
ARCH_LOCAL      =       -DMOVE_NL_OUTSIDE_MODULE_CONFIGURE -DNONSTANDARD_SYSTEM_SUBR  -DVERY_LARGE_MAXPROC=36768 -DBLUEGENE  -DWRF_USE_CLM
CFLAGS_LOCAL    =       -DNOUNDERSCORE 
LIB_LOCAL       =
LDFLAGS_LOCAL   =       -Wl,--allow-multiple-definition,--relax -qstatic
CPLUSPLUSLIB    =       
ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
FCOPTIM         =       -O3 -qnoipa -qarch=auto -qcache=auto -qtune=auto
FCNOOPT		=       -qnoopt
FCDEBUG         =       # $(FCNOOPT) -g -qfullpath
FORMAT_FIXED    =       -qfixed
FORMAT_FREE     =       -qfree=f90
FCSUFFIX        =       -qsuffix=f=f90
BYTESWAPIO      =       
FCBASEOPTS_NO_G =       -w -qspill=20000 -qmaxmem=64000 $(FORMAT_FREE) $(BYTESWAPIO) #-qflttrap=zerodivide:invalid:enable -qsigtrap
FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
MODULE_SRCH_FLAG =     
TRADFLAG        =       -traditional
# this might be different on different systems but we want the xlf version of cpp, not Linux's
# surveyor.alcf.anl.gov
CPP             =       /opt/ibmcmp/xlf/bg/11.1/exe/cpp -P
AR              =       ar
ARFLAGS         =       ru
M4              =       m4 -B 14000
RANLIB          =       ranlib
RLFLAGS		=	
CC_TOOLS        =       cc
###########################################################
#ARCH    Linux ppc64 IBM Blade Server xlf compiler with xlc # dmpar
#    provided by Luis C. Cana Cascallar for IBM JS21 blade server, May 2009
#
DESCRIPTION     =       IBM ($SFC/$SCC): ppc64 IBM Blade
DMPARALLEL      =       # 1
OMPCPP          =       # not supported
OMP             =       # not supported
OMPCC           =       # not supported
SFC             =       xlf90_r -q64
SCC             =       xlc_r -q64
CCOMP           =       xlc_r -q64
DM_FC           =       mpif90 -q64
DM_CC           =       mpicc -q64 -DMPI2_SUPPORT  -DFSEEKO64_OK
FC              =       CONFIGURE_FC
CC              =       CONFIGURE_CC
LD              =       $(FC)
RWORDSIZE       =       CONFIGURE_RWORDSIZE
PROMOTION       =        -qrealsize=$(RWORDSIZE) -qintsize=4
# If system has even more processors, set VERY_LARGE_MAXPROC to that number
ARCH_LOCAL      =       -DMOVE_NL_OUTSIDE_MODULE_CONFIGURE -DNONSTANDARD_SYSTEM_SUBR  -DVERY_LARGE_MAXPROC=36768  -DWRF_USE_CLM
CFLAGS_LOCAL    =       -DNOUNDERSCORE 
LDFLAGS_LOCAL   =       
CPLUSPLUSLIB    =       -lC
ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
FCOPTIM		=       -O3 -qtune=ppc970 -qarch=ppc970 
FCNOOPT		=       -qnoopt
FCDEBUG         =       # -g $(FCNOOPT) -qfullpath
FORMAT_FIXED    =       -qfixed
FORMAT_FREE     =       -qfree=f90
FCSUFFIX        =       -qsuffix=f=f90
BYTESWAPIO      =       
FCBASEOPTS_NO_G =       -w -qspill=20000 -qmaxmem=32767 $(FORMAT_FREE) $(BYTESWAPIO) #-qflttrap=zerodivide:invalid:enable -qsigtrap
FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
MODULE_SRCH_FLAG =     
TRADFLAG        =       -traditional
# this might be different on different systems but we want the xlf version of cpp, not Linux
CPP             =       /opt/ibmcmp/xlf/11.1/exe/cpp -P
AR              =       ar
ARFLAGS         =       ru
M4              =       m4 -B 14000
RANLIB          =       ranlib
RLFLAGS		=	
CC_TOOLS        =       xlc -q64

###########################################################
#ARCH    Linux x86_64 ppc64le i486 i586 i686, PGI compiler with pgcc # serial smpar dmpar dm+sm
#
DESCRIPTION     =       PGI ($SFC/$SCC)
DMPARALLEL      =       # 1
OMPCPP          =       # -D_OPENMP
OMP             =       # -mp -Minfo=mp -Mrecursive
OMPCC           =       # -mp
SFC             =       pgf90
SCC             =       pgcc
CCOMP           =       pgcc
DM_FC           =       mpif90
DM_CC           =       mpicc
FC              =       CONFIGURE_FC
CC              =       CONFIGURE_CC
LD              =       $(FC)
RWORDSIZE       =       CONFIGURE_RWORDSIZE
PROMOTION       =       -r$(RWORDSIZE) -i4
ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_SUBR  -DWRF_USE_CLM
CFLAGS_LOCAL    =       -w -O3
LDFLAGS_LOCAL   =       
CPLUSPLUSLIB    =       
ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
FCOPTIM         =       -O3 #-fastsse -Mvect=noaltcode -Msmartalloc -Mprefetch=distance:8 -Mfprelaxed # -Minfo=all =Mneginfo=all
FCREDUCEDOPT	=       $(FCOPTIM)
FCNOOPT		=       -O0
FCDEBUG         =       # -g $(FCNOOPT)  # -C -Ktrap=fp -traceback
FORMAT_FIXED    =       -Mfixed
FORMAT_FREE     =       -Mfree
FCSUFFIX        =
BYTESWAPIO      =       -byteswapio
FCBASEOPTS_NO_G =       -w $(FORMAT_FREE) $(BYTESWAPIO) $(OMP)
FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
MODULE_SRCH_FLAG =     -module $(WRF_SRC_ROOT_DIR)/main
TRADFLAG        =      -traditional
CPP             =      /lib/cpp -P
AR              =      ar
ARFLAGS         =      ru
M4              =      m4 -B 14000
RANLIB          =      ranlib
RLFLAGS		=	
CC_TOOLS        =      $(SCC) 

###########################################################
#ARCH    CYGWIN_NT i686, PGI compiler on Windows # serial smpar dmpar dm+sm
#
DESCRIPTION     =       PGI ($SFC/$SCC): Windows
DMPARALLEL      =       # 1
OMPCPP          =       # -D_OPENMP
OMP             =       # -mp -Minfo=mp
OMPCC           =       # -mp
SFC             =       pgf90
SCC             =       pgcc
CCOMP           =       pgcc
DM_FC           =       pgf90
DM_CC           =       pgcc
FC              =       CONFIGURE_FC
CC              =       CONFIGURE_CC
LD              =       $(FC)
RWORDSIZE       =       CONFIGURE_RWORDSIZE
PROMOTION       =       -r$(RWORDSIZE) -i4
ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_SUBR -D_WIN32  -DWRF_USE_CLM
CFLAGS_LOCAL    =       -w -O3 -DMEMCPY_FOR_BCOPY 
LDFLAGS_LOCAL   =       Ws2_32.lib # -lnetcdff
CPLUSPLUSLIB    =
ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
FCOPTIM         =       -fastsse -Mvect=noaltcode -Mprefetch=distance:8 -Mfprelaxed -tp core2-64 # -Minfo=all 
FCREDUCEDOPT    =       $(FCOPTIM)
FCNOOPT         =       -O0
FCDEBUG         =       # -g $(FCNOOPT) # -C -Ktrap=fp
FORMAT_FIXED    =       -Mfixed
FORMAT_FREE     =       -Mfree
FCSUFFIX        =
BYTESWAPIO      =       -byteswapio 
FCBASEOPTS_NO_G =       -w $(FORMAT_FREE) $(BYTESWAPIO)
FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
MODULE_SRCH_FLAG=       -module $(WRF_SRC_ROOT_DIR)/main
TRADFLAG        =
CPP             =       pgprepro
AR              =       ar
ARFLAGS         =       cr
M4              =       NA
RANLIB          =       ranlib
RLFLAGS		=	
CC_TOOLS        =       $(SCC) 

LIB_EXTERNAL    = \
                     ../external/io_netcdf/libwrfio_nf.a CONFIGURE_NETCDF_PATH/lib/libnetcdf.lib \
                     ../external/wavelet/libWavelet.a ../external/wavelet/lib_wavelet.a
ESMF_IO_LIB     =    ../external/esmf_time_f90/libesmf_time.a
LIB_BUNDLED     = \
                     ../external/fftpack/fftpack5/libfftpack.a \
                     ../external/io_grib1/libio_grib1.a \
                     ../external/io_grib_share/libio_grib_share.a \
                     ../external/io_int/libwrfio_int.a \
                     $(ESMF_IO_LIB) \
                     CONFIGURE_COMMS_LIB \
                     ../frame/module_internal_header_util.o \
                     ../frame/pack_utils.o

###########################################################
#ARCH    Linux x86_64 ppc64le i486 i586 i686, PGI compiler with gcc -f90= # serial smpar dmpar dm+sm
#
DESCRIPTION     =       PGI ($SFC/$SCC): -f90=pgf90
DMPARALLEL      =       # 1
OMPCPP          =       # -D_OPENMP
OMP             =       # -mp -Minfo=mp -Mrecursive
OMPCC           =       # -mp
SFC             =       pgf90
SCC             =       gcc
CCOMP           =       gcc
DM_FC           =       mpif90 -f90=pgf90
DM_CC           =       mpicc -cc=gcc
FC              =       CONFIGURE_FC
CC              =       CONFIGURE_CC
LD              =       $(FC)
RWORDSIZE       =       CONFIGURE_RWORDSIZE
PROMOTION       =       -r$(RWORDSIZE) -i4
ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_SUBR  -DWRF_USE_CLM
CFLAGS_LOCAL    =       -w -O3
LDFLAGS_LOCAL   =       
CPLUSPLUSLIB    =       
ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
FCOPTIM         =       -O3 #-fastsse -Mvect=noaltcode -Msmartalloc -Mprefetch=distance:8 -Mfprelaxed # -Minfo=all =Mneginfo=all
FCREDUCEDOPT    =       $(FCOPTIM)
FCNOOPT         =       -O0
FCDEBUG         =       # -g $(FCNOOPT)  # -C -Ktrap=fp -traceback
FORMAT_FIXED    =       -Mfixed
FORMAT_FREE     =       -Mfree
FCSUFFIX        =
BYTESWAPIO      =       -byteswapio
FCBASEOPTS_NO_G =       -w $(FORMAT_FREE) $(BYTESWAPIO) $(OMP)
FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
MODULE_SRCH_FLAG =     -module $(WRF_SRC_ROOT_DIR)/main
TRADFLAG        =      -traditional
CPP             =      /lib/cpp -P
AR              =      ar
ARFLAGS         =      ru
M4              =      m4 -B 14000
RANLIB          =      ranlib
RLFLAGS		=	
CC_TOOLS        =      $(SCC) 

###########################################################
#ARCH    Darwin (MACOS) PGI compiler with pgcc -f90= #serial smpar dmpar dm+sm
#
DESCRIPTION     =       PGI ($SFC/$SCC): -f90=pgf90
DMPARALLEL      =       # 1
OMPCPP          =       # -D_OPENMP
OMP             =       # -mp -Minfo=mp -Mrecursive
OMPCC           =       # -mp
SFC             =       pgf90
SCC             =       pgcc
CCOMP           =       pgcc
DM_FC           =       mpif90 -f90=pgf90
DM_CC           =       mpicc -cc=pgcc
FC              =       CONFIGURE_FC
CC              =       CONFIGURE_CC
LD              =       $(FC)
RWORDSIZE       =       CONFIGURE_RWORDSIZE
PROMOTION       =       -r$(RWORDSIZE) -i4
ARCH_LOCAL      =       -DMACOS -DNONSTANDARD_SYSTEM_SUBR  -DWRF_USE_CLM
CFLAGS_LOCAL    =       -DMACOS
LDFLAGS_LOCAL   =       
CPLUSPLUSLIB    =       
ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
FCOPTIM		=       -O2 -fast
FCREDUCEDOPT	=       $(FCOPTIM)
FCNOOPT		=       -O0
FCDEBUG         =       # -g $(FCNOOPT) # -C -Ktrap=fp -traceback
FORMAT_FIXED    =       -Mfixed
FORMAT_FREE     =       -Mfree
FCSUFFIX        =       
BYTESWAPIO      =       -byteswapio
FCBASEOPTS_NO_G =       -w $(FORMAT_FREE) $(BYTESWAPIO) $(OMP)
FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG) -Mnomod
MODULE_SRCH_FLAG =     -module $(WRF_SRC_ROOT_DIR)/main
TRADFLAG        =      -traditional
CPP             =      cpp -P -xassembler-with-cpp
AR              =      ar
ARFLAGS         =      ru
M4              =      m4 -B 14000
RANLIB          =      ranlib
RLFLAGS		=	-c
CC_TOOLS        =      cc

###########################################################
#ARCH    Linux x86_64 ppc64le i486 i586 i686, PGI compiler with pgcc -f90= # serial smpar dmpar dm+sm
#
DESCRIPTION     =       PGI ($SFC/$SCC): -f90=pgf90
DMPARALLEL      =       # 1
OMPCPP          =       # -D_OPENMP
OMP             =       # -mp -Minfo=mp -Mrecursive
OMPCC           =       # -mp
SFC             =       pgf90
SCC             =       pgcc
CCOMP           =       pgcc
DM_FC           =       mpif90 -f90=pgf90
DM_CC           =       mpicc -cc=pgcc
FC              =       CONFIGURE_FC
CC              =       CONFIGURE_CC
LD              =       $(FC)
RWORDSIZE       =       CONFIGURE_RWORDSIZE
PROMOTION       =       -r$(RWORDSIZE) -i4
ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_SUBR  -DWRF_USE_CLM
CFLAGS_LOCAL    =       -w -O3
LDFLAGS_LOCAL   =       
CPLUSPLUSLIB    =       
ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
FCOPTIM         =       -O3 #-fastsse -Mvect=noaltcode -Msmartalloc -Mprefetch=distance:8 -Mfprelaxed # -Minfo=all =Mneginfo=all
FCREDUCEDOPT	=       $(FCOPTIM)
FCNOOPT		=       -O0
FCDEBUG         =       # -g $(FCNOOPT)  # -C -Ktrap=fp -traceback
FORMAT_FIXED    =       -Mfixed
FORMAT_FREE     =       -Mfree
FCSUFFIX        =
BYTESWAPIO      =       -byteswapio
FCBASEOPTS_NO_G =       -w $(FORMAT_FREE) $(BYTESWAPIO) $(OMP)
FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
MODULE_SRCH_FLAG =     -module $(WRF_SRC_ROOT_DIR)/main
TRADFLAG        =      -traditional
CPP             =      /lib/cpp -P
AR              =      ar
ARFLAGS         =      ru
M4              =      m4 -B 14000
RANLIB          =      ranlib
RLFLAGS		=	
CC_TOOLS        =      $(SCC) 

###########################################################
#ARCH    Linux x86_64 ppc64le i486 i586 i686 #serial smpar dmpar dm+sm
#
DESCRIPTION     =       INTEL ($SFC/$SCC): HSW/BDW
DMPARALLEL      =       # 1
OMPCPP          =       # -D_OPENMP
OMP             =       # -openmp -fpp -auto
OMPCC           =       # -openmp -fpp -auto
SFC             =       ifort
SCC             =       icc
CCOMP           =       icc
DM_FC           =       mpif90 -f90=$(SFC)
DM_CC           =       mpicc -cc=$(SCC)
FC              =       CONFIGURE_FC
CC              =       CONFIGURE_CC
LD              =       $(FC)
RWORDSIZE       =       CONFIGURE_RWORDSIZE
PROMOTION       =       -real-size `expr 8 \* $(RWORDSIZE)` -i4
ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_FUNC -DWRF_USE_CLM
CFLAGS_LOCAL    =       -w -O3 -ip -xHost -fp-model fast=2 -no-prec-div -no-prec-sqrt -ftz -no-multibyte-chars -xCORE-AVX2
LDFLAGS_LOCAL   =       -ip -xHost -fp-model fast=2 -no-prec-div -no-prec-sqrt -ftz -align all -fno-alias -fno-common -xCORE-AVX2
CPLUSPLUSLIB    =       
ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
FCOPTIM         =       -O3
FCREDUCEDOPT	=       $(FCOPTIM)
FCNOOPT		=       -O0 -fno-inline -no-ip
FCDEBUG         =       # -g $(FCNOOPT) -traceback # -fpe0 -check noarg_temp_created,bounds,format,output_conversion,pointers,uninit -ftrapuv -unroll0 -u
FORMAT_FIXED    =       -FI
FORMAT_FREE     =       -FR
FCSUFFIX        =
BYTESWAPIO      =       -convert big_endian
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
FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
MODULE_SRCH_FLAG =     
TRADFLAG        =      -traditional
CPP             =      /lib/cpp -P
AR              =      ar
ARFLAGS         =      ru
M4              =      m4
RANLIB          =      ranlib
RLFLAGS		=	
CC_TOOLS        =      $(SCC) 

###########################################################
#ARCH    Linux x86_64 ppc64le i486 i586 i686 #serial smpar dmpar dm+sm
#
DESCRIPTION     =       INTEL ($SFC/$SCC): KNL MIC
DMPARALLEL      =       # 1
OMPCPP          =       # -D_OPENMP
OMP             =       # -openmp -fpp -auto
OMPCC           =       # -openmp -fpp -auto
SFC             =       ifort
SCC             =       icc
CCOMP           =       icc
DM_FC           =       mpif90 -f90=$(SFC)
DM_CC           =       mpicc -cc=$(SCC)
FC              =       CONFIGURE_FC
CC              =       CONFIGURE_CC
LD              =       $(FC)
RWORDSIZE       =       CONFIGURE_RWORDSIZE
PROMOTION       =       -real-size `expr 8 \* $(RWORDSIZE)` -i4
ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_FUNC -DWRF_USE_CLM
CFLAGS_LOCAL    =       -w -O3 -ip -xHost -fp-model fast=2 -no-prec-div -no-prec-sqrt -ftz -no-multibyte-chars -xMIC-AVX512
LDFLAGS_LOCAL   =       -ip -xHost -fp-model fast=2 -no-prec-div -no-prec-sqrt -ftz -align all -fno-alias -fno-common -xMIC-AVX512
CPLUSPLUSLIB    =       
ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
FCOPTIM         =       -O3
FCREDUCEDOPT	=       $(FCOPTIM)
FCNOOPT		=       -O0 -fno-inline -no-ip
FCDEBUG         =       # -g $(FCNOOPT) -traceback # -fpe0 -check noarg_temp_created,bounds,format,output_conversion,pointers,uninit -ftrapuv -unroll0 -u
FORMAT_FIXED    =       -FI
FORMAT_FREE     =       -FR
FCSUFFIX        =
BYTESWAPIO      =       -convert big_endian
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
FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
MODULE_SRCH_FLAG =     
TRADFLAG        =      -traditional
CPP             =      /lib/cpp -P
AR              =      ar
ARFLAGS         =      ru
M4              =      m4
RANLIB          =      ranlib
RLFLAGS		=	
CC_TOOLS        =      $(SCC) 

#insert new stanza here

###########################################################
#ARCH    Fujitsu FX10/FX100 Linux x86_64 SPARC64IXfx/SPARC64Xlfx, mpifrtpx and mpifccpx compilers #serial smpar dmpar dm+sm
#
DESCRIPTION     =       FUJITSU ($SFC/$SCC): FX10/FX100 SPARC64 IXfx/Xlfx
DMPARALLEL      =       # 1
OMPCPP          =       # -D_OPENMP
OMP             =       # -Kopenmp
OMPCC           =       # -Kopenmp
SFC             =       frtpx
SCC             =       fccpx
CCOMP           =       fccpx
DM_FC           =       mpifrtpx
DM_CC           =       mpifccpx -DMPI2_SUPPORT -DMPI2_THREAD_SUPPORT
FC              =       CONFIGURE_FC
CC              =       CONFIGURE_CC
LD              =       $(FC)
RWORDSIZE       =       CONFIGURE_RWORDSIZE
PROMOTION       =       -CcdRR$(RWORDSIZE)
ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_SUBR  -DWRF_USE_CLM
CFLAGS_LOCAL    =       -Kfast -Xg -DSUN
LDFLAGS_LOCAL   =
CPLUSPLUSLIB    =
ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
FCOPTIM         =       -Kfast
FCREDUCEDOPT    =       $(FCOPTIM)
FCNOOPT         =       -O0
FCDEBUG         =       # -g $(FCNOOPT)
FORMAT_FIXED    =       -Fixed
FORMAT_FREE     =       -Free
FCSUFFIX        =
BYTESWAPIO      =
FCBASEOPTS_NO_G =       -Kautoobjstack,ocl -fw $(FORMAT_FREE) $(BYTESWAPIO) $(OMP)
FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
MODULE_SRCH_FLAG =
TRADFLAG        =      -traditional
CPP             =      /lib/cpp -P
AR              =      ar
ARFLAGS         =      ru
M4              =      m4
RANLIB          =      ranlib
RLFLAGS         =
CC_TOOLS        =      /usr/bin/gcc -Wall

#insert new stanza before the Fujitsu block, keep Fujitsu at the end of the list
###########################################################
#ARCH  NULL

