- Timestamp:
- Oct 22, 2015, 4:55:33 PM (8 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
- Location:
- src
- Files:
-
- 2 added
- 2 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 -
src/par_mod.f90
r5f9d14a radf46ae 33 33 34 34 module par_mod 35 36 ! wind_mod: is gfs_mod.f90 for target gfs, ecmwf_mod.f90 for target ecmwf 37 !************************************************************************ 38 use wind_mod 35 39 36 40 implicit none … … 122 126 !********************************************* 123 127 128 ! nxmax,nymax,nuvzmax,nwzmax,nzmax: 129 ! Moved to ecmwf.f90 (for ECMWF) / gfs.f90 (GFS) 130 131 124 132 !integer,parameter :: nxmax=361,nymax=181,nuvzmax=92,nwzmax=92,nzmax=92 !FNL XF 125 integer,parameter :: nxmax=361,nymax=181,nuvzmax=152,nwzmax=152,nzmax=152 !ECMWF new133 !integer,parameter :: nxmax=361,nymax=181,nuvzmax=152,nwzmax=152,nzmax=152 !ECMWF new 126 134 !integer,parameter :: nxmax=361,nymax=181,nuvzmax=92,nwzmax=92,nzmax=92 !ECMWF 127 135 !integer,parameter :: nxmax=361,nymax=181,nuvzmax=26,nwzmax=26,nzmax=26 … … 129 137 !integer,parameter :: nxmax=1201,nymax=235,nuvzmax=58,nwzmax=58,nzmax=58 130 138 131 integer,parameter :: nxshift=359 ! for ECMWF139 ! integer,parameter :: nxshift=359 ! for ECMWF 132 140 !integer,parameter :: nxshift=0 ! for GFS or FNL 133 141 … … 135 143 integer,parameter :: na = nconvlevmax+1 136 144 137 145 ! moved to gfs_mod.f90 / ecmwf_mod.f90 146 ! 138 147 ! nxmax,nymax maximum dimension of wind fields in x and y 139 148 ! direction, respectively … … 146 155 ! grids, and output grids overlapping the domain "boundary" 147 156 ! nxshift must not be negative; "normal" setting would be 0 157 148 158 ! ntracermax maximum number of tracer species in convection 149 159 ! nconvlevmax maximum number of levels for convection … … 156 166 157 167 !integer,parameter :: maxnests=0, nxmaxn=0, nymaxn=0 158 integer,parameter :: maxnests= 1,nxmaxn=351,nymaxn=351 !ECMWF168 integer,parameter :: maxnests=0,nxmaxn=351,nymaxn=351 !ECMWF 159 169 160 170 !integer,parameter :: maxnests=1, nxmaxn=201, nymaxn=161 ! FNL XF … … 200 210 !************************************************** 201 211 202 integer,parameter :: maxpart= 50000000212 integer,parameter :: maxpart=60000000 203 213 ! integer,parameter :: maxpart=60000000 204 214 ! integer,parameter :: maxpart=120000000 205 integer,parameter :: maxspec= 1215 integer,parameter :: maxspec=6 206 216 207 217 ! maxpart Maximum number of particles … … 271 281 integer,parameter :: unitdates=94, unitheader=90,unitheader_txt=100, unitshortpart=95 272 282 integer,parameter :: unitboundcond=89 283 integer,parameter :: unittmp=101 273 284 274 285 !******************************************************
Note: See TracChangeset
for help on using the changeset viewer.