CTBTO FLEXPART WO4 (2015-10-15)
 All Classes Files Functions Variables
openreceptors.f90
Go to the documentation of this file.
1 !**********************************************************************
2 ! Copyright 1998,1999,2000,2001,2002,2005,2007,2008,2009,2010 *
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 
22 subroutine openreceptors
23 
24  !*****************************************************************************
25  ! *
26  ! This routine opens the receptor output files and writes out the receptor *
27  ! names and the receptor locations. The receptor output files are not *
28  ! closed, but kept open throughout the simulation. Concentrations are *
29  ! continuously dumped to these files. *
30  ! *
31  ! Author: A. Stohl *
32  ! *
33  ! 7 August 2002 *
34  ! *
35  !*****************************************************************************
36  ! *
37  ! Variables: *
38  ! numreceptor actual number of receptor points specified *
39  ! receptornames names of the receptor points *
40  ! xreceptor,yreceptor coordinates of the receptor points *
41  ! *
42  !*****************************************************************************
43 
44  use par_mod
45  use com_mod
46 
47  implicit none
48 
49  integer :: j
50 
51  ! Open output file for receptor points and write out a short header
52  ! containing receptor names and locations
53  !******************************************************************
54 
55  if (numreceptor.ge.1) then ! do it only if receptors are specified
56 
57  ! Concentration output
58  !*********************
59 
60  if ((iout.eq.1).or.(iout.eq.3).or.(iout.eq.5)) then
61  open(unitoutrecept,file=path(2)(1:length(2))//'receptor_conc', &
62  form='unformatted',err=997)
63  write(unitoutrecept) (receptorname(j),j=1,numreceptor)
64  write(unitoutrecept) (xreceptor(j)*dx+xlon0, &
65  yreceptor(j)*dy+ylat0,j=1,numreceptor)
66  endif
67 
68  ! Mixing ratio output
69  !********************
70 
71  if ((iout.eq.2).or.(iout.eq.3)) then
72  open(unitoutreceptppt,file=path(2)(1:length(2))//'receptor_pptv', &
73  form='unformatted',err=998)
74  write(unitoutreceptppt) (receptorname(j),j=1,numreceptor)
75  write(unitoutreceptppt) (xreceptor(j)*dx+xlon0, &
76  yreceptor(j)*dy+ylat0,j=1,numreceptor)
77  endif
78  endif
79 
80  return
81 
82 
83 997 write(*,*) ' #### FLEXPART MODEL ERROR! THE FILE #### '
84  write(*,*) ' #### receptor_conc #### '
85  write(*,*) ' #### CANNOT BE OPENED. #### '
86  stop
87 
88 998 write(*,*) ' #### FLEXPART MODEL ERROR! THE FILE #### '
89  write(*,*) ' #### receptor_pptv #### '
90  write(*,*) ' #### CANNOT BE OPENED. #### '
91  stop
92 
93 end subroutine openreceptors
subroutine openreceptors