Subversion Repositories lagranto.icon

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
3 michaesp 1
 
2
      SUBROUTINE special_wcb (flag,cmd,tra,ntim,ncol,
3
     >                        vars,times,param,nparam,outfile)
4
 
5
c     ***************************************************************************
6
c     *                                                                         *
7
c     * OUTPUT:  flag           -> 1 if trajectory is selected, 0 if not        *
8
c     *                                                                         *
9
c     * INPUT:   cmd            <- command string                               *
10
c     *          tra(ntim,ncol) <- single trajectory: indices time,column       *
11
c     *          ntim           <- number of times                              *
12
c     *          ncol           <- number of columns (including time,lon,lat,p) *
13
c     *          vars(ncol)     <- names of columns                             *
14
c     *          times(ntim)    <- List of times
15
c     *          param(nparam)  <- parameter values                             *
16
c     *          nparam         <- number of parameters                         *
17
c     *                                                                         *
18
c     ***************************************************************************
19
 
20
      implicit none
21
 
22
c     ---------------------------------------------------------------------------
23
c     Declaration of subroutine parameters
24
c     ---------------------------------------------------------------------------
25
 
26
      integer       flag           ! Boolean flag whether trajectory is selected
27
      character*80  cmd            ! Command string
28
      integer       ntim,ncol      ! Dimension of single trajectory
29
      real          tra(ntim,ncol) ! Single trajectory
30
      character*80  vars(ncol)     ! Name of columns
31
      real          times(ntim)    ! List of times
32
      integer       nparam         ! # parameters
33
      real          param(nparam)  ! List of parameters
34
      character*80  outfile        ! name of output file
35
 
36
c     ---------------------------------------------------------------------------
37
c     Declaration of local variables
38
c     ---------------------------------------------------------------------------
39
 
40
      integer       i
41
      integer       ip,i0,i1
42
 
43
c     --------------------------------------------------------------------------  %)
44
c     SPECIAL:WCB:ascent,first,last                                               %)
45
c         : Detect Warm Conveyor Belts (WCB); the air stream must ascend at least %)
46
c         : <ascent=param(1)> m between the two times <first=param(2)> and        %)
47
c         : <last=param(3)>. Note, the highest height is allowed to occur at any  %)
48
c         : time between <first> and <last>.                                      %)
49
c     --------------------------------------------------------------------------- %)
50
 
51
      if ( cmd.eq.'WCB' ) then
52
 
53
c        Reset the flag for selection
54
         flag = 0
55
 
56
c        Pressure is in the 4th column
57
         ip = 4
58
 
59
c        Get times
60
         i0 = 0
61
         i1 = 0
62
         do i=1,ntim
63
            if ( param(2).eq.times(i) ) i0 = i
64
            if ( param(3).eq.times(i) ) i1 = i
65
         enddo
66
         if ( (i0.eq.0).or.(i1.eq.0) ) then
67
            print*,' ERROR: invalid times in SPECIAL:WCB... Stop'
68
            stop
69
         endif
70
 
71
c        Check for ascent 
72
         do i=i0+1,i1
73
            if ( ( tra(i,ip)-tra(i0,ip) ) .gt. param(1) ) flag = 1
74
         enddo
75
 
76
      endif
77
 
78
c     ---------------------------------------------------------------------------
79
 
80
 
81
      end