# This config file contains the compile options for compilation # of the EnKF code on the NOAA HPCS. # ---------------------------------- # Redefine variables for NOAA HPCS # ---------------------------------- COREINC = /contrib/nceplibs/nwprod/lib/incmod CORELIB = /contrib/nceplibs/nwprod/lib SHTNSLIB = /contrib/pythonextras/Anaconda-1.8.0/lib INCsfcio = $(COREINC)/sfcio_4 INCsigio = $(COREINC)/sigio_4 INCnetcdf = ${NETCDF}/include # Empty out definition of libs use by GMAO EnKF building structure LIBtransf = #-L$(CORELIB) -ltransf LIBhermes = #-L$(CORELIB) -lhermes LIBgfio = #-L$(CORELIB) -lgfio INChdf = #-I$(BASEDIR)/$(ARCH)/include/hdf LIBhdf = #-L$(BASEDIR)/$(ARCH)/lib -lmfhdf -ldf -lhdfjpeg -lhdfz -lsz # --------------------------- # General targets/definitions # --------------------------- AR = ar -v # ---------------------------- # Fortran compiler and options # ---------------------------- CF = ifort FC = $(CF) #--- Normal mode options PROF= #-pg OMP = #-openmp FFLAGS_F90 = -DGFS FFLAGS_COM_N = -I ./ -I $(INCsfcio) -I $(INCsigio) -I $(INCnetcdf) \ -O3 -warn all -implicitnone -traceback -g -fp-model strict $(OMP) \ -convert big_endian -assume byterecl FFLAGS_COM_N_NOSWAP = -I ./ -I $(INCsfcio) -I $(INCsigio) -I $(INCnetcdf) \ -O3 -warn all -implicitnone -traceback -g -fp-model strict $(OMP) \ -convert big_endian -assume byterecl FFLAGS_N = $(FFLAGS_F90) $(FFLAGS_COM_N) $(PROF) FFLAGS_NOSWAP_N = $(FFLAGS_F90) $(FFLAGS_COM_N_NOSWAP) $(PROF) FFLAGS_f = $(FFLAGS_COM_N) $(PROF) FFLAGS = $(FFLAGS_N) $(PROF) #--- Debug mode options FFLAGS_COM_D = -I ./ -I $(INCsfcio) -I $(INCsigio) -I $(INCnetcdf) \ -O0 -xHOST -warn all -implicitnone -traceback -g -debug full -fp-model strict \ -convert big_endian -assume byterecl FFLAGS_COM_NOSWAP_D = -I ./ -I $(INCsfcio) -I $(INCsigio) -I $(INCnetcdf) \ -O0 -xHOST -warn all -implicitnone -traceback -g -debug full -fp-model strict \ -convert big_endian -assume byterecl FFLAGS_D = $(FFLAGS_F90) $(FFLAGS_COM_D) FFLAGS_NOSWAP_D = $(FFLAGS_F90) $(FFLAGS_COM_NOSWAP_D) # ---------------------- # C Compiler and options # ---------------------- CC = gcc #--- Normal mode options CFLAGS_N = -DLINUX -Dfunder -I ./ -DFortranByte=char -DFortranInt=int -DFortranLlong='long long' -O3 $(PROF) #--- Debug mode options CFLAGS_D = -DLINUX -Dfunder -I ./ -DFortranByte=char -DFortranInt=int -DFortranLlong='long long' -g # ------------------ # Linker and options # ------------------ LD = $(CF) -mkl=sequential -lmpi -Wl,-Map,loadmap.txt #--- Normal mode options LIBS_N = -L$(CORELIB) -lsp_v2.0.1_d -lw3nco_v2.0.6_4 -lsigio_4 -lsfcio_4 \ -L$(NETCDF)/lib -lnetcdf # use this one if linking shtns lib intead of splib for spectral transforms. #LIBS_N = -L$(CORELIB) -lw3nco_v2.0.6_4 -lsigio_4 -lsfcio_4 \ # -L$(NETCDF)/lib -lnetcdf -L$(SHTNSLIB) -lshtns -lfftw3 LDFLAGS_N = $(OMP) LDFLAGS = $(LDFLAGS_N) #--- Debug mode options LIBS_D = $(LIBS_N) LDFLAGS_D = #--- Empty out mpi library definition: embedded in compiler LIBmpi =