Changeset adf46ae in flexpart.git for src/makefile
- Timestamp:
- Oct 22, 2015, 4:55:33 PM (9 years ago)
- Branches:
- master, 10.4.1_pesei, GFS_025, bugfixes+enhancements, dev, release-10, release-10.4.1, scaling-bug, univie
- Children:
- ca350ba, 4d45639
- Parents:
- c04b739
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/makefile
r5f42c27 radf46ae 6 6 # Dependencies are resolved in this makefile, so parallel make is 7 7 # possible ("make -j") 8 # 9 # At NILU we have installed gcc-4.9.1 and libraries under user /homevip/flexpart 10 # ("ROOT_DIR") 11 # To use gfortran version 4.9, add "gcc=4.9" to the make command, e.g. 12 # 'make -j ecmwf gcc=4.9', 13 # also set environment variable LD_LIBRARY_FLAGS= 8 14 # 9 15 # USAGE … … 24 30 # 25 31 ################################################################################ 26 27 28 32 29 33 ## PROGRAMS … … 34 38 FLEXPART-GFS-MPI = FP_gfs_MPI 35 39 36 37 ## COMPILERS 38 F90 = /usr/bin/gfortran 39 #F90 = ${HOME}/gcc-4.9.1/bin/gfortran 40 #MPIF90 = ${HOME}/opt/bin/mpifort 41 #MPIF90 = mpif90.mpich 42 MPIF90 = mpif90.openmpi 43 #MPIF90 = mpifort 40 ifeq ($(gcc), 4.9) 41 # Compiled libraries under user user ~flexpart, gfortran v4.9 42 ROOT_DIR = /homevip/flexpart/ 43 # ROOT_DIR = /homevip/espen/ 44 45 F90 = ${ROOT_DIR}/gcc-4.9.1/bin/gfortran 46 MPIF90 = ${ROOT_DIR}/bin/mpifort 47 48 INCPATH1 = ${ROOT_DIR}/gcc-4.9.1/include 49 INCPATH2 = ${ROOT_DIR}/include 50 LIBPATH1 = ${ROOT_DIR}/lib 51 # LIBPATH2 = ${ROOT_DIR}/gcc-4.9.1/lib 52 # LIBPATH2 = /lib 53 else 54 # Default: System libraries at NILU, gfortran v4.6 55 F90 = /usr/bin/gfortran 56 MPIF90 = /usr/bin/mpif90.openmpi 57 58 INCPATH1 = /xnilu_wrk/flex_wrk/bin64/grib_api/include 59 INCPATH2 = /usr/include 60 LIBPATH1 = /xnilu_wrk/flex_wrk/bin64/grib_api/lib 61 # LIBPATH2 = /usr/lib/x86_64-linux-gnu 62 endif 63 44 64 45 65 ## OPTIMIZATION LEVEL … … 48 68 49 69 ## LIBRARIES 50 LIBS = -lgrib_api_f90 -lgrib_api -lm -ljasper -lnetcdff # -fopenmp # -llapack -lnetcdf 51 52 ## 1) System libraries at NILU 53 INCPATH1 = /usr/include 54 #INCPATH1 = /xnilu_wrk/flex_wrk/bin64/grib_api/include 55 LIBPATH1 = /xnilu_wrk/flex_wrk/bin64/grib_api/lib 56 #LIBPATH2 = /usr/lib/x86_64-linux-gnu 57 58 ## 2) Home-made libraries 59 # INCPATH1 = ${HOME}/include 60 INCPATH2 = /homevip/flexpart/include/ 61 LIBPATH2 = /homevip/flexpart/lib/ 62 # LIBPATH1 = ${HOME}/lib 63 64 FFLAGS = -I$(INCPATH1) -I$(INCPATH2) -O$(O_LEV) -g -m64 -mcmodel=medium -fconvert=little-endian -frecord-marker=4 -fmessage-length=0 -flto=jobserver -O$(O_LEV) -mtune=native -fuse-linker-plugin $(FUSER) # -march=native 70 LIBS = -lgrib_api_f90 -lgrib_api -lm -ljasper -lnetcdff -llapack # -fopenmp # -llapack 71 72 FFLAGS = -I$(INCPATH1) -I$(INCPATH2) -O$(O_LEV) -g -m64 -mcmodel=medium -fconvert=little-endian -frecord-marker=4 -fmessage-length=0 -flto=jobserver -O$(O_LEV) -mtune=native $(FUSER) # -march=native 65 73 66 74 DBGFLAGS = -I$(INCPATH1) -I$(INCPATH2) -O$(O_LEV_DBG) -g3 -ggdb3 -m64 -mcmodel=medium -fconvert=little-endian -frecord-marker=4 -fmessage-length=0 -flto=jobserver -O$(O_LEV_DBG) -fbacktrace -Warray-bounds -Wall -fcheck=all $(FUSER) # -ffpe-trap=invalid,overflow,denormal,underflow,zero -fdump-core 67 75 68 LDFLAGS = $(FFLAGS) -L$(LIBPATH1) -L$(LIBPATH2) $(LIBS)69 LDDEBUG = $(DBGFLAGS) -L$(LIBPATH1) -L$(LIBPATH2) $(LIBS)76 LDFLAGS = $(FFLAGS) -L$(LIBPATH1) $(LIBS) #-L$(LIBPATH2) 77 LDDEBUG = $(DBGFLAGS) -L$(LIBPATH1) $(LIBS) #-L$(LIBPATH2) 70 78 71 79 MODOBJS = \ … … 114 122 richardson.o verttransform.o \ 115 123 obukhov.o gridcheck.o \ 116 convmix.o calcmatrix.o 124 convmix.o calcmatrix.o \ 125 ecmwf_mod.o 117 126 118 127 … … 123 132 richardson.o verttransform.o \ 124 133 obukhov.o \ 125 convmix.o calcmatrix.o 134 convmix.o calcmatrix.o \ 135 ecmwf_mod.o 126 136 127 137 ## For GFS (serial) version: … … 130 140 richardson_gfs.o verttransform_gfs.o \ 131 141 obukhov_gfs.o gridcheck_gfs.o \ 132 convmix_gfs.o calcmatrix_gfs.o 142 convmix_gfs.o calcmatrix_gfs.o \ 143 gfs_mod.o 133 144 134 145 OBJECTS = \ … … 203 214 gfs: $(FLEXPART-GFS) 204 215 gfs: FC := $(F90) 216 205 217 gfs-mpi: $(FLEXPART-GFS-MPI) 206 218 gfs-mpi: FC := $(MPIF90) … … 208 220 #all: $(FLEXPART-ECMWF) 209 221 #all: $(FLEXPART-ECMWF-MPI) 222 223 ## This allows for switching between ECMWF/GFS without editing source code. 224 wind_mod = ecmwf_mod.o # default wind 225 # ifeq ($(MAKECMDGOALS),ecmwf) 226 # wind_mod = ecmwf_mod.o 227 # endif 228 # ifeq ($(MAKECMDGOALS),ecmwf-mpi) 229 # wind_mod = ecmwf_mod.o 230 # endif 231 # ifeq ($(MAKECMDGOALS),ecmwf-mpi-dbg) 232 # wind_mod = ecmwf_mod.o 233 # endif 234 235 ifeq ($(MAKECMDGOALS),gfs) 236 wind_mod = gfs_mod.o 237 endif 238 ifeq ($(MAKECMDGOALS),gfs-mpi) 239 wind_mod = gfs_mod.o 240 endif 210 241 211 242 $(FLEXPART-ECMWF): $(MODOBJS) $(OBJECTS) $(OBJECTS_SERIAL) $(OBJECTS_ECMWF) … … 339 370 outgrid_init.o: com_mod.o flux_mod.o oh_mod.o outg_mod.o par_mod.o unc_mod.o 340 371 outgrid_init_nest.o: com_mod.o outg_mod.o par_mod.o unc_mod.o 372 par_mod.o : $(wind_mod) 341 373 part0.o: par_mod.o 342 374 partdep.o: par_mod.o
Note: See TracChangeset
for help on using the changeset viewer.