Changeset 77778f8 in flexpart.git
- Timestamp:
- Jun 13, 2018, 1:43:58 PM (6 years ago)
- Branches:
- univie
- Children:
- 1a8fbee
- Parents:
- 505a96e
- Location:
- src
- Files:
-
- 1 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
src/FLEXPART.f90
ra9cf4b1 r77778f8 86 86 ! FLEXPART version string 87 87 flexversion_major = '10' ! Major version number, also used for species file names 88 flexversion='Version '//trim(flexversion_major)//'. 2beta (2017-08-01)'88 flexversion='Version '//trim(flexversion_major)//'.3beta (2018-06-08)' 89 89 verbosity=0 90 90 -
src/makefile
ra9cf4b1 r77778f8 1 1 SHELL = /bin/bash 2 2 ################################################################################ 3 # 4 # LICENSE 5 # Valid-License-Identifier: GPL-3.0-or-later 6 # License text: https://spdx.org/licenses/GPL-3.0-or-later.html#licenseText 7 # 3 8 # DESCRIPTION 4 9 # Makefile for FLEXPART. Standard (serial) and parallel (MPI) version … … 7 12 # possible ("make -j") 8 13 # 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. 14 # 15 # The makefile is prepared for the environment at NILU. 16 # There, gcc-4.9.1 and libraries are installed under user /homevip/flexpart 17 # NILU users can compile with gfortran version 4.9 by addin "gcc=4.9" to the make command, e.g. 12 18 # 'make -j ecmwf gcc=4.9', 13 # also set environment variable LD_LIBRARY_PATH to point to compiler libraries 19 # You also set environment variable LD_LIBRARY_PATH to point to compiler libraries 20 # 21 # Other users will have to edit the 14 22 # 15 23 # Makefile was modified to produce unified executable for both ECMWF and GFS meteo data formats … … 23 31 # USAGE 24 32 # Compile serial FLEXPART 25 # make [-j] serial33 # make [-j] [serial] [ncf=yes} 26 34 # 27 35 # Compile parallel FLEXPART 28 # make [-j] mpi 36 # make [-j] mpi [ncf=yes} 29 37 # 30 38 # Compile for debugging parallel FLEXPART 31 # make [-j] mpi-dbg 32 # 33 # NETCDF OUTPUT 34 # To add support for output in netCDF format, append `ncf=yes` to the 35 # `make` command 39 # make [-j] mpi-dbg [ncf=yes} 40 # 41 # ncf=yes adds support for output in netCDF format. Requires netCDF libs to be installed. 42 # 43 # AUTHORS 44 # NILU people, Petra Seibert (PS), 2018 45 # 46 # VERSION and CHANGES 47 # v1.0 as found in git branch dev on flexpart.eu, 2018-06-08 48 # v1.1 PS, make the file more useful for non-NILU users 36 49 # 37 50 ################################################################################ … … 50 63 FLEXPART-SERIAL = FLEXPART 51 64 52 53 ifeq ($(gcc), 4.9) 54 # Compiled libraries under user ~flexpart, gfortran v4.9 65 ifneq ($(gcc), 4.9) 66 # make sure that all paths correspond to your system 67 F90 = gfortran 68 MPIF90 = mpifort 69 70 INCPATH1 = /usr/include 71 INCPATH2 = /usr/include 72 LIBPATH1 = /usr/lib 73 else 74 # NILU: Compiled libraries under user ~flexpart, gfortran v4.9 75 ROOT_DIR = /homevip/flexpart/ 55 76 ROOT_DIR = /homevip/flexpart/ 56 77 … … 61 82 INCPATH2 = ${ROOT_DIR}/include 62 83 LIBPATH1 = ${ROOT_DIR}/lib 63 else64 # Compiled libraries under user ~flexpart, gfortran v5.465 ROOT_DIR = /homevip/flexpart/66 67 F90 = /usr/bin/gfortran68 MPIF90 = /usr/bin/mpifort69 70 INCPATH1 = ${ROOT_DIR}/gcc-5.4.0/include71 INCPATH2 = /usr/include72 LIBPATH1 = ${ROOT_DIR}/gcc-5.4.0/lib73 84 endif 74 85 … … 83 94 84 95 85 # path to gributils used to detect meteodata format96 #add path to gributils to default searchpath of make 86 97 VPATH = gributils/ 87 98 … … 92 103 93 104 ## LIBRARIES 94 #LIBS = -lgrib_api_f90 -lgrib_api -lm -ljasper -lnetcdff95 105 LIBS = -lgrib_api_f90 -lgrib_api -lm -ljasper $(NCOPT) 96 106 97 FFLAGS = -I$(INCPATH1) -I$(INCPATH2) -O$(O_LEV) -g -cpp -m64 -mcmodel=medium -fconvert=little-endian -frecord-marker=4 -fmessage-length=0 -flto=jobserver -O$(O_LEV) $(NCOPT) $(FUSER) #-Warray-bounds -fcheck=all # -march=native 98 99 DBGFLAGS = -I$(INCPATH1) -I$(INCPATH2) -O$(O_LEV_DBG) -g3 -ggdb3 -cpp -m64 -mcmodel=medium -fconvert=little-endian -frecord-marker=4 -fmessage-length=0 -flto=jobserver -O$(O_LEV_DBG) $(NCOPT) -fbacktrace -Wall -fdump-core $(FUSER) # -ffpe-trap=invalid,overflow,denormal,underflow,zero -Warray-bounds -fcheck=all 107 #FFLAGS = -I$(INCPATH1) -I$(INCPATH2) -O$(O_LEV) -cpp -m64 -mcmodel=medium -fconvert=little-endian -frecord-marker=4 -fmessage-length=0 -flto=jobserver -O$(O_LEV) $(NCOPT) $(FUSER) #-Warray-bounds -fcheck=all # -march=native 108 FFLAGS = -I$(INCPATH1) -I$(INCPATH2) -O$(O_LEV) -cpp -mcmodel=medium -fconvert=little-endian -frecord-marker=4 -fmessage-length=0 -flto=jobserver -O$(O_LEV) $(NCOPT) $(FUSER) # -fcheck=all -fbacktrace -march=native 109 110 # Explanation of unusual gfortran options 111 # -fmessage-length=0: do not wrap around compiler messages at col 72 112 # -flto=jobserver: use GNU make's job server mode to determine the number of parallel jobs. This is useful when the Makefile calling GCC is already executing in parallel. (+ in front of $(FC) further down also needed for parallel compiling). 113 114 DBGFLAGS = -I$(INCPATH1) -I$(INCPATH2) -O$(O_LEV_DBG) -g3 -ggdb3 -cpp -m64 -mcmodel=medium -fconvert=little-endian -frecord-marker=4 -fmessage-length=0 -flto=jobserver -O$(O_LEV_DBG) $(NCOPT) -fbacktrace -Wall -fdump-core $(FUSER) # -ffpe-trap=invalid,overflow,denormal,underflow,zero -fcheck=all 100 115 101 116 LDFLAGS = $(FFLAGS) -L$(LIBPATH1) -Wl,-rpath,$(LIBPATH1) $(LIBS) #-L$(LIBPATH2) -
src/readcommand.f90
r20963b1 r77778f8 29 29 ! * 30 30 ! 18 May 1996 * 31 ! HSO, 1 July 2014 * 32 ! Added optional namelist input * 31 ! Unknown, unknown: various * 32 ! HSO, 1 July 2014: Added optional namelist input * 33 ! Unknown, unknown: various * 34 ! Petra Seibert, 2018-06-08: improve error msgs * 33 35 ! * 34 36 !***************************************************************************** … … 153 155 ! Namelist input first: try to read as namelist file 154 156 !************************************************************************** 155 open(unitcommand,file=path(1)(1:length(1))//'COMMAND',status='old',form='formatted',err=999) 157 open(unitcommand,file=path(1)(1:length(1))//'COMMAND',status='old', & 158 form='formatted',err=999) 156 159 157 160 ! try namelist input (default) … … 248 251 ! write command file in namelist format to output directory if requested 249 252 if (nmlout.and.lroot) then 250 open(unitcommand,file=path(2)(1:length(2))//'COMMAND.namelist',err= 1000)253 open(unitcommand,file=path(2)(1:length(2))//'COMMAND.namelist',err=998) 251 254 write(unitcommand,nml=command) 252 255 close(unitcommand) … … 635 638 ideltas=nint((edate-bdate)*86400.) 636 639 else 637 write(*,*) ' #### FLEXPART MODEL ERROR! DIRECTION IN ####'638 write(*,*) ' #### FILE "COMMAND" MUST BE EITHER -1 OR 1. ####'640 write(*,*) ' #### FLEXPART MODEL ERROR! DIRECTION IN' 641 write(*,*) ' #### FILE "COMMAND" MUST BE EITHER -1 OR 1.' 639 642 stop 640 643 endif … … 642 645 return 643 646 644 999 write(*,*) ' #### FLEXPART MODEL ERROR! FILE "COMMAND" #### ' 645 write(*,*) ' #### CANNOT BE OPENED IN THE DIRECTORY #### ' 646 write(*,'(a)') path(1)(1:length(1)) 647 stop 648 649 1000 write(*,*) ' #### FLEXPART MODEL ERROR! FILE "COMMAND" #### ' 650 write(*,*) ' #### CANNOT BE OPENED IN THE DIRECTORY #### ' 651 write(*,'(a)') path(2)(1:length(2)) 652 stop 647 998 write(*,900) ' #### FLEXPART MODEL ERROR! FILE "COMMAND.namelist"' 648 write(*,900) ' #### CANNOT WRITE TO '// & 649 path(2)(1:length(2))//'COMMAND.namelist' 650 stop 'stopped in readcommand' 651 999 write(*,900) ' #### FLEXPART MODEL ERROR! FILE "COMMAND"' 652 write(*,900) ' #### CANNOT OPEN '//path(1)(1:length(1))//'COMMAND' 653 stop 'stopped in readcommand' 654 900 format (a) 653 655 end subroutine readcommand
Note: See TracChangeset
for help on using the changeset viewer.