# This config file contains the compile options for compilation # of the EnKF code on the NOAA HPCS. # ---------------------------------- # Set library versions # ---------------------------------- NETCDF_VER = 3.6.3 SFCIO_VER = v1.0.0 SIGIO_VER = v2.0.1 SP_VER = v2.0.2 W3NCO_VER = v2.0.6 CORELIB = /nwprod/lib SFCIO_INC4=$(CORELIB)/sfcio/$(SFCIO_VER)/incmod/sfcio_$(SFCIO_VER)_4 SIGIO_INC4=$(CORELIB)/sigio/$(SIGIO_VER)/incmod/sigio_$(SIGIO_VER)_4 SFCIO_LIB4=$(CORELIB)/sfcio/$(SFCIO_VER)/libsfcio_$(SFCIO_VER)_4.a SIGIO_LIB4=$(CORELIB)/sigio/$(SIGIO_VER)/libsigio_$(SIGIO_VER)_4.a SP_LIBd=$(CORELIB)/sp/$(SP_VER)/libsp_$(SP_VER)_d.a W3NCO_LIB4=$(CORELIB)/w3nco/$(W3NCO_VER)/libw3nco_$(W3NCO_VER)_4.a NETCDFPATH = /usrx/local/NetCDF/$(NETCDF_VER) NETCDF_INCLUDE = $(NETCDFPATH)/include NETCDF_LDFLAGS_F = -L$(NETCDFPATH)/lib -lnetcdf # 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 = mpfort FC = $(CF) #--- Normal mode options PROF= #-pg OMP = -openmp FFLAGS_F90 = -DGFS FFLAGS_COM_N = -I ./ -I $(SFCIO_INC4) -I $(SIGIO_INC4) -I $(NETCDF_INCLUDE) \ -O3 -fp-model source -convert big_endian -assume byterecl \ -implicitnone $(OMP) FFLAGS_COM_N_NOSWAP = -I ./ -I $(SFCIO_INC4) -I $(SIGIO_INC4) -I $(NETCDF_INCLUDE) \ -O3 -fp-model source -convert big_endian -assume byterecl \ -implicitnone $(OMP) 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 $(SFCIO_INC4) -I $(SIGIO_INC4) -I $(NETCDF_INCLUDE) \ -O0 -fp-model source -convert big_endian -assume byterecl \ -implicitnone -warn all -g -traceback -debug all -check all FFLAGS_COM_NOSWAP_D = -I ./ -I $(SFCIO_INC4) -I $(SIGIO_INC4) -I $(NETCDF_INCLUDE) \ -O0 -fp-model source -convert big_endian -assume byterecl \ -implicitnone -warn all -g -traceback -debug all -check all FFLAGS_D = $(FFLAGS_F90) $(FFLAGS_COM_D) FFLAGS_NOSWAP_D = $(FFLAGS_F90) $(FFLAGS_COM_NOSWAP_D) # ---------------------- # C Compiler and options # ---------------------- CC = mpcc #--- Normal mode options CFLAGS_N = -DLINUX -Dfunder -I ./ -DFortranByte=char -DFortranInt=int -DFortranLlong='long long' -O3 $(OMP) #--- Debug mode options CFLAGS_D = -DLINUX -Dfunder -I ./ -DFortranByte=char -DFortranInt=int -DFortranLlong='long long' -g # ------------------ # Linker and options # ------------------ LD = $(CF) #--- Normal mode options LIBS_N = $(SP_LIBd) $(W3NCO_LIB4) $(SIGIO_LIB4) $(SFCIO_LIB4) $(NETCDF_LDFLAGS_F) LDFLAGS_N = -mkl -Wl,-Map,loadmap.txt $(OMP) LDFLAGS = $(LDFLAGS_N) #--- Debug mode options LIBS_D = $(LIBS_N) LDFLAGS_D = -mkl -Wl,-Map,loadmap.txt #--- Empty out mpi library definition: embedded in compiler LIBmpi =