*IF DEF,A05_3C                                                             DOWND3C.2      
C (c) CROWN COPYRIGHT 1997, METEOROLOGICAL OFFICE, All Rights Reserved.    DOWND3C.3      
C                                                                          DOWND3C.4      
C Use, duplication or disclosure of this code is subject to the            DOWND3C.5      
C restrictions as set forth in the contract.                               DOWND3C.6      
C                                                                          DOWND3C.7      
C                Meteorological Office                                     DOWND3C.8      
C                London Road                                               DOWND3C.9      
C                BRACKNELL                                                 DOWND3C.10     
C                Berkshire UK                                              DOWND3C.11     
C                RG12 2SZ                                                  DOWND3C.12     
C                                                                          DOWND3C.13     
C If no contract has been raised with this copy of the code, the use,      DOWND3C.14     
C duplication or disclosure of it is strictly prohibited.  Permission      DOWND3C.15     
C to do so must first be obtained in writing from the Head of Numerical    DOWND3C.16     
C Modelling at the above address.                                          DOWND3C.17     
C ******************************COPYRIGHT******************************    DOWND3C.18     
C                                                                          DOWND3C.19     
CLL  SUBROUTINE DOWND--------------------------------------------------    DOWND3C.20     
CLL                                                                        DOWND3C.21     
CLL  PURPOSE : CALL DOWNDRAUGHT CALCULATION                                DOWND3C.22     
CLL                                                                        DOWND3C.23     
CLL            CHANGE OF PHASE CALCULATION WHERE NO DOWNDRAUGHT OCCURS     DOWND3C.24     
CLL                                                                        DOWND3C.25     
CLL  SUITABLE FOR SINGLE COLUMN MODEL USE                                  DOWND3C.26     
CLL                                                                        DOWND3C.27     
CLL                                                                        DOWND3C.28     
CLL  MODEL            MODIFICATION HISTORY:                                DOWND3C.29     
CLL VERSION  DATE                                                          DOWND3C.30     
!LL   4.4   17/10/97  New version optimised for T3E.                       DOWND3C.31     
!LL                   Loop splitting by hand for T3E optimisation          DOWND3C.32     
!LL                                                   D.Salmond            DOWND3C.33     
!LL   4.5   19/05/98   Pass L_PHASE_LIM down to CHG_PHSE to determine      AJX1F405.51     
!LL                  treatment of precip below cloud base. Julie Gregory   AJX1F405.52     
CLL   4.5    Jul. 98  Kill the IBM specific lines (JCThil)                 AJC1F405.29     
CLL                                                                        DOWND3C.34     
CLL                                                                        DOWND3C.35     
CLL  PROGRAMMING STANDARDS : UNIFIED MODEL DOCUMENTATION PAPER NO. 3       DOWND3C.36     
CLL  VERSION NO. 4  DATED 5/2/92                                           DOWND3C.37     
CLL                                                                        DOWND3C.38     
CLL  SYSTEM TASK : P27                                                     DOWND3C.39     
CLL                                                                        DOWND3C.40     
CLL  DOCUMENTATION : UNIFIED MODEL DOCUMENTATION PAPER 27                  DOWND3C.41     
CLL                                                                        DOWND3C.42     
CLLEND-----------------------------------------------------------------    DOWND3C.43     
C                                                                          DOWND3C.44     
C*L  ARGUMENTS---------------------------------------------------------    DOWND3C.45     
C                                                                          DOWND3C.46     

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