source: branches/petra/src/readpaths.f90 @ 36

Last change on this file since 36 was 36, checked in by pesei, 7 years ago

Implement switch for incremental deposition, see ticket:113 and many small changes, see changelog.txt

  • Property svn:executable set to *
File size: 4.8 KB
Line 
1!**********************************************************************
2! Copyright 1998-2015                                                 *
3! Andreas Stohl, Petra Seibert, A. Frank, Gerhard Wotawa,             *
4! Caroline Forster, Sabine Eckhardt, John Burkhart, Harald Sodemann   *
5!                                                                     *
6! This file is part of FLEXPART.                                      *
7!                                                                     *
8! FLEXPART is free software: you can redistribute it and/or modify    *
9! it under the terms of the GNU General Public License as published by*
10! the Free Software Foundation, either version 3 of the License, or   *
11! (at your option) any later version.                                 *
12!                                                                     *
13! FLEXPART is distributed in the hope that it will be useful,         *
14! but WITHOUT ANY WARRANTY; without even the implied warranty of      *
15! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the       *
16! GNU General Public License for more details.                        *
17!                                                                     *
18! You should have received a copy of the GNU General Public License   *
19! along with FLEXPART.  If not, see <http://www.gnu.org/licenses/>.   *
20!**********************************************************************
21
22subroutine readpaths
23
24  !*****************************************************************************
25  !                                                                            *
26  !     Reads the pathnames, where input/output files are expected to be.      *
27  !     The file pathnames must be available in the current working directory. *
28  !                                                                            *
29  !     Author: A. Stohl                                                       *
30  !                                                                            *
31  !     1 February 1994
32  !                                                                            *
33  !     HS, 7.9.2012: option to give pathnames file as command line option     *
34  !                                                                            *
35  !*****************************************************************************
36  !                                                                            *
37  ! Variables:                                                                 *
38  ! length(numpath)    lengths of the path names                               *
39  ! path(numpath)      pathnames of input/output files                         *
40  !                                                                            *
41  ! Constants:                                                                 *
42  ! numpath            number of pathnames to be read in                       *
43  !                                                                            *
44  !*****************************************************************************
45
46  use par_mod
47  use com_mod
48
49  implicit none
50
51  integer   :: i
52  character(256) :: string_test
53  character(1) :: character_test
54
55  ! Read the pathname information stored in unitpath
56  !*************************************************
57
58  open(unitpath,file=trim(pathfile),status='old',err=999)
59
60  do i=1,numpath
61    read(unitpath,'(a)',err=998) path(i)
62    length(i)=index(path(i),' ')-1
63
64   
65    string_test = path(i)
66    character_test = string_test(length(i):length(i))
67    !print*, 'character_test,  string_test ', character_test,  string_test
68      if ((character_test .NE. '/') .AND. (i .LT. 4))  then
69         print*, 'WARNING: path not ending in /'
70         print*, path(i)
71         path(i) = string_test(1:length(i)) // '/'
72         length(i)=length(i)+1
73         print*, 'fix: padded with /'
74         print*, path(i)
75         print*, 'length(i) increased 1'
76      endif
77  end do
78
79  ! Check whether any nested subdomains are to be used
80  !***************************************************
81
82  do i=1,maxnests
83    read(unitpath,'(a)') path(numpath+2*(i-1)+1)
84    read(unitpath,'(a)') path(numpath+2*(i-1)+2)
85    if (path(numpath+2*(i-1)+1)(1:5).eq.'=====') goto 30
86    length(numpath+2*(i-1)+1)=index(path(numpath+2*(i-1)+1),' ')-1
87    length(numpath+2*(i-1)+2)=index(path(numpath+2*(i-1)+2),' ')-1
88  end do
89
90
91  ! Determine number of available nested domains
92  !*********************************************
93
9430   numbnests=i-1
95
96  close(unitpath)
97  return
98
99998   write(*,*) ' #### TRAJECTORY MODEL ERROR! ERROR WHILE     #### '
100  write(*,*) ' #### READING FILE PATHNAMES.                 #### '
101  stop
102
103999   write(*,*) ' #### TRAJECTORY MODEL ERROR! FILE "pathnames"#### '
104  write(*,*) ' #### CANNOT BE OPENED IN THE CURRENT WORKING #### '
105  write(*,*) ' #### DIRECTORY.                              #### '
106  stop
107
108end subroutine readpaths
Note: See TracBrowser for help on using the repository browser.
hosted by ZAMG