Subversion Repositories lagranto.ecmwf

Rev

Rev 9 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 9 Rev 15
Line 518... Line 518...
518
         write(*,'(i5,f15.4,10x,a10)') i,out(i),trim(var)
518
         write(*,'(i5,f15.4,10x,a10)') i,out(i),trim(var)
519
 
519
 
520
c        Get variable mode
520
c        Get variable mode
521
         i=i+1
521
         i=i+1
522
         imode=nint(out(i))
522
         imode=nint(out(i))
523
         if (imode.eq.1) mode='VALUE'
523
         if (imode.eq.1 ) mode='VALUE'
524
         if (imode.eq.2) mode='MEAN'         
524
         if (imode.eq.2 ) mode='MEAN'
525
         if (imode.eq.3) mode='MAX'
525
         if (imode.eq.3 ) mode='MAX'
526
         if (imode.eq.4) mode='MIN'
526
         if (imode.eq.4 ) mode='MIN'
527
         if (imode.eq.5) mode='VAR'
527
         if (imode.eq.5 ) mode='VAR'
528
         if (imode.eq.6) mode='SUM'
528
         if (imode.eq.6 ) mode='SUM'
529
         if (imode.eq.7) mode='CHANGE'
529
         if (imode.eq.7 ) mode='CHANGE'
530
         if (imode.eq.8) mode='DIFF'
530
         if (imode.eq.8 ) mode='DIFF'
531
         if (imode.eq.9) mode='RANGE'
531
         if (imode.eq.9 ) mode='RANGE'
-
 
532
         if (imode.eq.10) mode='ABS'
532
         write(*,'(i5,f15.4,10x,a10)') i,out(i),trim(mode)
533
         write(*,'(i5,f15.4,10x,a10)') i,out(i),trim(mode)
533
 
534
 
534
c        Get values
535
c        Get values
535
         i=i+1
536
         i=i+1
536
         nval=nint(out(i))
537
         nval=nint(out(i))
Line 628... Line 629...
628
c        EQ       5     VAR      5
629
c        EQ       5     VAR      5
629
c        BEGIN   -1     SUM      6
630
c        BEGIN   -1     SUM      6
630
c        END     -2     CHANGE   7 
631
c        END     -2     CHANGE   7 
631
c        AND     -3     DIFF     8
632
c        AND     -3     DIFF     8
632
c        OR      -4     RANGE    9
633
c        OR      -4     RANGE    9
633
c        TRUE     6
634
c        TRUE     6     ABS     10
634
c        FALSE    7
635
c        FALSE    7
635
c        SPECIAL  0
636
c        SPECIAL  0
636
c        ALL      8 (TRIGGER)
637
c        ALL      8 (TRIGGER)
637
c        ANY      9 (TRIGGER)
638
c        ANY      9 (TRIGGER)
638
c        NONE    10 (TRIGGER)
639
c        NONE    10 (TRIGGER)
Line 945... Line 946...
945
        if (mode.eq.'VAR'    ) ok=5
946
        if (mode.eq.'VAR'    ) ok=5
946
        if (mode.eq.'SUM'    ) ok=6
947
        if (mode.eq.'SUM'    ) ok=6
947
        if (mode.eq.'CHANGE' ) ok=7
948
        if (mode.eq.'CHANGE' ) ok=7
948
        if (mode.eq.'DIFF'   ) ok=8
949
        if (mode.eq.'DIFF'   ) ok=8
949
        if (mode.eq.'RANGE'  ) ok=9
950
        if (mode.eq.'RANGE'  ) ok=9
-
 
951
        if (mode.eq.'ABS'    ) ok=10
950
        if (ok.eq.0) goto 400
952
        if (ok.eq.0) goto 400
951
        n=n+1
953
        n=n+1
952
        out(n)=real(ok)
954
        out(n)=real(ok)
953
 
955
 
954
c       Write the parameter values: INPOLYGON 
956
c       Write the parameter values: INPOLYGON 
Line 1504... Line 1506...
1504
               if (var(j).gt.varmax) varmax=var(j)
1506
               if (var(j).gt.varmax) varmax=var(j)
1505
               if (var(j).lt.varmin) varmin=var(j)
1507
               if (var(j).lt.varmin) varmin=var(j)
1506
            enddo
1508
            enddo
1507
            var(1) = varmax - varmin
1509
            var(1) = varmax - varmin
1508
            nsel=1
1510
            nsel=1
-
 
1511
 
-
 
1512
c        Take the absolute value of the variable
-
 
1513
         elseif (imode.eq.10) then
-
 
1514
            do j=1,nsel
-
 
1515
               var(j)=abs( var(j) )
-
 
1516
            enddo
1509
         endif
1517
         endif
1510
 
1518
 
1511
c        --- Apply the operators to the single values ---
1519
c        --- Apply the operators to the single values ---
1512
 
1520
 
1513
         do j=1,nsel
1521
         do j=1,nsel