- Timestamp:
- May 13, 2015, 1:42:50 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:
- 598e9da
- Parents:
- fb0d416
- Location:
- src
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
src/FLEXPART.f90
r8a65cb0 r5f42c27 69 69 70 70 ! FLEXPART version string 71 flexversion='Version 10.0 pre (2015-03-01)'71 flexversion='Version 10.0beta (2015-05-01)' 72 72 verbosity=0 73 73 -
src/FLEXPART_MPI.f90
rfb0d416 r5f42c27 77 77 78 78 ! FLEXPART version string 79 flexversion='Ver. 10 .0pre MPI (2015-03-01)'79 flexversion='Ver. 10 Beta MPI (2015-05-01)' 80 80 verbosity=0 81 81 … … 337 337 338 338 if (mp_measure_time) call mpif_mtime('iotime',0) 339 ! :DEV: was a bug here (all processes writing)?340 339 if (lroot) then ! MPI: this part root process only 341 340 -
src/com_mod.f90
rf9ce123 r5f42c27 26 26 integer :: length(numpath+2*maxnests) 27 27 character(len=256) :: pathfile, flexversion, arg1, arg2 28 character(len=256) :: ohfields_path 28 29 29 30 ! path path names needed for trajectory model … … 32 33 ! flexversion version of flexpart 33 34 ! arg input arguments from launch at command line 35 ! ohfields_path path to binary files for OH fields 34 36 35 37 !******************************************************** -
src/makefile
rfb0d416 r5f42c27 36 36 37 37 ## COMPILERS 38 #F90 = /usr/bin/gfortran39 F90 = ${HOME}/gcc-4.9.1/bin/gfortran38 F90 = /usr/bin/gfortran 39 #F90 = ${HOME}/gcc-4.9.1/bin/gfortran 40 40 #MPIF90 = ${HOME}/opt/bin/mpifort 41 41 #MPIF90 = mpif90.mpich 42 #MPIF90 = mpif90.openmpi43 MPIF90 = mpifort42 MPIF90 = mpif90.openmpi 43 #MPIF90 = mpifort 44 44 45 45 ## OPTIMIZATION LEVEL … … 51 51 52 52 ## 1) System libraries at NILU 53 #INCPATH1 = /usr/include54 # 55 #LIBPATH1 = /xnilu_wrk/flex_wrk/bin64/grib_api/lib56 # 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 57 58 58 ## 2) Home-made libraries 59 INCPATH1 = ${HOME}/include59 # INCPATH1 = ${HOME}/include 60 60 INCPATH2 = /homevip/flexpart/include/ 61 61 LIBPATH2 = /homevip/flexpart/lib/ 62 LIBPATH1 = ${HOME}/lib 63 #LIBPATH2 = ${HOME}/lib 62 # LIBPATH1 = ${HOME}/lib 64 63 65 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 … … 191 190 %.o: %.mod 192 191 192 ecmwf: $(FLEXPART-ECMWF) 193 ecmwf: FC := $(F90) 194 193 195 ecmwf-mpi: $(FLEXPART-ECMWF-MPI) 194 196 ecmwf-mpi: FC := $(MPIF90) … … 199 201 ecmwf-mpi-dbg: FC := $(MPIF90) 200 202 201 ecmwf: $(FLEXPART-ECMWF)202 ecmwf: FC := $(F90)203 204 203 gfs: $(FLEXPART-GFS) 205 204 gfs: FC := $(F90) … … 210 209 #all: $(FLEXPART-ECMWF-MPI) 211 210 211 $(FLEXPART-ECMWF): $(MODOBJS) $(OBJECTS) $(OBJECTS_SERIAL) $(OBJECTS_ECMWF) 212 +$(FC) -o $@ $(MODOBJS) $(OBJECTS) $(OBJECTS_SERIAL) $(OBJECTS_ECMWF) $(LDFLAGS) 213 212 214 $(FLEXPART-ECMWF-MPI): $(MODOBJS) $(MPI_MODOBJS) $(OBJECTS) $(OBJECTS_MPI) $(OBJECTS_ECMWF_MPI) 213 215 +$(FC) -o $@ $(MODOBJS) $(MPI_MODOBJS) $(OBJECTS) $(OBJECTS_MPI) \ … … 219 221 +$(FC) -o $@ $(MODOBJS) $(MPI_MODOBJS) $(OBJECTS) $(OBJECTS_MPI) \ 220 222 $(OBJECTS_ECMWF_MPI) $(LDFLAGS) 221 222 $(FLEXPART-ECMWF): $(MODOBJS) $(OBJECTS) $(OBJECTS_SERIAL) $(OBJECTS_ECMWF)223 +$(FC) -o $@ $(MODOBJS) $(OBJECTS) $(OBJECTS_SERIAL) $(OBJECTS_ECMWF) $(LDFLAGS)224 223 225 224 $(FLEXPART-GFS): $(MODOBJS) $(OBJECTS) $(OBJECTS_SERIAL) $(OBJECTS_GFS) -
src/mpi_mod.f90
rfb0d416 r5f42c27 117 117 logical, parameter :: mp_dbg_out = .false. 118 118 logical, parameter :: mp_time_barrier=.true. 119 logical, parameter :: mp_measure_time=. true.119 logical, parameter :: mp_measure_time=.false. 120 120 121 121 ! for measuring CPU/Wall time … … 139 139 real(dp) :: mp_conccalc_time_beg, mp_conccalc_time_end, mp_conccalc_time_total=0. 140 140 real(dp) :: mp_total_wtime_beg, mp_total_wtime_end, mp_total_wtime_total=0. 141 real(dp) :: mp_vt_wtime_beg, mp_vt_wtime_end, mp_vt_wtime_total 142 real(sp) :: mp_vt_time_beg, mp_vt_time_end, mp_vt_time_total 141 143 142 144 ! dat_lun logical unit number for i/o … … 418 420 419 421 420 421 422 ! redefine numpart as 'numpart per process' throughout the code 422 423 !************************************************************** … … 438 439 439 440 integer :: i 440 441 442 !***********************************************************************443 444 441 445 442 ! Time for MPI communications … … 1734 1731 end if 1735 1732 1736 1737 1733 if ((WETDEP).and.(ldirect.gt.0)) then 1738 1734 call MPI_Reduce(wetgriduncn, wetgriduncn0, grid_size2d, mp_pp, MPI_SUM, id_root, & … … 1852 1848 mp_io_time_total = mp_io_time_total + (mp_io_time_end - & 1853 1849 & mp_io_time_beg) 1850 end if 1851 1852 case ('verttransform') 1853 if (imode.eq.0) then 1854 mp_vt_wtime_beg = mpi_wtime() 1855 call cpu_time(mp_vt_time_beg) 1856 else 1857 mp_vt_wtime_end = mpi_wtime() 1858 call cpu_time(mp_vt_time_end) 1859 1860 mp_vt_wtime_total = mp_vt_wtime_total + (mp_vt_wtime_end - & 1861 & mp_vt_wtime_beg) 1862 mp_vt_time_total = mp_vt_time_total + (mp_vt_time_end - & 1863 & mp_vt_time_beg) 1854 1864 end if 1855 1865 … … 1956 1966 write(*,FMT='(A60,TR1,F9.2)') 'TOTAL WALL TIME FOR CONCCALC:',& 1957 1967 & mp_conccalc_time_total 1968 ! write(*,FMT='(A60,TR1,F9.2)') 'TOTAL WALL TIME FOR VERTTRANSFORM:',& 1969 ! & mp_vt_wtime_total 1970 ! write(*,FMT='(A60,TR1,F9.2)') 'TOTAL CPU TIME FOR VERTTRANSFORM:',& 1971 ! & mp_vt_time_total 1958 1972 ! NB: the 'flush' function is possibly a gfortran-specific extension 1959 1973 call flush() … … 2021 2035 subroutine write_data_dbg(array_in, array_name, tstep, ident) 2022 2036 !*********************************************************************** 2023 ! Write one-dimensional arrays to disk(for debugging purposes)2037 ! Write one-dimensional arrays to file (for debugging purposes) 2024 2038 !*********************************************************************** 2025 2039 implicit none -
src/readOHfield.f90
rfb0d416 r5f42c27 68 68 ! open netcdf file 69 69 write(mm,fmt='(i2.2)') m 70 thefile=trim(path(1))//'OH_FIELDS/'//'geos-chem.OH.2005'//mm//'01.nc' 70 ! thefile=trim(path(1))//'OH_FIELDS/'//'geos-chem.OH.2005'//mm//'01.nc' 71 thefile=trim(ohfields_path)//'OH_FIELDS/'//'geos-chem.OH.2005'//mm//'01.nc' 71 72 ierr=nf_open(trim(thefile),NF_NOWRITE,nid) 72 73 if(ierr.ne.0) then … … 162 163 163 164 ! open netcdf file 164 thefile=trim(path(1))//'OH_FIELDS/jrate_average.nc' 165 ! thefile=trim(path(1))//'OH_FIELDS/jrate_average.nc' 166 thefile=trim(ohfields_path)//'OH_FIELDS/jrate_average.nc' 165 167 ierr=nf_open(trim(thefile),NF_NOWRITE,nid) 166 168 if(ierr.ne.0) then -
src/readcommand.f90
r8a65cb0 r5f42c27 111 111 lnetcdfout, & 112 112 surf_only, & 113 cblflag 113 cblflag, & 114 ohfields_path 114 115 115 116 ! Presetting namelist command … … 143 144 surf_only=0 144 145 cblflag=0 146 ohfields_path="../../flexin/" 145 147 146 148 ! Open the command file and read user options … … 232 234 if (old) call skplin(3,unitcommand) !added by mc 233 235 read(unitcommand,*) cblflag !added by mc 236 234 237 close(unitcommand) 235 238 -
src/readreleases.f90
r5f9d14a r5f42c27 385 385 if (ohcconst(i).gt.0.) then 386 386 OHREA=.true. 387 write (*,*) 'OHreaction switched on: ',ohcconst(i),i387 if (lroot) write (*,*) 'OHreaction switched on: ',ohcconst(i),i 388 388 endif 389 389 -
src/timemanager.f90
r8a65cb0 r5f42c27 657 657 if (linit_cond.ge.1) call initial_cond_output(itime) ! dump initial cond. field 658 658 659 close(104)659 !close(104) 660 660 661 661 ! De-allocate memory and end
Note: See TracChangeset
for help on using the changeset viewer.