-
Notifications
You must be signed in to change notification settings - Fork 0
/
openouttraj.f90
101 lines (90 loc) · 4.9 KB
/
openouttraj.f90
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
!***********************************************************************
!* Copyright 2012,2013 *
!* Jerome Brioude, Delia Arnold, Andreas Stohl, Wayne Angevine, *
!* John Burkhart, Massimo Cassiani, Adam Dingwell, Richard C Easter, Sabine Eckhardt,*
!* Stephanie Evan, Jerome D Fast, Don Morton, Ignacio Pisso, *
!* Petra Seibert, Gerard Wotawa, Caroline Forster, Harald Sodemann, *
!* *
!* This file is part of FLEXPART WRF *
!* *
!* FLEXPART is free software: you can redistribute it and/or modify *
!* it under the terms of the GNU General Public License as published by*
!* the Free Software Foundation, either version 3 of the License, or *
!* (at your option) any later version. *
!* *
!* FLEXPART is distributed in the hope that it will be useful, *
!* but WITHOUT ANY WARRANTY; without even the implied warranty of *
!* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
!* GNU General Public License for more details. *
!* *
!* You should have received a copy of the GNU General Public License *
!* along with FLEXPART. If not, see <http://www.gnu.org/licenses/>. *
!***********************************************************************
subroutine openouttraj
!*******************************************************************************
! *
! Note: This is the FLEXPART_WRF version of subroutine openouttraj. *
! *
! This routine opens the output file for the plume trajectory output *
! produced by the cluster analysis. *
! *
! Author: A. Stohl *
! 27 January 2001 *
! *
! Dec 2005, R. Easter - changed names of "*lon0*" & "*lat0*" variables *
! *
!*******************************************************************************
! *
! Variables: *
! *
!*******************************************************************************
use point_mod
use par_mod
use com_mod
! include 'includepar'
! include 'includecom'
integer i
real xp1,yp1,xp2,yp2
real xtmp, ytmp
! Open output file for trajectory output
!***************************************
open(unitouttraj,file=path(1)(1:length(1))//'trajectories.txt', &
form='formatted',err=998)
if (ldirect.eq.1) then
write(unitouttraj,'(i8,1x,i6,1x,a)') ibdate,ibtime,'FLEXWRF V3.0'
else
write(unitouttraj,'(i8,1x,i6,1x,a)') iedate,ietime,'FLEXWRF V3.0'
endif
write(unitouttraj,*) method,lsubgrid,lconvection
write(unitouttraj,*) numpoint
do i=1,numpoint
if (outgrid_option .eq. 0) then
xp1=xpoint1(i)*dx+xmet0
yp1=ypoint1(i)*dy+ymet0
xp2=xpoint2(i)*dx+xmet0
yp2=ypoint2(i)*dy+ymet0
endif
if (outgrid_option .eq. 1) then
xtmp = xpoint1(i)*dx+xmet0
ytmp = ypoint1(i)*dy+ymet0
call xymeter_to_ll_wrf( xtmp, ytmp, xp1, yp1 )
xtmp = xpoint2(i)*dx+xmet0
ytmp = ypoint2(i)*dy+ymet0
call xymeter_to_ll_wrf( xtmp, ytmp, xp2, yp2 )
endif
!jdf write(unitouttraj,*) ireleasestart(i),ireleaseend(i),
!jdf + xp1,yp1,xp2,yp2,zpoint1(i),zpoint2(i),kindz(i),npart(i)
!jdf write(unitouttraj,'(a)') compoint(i)(1:40)
write(unitouttraj,*) ireleasestart(i),ireleaseend(i), &
xp1,yp1,xp2,yp2,zpoint1(i),zpoint2(i),kindz(i),npart(i)
write(unitouttraj,'(a20)') compoint(i)(1:20)
enddo
101 format(2i5,4f11.5,2f11.3,2i5)
return
998 write(*,*) ' #### FLEXPART MODEL ERROR! THE FILE #### '
write(*,*) ' #### trajectories.txt #### '
write(*,*) ' #### CANNOT BE OPENED. IF A FILE WITH THIS #### '
write(*,*) ' #### NAME ALREADY EXISTS, DELETE IT AND START #### '
write(*,*) ' #### THE PROGRAM AGAIN. #### '
stop
end subroutine openouttraj