*IF DEF,A05_3B                                                             DOWND3B.2      
C ******************************COPYRIGHT******************************    DOWND3B.3      
C (c) CROWN COPYRIGHT 1997, METEOROLOGICAL OFFICE, All Rights Reserved.    DOWND3B.4      
C                                                                          DOWND3B.5      
C Use, duplication or disclosure of this code is subject to the            DOWND3B.6      
C restrictions as set forth in the contract.                               DOWND3B.7      
C                                                                          DOWND3B.8      
C                Meteorological Office                                     DOWND3B.9      
C                London Road                                               DOWND3B.10     
C                BRACKNELL                                                 DOWND3B.11     
C                Berkshire UK                                              DOWND3B.12     
C                RG12 2SZ                                                  DOWND3B.13     
C                                                                          DOWND3B.14     
C If no contract has been raised with this copy of the code, the use,      DOWND3B.15     
C duplication or disclosure of it is strictly prohibited.  Permission      DOWND3B.16     
C to do so must first be obtained in writing from the Head of Numerical    DOWND3B.17     
C Modelling at the above address.                                          DOWND3B.18     
C ******************************COPYRIGHT******************************    DOWND3B.19     
C                                                                          DOWND3B.20     
CLL  SUBROUTINE DOWND--------------------------------------------------    DOWND3B.21     
CLL                                                                        DOWND3B.22     
CLL  PURPOSE : CALL DOWNDRAUGHT CALCULATION                                DOWND3B.23     
CLL                                                                        DOWND3B.24     
CLL            CHANGE OF PHASE CALCULATION WHERE NO DOWNDRAUGHT OCCURS     DOWND3B.25     
CLL                                                                        DOWND3B.26     
CLL  SUITABLE FOR SINGLE COLUMN MODEL USE                                  DOWND3B.27     
CLL                                                                        DOWND3B.28     
CLL                                                                        DOWND3B.29     
CLL  MODEL            MODIFICATION HISTORY:                                DOWND3B.30     
CLL VERSION  DATE                                                          DOWND3B.31     
CLL   4.3  03/02/97   As DOWND3A (vn4.2) except TIMESTEP passed to         DOWND3B.32     
CLL                   CHG_PHSE                                             DOWND3B.33     
CLL                                                   R.N.B.Smith          DOWND3B.34     
CLL   4.5    20/7/98 : Type of ICCB changed to INTEGER                     AJC1F405.30     
CLL                    Kill the IBM specific lines (JCThil)                AJC1F405.31     
CLL                                                                        DOWND3B.35     
CLL  PROGRAMMING STANDARDS : UNIFIED MODEL DOCUMENTATION PAPER NO. 3       DOWND3B.36     
CLL  VERSION NO. 4  DATED 5/2/92                                           DOWND3B.37     
CLL                                                                        DOWND3B.38     
CLL  SYSTEM TASK : P27                                                     DOWND3B.39     
CLL                                                                        DOWND3B.40     
CLL  DOCUMENTATION : UNIFIED MODEL DOCUMENTATION PAPER 27                  DOWND3B.41     
CLL                                                                        DOWND3B.42     
CLLEND-----------------------------------------------------------------    DOWND3B.43     
C                                                                          DOWND3B.44     
C*L  ARGUMENTS---------------------------------------------------------    DOWND3B.45     
C                                                                          DOWND3B.46     

      SUBROUTINE DOWND (NPNTS,NP_FULL,K,KCT,THDD_K,QDD_K,THE_K,THE_KM1,     4,12DOWND3B.47     
     &                  QE_K,QE_KM1,DTHBYDT_K,DTHBYDT_KM1,DQBYDT_K,        DOWND3B.48     
     &                  DQBYDT_KM1,FLX_DD_K,P_KM1,DELPK,DELPKM1,EXK,       DOWND3B.49     
     &                  EXKM1,DELTD,DELQD,AMDETK,EKM14,EKM34,PRECIP_K,     DOWND3B.50     
     &                  RAIN,SNOW,ICCB,BWATER_K,BDD_START,                 DOWND3B.51     
     &                  BDDWT_K,BDDWT_KM1,BDD_ON,RAIN_ENV,SNOW_ENV,        DOWND3B.52     
     &                  RAIN_DD,SNOW_DD,FLX_UD_K,TIMESTEP,CCA,NDDON_A,     DOWND3B.53     
     &                  LR_UD_REF,L_MOM,UDD_K,VDD_K,UE_K,VE_K,UE_KM1,      DOWND3B.54     
     &                  VE_KM1,DUBYDT_K,DVBYDT_K,DUBYDT_KM1,DVBYDT_KM1,    DOWND3B.55     
     &                  DELUD,DELVD,EFLUX_U_DD,EFLUX_V_DD,                 DOWND3B.56     
     &                  L_TRACER,NTRA,TRADD_K,TRAE_K,                      DOWND3B.57     
     &                  TRAE_KM1,DTRABYDT_K,DTRABYDT_KM1,DELTRAD)          DOWND3B.58     
C                                                                          DOWND3B.59     
      IMPLICIT NONE                                                        DOWND3B.60     
C                                                                          DOWND3B.61     
C-----------------------------------------------------------------------   DOWND3B.62     
C MODEL CONSTANTS                                                          DOWND3B.63     
C-----------------------------------------------------------------------   DOWND3B.64     
C                                                                          DOWND3B.65     
*CALL C_0_DG_C                                                             DOWND3B.66     
*CALL C_G                                                                  DOWND3B.67     
C                                                                          DOWND3B.68     
C-----------------------------------------------------------------------   DOWND3B.69     
C VECTOR LENGTHS AND LOOP COUNTERS                                         DOWND3B.70     
C-----------------------------------------------------------------------   DOWND3B.71     
C                                                                          DOWND3B.72     
C                                                                          DOWND3B.76     
      INTEGER I,KTRA             ! LOOP COUNTERS                           DOWND3B.77     
C                                                                          DOWND3B.78     
      INTEGER K                  ! IN PRESENT MODEL LAYER                  DOWND3B.79     
C                                                                          DOWND3B.80     
      INTEGER NPNTS              ! IN NUMBER OF POINTS                     DOWND3B.81     
C                                                                          DOWND3B.82     
      INTEGER NDDON,NDDON_A      ! NUMBER OF POINTS AT WHICH               DOWND3B.83     
                                 ! DOWNDRAUGHT DOES OCCUR                  DOWND3B.84     
C                                                                          DOWND3B.85     
      INTEGER NP_FULL            ! IN FULL VECTOR LENGTH                   DOWND3B.86     
C                                                                          DOWND3B.87     
      INTEGER NTRA               ! NUMBER OF TRACERS                       DOWND3B.88     
C                                                                          DOWND3B.89     
C-----------------------------------------------------------------------   DOWND3B.90     
C VARIABLES WHICH ARE INPUT                                                DOWND3B.91     
C-----------------------------------------------------------------------   DOWND3B.92     
C                                                                          DOWND3B.93     
      INTEGER KCT                ! IN CONVECTIVE CLOUD TOP LAYER           DOWND3B.94     
C                                                                          DOWND3B.95     
      REAL THDD_K(NPNTS)         ! IN MODEL POTENTIAL TEMPERATURE          DOWND3B.96     
                                 !    OF DOWNDRAUGHT IN LAYER K (K)        DOWND3B.97     
C                                                                          DOWND3B.98     
      REAL QDD_K(NPNTS)          ! IN MIXING RATIO OF DOWNDRAUGHT IN       DOWND3B.99     
                                 !    LAYER K (KG/KG)                      DOWND3B.100    
C                                                                          DOWND3B.101    
      REAL UDD_K(NPNTS)          ! IN U IN DOWNDRAUGHT IN LAYER K (M/S)    DOWND3B.102    
C                                                                          DOWND3B.103    
      REAL VDD_K(NPNTS)          ! IN V IN DOWNDRAUGHT IN LAYER K (M/S)    DOWND3B.104    
C                                                                          DOWND3B.105    
      REAL TRADD_K(NP_FULL,NTRA) ! IN TRACER CONTENT OF DOWNDRAUGHT        DOWND3B.106    
                                 !    IN LAYER K (KG/KG)                   DOWND3B.107    
C                                                                          DOWND3B.108    
      REAL THE_K(NPNTS)          ! IN POTENTIAL TEMPERATURE OF             DOWND3B.109    
                                 !    ENVIRONMENT IN LAYER K (K)           DOWND3B.110    
C                                                                          DOWND3B.111    
      REAL THE_KM1(NPNTS)        ! IN POTENTIAL TEMPERATURE OF             DOWND3B.112    
                                 !    ENVIRONMENT IN LAYER K-1 (K)         DOWND3B.113    
C                                                                          DOWND3B.114    
      REAL QE_K(NPNTS)           ! IN MIXING RATIO OF ENVIRONMENT IN       DOWND3B.115    
                                 !    LAYER K (KG/KG)                      DOWND3B.116    
C                                                                          DOWND3B.117    
      REAL QE_KM1(NPNTS)         ! IN MIXING RATIO OF ENVIRONMENT IN       DOWND3B.118    
                                 !    LAYER K-1 (KG/KG)                    DOWND3B.119    
C                                                                          DOWND3B.120    
      REAL UE_K(NPNTS)           ! IN U OF ENVIRONMENT IN LAYER K (M/S)    DOWND3B.121    
C                                                                          DOWND3B.122    
      REAL UE_KM1(NPNTS)         ! IN U OF ENVIRONMENT IN LAYER K-1        DOWND3B.123    
                                 !    (M/S)                                DOWND3B.124    
C                                                                          DOWND3B.125    
      REAL VE_K(NPNTS)           ! IN V OF ENVIRONMENT IN LAYER K (M/S)    DOWND3B.126    
C                                                                          DOWND3B.127    
      REAL VE_KM1(NPNTS)         ! IN V OF ENVIRONMENT IN LAYER K-1        DOWND3B.128    
                                 !    (M/S)                                DOWND3B.129    
C                                                                          DOWND3B.130    
      REAL TRAE_K(NP_FULL,NTRA)  ! IN TRACER CONTENT OF ENVIRONMENT        DOWND3B.131    
                                 !    IN LAYER K (KG/KG)                   DOWND3B.132    
C                                                                          DOWND3B.133    
      REAL TRAE_KM1(NP_FULL,NTRA)! IN TRACER CONTENT OF ENVIRONMENT        DOWND3B.134    
                                 !    IN LAYER K-1 (KG/KG)                 DOWND3B.135    
C                                                                          DOWND3B.136    
      REAL FLX_DD_K(NPNTS)       ! IN DOWNDRAUGHT MASS FLUX OF LAYER K     DOWND3B.137    
                                 !    (PA/S)                               DOWND3B.138    
C                                                                          DOWND3B.139    
      REAL P_KM1(NPNTS)          ! IN PRESSURE OF LAYER K-1 (PA)           DOWND3B.140    
C                                                                          DOWND3B.141    
      REAL DELPK(NPNTS)          ! IN PRESSURE DIFFERENCE ACROSS           DOWND3B.142    
                                 !    LAYER K (PA)                         DOWND3B.143    
C                                                                          DOWND3B.144    
      REAL DELPKM1(NPNTS)        ! IN PRESSURE DIFFERENCE ACROSS           DOWND3B.145    
                                 !    LAYER K-1 (PA)                       DOWND3B.146    
C                                                                          DOWND3B.147    
      REAL EXK(NPNTS)            ! IN EXNER RATIO FOR LAYER K              DOWND3B.148    
C                                                                          DOWND3B.149    
      REAL EXKM1(NPNTS)          ! IN EXNER RATIO FOR LAYER K-1            DOWND3B.150    
C                                                                          DOWND3B.151    
      REAL PRECIP_K(NPNTS)       ! IN PRECIPITATION ADDED WHEN             DOWND3B.152    
                                 !    DESCENDING FROM LAYER K TO K-1       DOWND3B.153    
                                 !    (KG/M**2/S)                          DOWND3B.154    
C                                                                          DOWND3B.155    
      REAL AMDETK(NPNTS)         ! IN MIXING DETRAINMENT AT LEVEL K        DOWND3B.156    
                                 !    MULTIPLIED BY APPROPRIATE LAYER      DOWND3B.157    
                                 !    THICKNESS                            DOWND3B.158    
C                                                                          DOWND3B.159    
      REAL EKM14(NPNTS)          ! IN EXNER RATIO AT LAYER K-1/4           DOWND3B.160    
C                                                                          DOWND3B.161    
      REAL EKM34(NPNTS)          ! IN EXNER RATIO AT LAYER K-3/4           DOWND3B.162    
C                                                                          DOWND3B.163    
      REAL DELTD(NPNTS)          ! IN COOLING NECESSARY TO                 DOWND3B.164    
                                 !    ACHIEVE SATURATION (K)               DOWND3B.165    
C                                                                          DOWND3B.166    
      REAL DELQD(NPNTS)          ! IN MOISTENING NECESSARY TO              DOWND3B.167    
                                 !    ACHIEVE SATURATION (KG/KG)           DOWND3B.168    
C                                                                          DOWND3B.169    
      REAL DELUD(NPNTS)          ! IN CHANGE IN ENVIRONMENT U DUE TO       DOWND3B.170    
                                 !    DOWNDRAUGHT FORMATION (M/S)          DOWND3B.171    
C                                                                          DOWND3B.172    
      REAL DELVD(NPNTS)          ! IN CHANGE IN ENVIRONMENT V DUE TO       DOWND3B.173    
                                 !    DOWNDRAUGHT FORMATION (M/S)          DOWND3B.174    
C                                                                          DOWND3B.175    
      REAL DELTRAD(NP_FULL,NTRA) ! IN DEPLETION OF ENVIRONMENT TRACER      DOWND3B.176    
                                 !    DUE TO DOWNDRAUGHT FORMATION         DOWND3B.177    
C                                                                          DOWND3B.178    
      INTEGER ICCB(NPNTS)           ! IN CLOUD BASE LEVEL                  AJC1F405.32     
C                                                                          DOWND3B.180    
      LOGICAL BWATER_K(NPNTS)    ! IN MASK FOR THOSE POINTS AT WHICH       DOWND3B.181    
                                 !    CONDENSATE IS WATER IN LAYER K       DOWND3B.182    
C                                                                          DOWND3B.183    
      LOGICAL BDDWT_K(NPNTS)     ! IN MASK FOR THOSE POINTS IN             DOWND3B.184    
                                 !    DOWNDRAUGHT WHERE PRECIPITATION      DOWND3B.185    
                                 !    IS LIQUID IN LAYER K                 DOWND3B.186    
C                                                                          DOWND3B.187    
      LOGICAL BDDWT_KM1(NPNTS)   ! IN MASK FOR THOSE POINTS IN             DOWND3B.188    
                                 !    DOWNDRAUGHT WHERE PRECIPITATION      DOWND3B.189    
                                 !    IS LIQUID IN LAYER K-1               DOWND3B.190    
C                                                                          DOWND3B.191    
      LOGICAL L_TRACER           ! IN SWITCH FOR INCLUSION OF TRACERS      DOWND3B.192    
C                                                                          DOWND3B.193    
      LOGICAL L_MOM              ! IN SWITCH FOR INCLUSION OF              DOWND3B.194    
                                 !    MOMENTUM TRANSPORTS                  DOWND3B.195    
C                                                                          DOWND3B.196    
      REAL RAIN_ENV(NPNTS)       ! IN AMOUNT OF RAIN FALLING THROUGH       DOWND3B.197    
                                 !    THE ENVIRONMENT                      DOWND3B.198    
C                                                                          DOWND3B.199    
      REAL SNOW_ENV(NPNTS)       ! IN AMOUNT OF SNOW FALLING THROUGH       DOWND3B.200    
                                 !    THE ENVIRONMENT                      DOWND3B.201    
C                                                                          DOWND3B.202    
      REAL RAIN_DD(NPNTS)        ! IN AMOUNT OF RAIN FALLING THROUGH       DOWND3B.203    
                                 !    THE DOWNDRAUGHT                      DOWND3B.204    
C                                                                          DOWND3B.205    
      REAL SNOW_DD(NPNTS)        ! IN AMOUNT OF SNOW FALLING THROUGH       DOWND3B.206    
                                 !    THE DOWNDRAUGHT                      DOWND3B.207    
C                                                                          DOWND3B.208    
      REAL FLX_UD_K(NPNTS)       ! IN UPDRAUGHT MASSFLUX AT LAYER K        DOWND3B.209    
C                                                                          DOWND3B.210    
      REAL TIMESTEP              ! IN MODEL TIMESTEP (S)                   DOWND3B.211    
C                                                                          DOWND3B.212    
      REAL CCA(NPNTS)            ! IN CONVECTIVE CLOUD AMOUNT              DOWND3B.213    
C                                                                          DOWND3B.214    
      REAL LR_UD_REF(NPNTS)      ! IN UD PPN MIXING RATION IN LOWEST       DOWND3B.215    
                                 !    PRECIPITATING LAYER IN UD            DOWND3B.216    
C                                                                          DOWND3B.217    
C-----------------------------------------------------------------------   DOWND3B.218    
C VARIABLES WHICH ARE INPUT AND OUTPUT                                     DOWND3B.219    
C-----------------------------------------------------------------------   DOWND3B.220    
C                                                                          DOWND3B.221    
      LOGICAL BDD_START(NPNTS)   ! INOUT                                   DOWND3B.222    
                                 ! IN  MASK FOR THOSE POINTS WHERE         DOWND3B.223    
                                 !     DOWNDRAUGHT MAY FORM IN LAYER K     DOWND3B.224    
                                 ! OUT MASK FOR THOSE POINTS WHERE         DOWND3B.225    
                                 !     DOWNDRAUGHT MAY FORM IN LAYER       DOWND3B.226    
                                 !     K-1                                 DOWND3B.227    
C                                                                          DOWND3B.228    
      REAL DTHBYDT_K(NPNTS)      ! INOUT                                   DOWND3B.229    
                                 ! IN  INCREMENT TO MODEL POTENTIAL        DOWND3B.230    
                                 !     TEMPERATURE OF LAYER K (K/S)        DOWND3B.231    
                                 ! OUT UPDATED INCREMENT TO MODEL          DOWND3B.232    
                                 !     POTENTIAL TEMPERATURE OF LAYER K    DOWND3B.233    
                                 !     (K/S)                               DOWND3B.234    
C                                                                          DOWND3B.235    
      REAL DTHBYDT_KM1(NPNTS)    ! INOUT                                   DOWND3B.236    
                                 ! IN  INCREMENT TO MODEL POTENTIAL        DOWND3B.237    
                                 !     TEMPERATURE OF LAYER K-1 (K/S)      DOWND3B.238    
                                 ! OUT UPDATED INCREMENT TO MODEL          DOWND3B.239    
                                 !     POTENTIAL TEMPERATURE OF            DOWND3B.240    
                                 !     LAYER K-1 (K/S)                     DOWND3B.241    
C                                                                          DOWND3B.242    
      REAL DQBYDT_K(NPNTS)       ! INOUT                                   DOWND3B.243    
                                 ! IN  INCREMENT TO MODEL MIXING           DOWND3B.244    
                                 !     RATIO OF LAYER K (KG/KG/S)          DOWND3B.245    
                                 ! OUT UPDATED INCREMENT TO MODEL          DOWND3B.246    
                                 !     MIXING RATIO OF LAYER K (KG/KG/S)   DOWND3B.247    
C                                                                          DOWND3B.248    
      REAL DQBYDT_KM1(NPNTS)     ! INOUT                                   DOWND3B.249    
                                 ! IN  INCREMENT TO MODEL MIXING           DOWND3B.250    
                                 !     RATIO OF LAYER K-1 (KG/KG/S)        DOWND3B.251    
                                 ! OUT UPDATED INCREMENT TO MODEL          DOWND3B.252    
                                 !     MIXING RATIO OF                     DOWND3B.253    
                                 !     LAYER K-1 (KG/KG/S)                 DOWND3B.254    
C                                                                          DOWND3B.255    
      REAL DUBYDT_K(NPNTS)       ! INOUT                                   DOWND3B.256    
                                 ! IN  INCREMENT TO MODEL U IN             DOWND3B.257    
                                 !     LAYER K (M/S**2)                    DOWND3B.258    
                                 ! OUT UPDATED INCREMENT TO MODEL          DOWND3B.259    
                                 !     U IN LAYER K (M/S**2)               DOWND3B.260    
C                                                                          DOWND3B.261    
      REAL DUBYDT_KM1(NPNTS)     ! INOUT                                   DOWND3B.262    
                                 ! IN  INCREMENT TO MODEL U                DOWND3B.263    
                                 !     IN LAYER K-1 (KG/KG/S)              DOWND3B.264    
                                 ! OUT UPDATED INCREMENT TO MODEL          DOWND3B.265    
                                 !     U IN LAYER K-1 (M/S**2)             DOWND3B.266    
C                                                                          DOWND3B.267    
      REAL DVBYDT_K(NPNTS)       ! INOUT                                   DOWND3B.268    
                                 ! IN  INCREMENT TO MODEL V IN             DOWND3B.269    
                                 !     LAYER K (M/S**2)                    DOWND3B.270    
                                 ! OUT UPDATED INCREMENT TO MODEL          DOWND3B.271    
                                 !     V IN LAYER K (M/S**2)               DOWND3B.272    
C                                                                          DOWND3B.273    
      REAL DVBYDT_KM1(NPNTS)     ! INOUT                                   DOWND3B.274    
                                 ! IN  INCREMENT TO MODEL V                DOWND3B.275    
                                 !     IN LAYER K-1 (KG/KG/S)              DOWND3B.276    
                                 ! OUT UPDATED INCREMENT TO MODEL          DOWND3B.277    
                                 !     V IN LAYER K-1 (M/S**2)             DOWND3B.278    
C                                                                          DOWND3B.279    
      REAL DTRABYDT_K(NP_FULL,   ! INOUT                                   DOWND3B.280    
     *                NTRA)      ! IN  INCREMENT TO MODEL TRACER OF        DOWND3B.281    
                                 !     LAYER K (KG/KG/S)                   DOWND3B.282    
                                 ! OUT UPDATED INCREMENT TO MODEL          DOWND3B.283    
                                                                           DOWND3B.284    
C                                                                          DOWND3B.285    
      REAL DTRABYDT_KM1(NP_FULL, ! INOUT                                   DOWND3B.286    
     *                 NTRA)     ! IN  INCREMENT TO MODEL TRACER OF        DOWND3B.287    
                                 !     LAYER K-1 (KG/KG/S)                 DOWND3B.288    
                                 ! OUT UPDATED INCREMENT TO MODEL          DOWND3B.289    
                                 !     TRACER IN LAYER K-1                 DOWND3B.290    
                                 !     (KG/KG/S)                           DOWND3B.291    
C                                                                          DOWND3B.292    
      REAL RAIN (NPNTS)          ! INOUT                                   DOWND3B.293    
                                 ! IN  INITIALISED RAINFALL (KG/M**2/S)    DOWND3B.294    
                                 ! OUT SURFACE RAINFALL (KG/M**2/S)        DOWND3B.295    
C                                                                          DOWND3B.296    
      REAL SNOW(NPNTS)           ! INOUT                                   DOWND3B.297    
                                 ! IN  INITIALISED SNOWFALL (KG/M**2/S)    DOWND3B.298    
                                 ! OUT SURFACE SNOWFALL (KG/M**2/S)        DOWND3B.299    
C                                                                          DOWND3B.300    
      LOGICAL BDD_ON(NPNTS)      ! INOUT                                   DOWND3B.301    
                                 ! IN  MASK FOR THOSE POINTS WHERE DD      DOWND3B.302    
                                 !     HAS CONTINUED FROM PREVIOUS LAYER   DOWND3B.303    
                                 ! OUT MASK FOR THOSE POINTS WHERE DD      DOWND3B.304    
                                 !     CONTINUES TO LAYER K-1              DOWND3B.305    
C                                                                          DOWND3B.306    
      REAL EFLUX_U_DD(NPNTS),    ! INOUT                                   DOWND3B.307    
     *     EFLUX_V_DD(NPNTS)     ! IN  EDDY FLUX OF MOMENTUM DUE TO DD     DOWND3B.308    
                                 !     AT TOP OF A LAYER                   DOWND3B.309    
                                 ! OUT EDDY FLUX OF MOMENTUM DUE TO DD     DOWND3B.310    
                                 !     AT BOTTOM OF A LAYER                DOWND3B.311    
C                                                                          DOWND3B.312    
C-----------------------------------------------------------------------   DOWND3B.313    
C VARIABLES WHICH ARE DEFINED LOCALLY                                      DOWND3B.314    
C-----------------------------------------------------------------------   DOWND3B.315    
C                                                                          DOWND3B.316    
C                                                                          DOWND3B.350    
      REAL WORK(NDDON_A,38)      !  WORK SPACE                             DOWND3B.351    
C                                                                          DOWND3B.352    
      LOGICAL BWORK(NDDON_A,5)   !  WORK SPACE FOR 'BIT' MASKS             DOWND3B.353    
C                                                                          DOWND3B.354    
      INTEGER INDEX1(NDDON_A)    !  INDEX FOR COMPRESS AND                 DOWND3B.355    
C                                                                          DOWND3B.356    
      LOGICAL B_DD_END(NPNTS)    !  MASK FOR POINTS WHERE DOWNDRAUGHT      DOWND3B.357    
                                 ! HAS ENDED                               DOWND3B.358    
C                                                                          DOWND3B.359    
      REAL TRADD_K_C(NDDON_A,    ! TRACER CONTENT IN DOWNDRAUGHT AT        DOWND3B.360    
     *               NTRA)       ! LAYER K - COMPRESSED (KG/KG)            DOWND3B.361    
C                                                                          DOWND3B.362    
      REAL TRAE_K_C(NDDON_A,NTRA)! TRACER CONTENT OF ENVIRONMENT AT        DOWND3B.363    
                                 ! LAYER K - COMPRESSED (KG/KG)            DOWND3B.364    
C                                                                          DOWND3B.365    
      REAL TRAE_KM1_C(NDDON_A,   ! TRACER CONTENT OF ENVIRONMENT IN        DOWND3B.366    
     *                NTRA)      ! LAYER K-1 - COMPRESSED (KG/KG)          DOWND3B.367    
C                                                                          DOWND3B.368    
      REAL DTRA_K_C(NDDON_A,NTRA)! INCREMENT TO MODEL TRACER IN LAYER      DOWND3B.369    
                                 ! K - COMPRESSED (KG/KG/S)                DOWND3B.370    
C                                                                          DOWND3B.371    
      REAL DTRA_KM1_C(NDDON_A,   ! INCREMENT TO MODEL TRACER IN LAYER      DOWND3B.372    
     *                NTRA)      ! K-1 - COMPRESSED (KG/KG/S)              DOWND3B.373    
C                                                                          DOWND3B.374    
      REAL DELTRAD_C(NDDON_A,    ! DEPLETION OF ENVIRONMENT TRACER         DOWND3B.375    
     *               NTRA)       ! DUE TO DOWNDRAUGHT FORMATION            DOWND3B.376    
                                 ! COMPRESSED                              DOWND3B.377    
C                                                                          DOWND3B.378    
C                                                                          DOWND3B.380    
      REAL FACTOR                !  PROPORTION OF RAINFALL GOING INTO      DOWND3B.381    
                                 !  DOWNDRAUGHT FROM UD                    DOWND3B.382    
C                                                                          DOWND3B.383    
      REAL FACTOR_ENV            !  PROPORTION OF RAINFALL GOING INTO      DOWND3B.384    
                                 !  DD FROM FALLING PPN                    DOWND3B.385    
C                                                                          DOWND3B.386    
      REAL PPN_DD_REF            !  REFERENCE DD PPN MASS                  DOWND3B.387    
C                                                                          DOWND3B.388    
C-----------------------------------------------------------------------   DOWND3B.389    
C EXTERNAL ROUTINES CALLED                                                 DOWND3B.390    
C-----------------------------------------------------------------------   DOWND3B.391    
C                                                                          DOWND3B.392    
      EXTERNAL CHG_PHSE, PEVP_BCB, DDRAUGHT                                DOWND3B.393    
C                                                                          DOWND3B.394    
C-----------------------------------------------------------------------   DOWND3B.395    
C START OF MAIN LOOP                                                       DOWND3B.396    
C   UPDATE PRECIPITATION AND CALCULATE MASK FOR WHERE PRECIPITATION        DOWND3B.397    
C   IS LIQUID                                                              DOWND3B.398    
C-----------------------------------------------------------------------   DOWND3B.399    
C                                                                          DOWND3B.400    
      DO I=1,NPNTS                                                         DOWND3B.401    
        B_DD_END(I) = .FALSE.                                              DOWND3B.402    
      END DO                                                               DOWND3B.403    
C                                                                          DOWND3B.404    
      IF (K.EQ.KCT+1) THEN                                                 DOWND3B.405    
        DO I=1,NPNTS                                                       DOWND3B.406    
         RAIN_DD(I) = 0.0                                                  DOWND3B.407    
         RAIN_ENV(I) = 0.0                                                 DOWND3B.408    
         SNOW_DD(I) = 0.0                                                  DOWND3B.409    
         SNOW_ENV(I) = 0.0                                                 DOWND3B.410    
        END DO                                                             DOWND3B.411    
      END IF                                                               DOWND3B.412    
C                                                                          DOWND3B.413    
C----------------------------------------------------------------------    DOWND3B.414    
C INJECTION OF PRECIPITATION FROM UD AT LEVEL K                            DOWND3B.415    
C----------------------------------------------------------------------    DOWND3B.416    
C                                                                          DOWND3B.417    
      DO I=1,NPNTS                                                         DOWND3B.418    
       FACTOR= 0.0                                                         DOWND3B.419    
       IF (BDD_ON(I) .AND. FLX_UD_K(I).GT.0.0) THEN                        DOWND3B.420    
        FACTOR = G * FLX_DD_K(I)/FLX_UD_K(I)                               DOWND3B.421    
        FACTOR = AMIN1(FACTOR,1.0)                                         DOWND3B.422    
       END IF                                                              DOWND3B.423    
c                                                                          DOWND3B.424    
       IF (BWATER_K(I)) THEN                                               DOWND3B.425    
        RAIN_DD(I) = RAIN_DD(I) + PRECIP_K(I)*FACTOR                       DOWND3B.426    
        RAIN_ENV(I) = RAIN_ENV(I) + PRECIP_K(I)*(1.0-FACTOR)               DOWND3B.427    
       ELSE                                                                DOWND3B.428    
        SNOW_DD(I) = SNOW_DD(I) + PRECIP_K(I)*FACTOR                       DOWND3B.429    
        SNOW_ENV(I) = SNOW_ENV(I) + PRECIP_K(I)*(1.0-FACTOR)               DOWND3B.430    
       END IF                                                              DOWND3B.431    
c                                                                          DOWND3B.432    
      END DO                                                               DOWND3B.433    
C                                                                          DOWND3B.434    
C----------------------------------------------------------------------    DOWND3B.435    
C INTERACTION OF DOWNDRAUGHT WITH RESERVE OF PRECIPITATION OUTSIDE         DOWND3B.436    
C DOWNDRAUGHT                                                              DOWND3B.437    
C                                                                          DOWND3B.438    
C BASED UPON CONTINUITY OF PRECIPITATION MIXING RATIO WITHIN               DOWND3B.439    
C DOWNDRAUGHT - EITHER AFTER INJECTION OF RAIN FROM UD IN LEVEL            DOWND3B.440    
C K OR WITH PPN MIXING RATIO IN LOWEST PRECIPITATING LAYER                 DOWND3B.441    
C                                                                          DOWND3B.442    
C IF DOWNDRAUGHT INCREASES IN MASS THEN WATER INJECTED                     DOWND3B.443    
C IF DOWNDRAUGHT DECREASES IN MASS THEN WATER IS REMOVED                   DOWND3B.444    
C                                                                          DOWND3B.445    
C----------------------------------------------------------------------    DOWND3B.446    
C                                                                          DOWND3B.447    
      DO I=1,NPNTS                                                         DOWND3B.448    
C                                                                          DOWND3B.449    
       IF (BDD_ON(I)) THEN                                                 DOWND3B.450    
C                                                                          DOWND3B.451    
        FACTOR_ENV = 0.0                                                   DOWND3B.452    
        IF (PRECIP_K(I).GT.0.0) THEN                                       DOWND3B.453    
C                                                                          DOWND3B.454    
C---------------------------------------------------------------------     DOWND3B.455    
C CALCULATE NEW REFERENCE PPN MIXING RATIO                                 DOWND3B.456    
C DD PPN MIXING RATIO IN LAYER KM1 BASED ON CONTINUITY                     DOWND3B.457    
C WITH THAT IN LAYER K                                                     DOWND3B.458    
C---------------------------------------------------------------------     DOWND3B.459    
C                                                                          DOWND3B.460    
         LR_UD_REF(I) = G * PRECIP_K(I)/FLX_UD_K(I)                        DOWND3B.461    
         PPN_DD_REF = RAIN_DD(I)+SNOW_DD(I)                                DOWND3B.462    
        ELSE                                                               DOWND3B.463    
C                                                                          DOWND3B.464    
C---------------------------------------------------------------------     DOWND3B.465    
C DD PPN MIXING RATIO IN LAYER KM1 BASED ON CONTINUITY                     DOWND3B.466    
C WITH THAT IN LAST PRECIPITATING UD LAYER                                 DOWND3B.467    
C---------------------------------------------------------------------     DOWND3B.468    
C                                                                          DOWND3B.469    
         PPN_DD_REF = LR_UD_REF(I) * FLX_DD_K(I)                           DOWND3B.470    
        END IF                                                             DOWND3B.471    
C                                                                          DOWND3B.472    
C--------------------------------------------------------------------      DOWND3B.473    
C INJECT PPN INTO DD FROM PPN FALLING OUTSIDE OF THE DD                    DOWND3B.474    
C--------------------------------------------------------------------      DOWND3B.475    
C                                                                          DOWND3B.476    
        IF ((RAIN_ENV(I) + SNOW_ENV(I)) .GT. 0.0) THEN                     DOWND3B.477    
!-------Already inside IF ( BDD_ON(I)) block----------------------------   DOWND3B.478    
         FACTOR_ENV = ( (PPN_DD_REF * (1.0+EKM14(I))*                      DOWND3B.479    
     *                    (1.0+EKM34(I))*(1.0-AMDETK(I))) -                DOWND3B.480    
     *                         (RAIN_DD(I)+SNOW_DD(I)) ) /                 DOWND3B.481    
     *                          (RAIN_ENV(I)+SNOW_ENV(I))                  DOWND3B.482    
         FACTOR_ENV = AMIN1(FACTOR_ENV,1.0)                                DOWND3B.483    
         FACTOR_ENV = AMAX1(FACTOR_ENV,-1.0)                               DOWND3B.484    
        END IF                                                             DOWND3B.485    
C                                                                          DOWND3B.486    
        IF (FACTOR_ENV.GT.0.0) THEN                                        DOWND3B.487    
         RAIN_DD(I) = RAIN_DD(I) + RAIN_ENV(I)*FACTOR_ENV                  DOWND3B.488    
         RAIN_ENV(I) = RAIN_ENV(I) * (1.0-FACTOR_ENV)                      DOWND3B.489    
         SNOW_DD(I) = SNOW_DD(I) + SNOW_ENV(I)*FACTOR_ENV                  DOWND3B.490    
         SNOW_ENV(I) = SNOW_ENV(I) * (1.0-FACTOR_ENV)                      DOWND3B.491    
        ELSE                                                               DOWND3B.492    
         RAIN_ENV(I) = RAIN_ENV(I) - RAIN_DD(I)*FACTOR_ENV                 DOWND3B.493    
         RAIN_DD(I) = RAIN_DD(I) * (1.0+FACTOR_ENV)                        DOWND3B.494    
         SNOW_ENV(I) = SNOW_ENV(I) - SNOW_DD(I)*FACTOR_ENV                 DOWND3B.495    
         SNOW_DD(I) = SNOW_DD(I) * (1.0+FACTOR_ENV)                        DOWND3B.496    
        END IF                                                             DOWND3B.497    
C                                                                          DOWND3B.498    
       END IF                                                              DOWND3B.499    
C                                                                          DOWND3B.500    
C--------------------------------------------------------------------      DOWND3B.501    
C ZERO PRECIPITATION RATE IN LAYER K                                       DOWND3B.502    
C--------------------------------------------------------------------      DOWND3B.503    
C                                                                          DOWND3B.504    
       PRECIP_K(I) = 0.0                                                   DOWND3B.505    
C                                                                          DOWND3B.506    
      END DO                                                               DOWND3B.507    
C                                                                          DOWND3B.508    
C                                                                          DOWND3B.509    
C-----------------------------------------------------------------------   DOWND3B.510    
C COMPRESS OUT ON BASIS OF BIT VECTOR BDDON - THOSE POINTS WITH A          DOWND3B.511    
C DOWNDRAUGHT                                                              DOWND3B.512    
C-----------------------------------------------------------------------   DOWND3B.513    
C                                                                          DOWND3B.514    
      NDDON=0                                                              DOWND3B.515    
C                                                                          DOWND3B.516    
      DO I=1,NPNTS                                                         DOWND3B.517    
        IF (BDD_ON(I)) THEN                                                DOWND3B.518    
           NDDON = NDDON+1                                                 DOWND3B.519    
           INDEX1(NDDON) = I                                               DOWND3B.520    
        END IF                                                             DOWND3B.521    
      END DO                                                               DOWND3B.522    
C                                                                          DOWND3B.523    
      IF (NDDON .NE. 0) THEN                                               DOWND3B.524    
         DO I=1,NDDON                                                      DOWND3B.525    
          WORK(I,1) = THDD_K(INDEX1(I))                                    DOWND3B.526    
          WORK(I,2) = QDD_K(INDEX1(I))                                     DOWND3B.527    
          WORK(I,3) = THE_K(INDEX1(I))                                     DOWND3B.528    
          WORK(I,4) = THE_KM1(INDEX1(I))                                   DOWND3B.529    
          WORK(I,5) = QE_K(INDEX1(I))                                      DOWND3B.530    
          WORK(I,6) = QE_KM1(INDEX1(I))                                    DOWND3B.531    
          WORK(I,7) = DTHBYDT_K(INDEX1(I))                                 DOWND3B.532    
          WORK(I,8) = DTHBYDT_KM1(INDEX1(I))                               DOWND3B.533    
          WORK(I,9) = DQBYDT_K(INDEX1(I))                                  DOWND3B.534    
          WORK(I,10) = DQBYDT_KM1(INDEX1(I))                               DOWND3B.535    
          WORK(I,11) = FLX_DD_K(INDEX1(I))                                 DOWND3B.536    
          WORK(I,12) = P_KM1(INDEX1(I))                                    DOWND3B.537    
          WORK(I,13) = DELPK(INDEX1(I))                                    DOWND3B.538    
          WORK(I,14) = DELPKM1(INDEX1(I))                                  DOWND3B.539    
          WORK(I,15) = EXK(INDEX1(I))                                      DOWND3B.540    
          WORK(I,16) = EXKM1(INDEX1(I))                                    DOWND3B.541    
          WORK(I,17) = DELTD(INDEX1(I))                                    DOWND3B.542    
          WORK(I,18) = DELQD(INDEX1(I))                                    DOWND3B.543    
          WORK(I,19) = AMDETK(INDEX1(I))                                   DOWND3B.544    
          WORK(I,20) = EKM14(INDEX1(I))                                    DOWND3B.545    
          WORK(I,21) = EKM34(INDEX1(I))                                    DOWND3B.546    
          WORK(I,22) = RAIN_DD(INDEX1(I))                                  DOWND3B.547    
          WORK(I,23) = SNOW_DD(INDEX1(I))                                  DOWND3B.548    
          WORK(I,24) = CCA(INDEX1(I))                                      DOWND3B.549    
          BWORK(I,1) = BDD_START(INDEX1(I))                                DOWND3B.550    
          BWORK(I,2) = BDDWT_K(INDEX1(I))                                  DOWND3B.551    
          BWORK(I,3) = BDDWT_KM1(INDEX1(I))                                DOWND3B.552    
          BWORK(I,4) = BDD_ON(INDEX1(I))                                   DOWND3B.553    
          BWORK(I,5) = B_DD_END(INDEX1(I))                                 DOWND3B.554    
      END DO                                                               DOWND3B.555    
C                                                                          DOWND3B.556    
      IF(L_MOM)THEN                                                        DOWND3B.557    
        DO I=1,NDDON                                                       DOWND3B.558    
          WORK(I,25) = UDD_K(INDEX1(I))                                    DOWND3B.559    
          WORK(I,26) = VDD_K(INDEX1(I))                                    DOWND3B.560    
          WORK(I,27) = UE_K(INDEX1(I))                                     DOWND3B.561    
          WORK(I,28) = VE_K(INDEX1(I))                                     DOWND3B.562    
          WORK(I,29) = UE_KM1(INDEX1(I))                                   DOWND3B.563    
          WORK(I,30) = VE_KM1(INDEX1(I))                                   DOWND3B.564    
          WORK(I,31) = DUBYDT_K(INDEX1(I))                                 DOWND3B.565    
          WORK(I,32) = DUBYDT_KM1(INDEX1(I))                               DOWND3B.566    
          WORK(I,33) = DVBYDT_K(INDEX1(I))                                 DOWND3B.567    
          WORK(I,34) = DVBYDT_KM1(INDEX1(I))                               DOWND3B.568    
          WORK(I,35) = DELUD(INDEX1(I))                                    DOWND3B.569    
          WORK(I,36) = DELVD(INDEX1(I))                                    DOWND3B.570    
          WORK(I,37) = EFLUX_U_DD(INDEX1(I))                               DOWND3B.571    
          WORK(I,38) = EFLUX_V_DD(INDEX1(I))                               DOWND3B.572    
        END DO                                                             DOWND3B.573    
      END IF                                                               DOWND3B.574    
C                                                                          DOWND3B.575    
      IF(L_TRACER)THEN                                                     DOWND3B.576    
C                                                                          DOWND3B.577    
      DO KTRA=1,NTRA                                                       DOWND3B.578    
        DO I=1,NDDON                                                       DOWND3B.579    
          TRADD_K_C(I,KTRA) = TRADD_K(INDEX1(I),KTRA)                      DOWND3B.580    
          TRAE_K_C(I,KTRA) = TRAE_K(INDEX1(I),KTRA)                        DOWND3B.581    
          TRAE_KM1_C(I,KTRA) = TRAE_KM1(INDEX1(I),KTRA)                    DOWND3B.582    
          DTRA_K_C(I,KTRA)  = DTRABYDT_K(INDEX1(I),KTRA)                   DOWND3B.583    
          DTRA_KM1_C(I,KTRA) = DTRABYDT_KM1(INDEX1(I),KTRA)                DOWND3B.584    
          DELTRAD_C(I,KTRA) = DELTRAD(INDEX1(I),KTRA)                      DOWND3B.585    
        END DO                                                             DOWND3B.586    
      END DO                                                               DOWND3B.587    
C                                                                          DOWND3B.588    
      END IF                                                               DOWND3B.589    
C                                                                          DOWND3B.590    
C                                                                          DOWND3B.591    
C-----------------------------------------------------------------------   DOWND3B.592    
C START DOWNDRAUGHT CALCULATION                                            DOWND3B.593    
C-----------------------------------------------------------------------   DOWND3B.594    
C                                                                          DOWND3B.595    
C                                                                          DOWND3B.596    
         CALL DDRAUGHT (NDDON,NDDON_A,K,KCT,WORK(1,1),WORK(1,2),           DOWND3B.597    
     &                  WORK(1,3),WORK(1,4),WORK(1,5),WORK(1,6),           DOWND3B.598    
     &                  WORK(1,7),WORK(1,8),WORK(1,9),WORK(1,10),          DOWND3B.599    
     &                  WORK(1,11),WORK(1,12),WORK(1,13),WORK(1,14),       DOWND3B.600    
     &                  WORK(1,15),WORK(1,16),WORK(1,17),WORK(1,18),       DOWND3B.601    
     &                  WORK(1,19),WORK(1,20),WORK(1,21),WORK(1,22),       DOWND3B.602    
     &                  WORK(1,23),BWORK(1,1),BWORK(1,2),BWORK(1,3),       DOWND3B.603    
     &                  BWORK(1,4),BWORK(1,5),WORK(1,24),L_MOM,            DOWND3B.604    
     &                  WORK(1,25),WORK(1,26),WORK(1,27),WORK(1,28),       DOWND3B.605    
     &                  WORK(1,29),WORK(1,30),WORK(1,31),WORK(1,32),       DOWND3B.606    
     &                  WORK(1,33),WORK(1,34),WORK(1,35),WORK(1,36),       DOWND3B.607    
     &                  WORK(1,37),WORK(1,38),                             DOWND3B.608    
     &                  L_TRACER,NTRA,TRADD_K_C,TRAE_K_C,TRAE_KM1_C,       DOWND3B.609    
     &                  DTRA_K_C,DTRA_KM1_C,DELTRAD_C)                     DOWND3B.610    
C                                                                          DOWND3B.611    
C-----------------------------------------------------------------------   DOWND3B.612    
C EXPAND REQUIRED VECTORS BACK TO FULL FIELDS                              DOWND3B.613    
C-----------------------------------------------------------------------   DOWND3B.614    
C                                                                          DOWND3B.615    
      DO I=1,NDDON                                                         DOWND3B.616    
       THDD_K(INDEX1(I)) = WORK(I,1)                                       DOWND3B.617    
       QDD_K(INDEX1(I)) = WORK(I,2)                                        DOWND3B.618    
       DTHBYDT_K(INDEX1(I)) = WORK(I,7)                                    DOWND3B.619    
       DTHBYDT_KM1(INDEX1(I)) = WORK(I,8)                                  DOWND3B.620    
       DQBYDT_K(INDEX1(I)) = WORK(I,9)                                     DOWND3B.621    
       DQBYDT_KM1(INDEX1(I)) = WORK(I,10)                                  DOWND3B.622    
       FLX_DD_K(INDEX1(I)) = WORK(I,11)                                    DOWND3B.623    
       RAIN_DD(INDEX1(I)) = WORK(I,22)                                     DOWND3B.624    
       SNOW_DD(INDEX1(I)) = WORK(I,23)                                     DOWND3B.625    
       BDD_START(INDEX1(I)) = BWORK(I,1)                                   DOWND3B.626    
       BDDWT_K(INDEX1(I)) = BWORK(I,2)                                     DOWND3B.627    
       BDDWT_KM1(INDEX1(I)) = BWORK(I,3)                                   DOWND3B.628    
       BDD_ON(INDEX1(I)) = BWORK(I,4)                                      DOWND3B.629    
       B_DD_END(INDEX1(I)) = BWORK(I,5)                                    DOWND3B.630    
      END DO                                                               DOWND3B.631    
C                                                                          DOWND3B.632    
      IF(L_MOM)THEN                                                        DOWND3B.633    
       DO I=1,NDDON                                                        DOWND3B.634    
        UDD_K(INDEX1(I)) = WORK(I,25)                                      DOWND3B.635    
        VDD_K(INDEX1(I)) = WORK(I,26)                                      DOWND3B.636    
        DUBYDT_K(INDEX1(I)) = WORK(I,31)                                   DOWND3B.637    
        DUBYDT_KM1(INDEX1(I)) = WORK(I,32)                                 DOWND3B.638    
        DVBYDT_K(INDEX1(I)) = WORK(I,33)                                   DOWND3B.639    
        DVBYDT_KM1(INDEX1(I)) = WORK(I,34)                                 DOWND3B.640    
        EFLUX_U_DD(INDEX1(I)) = WORK(I,37)                                 DOWND3B.641    
        EFLUX_V_DD(INDEX1(I)) = WORK(I,38)                                 DOWND3B.642    
       END DO                                                              DOWND3B.643    
      END IF                                                               DOWND3B.644    
C                                                                          DOWND3B.645    
      IF(L_TRACER)THEN                                                     DOWND3B.646    
C                                                                          DOWND3B.647    
      DO KTRA=1,NTRA                                                       DOWND3B.648    
        DO I=1,NDDON                                                       DOWND3B.649    
          TRADD_K(INDEX1(I),KTRA) = TRADD_K_C(I,KTRA)                      DOWND3B.650    
          DTRABYDT_K(INDEX1(I),KTRA) = DTRA_K_C(I,KTRA)                    DOWND3B.651    
          DTRABYDT_KM1(INDEX1(I),KTRA) = DTRA_KM1_C(I,KTRA)                DOWND3B.652    
        END DO                                                             DOWND3B.653    
      END DO                                                               DOWND3B.654    
C                                                                          DOWND3B.655    
      END IF                                                               DOWND3B.656    
C                                                                          DOWND3B.657    
      END IF                                                               DOWND3B.658    
C                                                                          DOWND3B.659    
C-----------------------------------------------------------------------   DOWND3B.660    
C RESET PRECIPITATION FALLING THROUGH ENVIRONMENT IF DOWNDRAUGHT           DOWND3B.661    
C DID NOT FORM                                                             DOWND3B.662    
C-----------------------------------------------------------------------   DOWND3B.663    
C                                                                          DOWND3B.664    
      DO I=1,NPNTS                                                         DOWND3B.665    
        IF (.NOT.BDD_ON(I).AND..NOT.B_DD_END(I)) THEN                      DOWND3B.666    
          RAIN_ENV(I) = RAIN_ENV(I)+RAIN_DD(I)                             DOWND3B.667    
          SNOW_ENV(I) = SNOW_ENV(I)+SNOW_DD(I)                             DOWND3B.668    
          RAIN_DD(I) = 0.0                                                 DOWND3B.669    
          SNOW_DD(I) = 0.0                                                 DOWND3B.670    
        END IF                                                             DOWND3B.671    
      END DO                                                               DOWND3B.672    
C                                                                          DOWND3B.673    
C-----------------------------------------------------------------------   DOWND3B.674    
C CARRY OUT CHANGE OF PHASE CALCULATION FOR PRECIPITATION FALLING          DOWND3B.675    
C THROUGH ENVIRONMENT                                                      DOWND3B.676    
C-----------------------------------------------------------------------   DOWND3B.677    
C                                                                          DOWND3B.678    
         CALL CHG_PHSE (NPNTS,K,RAIN_ENV,SNOW_ENV,DTHBYDT_KM1,             DOWND3B.679    
     &                  EXK,EXKM1,DELPKM1,THE_K,THE_KM1,                   DOWND3B.680    
     &                  TIMESTEP,CCA)                                      DOWND3B.681    
C                                                                          DOWND3B.682    
C-----------------------------------------------------------------------   DOWND3B.683    
C EVAPORATE RAIN FALLING THROUGH ENVIRONMENT IF LAYER K BELOW              DOWND3B.684    
C CLOUD BASE                                                               DOWND3B.685    
C-----------------------------------------------------------------------   DOWND3B.686    
C                                                                          DOWND3B.687    
         CALL PEVP_BCB (NPNTS,K-1,ICCB,THE_KM1,P_KM1,QE_KM1,DELPKM1,       DOWND3B.688    
     &                  RAIN_ENV,SNOW_ENV,DTHBYDT_KM1,DQBYDT_KM1,          DOWND3B.689    
     &                  EXKM1,TIMESTEP,CCA)                                DOWND3B.690    
C                                                                          DOWND3B.691    
C-----------------------------------------------------------------------   DOWND3B.692    
C RESET PRECIPITATION FALLING THROUGH ENVIRONMENT IF DOWNDRAUGHT           DOWND3B.693    
C TERMINATES                                                               DOWND3B.694    
C-----------------------------------------------------------------------   DOWND3B.695    
C                                                                          DOWND3B.696    
      DO I=1,NPNTS                                                         DOWND3B.697    
        IF (B_DD_END(I)) THEN                                              DOWND3B.698    
          RAIN_ENV(I) = RAIN_ENV(I)+RAIN_DD(I)                             DOWND3B.699    
          SNOW_ENV(I) = SNOW_ENV(I)+SNOW_DD(I)                             DOWND3B.700    
          RAIN_DD(I) = 0.0                                                 DOWND3B.701    
          SNOW_DD(I) = 0.0                                                 DOWND3B.702    
        END IF                                                             DOWND3B.703    
      END DO                                                               DOWND3B.704    
C                                                                          DOWND3B.705    
C-----------------------------------------------------------------------   DOWND3B.706    
C UPDATE RAIN AND SNOW                                                     DOWND3B.707    
C-----------------------------------------------------------------------   DOWND3B.708    
C                                                                          DOWND3B.709    
       IF (K.EQ.2) THEN                                                    DOWND3B.710    
         DO I=1,NPNTS                                                      DOWND3B.711    
           RAIN(I) = RAIN(I)+RAIN_DD(I)+RAIN_ENV(I)                        DOWND3B.712    
           SNOW(I) = SNOW(I)+SNOW_DD(I)+SNOW_ENV(I)                        DOWND3B.713    
         END DO                                                            DOWND3B.714    
       END IF                                                              DOWND3B.715    
C                                                                          DOWND3B.716    
      RETURN                                                               DOWND3B.717    
      END                                                                  DOWND3B.718    
C                                                                          DOWND3B.719    
*ENDIF                                                                     DOWND3B.720