PIO_FILESYSTEM_HINTS := gpfs PNETCDF_PATH := $(PNETCDF) NETCDF_PATH := $(NETCDF) SUPPORTS_CXX := FALSE ifeq ($(COMPILER),gnu) MPIFC := mpif90 FFLAGS_NOOPT := -O0 MPICC := mpicc LAPACK_LIBDIR := /glade/apps/opt/lib HAS_F2008_CONTIGUOUS := FALSE SUPPORTS_CXX := TRUE FFLAGS := -mcmodel=medium -fconvert=big-endian -ffree-line-length-none -ffixed-line-length-none FIXEDFLAGS := -ffixed-form CXX_LINKER := FORTRAN FC_AUTO_R8 := -fdefault-real-8 CFLAGS := -mcmodel=medium -std=gnu99 FREEFLAGS := -ffree-form SCXX := g++ endif ifeq ($(COMPILER),intel) MPIFC := mpif90 FFLAGS_NOOPT := -O0 MPICC := mpicc HAS_F2008_CONTIGUOUS := TRUE CXX_LDFLAGS := -cxxlib SUPPORTS_CXX := TRUE FFLAGS := -qno-opt-dynamic-align -convert big_endian -assume byterecl -ftz -traceback -assume realloc_lhs -fp-model source FIXEDFLAGS := -fixed -132 PFUNIT_PATH := $(CESMDATAROOT)/tools/pFUnit/pFUnit3.1_Intel15.0.1_MPI CXX_LINKER := FORTRAN FC_AUTO_R8 := -r8 CFLAGS := -qno-opt-dynamic-align -fp-model precise -std=gnu99 FREEFLAGS := -free SCXX := icpc ifeq ($(MPILIB),mpich2) PAPI_INC := /glade/apps/opt/papi/5.3.0/intel/12.1.5/include/ MPICXX := mpiicpc PAPI_LIB := /glade/apps/opt/papi/5.3.0/intel/12.1.5/lib64 TRILINOS_PATH := $(TRILINOS_PATH) endif endif ifeq ($(COMPILER),pgi) MPIFC := mpif90 FFLAGS_NOOPT := -O0 -g -Ktrap=fp -Mbounds -Kieee MPICC := mpicc LDFLAGS := -time -Wl,--allow-multiple-definition HAS_F2008_CONTIGUOUS := FALSE FFLAGS := -i4 -gopt -time -Mextend -byteswapio -Mflushz -Kieee FIXEDFLAGS := -Mfixed CXX_LINKER := CXX FC_AUTO_R8 := -r8 CFLAGS := -gopt -time FREEFLAGS := -Mfree SCXX := pgc++ endif CPPDEFS := $(CPPDEFS) -D$(OS) ifeq ($(MODEL),gptl) CPPDEFS := $(CPPDEFS) -DHAVE_NANOTIME -DBIT64 -DHAVE_VPRINTF -DHAVE_BACKTRACE -DHAVE_SLASHPROC -DHAVE_COMM_F2C -DHAVE_TIMES -DHAVE_GETTIMEOFDAY endif ifeq ($(MODEL),pop) CPPDEFS := $(CPPDEFS) -D_USE_FLOW_CONTROL endif ifeq ($(COMPILER),gnu) CPPDEFS := $(CPPDEFS) -DFORTRANUNDERSCORE -DNO_R16 -DCPRGNU ifeq ($(compile_threaded),true) FFLAGS := $(FFLAGS) -fopenmp CFLAGS := $(CFLAGS) -fopenmp endif ifeq ($(DEBUG),TRUE) FFLAGS := $(FFLAGS) -g -Wall CFLAGS := $(CFLAGS) -g -Wall endif ifeq ($(DEBUG),FALSE) FFLAGS := $(FFLAGS) -O CFLAGS := $(CFLAGS) -O endif ifeq ($(MODEL),cism) CMAKE_OPTS := $(CMAKE_OPTS) -D CISM_GNU=ON endif ifeq ($(compile_threaded),true) LDFLAGS := $(LDFLAGS) -fopenmp endif endif ifeq ($(COMPILER),intel) CPPDEFS := $(CPPDEFS) -DFORTRANUNDERSCORE -DCPRINTEL ifeq ($(compile_threaded),true) FFLAGS := $(FFLAGS) -qopenmp CFLAGS := $(CFLAGS) -qopenmp endif ifeq ($(MPILIB),mpich2) FFLAGS := $(FFLAGS) -xHost CFLAGS := $(CFLAGS) -xHost endif ifeq ($(DEBUG),TRUE) FFLAGS := $(FFLAGS) -O0 -g -check uninit -check bounds -check pointers -fpe0 -check noarg_temp_created CFLAGS := $(CFLAGS) -O0 -g endif ifeq ($(DEBUG),FALSE) FFLAGS := $(FFLAGS) -O2 -debug minimal CFLAGS := $(CFLAGS) -O2 -debug minimal endif ifeq ($(MPILIB),mpich2) CPPDEFS := $(CPPDEFS) -DINTEL_MKL -DHAVE_SSE2 endif ifeq ($(compile_threaded),true) FFLAGS_NOOPT := $(FFLAGS_NOOPT) -qopenmp LDFLAGS := $(LDFLAGS) -qopenmp endif endif ifeq ($(COMPILER),pgi) CPPDEFS := $(CPPDEFS) -DFORTRANUNDERSCORE -DNO_SHR_VMATH -DNO_R16 -DCPRPGI ifeq ($(compile_threaded),true) FFLAGS := $(FFLAGS) -mp endif ifeq ($(MODEL),dwav) FFLAGS := $(FFLAGS) -Mnovect endif ifeq ($(MODEL),dice) FFLAGS := $(FFLAGS) -Mnovect endif ifeq ($(MODEL),dlnd) FFLAGS := $(FFLAGS) -Mnovect endif ifeq ($(MODEL),datm) FFLAGS := $(FFLAGS) -Mnovect endif ifeq ($(MODEL),docn) FFLAGS := $(FFLAGS) -Mnovect endif ifeq ($(MODEL),drof) FFLAGS := $(FFLAGS) -Mnovect endif ifeq ($(compile_threaded),true) CFLAGS := $(CFLAGS) -mp endif ifeq ($(DEBUG),TRUE) FFLAGS := $(FFLAGS) -O0 -g -Ktrap=fp -Mbounds -Kieee endif ifeq ($(DEBUG),FALSE) FFLAGS := $(FFLAGS) -O CFLAGS := $(CFLAGS) -O endif ifeq ($(compile_threaded),true) FFLAGS_NOOPT := $(FFLAGS_NOOPT) -mp LDFLAGS := $(LDFLAGS) -mp endif endif ifeq ($(COMPILER),gnu) ifeq ($(MPILIB),mpi-serial) SCC := gcc SFC := gfortran endif endif ifeq ($(COMPILER),intel) ifeq ($(MPILIB),mpich2) SCC := $(MPICC) SFC := $(MPIFC) endif ifeq ($(MPILIB),mpi-serial) SCC := icc SFC := ifort endif endif ifeq ($(COMPILER),pgi) ifeq ($(MPILIB),mpi-serial) SCC := pgcc SFC := pgfortran endif endif ifeq ($(COMPILER),intel) ifeq ($(MPILIB),mpich2) SLIBS := $(SLIBS) -mkl=cluster SLIBS := $(SLIBS) -Wl,-rpath $(PAPI_LIB) -L$(PAPI_LIB) -lpapi endif ifeq ($(MPILIB),mpi-serial) SLIBS := $(SLIBS) -mkl endif endif ifeq ($(COMPILER),pgi) SLIBS := $(SLIBS) -llapack -lblas endif