*IF DEF,A05_2A,OR,DEF,A05_2C,OR,DEF,A05_3B,OR,DEF,A05_3C                   AJX1F405.121    
C ******************************COPYRIGHT******************************    GTS2F400.1135   
C (c) CROWN COPYRIGHT 1995, METEOROLOGICAL OFFICE, All Rights Reserved.    GTS2F400.1136   
C                                                                          GTS2F400.1137   
C Use, duplication or disclosure of this code is subject to the            GTS2F400.1138   
C restrictions as set forth in the contract.                               GTS2F400.1139   
C                                                                          GTS2F400.1140   
C                Meteorological Office                                     GTS2F400.1141   
C                London Road                                               GTS2F400.1142   
C                BRACKNELL                                                 GTS2F400.1143   
C                Berkshire UK                                              GTS2F400.1144   
C                RG12 2SZ                                                  GTS2F400.1145   
C                                                                          GTS2F400.1146   
C If no contract has been raised with this copy of the code, the use,      GTS2F400.1147   
C duplication or disclosure of it is strictly prohibited.  Permission      GTS2F400.1148   
C to do so must first be obtained in writing from the Head of Numerical    GTS2F400.1149   
C Modelling at the above address.                                          GTS2F400.1150   
C ******************************COPYRIGHT******************************    GTS2F400.1151   
C                                                                          GTS2F400.1152   
C*LL  SUBROUTINE CON_SCAV-----------------------------------------------   CONSC1A.3      
CLL                                                                        CONSC1A.4      
CLL  Purpose: Scavenge aerosol by convective precipitation.                CONSC1A.5      
CLL                                                                        CONSC1A.6      
CLL  Model            Modification history from model version 3.0:         CONSC1A.7      
CLL version  Date                                                          CONSC1A.8      
CLL  3.4  15/08/94  New routine. Pete Clark.                               CONSC1A.9      
CLL  4.5  01/05/98  Restrict murk aerosol calculations to aerosol          APC0F405.765    
CLL                 levels=boundary levels. P.Clark                        APC0F405.766    
CLL                                                                        CONSC1A.10     
CLL  Programming standard: Unified Model Documentation Paper No 3,         CONSC1A.11     
CLL                        Version 7, dated 11/3/93.                       CONSC1A.12     
CLL                                                                        CONSC1A.13     
CLL  Logical component covered: Part of P26.                               CONSC1A.14     
CLL                                                                        CONSC1A.15     
CLL  System task:                                                          CONSC1A.16     
CLL                                                                        CONSC1A.17     
CLL  Documentation: In preparation                                         CONSC1A.18     
C*                                                                         CONSC1A.19     
C*L  Arguments:---------------------------------------------------------   CONSC1A.20     

      SUBROUTINE CON_SCAV(                                                  1CONSC1A.21     
     & TIMESTEP,POINTS,NPTS,LEVELS,                                        CONSC1A.22     
     & CBLEVEL,CTLEVEL,                                                    CONSC1A.23     
     & RAIN,SNOW,AEROSOL                                                   CONSC1A.24     
     &)                                                                    CONSC1A.25     
      IMPLICIT NONE                                                        CONSC1A.26     
      INTEGER         ! Input integer scalar :-                            CONSC1A.27     
     & POINTS         ! IN Number of points in vector.                     CONSC1A.28     
     &,NPTS           ! IN Number of points to be processed.               CONSC1A.29     
     &,LEVELS         ! IN Number of levels.                               CONSC1A.30     
     &,CBLEVEL(POINTS)! IN Convective cloud base level.                    CONSC1A.31     
     &,CTLEVEL(POINTS)! IN Convective cloud top level.                     CONSC1A.32     
      REAL            ! Input real scalar :-                               CONSC1A.33     
     & TIMESTEP       ! IN Timestep (s).                                   CONSC1A.34     
      REAL            ! Input real arrays :-                               CONSC1A.35     
     & RAIN(POINTS)   ! IN Rate of rainfall in this layer from             CONSC1A.36     
C                     !       above                                        CONSC1A.37     
C*                    !       (kg per sq m per s).                         CONSC1A.38     
     &,SNOW(POINTS)   ! IN Rate of snowfall in this layer from             CONSC1A.39     
C                     !       above                                        CONSC1A.40     
C*                    !       (kg per sq m per s).                         CONSC1A.41     
      REAL            ! Updated real arrays :-                             CONSC1A.42     
     & AEROSOL(POINTS,LEVELS) ! INOUT Aerosol mixing ratio                 CONSC1A.43     
C*L   External subprogram called :-                                        CONSC1A.44     
C     EXTERNAL None                                                        CONSC1A.45     
C-----------------------------------------------------------------------   CONSC1A.46     
C  Define local scalars.                                                   CONSC1A.47     
C-----------------------------------------------------------------------   CONSC1A.48     
C  (a) Reals effectively expanded to workspace by the Cray (using          CONSC1A.49     
C      vector registers).                                                  CONSC1A.50     
      REAL            ! Real workspace.                                    CONSC1A.51     
     & KRAIN,KSNOW                                                         CONSC1A.52     
      PARAMETER(KRAIN=1.0E-4,KSNOW=1.0E-4)                                 CONSC1A.53     
      REAL            ! Real workspace.                                    CONSC1A.54     
     & RRAIN,RSNOW                                                         CONSC1A.55     
C  (b) Others.                                                             CONSC1A.56     
      INTEGER I,J     ! Loop counter (horizontal field index).             CONSC1A.57     
C                                                                          CONSC1A.58     
C Overall rate = KRAIN*(R) where R is in mm/hr=kg/m2/s*3600.0              CONSC1A.59     
      RRAIN=KRAIN*TIMESTEP*3600.0                                          CONSC1A.60     
      RSNOW=KSNOW*TIMESTEP*3600.0                                          CONSC1A.61     
      DO I=1,NPTS                                                          CONSC1A.62     
        IF(CTLEVEL(I).GT.0) THEN                                           CONSC1A.63     
          DO J=1,MIN(CTLEVEL(I),LEVELS)                                    APC0F405.767    
            AEROSOL(I,J)=AEROSOL(I,J)/                                     CONSC1A.65     
     &        (1.0+RRAIN*RAIN(I)+RSNOW*SNOW(I))                            CONSC1A.66     
          END DO                                                           CONSC1A.67     
        ENDIF                                                              CONSC1A.68     
      END DO                                                               CONSC1A.69     
      RETURN                                                               CONSC1A.70     
      END                                                                  CONSC1A.71     
*ENDIF                                                                     CONSC1A.72