*IF DEF,A04_2B,OR,DEF,A04_2C,OR,DEF,A04_2E,OR,DEF,A04_3B                   ADM0F405.285    
C ******************************COPYRIGHT******************************    GTS2F400.5491   
C (c) CROWN COPYRIGHT 1995, METEOROLOGICAL OFFICE, All Rights Reserved.    GTS2F400.5492   
C                                                                          GTS2F400.5493   
C Use, duplication or disclosure of this code is subject to the            GTS2F400.5494   
C restrictions as set forth in the contract.                               GTS2F400.5495   
C                                                                          GTS2F400.5496   
C                Meteorological Office                                     GTS2F400.5497   
C                London Road                                               GTS2F400.5498   
C                BRACKNELL                                                 GTS2F400.5499   
C                Berkshire UK                                              GTS2F400.5500   
C                RG12 2SZ                                                  GTS2F400.5501   
C                                                                          GTS2F400.5502   
C If no contract has been raised with this copy of the code, the use,      GTS2F400.5503   
C duplication or disclosure of it is strictly prohibited.  Permission      GTS2F400.5504   
C to do so must first be obtained in writing from the Head of Numerical    GTS2F400.5505   
C Modelling at the above address.                                          GTS2F400.5506   
C ******************************COPYRIGHT******************************    GTS2F400.5507   
C                                                                          GTS2F400.5508   
C*LL  SUBROUTINE LSP_SCAV-----------------------------------------------   LSPSC1A.3      
CLL                                                                        LSPSC1A.4      
CLL  Purpose: Scavenge aerosol by large scale precipitation.               LSPSC1A.5      
CLL                                                                        LSPSC1A.6      
CLL  Model            Modification history from model version 3.0:         LSPSC1A.7      
CLL version  Date                                                          LSPSC1A.8      
CLL  3.4  15/08/94  New routine. Pete Clark.                               LSPSC1A.9      
CLL                                                                        LSPSC1A.10     
CLL  Programming standard: Unified Model Documentation Paper No 3,         LSPSC1A.11     
CLL                        Version 7, dated 11/3/93.                       LSPSC1A.12     
CLL                                                                        LSPSC1A.13     
CLL  Logical component covered: Part of P26.                               LSPSC1A.14     
CLL                                                                        LSPSC1A.15     
CLL  System task:                                                          LSPSC1A.16     
CLL                                                                        LSPSC1A.17     
CLL  Documentation: Unified Model Documentation Paper No 26.               LSPSC1A.18     
C*                                                                         LSPSC1A.19     
C*L  Arguments:---------------------------------------------------------   LSPSC1A.20     

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