*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.20SUBROUTINE 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