*IF DEF,A05_2A                                                             AJX1F405.158    
C ******************************COPYRIGHT******************************    GTS2F400.2269   
C (c) CROWN COPYRIGHT 1995, METEOROLOGICAL OFFICE, All Rights Reserved.    GTS2F400.2270   
C                                                                          GTS2F400.2271   
C Use, duplication or disclosure of this code is subject to the            GTS2F400.2272   
C restrictions as set forth in the contract.                               GTS2F400.2273   
C                                                                          GTS2F400.2274   
C                Meteorological Office                                     GTS2F400.2275   
C                London Road                                               GTS2F400.2276   
C                BRACKNELL                                                 GTS2F400.2277   
C                Berkshire UK                                              GTS2F400.2278   
C                RG12 2SZ                                                  GTS2F400.2279   
C                                                                          GTS2F400.2280   
C If no contract has been raised with this copy of the code, the use,      GTS2F400.2281   
C duplication or disclosure of it is strictly prohibited.  Permission      GTS2F400.2282   
C to do so must first be obtained in writing from the Head of Numerical    GTS2F400.2283   
C Modelling at the above address.                                          GTS2F400.2284   
C ******************************COPYRIGHT******************************    GTS2F400.2285   
C                                                                          GTS2F400.2286   
CLL  SUBROUTINE DOWND--------------------------------------------------    DOWND2A.3      
CLL                                                                        DOWND2A.4      
CLL  PURPOSE : CALL DOWNDRAUGHT CALCULATION                                DOWND2A.5      
CLL                                                                        DOWND2A.6      
CLL            CHANGE OF PHASE CALCULATION WHERE NO DOWNDRAUGHT OCCURS     DOWND2A.7      
CLL                                                                        DOWND2A.8      
CLL  SUITABLE FOR SINGLE COLUMN MODEL USE                                  DOWND2A.9      
CLL                                                                        DOWND2A.10     
CLL  CODE WRITTEN FOR CRAY Y-MP BY S.BETT AND D.GREGORY AUTUMN 1991        DOWND2A.11     
CLL                                                                        DOWND2A.12     
CLL  MODEL            MODIFICATION HISTORY FROM MODEL VERSION 3.0:         DOWND2A.13     
CLL VERSION  DATE                                                          DOWND2A.14     
CLL   3.3   23/12/93 : DG060893 : CORRECTION TO PREVENT OVER PREDICTION    DG060893.36     
CLL                               OF SNOW SHOWERS; CHANGE TO CALCULATION   DG060893.37     
CLL                               OF AMOUNT OF SNOW WHICH FALLS THROUGH    DG060893.38     
CLL                               THE DOWNDRAUGHT                          DG060893.39     
CLL   4.2    Oct. 96  T3E migration: *DEF CRAY removed                     GSS1F402.97     
CLL                   (was used to switch on WHENIMD)                      GSS1F402.98     
CLL                                    S.J.Swarbrick                       GSS1F402.99     
!LL   4.2    7/11/96 : Tighter check on (rain_env + snow_env) to           AYY1F402.1      
!LL                    prevent occasional floating point exceptions.       AYY1F402.2      
!LL                    Andrew Bushell.                                     AYY1F402.3      
CLL   4.5    Jul. 98  Kill the IBM specific lines (JCThil)                 AJC1F405.11     
CLL                                                                        DG060893.40     
CLL                                                                        DOWND2A.15     
CLL  PROGRAMMING STANDARDS : UNIFIED MODEL DOCUMENTATION PAPER NO. 3       DOWND2A.16     
CLL  VERSION NO. 4  DATED 5/2/92                                           DOWND2A.17     
CLL                                                                        DOWND2A.18     
CLL  SYSTEM TASK : P27                                                     DOWND2A.19     
CLL                                                                        DOWND2A.20     
CLL  DOCUMENTATION : UNIFIED MODEL DOCUMENTATION PAPER P27                 DOWND2A.21     
CLL                                                                        DOWND2A.22     
CLLEND-----------------------------------------------------------------    DOWND2A.23     
C                                                                          DOWND2A.24     
C*L  ARGUMENTS---------------------------------------------------------    DOWND2A.25     
C                                                                          DOWND2A.26     

      SUBROUTINE DOWND (NPNTS,K,KCT,THDD_K,QDD_K,THE_K,THE_KM1,QE_K,        4,12DOWND2A.27     
     &                  QE_KM1,DTHBYDT_K,DTHBYDT_KM1,DQBYDT_K,             DOWND2A.28     
     &                  DQBYDT_KM1,FLX_DD_K,P_KM1,DELPK,DELPKM1,EXK,       DOWND2A.29     
     &                  EXKM1,DELTD,DELQD,AMDETK,EKM14,EKM34,PRECIP_K,     DOWND2A.30     
     &                  RAIN,SNOW,ICCB,BWATER_K,BDD_START,                 DOWND2A.31     
     &                  BDDWT_K,BDDWT_KM1,BDD_ON,RAIN_ENV,SNOW_ENV,        DOWND2A.32     
     &                  RAIN_DD,SNOW_DD,FLX_UD_K,TIMESTEP,CCA,NDDON_A,     DG060893.41     
     &                  LR_UD_REF)                                         DG060893.42     
C                                                                          DOWND2A.34     
      IMPLICIT NONE                                                        DOWND2A.35     
C                                                                          DOWND2A.36     
C-----------------------------------------------------------------------   DOWND2A.37     
C MODEL CONSTANTS                                                          DOWND2A.38     
C-----------------------------------------------------------------------   DOWND2A.39     
C                                                                          DOWND2A.40     
*CALL C_0_DG_C                                                             DOWND2A.41     
*CALL C_G                                                                  DG060893.43     
C                                                                          DOWND2A.42     
C-----------------------------------------------------------------------   DOWND2A.43     
C VECTOR LENGTHS AND LOOP COUNTERS                                         DOWND2A.44     
C-----------------------------------------------------------------------   DOWND2A.45     
C                                                                          DOWND2A.46     
C                                                                          DOWND2A.50     
      INTEGER I                  ! LOOP COUNTER                            DOWND2A.51     
C                                                                          DOWND2A.52     
      INTEGER K                  ! IN PRESENT MODEL LAYER                  DOWND2A.53     
C                                                                          DOWND2A.54     
      INTEGER NPNTS              ! IN NUMBER OF POINTS                     DOWND2A.55     
C                                                                          DOWND2A.56     
      INTEGER NDDON,NDDON_A      ! NUMBER OF POINTS AT WHICH               DOWND2A.57     
                                 ! DOWNDRAUGHT DOES OCCUR                  DOWND2A.58     
C                                                                          DOWND2A.59     
C-----------------------------------------------------------------------   DOWND2A.60     
C VARIABLES WHICH ARE INPUT                                                DOWND2A.61     
C-----------------------------------------------------------------------   DOWND2A.62     
C                                                                          DOWND2A.63     
      INTEGER KCT                ! IN CONVECTIVE CLOUD TOP LAYER           DOWND2A.64     
C                                                                          DOWND2A.65     
      REAL THDD_K(NPNTS)         ! IN MODEL POTENTIAL TEMPERATURE          DOWND2A.66     
                                 !    OF DOWNDRAUGHT IN LAYER K (K)        DOWND2A.67     
C                                                                          DOWND2A.68     
      REAL QDD_K(NPNTS)          ! IN MIXING RATIO OF DOWNDRAUGHT IN       DOWND2A.69     
                                 !    LAYER K (KG/KG)                      DOWND2A.70     
C                                                                          DOWND2A.71     
      REAL THE_K(NPNTS)          ! IN POTENTIAL TEMPERATURE OF             DOWND2A.72     
                                 !    ENVIRONMENT IN LAYER K (K)           DOWND2A.73     
C                                                                          DOWND2A.74     
      REAL THE_KM1(NPNTS)        ! IN POTENTIAL TEMPERATURE OF             DOWND2A.75     
                                 !    ENVIRONMENT IN LAYER K-1 (K)         DOWND2A.76     
C                                                                          DOWND2A.77     
      REAL QE_K(NPNTS)           ! IN MIXING RATIO OF ENVIRONMENT IN       DOWND2A.78     
                                 !    LAYER K (KG/KG)                      DOWND2A.79     
C                                                                          DOWND2A.80     
      REAL QE_KM1(NPNTS)         ! IN MIXING RATIO OF ENVIRONMENT IN       DOWND2A.81     
                                 !    LAYER K-1 (KG/KG)                    DOWND2A.82     
C                                                                          DOWND2A.83     
      REAL FLX_DD_K(NPNTS)       ! IN DOWNDRAUGHT MASS FLUX OF LAYER K     DOWND2A.84     
                                 !    (PA/S)                               DOWND2A.85     
C                                                                          DOWND2A.86     
      REAL P_KM1(NPNTS)          ! IN PRESSURE OF LAYER K-1 (PA)           DOWND2A.87     
C                                                                          DOWND2A.88     
      REAL DELPK(NPNTS)          ! IN PRESSURE DIFFERENCE ACROSS           DOWND2A.89     
                                 !    LAYER K (PA)                         DOWND2A.90     
C                                                                          DOWND2A.91     
      REAL DELPKM1(NPNTS)        ! IN PRESSURE DIFFERENCE ACROSS           DOWND2A.92     
                                 !    LAYER K-1 (PA)                       DOWND2A.93     
C                                                                          DOWND2A.94     
      REAL EXK(NPNTS)            ! IN EXNER RATIO FOR LAYER K              DOWND2A.95     
C                                                                          DOWND2A.96     
      REAL EXKM1(NPNTS)          ! IN EXNER RATIO FOR LAYER K-1            DOWND2A.97     
C                                                                          DOWND2A.98     
      REAL PRECIP_K(NPNTS)       ! IN PRECIPITATION ADDED WHEN             DOWND2A.99     
                                 !    DESCENDING FROM LAYER K TO K-1       DOWND2A.100    
                                 !    (KG/M**2/S)                          DOWND2A.101    
C                                                                          DOWND2A.102    
      REAL AMDETK(NPNTS)         ! IN MIXING DETRAINMENT AT LEVEL K        DOWND2A.103    
                                 !    MULTIPLIED BY APPROPRIATE LAYER      DOWND2A.104    
                                 !    THICKNESS                            DOWND2A.105    
C                                                                          DOWND2A.106    
      REAL EKM14(NPNTS)          ! IN EXNER RATIO AT LAYER K-1/4           DOWND2A.107    
C                                                                          DOWND2A.108    
      REAL EKM34(NPNTS)          ! IN EXNER RATIO AT LAYER K-3/4           DOWND2A.109    
C                                                                          DOWND2A.110    
      REAL DELTD(NPNTS)          ! IN COOLING NECESSARY TO                 DOWND2A.111    
                                 !    ACHIEVE SATURATION (K)               DOWND2A.112    
C                                                                          DOWND2A.113    
      REAL DELQD(NPNTS)          ! IN MOISTENING NECESSARY TO              DOWND2A.114    
                                 !    ACHIEVE SATURATION (KG/KG)           DOWND2A.115    
C                                                                          DOWND2A.116    
      REAL ICCB(NPNTS)           ! IN CLOUD BASE LEVEL                     DOWND2A.117    
C                                                                          DOWND2A.118    
      LOGICAL BWATER_K(NPNTS)    ! IN MASK FOR THOSE POINTS AT WHICH       DOWND2A.119    
                                 !    CONDENSATE IS WATER IN LAYER K       DOWND2A.120    
C                                                                          DOWND2A.121    
      LOGICAL BDDWT_K(NPNTS)     ! IN MASK FOR THOSE POINTS IN             DOWND2A.122    
                                 !    DOWNDRAUGHT WHERE PRECIPITATION      DOWND2A.123    
                                 !    IS LIQUID IN LAYER K                 DOWND2A.124    
C                                                                          DOWND2A.125    
      LOGICAL BDDWT_KM1(NPNTS)   ! IN MASK FOR THOSE POINTS IN             DOWND2A.126    
                                 !    DOWNDRAUGHT WHERE PRECIPITATION      DOWND2A.127    
                                 !    IS LIQUID IN LAYER K-1               DOWND2A.128    
C                                                                          DOWND2A.129    
      REAL RAIN_ENV(NPNTS)       ! IN AMOUNT OF RAIN FALLING THROUGH       DOWND2A.130    
                                 !    THE ENVIRONMENT                      DOWND2A.131    
C                                                                          DOWND2A.132    
      REAL SNOW_ENV(NPNTS)       ! IN AMOUNT OF SNOW FALLING THROUGH       DOWND2A.133    
                                 !    THE ENVIRONMENT                      DOWND2A.134    
C                                                                          DOWND2A.135    
      REAL RAIN_DD(NPNTS)        ! IN AMOUNT OF RAIN FALLING THROUGH       DOWND2A.136    
                                 !    THE DOWNDRAUGHT                      DOWND2A.137    
C                                                                          DOWND2A.138    
      REAL SNOW_DD(NPNTS)        ! IN AMOUNT OF SNOW FALLING THROUGH       DOWND2A.139    
                                 !    THE DOWNDRAUGHT                      DOWND2A.140    
C                                                                          DOWND2A.141    
      REAL FLX_UD_K(NPNTS)       ! IN UPDRAUGHT MASSFLUX AT LAYER K        DOWND2A.142    
C                                                                          DOWND2A.143    
      REAL TIMESTEP              ! IN MODEL TIMESTEP (S)                   DOWND2A.144    
C                                                                          DOWND2A.145    
      REAL CCA(NPNTS)            ! IN CONVECTIVE CLOUD AMOUNT              DOWND2A.146    
C                                                                          DOWND2A.147    
      REAL LR_UD_REF(NPNTS)      ! IN UD PPN MIXING RATION IN LOWEST       DG060893.44     
                                 !    PRECIPITATING LAYER IN UD            DG060893.45     
C                                                                          DG060893.46     
C-----------------------------------------------------------------------   DOWND2A.148    
C VARIABLES WHICH ARE INPUT AND OUTPUT                                     DOWND2A.149    
C-----------------------------------------------------------------------   DOWND2A.150    
C                                                                          DOWND2A.151    
      LOGICAL BDD_START(NPNTS)   ! INOUT                                   DOWND2A.152    
                                 ! IN  MASK FOR THOSE POINTS WHERE         DOWND2A.153    
                                 !     DOWNDRAUGHT MAY FORM IN LAYER K     DOWND2A.154    
                                 ! OUT MASK FOR THOSE POINTS WHERE         DOWND2A.155    
                                 !     DOWNDRAUGHT MAY FORM IN LAYER       DOWND2A.156    
                                 !     K-1                                 DOWND2A.157    
C                                                                          DOWND2A.158    
      REAL DTHBYDT_K(NPNTS)      ! INOUT                                   DOWND2A.159    
                                 ! IN  INCREMENT TO MODEL POTENTIAL        DOWND2A.160    
                                 !     TEMPERATURE OF LAYER K (K/S)        DOWND2A.161    
                                 ! OUT UPDATED INCREMENT TO MODEL          DOWND2A.162    
                                 !     POTENTIAL TEMPERATURE OF LAYER K    DOWND2A.163    
                                 !     (K/S)                               DOWND2A.164    
C                                                                          DOWND2A.165    
      REAL DTHBYDT_KM1(NPNTS)    ! INOUT                                   DOWND2A.166    
                                 ! IN  INCREMENT TO MODEL POTENTIAL        DOWND2A.167    
                                 !     TEMPERATURE OF LAYER K-1 (K/S)      DOWND2A.168    
                                 ! OUT UPDATED INCREMENT TO MODEL          DOWND2A.169    
                                 !     POTENTIAL TEMPERATURE OF            DOWND2A.170    
                                 !     LAYER K-1 (K/S)                     DOWND2A.171    
C                                                                          DOWND2A.172    
      REAL DQBYDT_K(NPNTS)       ! INOUT                                   DOWND2A.173    
                                 ! IN  INCREMENT TO MODEL MIXING           DOWND2A.174    
                                 !     RATIO OF LAYER K (KG/KG/S)          DOWND2A.175    
                                 ! OUT UPDATED INCREMENT TO MODEL          DOWND2A.176    
                                 !     MIXING RATIO OF LAYER K (KG/KG/S)   DOWND2A.177    
C                                                                          DOWND2A.178    
      REAL DQBYDT_KM1(NPNTS)     ! INOUT                                   DOWND2A.179    
                                 ! IN  INCREMENT TO MODEL MIXING           DOWND2A.180    
                                 !     RATIO OF LAYER K-1 (KG/KG/S)        DOWND2A.181    
                                 ! OUT UPDATED INCREMENT TO MODEL          DOWND2A.182    
                                 !     POTENTIAL TEMPERATURE OF            DOWND2A.183    
                                 !     LAYER K-1 (KG/KG/S)                 DOWND2A.184    
C                                                                          DOWND2A.185    
      REAL RAIN (NPNTS)          ! INOUT                                   DOWND2A.186    
                                 ! IN  INITIALISED RAINFALL (KG/M**2/S)    DOWND2A.187    
                                 ! OUT SURFACE RAINFALL (KG/M**2/S)        DOWND2A.188    
C                                                                          DOWND2A.189    
      REAL SNOW(NPNTS)           ! INOUT                                   DOWND2A.190    
                                 ! IN  INITIALISED SNOWFALL (KG/M**2/S)    DOWND2A.191    
                                 ! OUT SURFACE SNOWFALL (KG/M**2/S)        DOWND2A.192    
C                                                                          DOWND2A.193    
      LOGICAL BDD_ON(NPNTS)      ! INOUT                                   DOWND2A.194    
                                 ! IN  MASK FOR THOSE POINTS WHERE DD      DOWND2A.195    
                                 !     HAS CONTINUED FROM PREVIOUS LAYER   DOWND2A.196    
                                 ! OUT MASK FOR THOSE POINTS WHERE DD      DOWND2A.197    
                                 !     CONTINUES TO LAYER K-1              DOWND2A.198    
C                                                                          DOWND2A.199    
C-----------------------------------------------------------------------   DOWND2A.200    
C VARIABLES WHICH ARE DEFINED LOCALLY                                      DOWND2A.201    
C-----------------------------------------------------------------------   DOWND2A.202    
C                                                                          DOWND2A.203    
C                                                                          DOWND2A.216    
      REAL WORK(NDDON_A,24)      !  WORK SPACE                             DOWND2A.217    
C                                                                          DOWND2A.218    
      LOGICAL BWORK(NDDON_A,5)   !  WORK SPACE FOR 'BIT' MASKS             DOWND2A.219    
C                                                                          DOWND2A.220    
      INTEGER INDEX1(NDDON_A)    !  INDEX FOR COMPRESS AND                 DOWND2A.221    
C                                                                          DOWND2A.222    
      LOGICAL B_DD_END(NPNTS)    !  MASK FOR POINTS WHERE DOWNDRAUGHT      DOWND2A.223    
                                 ! HAS ENDED                               DOWND2A.224    
C                                                                          DOWND2A.225    
C                                                                          DOWND2A.227    
      REAL FACTOR                !  PROPORTION OF RAINFALL GOING INTO      DG060893.47     
                                 !  DOWNDRAUGHT FROM UD                    DG060893.48     
C                                                                          DOWND2A.230    
      REAL FACTOR_ENV            !  PROPORTION OF RAINFALL GOING INTO      DG060893.49     
                                 !  DD FROM FALLING PPN                    DG060893.50     
C                                                                          DG060893.51     
      REAL PPN_DD_REF            !  REFERENCE DD PPN MASS                  DG060893.52     
C                                                                          DG060893.53     
C-----------------------------------------------------------------------   DOWND2A.231    
C EXTERNAL ROUTINES CALLED                                                 DOWND2A.232    
C-----------------------------------------------------------------------   DOWND2A.233    
C                                                                          DOWND2A.234    
      EXTERNAL CHG_PHSE, PEVP_BCB, DDRAUGHT                                DOWND2A.235    
C                                                                          DOWND2A.239    
C-----------------------------------------------------------------------   DOWND2A.240    
C START OF MAIN LOOP                                                       DOWND2A.241    
C   UPDATE PRECIPITATION AND CALCULATE MASK FOR WHERE PRECIPITATION        DOWND2A.242    
C   IS LIQUID                                                              DOWND2A.243    
C-----------------------------------------------------------------------   DOWND2A.244    
C                                                                          DOWND2A.245    
      DO I=1,NPNTS                                                         DOWND2A.246    
        B_DD_END(I) = .FALSE.                                              DOWND2A.247    
      END DO                                                               DOWND2A.248    
C                                                                          DOWND2A.249    
      IF (K.EQ.KCT+1) THEN                                                 DOWND2A.250    
        DO I=1,NPNTS                                                       DOWND2A.251    
         RAIN_DD(I) = 0.0                                                  DOWND2A.252    
         RAIN_ENV(I) = 0.0                                                 DOWND2A.253    
         SNOW_DD(I) = 0.0                                                  DOWND2A.254    
         SNOW_ENV(I) = 0.0                                                 DOWND2A.255    
        END DO                                                             DOWND2A.256    
      END IF                                                               DOWND2A.257    
C                                                                          DOWND2A.258    
C----------------------------------------------------------------------    DG060893.54     
C INJECTION OF PRECIPITATION FROM UD AT LEVEL K                            DG060893.55     
C----------------------------------------------------------------------    DG060893.56     
C                                                                          DG060893.57     
      DO I=1,NPNTS                                                         DG060893.58     
       FACTOR= 0.0                                                         DG060893.59     
       IF (BDD_ON(I) .AND. FLX_UD_K(I).GT.0.0) THEN                        DG060893.60     
        FACTOR = G * FLX_DD_K(I)/FLX_UD_K(I)                               DG060893.61     
        FACTOR = AMIN1(FACTOR,1.0)                                         DG060893.62     
       END IF                                                              DG060893.63     
c                                                                          DG060893.64     
       IF (BWATER_K(I)) THEN                                               DG060893.65     
        RAIN_DD(I) = RAIN_DD(I) + PRECIP_K(I)*FACTOR                       DG060893.66     
        RAIN_ENV(I) = RAIN_ENV(I) + PRECIP_K(I)*(1.0-FACTOR)               DG060893.67     
       ELSE                                                                DG060893.68     
        SNOW_DD(I) = SNOW_DD(I) + PRECIP_K(I)*FACTOR                       DG060893.69     
        SNOW_ENV(I) = SNOW_ENV(I) + PRECIP_K(I)*(1.0-FACTOR)               DG060893.70     
       END IF                                                              DG060893.71     
c                                                                          DG060893.72     
      END DO                                                               DG060893.73     
C                                                                          DG060893.74     
C----------------------------------------------------------------------    DG060893.75     
C INTERACTION OF DOWNDRAUGHT WITH RESERVE OF PRECIPITATION OUTSIDE         DG060893.76     
C DOWNDRAUGHT                                                              DG060893.77     
C                                                                          DG060893.78     
C BASED UPON CONTINUITY OF PRECIPITATION MIXING RATIO WITHIN               DG060893.79     
C DOWNDRAUGHT - EITHER AFTER INJECTION OF RAIN FROM UD IN LEVEL            DG060893.80     
C K OR WITH PPN MIXING RATIO IN LOWEST PRECIPITATING LAYER                 DG060893.81     
C                                                                          DG060893.82     
C IF DOWNDRAUGHT INCREASES IN MASS THEN WATER INJECTED                     DG060893.83     
C IF DOWNDRAUGHT DECREASES IN MASS THEN WATER IS REMOVED                   DG060893.84     
C                                                                          DG060893.85     
C----------------------------------------------------------------------    DG060893.86     
C                                                                          DG060893.87     
      DO I=1,NPNTS                                                         DOWND2A.259    
C                                                                          DOWND2A.260    
       IF (BDD_ON(I)) THEN                                                 DG060893.88     
C                                                                          DOWND2A.266    
        FACTOR_ENV = 0.0                                                   DG060893.89     
        IF (PRECIP_K(I).GT.0.0) THEN                                       DG060893.90     
C                                                                          DG060893.91     
C---------------------------------------------------------------------     DG060893.92     
C CALCULATE NEW REFERENCE PPN MIXING RATIO                                 DG060893.93     
C DD PPN MIXING RATIO IN LAYER KM1 BASED ON CONTINUITY                     DG060893.94     
C WITH THAT IN LAYER K                                                     DG060893.95     
C---------------------------------------------------------------------     DG060893.96     
C                                                                          DG060893.97     
         LR_UD_REF(I) = G * PRECIP_K(I)/FLX_UD_K(I)                        DG060893.98     
         PPN_DD_REF = RAIN_DD(I)+SNOW_DD(I)                                DG060893.99     
        ELSE                                                               DG060893.100    
C                                                                          DG060893.101    
C---------------------------------------------------------------------     DG060893.102    
C DD PPN MIXING RATIO IN LAYER KM1 BASED ON CONTINUITY                     DG060893.103    
C WITH THAT IN LAST PRECIPITATING UD LAYER                                 DG060893.104    
C---------------------------------------------------------------------     DG060893.105    
C                                                                          DG060893.106    
         PPN_DD_REF = LR_UD_REF(I) * FLX_DD_K(I)                           DG060893.107    
        END IF                                                             DG060893.108    
C                                                                          DG060893.109    
C--------------------------------------------------------------------      DG060893.110    
C INJECT PPN INTO DD FROM PPN FALLING OUTSIDE OF THE DD                    DG060893.111    
C--------------------------------------------------------------------      DG060893.112    
C                                                                          DG060893.113    
        IF ((RAIN_ENV(I) + SNOW_ENV(I)) .GT. 0.0) THEN                     AYY1F402.4      
!-------Already inside IF ( BDD_ON(I)) block----------------------------   AYY1F402.5      
         FACTOR_ENV = ( (PPN_DD_REF * (1.0+EKM14(I))*                      DG060893.116    
     *                    (1.0+EKM34(I))*(1.0-AMDETK(I))) -                DG060893.117    
     *                         (RAIN_DD(I)+SNOW_DD(I)) ) /                 DG060893.118    
     *                          (RAIN_ENV(I)+SNOW_ENV(I))                  DG060893.119    
         FACTOR_ENV = AMIN1(FACTOR_ENV,1.0)                                DG060893.120    
         FACTOR_ENV = AMAX1(FACTOR_ENV,-1.0)                               DG060893.121    
        END IF                                                             DG060893.122    
C                                                                          DG060893.123    
        IF (FACTOR_ENV.GT.0.0) THEN                                        DG060893.124    
         RAIN_DD(I) = RAIN_DD(I) + RAIN_ENV(I)*FACTOR_ENV                  DG060893.125    
         RAIN_ENV(I) = RAIN_ENV(I) * (1.0-FACTOR_ENV)                      DG060893.126    
         SNOW_DD(I) = SNOW_DD(I) + SNOW_ENV(I)*FACTOR_ENV                  DG060893.127    
         SNOW_ENV(I) = SNOW_ENV(I) * (1.0-FACTOR_ENV)                      DG060893.128    
        ELSE                                                               DG060893.129    
         RAIN_ENV(I) = RAIN_ENV(I) - RAIN_DD(I)*FACTOR_ENV                 DG060893.130    
         RAIN_DD(I) = RAIN_DD(I) * (1.0+FACTOR_ENV)                        DG060893.131    
         SNOW_ENV(I) = SNOW_ENV(I) - SNOW_DD(I)*FACTOR_ENV                 DG060893.132    
         SNOW_DD(I) = SNOW_DD(I) * (1.0+FACTOR_ENV)                        DG060893.133    
        END IF                                                             DG060893.134    
C                                                                          DG060893.135    
       END IF                                                              DG060893.136    
C                                                                          DG060893.137    
C--------------------------------------------------------------------      DG060893.138    
C ZERO PRECIPITATION RATE IN LAYER K                                       DG060893.139    
C--------------------------------------------------------------------      DG060893.140    
C                                                                          DG060893.141    
       PRECIP_K(I) = 0.0                                                   DG060893.142    
C                                                                          DOWND2A.279    
      END DO                                                               DOWND2A.280    
C                                                                          DOWND2A.281    
C                                                                          DOWND2A.282    
C-----------------------------------------------------------------------   DOWND2A.283    
C COMPRESS OUT ON BASIS OF BIT VECTOR BDDON - THOSE POINTS WITH A          DOWND2A.284    
C DOWNDRAUGHT                                                              DOWND2A.285    
C-----------------------------------------------------------------------   DOWND2A.286    
C                                                                          DOWND2A.287    
      NDDON=0                                                              DOWND2A.288    
C                                                                          DOWND2A.289    
      DO I=1,NPNTS                                                         DOWND2A.293    
        IF (BDD_ON(I)) THEN                                                DOWND2A.294    
           NDDON = NDDON+1                                                 DOWND2A.295    
           INDEX1(NDDON) = I                                               DOWND2A.296    
        END IF                                                             DOWND2A.297    
      END DO                                                               DOWND2A.298    
C                                                                          DOWND2A.300    
      IF (NDDON .NE. 0) THEN                                               DOWND2A.301    
         DO I=1,NDDON                                                      DOWND2A.302    
          WORK(I,1) = THDD_K(INDEX1(I))                                    DOWND2A.303    
          WORK(I,2) = QDD_K(INDEX1(I))                                     DOWND2A.304    
          WORK(I,3) = THE_K(INDEX1(I))                                     DOWND2A.305    
          WORK(I,4) = THE_KM1(INDEX1(I))                                   DOWND2A.306    
          WORK(I,5) = QE_K(INDEX1(I))                                      DOWND2A.307    
          WORK(I,6) = QE_KM1(INDEX1(I))                                    DOWND2A.308    
          WORK(I,7) = DTHBYDT_K(INDEX1(I))                                 DOWND2A.309    
          WORK(I,8) = DTHBYDT_KM1(INDEX1(I))                               DOWND2A.310    
          WORK(I,9) = DQBYDT_K(INDEX1(I))                                  DOWND2A.311    
          WORK(I,10) = DQBYDT_KM1(INDEX1(I))                               DOWND2A.312    
          WORK(I,11) = FLX_DD_K(INDEX1(I))                                 DOWND2A.313    
          WORK(I,12) = P_KM1(INDEX1(I))                                    DOWND2A.314    
          WORK(I,13) = DELPK(INDEX1(I))                                    DOWND2A.315    
          WORK(I,14) = DELPKM1(INDEX1(I))                                  DOWND2A.316    
          WORK(I,15) = EXK(INDEX1(I))                                      DOWND2A.317    
          WORK(I,16) = EXKM1(INDEX1(I))                                    DOWND2A.318    
          WORK(I,17) = DELTD(INDEX1(I))                                    DOWND2A.319    
          WORK(I,18) = DELQD(INDEX1(I))                                    DOWND2A.320    
          WORK(I,19) = AMDETK(INDEX1(I))                                   DOWND2A.321    
          WORK(I,20) = EKM14(INDEX1(I))                                    DOWND2A.322    
          WORK(I,21) = EKM34(INDEX1(I))                                    DOWND2A.323    
          WORK(I,22) = RAIN_DD(INDEX1(I))                                  DOWND2A.324    
          WORK(I,23) = SNOW_DD(INDEX1(I))                                  DOWND2A.325    
          WORK(I,24) = CCA(INDEX1(I))                                      DOWND2A.326    
          BWORK(I,1) = BDD_START(INDEX1(I))                                DOWND2A.327    
          BWORK(I,2) = BDDWT_K(INDEX1(I))                                  DOWND2A.328    
          BWORK(I,3) = BDDWT_KM1(INDEX1(I))                                DOWND2A.329    
          BWORK(I,4) = BDD_ON(INDEX1(I))                                   DOWND2A.330    
          BWORK(I,5) = B_DD_END(INDEX1(I))                                 DOWND2A.331    
      END DO                                                               DOWND2A.332    
C                                                                          DOWND2A.333    
C-----------------------------------------------------------------------   DOWND2A.334    
C START DOWNDRAUGHT CALCULATION                                            DOWND2A.335    
C-----------------------------------------------------------------------   DOWND2A.336    
C                                                                          DOWND2A.337    
C                                                                          DOWND2A.338    
         CALL DDRAUGHT (NDDON,K,KCT,WORK(1,1),WORK(1,2),WORK(1,3),         DOWND2A.339    
     &                  WORK(1,4),WORK(1,5),WORK(1,6),WORK(1,7),           DOWND2A.340    
     &                  WORK(1,8),WORK(1,9),WORK(1,10),WORK(1,11),         DOWND2A.341    
     &                  WORK(1,12),WORK(1,13),WORK(1,14),                  DOWND2A.342    
     &                  WORK(1,15),WORK(1,16),WORK(1,17),WORK(1,18),       DOWND2A.343    
     &                  WORK(1,19),WORK(1,20),WORK(1,21),WORK(1,22),       DOWND2A.344    
     &                  WORK(1,23),BWORK(1,1),BWORK(1,2),BWORK(1,3),       DOWND2A.345    
     &                  BWORK(1,4),BWORK(1,5),WORK(1,24))                  DOWND2A.346    
C                                                                          DOWND2A.347    
C-----------------------------------------------------------------------   DOWND2A.348    
C EXPAND REQUIRED VECTORS BACK TO FULL FIELDS                              DOWND2A.349    
C-----------------------------------------------------------------------   DOWND2A.350    
C                                                                          DOWND2A.351    
      DO I=1,NDDON                                                         DOWND2A.352    
       THDD_K(INDEX1(I)) = WORK(I,1)                                       DOWND2A.353    
       QDD_K(INDEX1(I)) = WORK(I,2)                                        DOWND2A.354    
       DTHBYDT_K(INDEX1(I)) = WORK(I,7)                                    DOWND2A.355    
       DTHBYDT_KM1(INDEX1(I)) = WORK(I,8)                                  DOWND2A.356    
       DQBYDT_K(INDEX1(I)) = WORK(I,9)                                     DOWND2A.357    
       DQBYDT_KM1(INDEX1(I)) = WORK(I,10)                                  DOWND2A.358    
       FLX_DD_K(INDEX1(I)) = WORK(I,11)                                    DOWND2A.359    
       RAIN_DD(INDEX1(I)) = WORK(I,22)                                     DOWND2A.360    
       SNOW_DD(INDEX1(I)) = WORK(I,23)                                     DOWND2A.361    
       BDD_START(INDEX1(I)) = BWORK(I,1)                                   DOWND2A.362    
       BDDWT_K(INDEX1(I)) = BWORK(I,2)                                     DOWND2A.363    
       BDDWT_KM1(INDEX1(I)) = BWORK(I,3)                                   DOWND2A.364    
       BDD_ON(INDEX1(I)) = BWORK(I,4)                                      DOWND2A.365    
       B_DD_END(INDEX1(I)) = BWORK(I,5)                                    DOWND2A.366    
      END DO                                                               DOWND2A.367    
      END IF                                                               DOWND2A.368    
C                                                                          DOWND2A.369    
C-----------------------------------------------------------------------   DOWND2A.370    
C RESET PRECIPITATION FALLING THROUGH ENVIRONMENT IF DOWNDRAUGHT           DOWND2A.371    
C DID NOT FORM                                                             DOWND2A.372    
C-----------------------------------------------------------------------   DOWND2A.373    
C                                                                          DOWND2A.374    
      DO I=1,NPNTS                                                         DOWND2A.375    
        IF (.NOT.BDD_ON(I).AND..NOT.B_DD_END(I)) THEN                      DOWND2A.376    
          RAIN_ENV(I) = RAIN_ENV(I)+RAIN_DD(I)                             DOWND2A.377    
          SNOW_ENV(I) = SNOW_ENV(I)+SNOW_DD(I)                             DOWND2A.378    
          RAIN_DD(I) = 0.0                                                 DOWND2A.379    
          SNOW_DD(I) = 0.0                                                 DOWND2A.380    
        END IF                                                             DOWND2A.381    
      END DO                                                               DOWND2A.382    
C                                                                          DOWND2A.383    
C-----------------------------------------------------------------------   DOWND2A.384    
C CARRY OUT CHANGE OF PHASE CALCULATION FOR PRECIPITATION FALLING          DOWND2A.385    
C THROUGH ENVIRONMENT                                                      DOWND2A.386    
C-----------------------------------------------------------------------   DOWND2A.387    
C                                                                          DOWND2A.388    
         CALL CHG_PHSE (NPNTS,K,RAIN_ENV,SNOW_ENV,DTHBYDT_KM1,             DOWND2A.389    
     &                  EXK,EXKM1,DELPKM1,THE_K,THE_KM1)                   DOWND2A.390    
C                                                                          DOWND2A.391    
C-----------------------------------------------------------------------   DOWND2A.392    
C EVAPORATE RAIN FALLING THROUGH ENVIRONMENT IF LAYER K BELOW              DOWND2A.393    
C CLOUD BASE                                                               DOWND2A.394    
C-----------------------------------------------------------------------   DOWND2A.395    
C                                                                          DOWND2A.396    
         CALL PEVP_BCB (NPNTS,K-1,ICCB,THE_KM1,P_KM1,QE_KM1,DELPKM1,       DOWND2A.397    
     &                  RAIN_ENV,SNOW_ENV,DTHBYDT_KM1,DQBYDT_KM1,          DOWND2A.398    
     &                  EXKM1,TIMESTEP,CCA)                                DOWND2A.399    
C                                                                          DOWND2A.400    
C-----------------------------------------------------------------------   DOWND2A.401    
C RESET PRECIPITATION FALLING THROUGH ENVIRONMENT IF DOWNDRAUGHT           DOWND2A.402    
C TERMINATES                                                               DOWND2A.403    
C-----------------------------------------------------------------------   DOWND2A.404    
C                                                                          DOWND2A.405    
      DO I=1,NPNTS                                                         DOWND2A.406    
        IF (B_DD_END(I)) THEN                                              DOWND2A.407    
          RAIN_ENV(I) = RAIN_ENV(I)+RAIN_DD(I)                             DOWND2A.408    
          SNOW_ENV(I) = SNOW_ENV(I)+SNOW_DD(I)                             DOWND2A.409    
          RAIN_DD(I) = 0.0                                                 DOWND2A.410    
          SNOW_DD(I) = 0.0                                                 DOWND2A.411    
        END IF                                                             DOWND2A.412    
      END DO                                                               DOWND2A.413    
C                                                                          DOWND2A.414    
C-----------------------------------------------------------------------   DOWND2A.415    
C UPDATE RAIN AND SNOW                                                     DOWND2A.416    
C-----------------------------------------------------------------------   DOWND2A.417    
C                                                                          DOWND2A.418    
       IF (K.EQ.2) THEN                                                    DOWND2A.419    
         DO I=1,NPNTS                                                      DOWND2A.420    
           RAIN(I) = RAIN(I)+RAIN_DD(I)+RAIN_ENV(I)                        DOWND2A.421    
           SNOW(I) = SNOW(I)+SNOW_DD(I)+SNOW_ENV(I)                        DOWND2A.422    
         END DO                                                            DOWND2A.423    
       END IF                                                              DOWND2A.424    
C                                                                          DOWND2A.425    
      RETURN                                                               DOWND2A.426    
      END                                                                  DOWND2A.427    
C                                                                          DOWND2A.428    
*ENDIF                                                                     DOWND2A.429