*IF DEF,A05_3B,OR,DEF,A05_3C                                               AJX1F405.173    
C (c) CROWN COPYRIGHT 1995, METEOROLOGICAL OFFICE, All Rights Reserved.    GTS2F400.14640  
C                                                                          GTS2F400.14641  
C Use, duplication or disclosure of this code is subject to the            GTS2F400.14642  
C restrictions as set forth in the contract.                               GTS2F400.14643  
C                                                                          GTS2F400.14644  
C                Meteorological Office                                     GTS2F400.14645  
C                London Road                                               GTS2F400.14646  
C                BRACKNELL                                                 GTS2F400.14647  
C                Berkshire UK                                              GTS2F400.14648  
C                RG12 2SZ                                                  GTS2F400.14649  
C                                                                          GTS2F400.14650  
C If no contract has been raised with this copy of the code, the use,      GTS2F400.14651  
C duplication or disclosure of it is strictly prohibited.  Permission      GTS2F400.14652  
C to do so must first be obtained in writing from the Head of Numerical    GTS2F400.14653  
C Modelling at the above address.                                          GTS2F400.14654  
C ******************************COPYRIGHT******************************    GTS2F400.14655  
C                                                                          GTS2F400.14656  
CLL  SUBROUTINE DD_INIT------------------------------------------------    DDINIT3A.3      
CLL                                                                        DDINIT3A.4      
CLL  PURPOSE : ROUTINE TO INITIALISE THE DOWNDRAUGHT                       DDINIT3A.5      
CLL                                                                        DDINIT3A.6      
CLL  SUITABLE FOR SINGLE COLUMN MODEL USE                                  DDINIT3A.7      
CLL                                                                        DDINIT3A.8      
CLL                                                                        DDINIT3A.9      
CLL  MODEL            MODIFICATION HISTORY FROM MODEL VERSION 3.0:         DDINIT3A.10     
CLL VERSION  DATE                                                          DDINIT3A.11     
CLL   4.0   5/5/95    New deck added for version 3A of convection          DDINIT3A.12     
CLL                   scheme. Includes tracers and momentum in the         DDINIT3A.13     
CLL                   convective parcel. removes model level               DDINIT3A.14     
CLL                   dependence in initiation of downdraught.             DDINIT3A.15     
CLL                   Pete Inness.                                         DDINIT3A.16     
!     4.2  10/01/97   Split up IF statement to prevent use of              ADR2F402.42     
!                     uninitialised values in BUOY array. D. Robinson.     ADR2F402.43     
!     4.3  19/03/97   Split up another IF statement to prevent use of      ADR4F403.5      
!                     uninitialised values in BUOY array. D. Robinson.     ADR4F403.6      
CLL   4.5    Jul. 98  Kill the IBM specific lines (JCThil)                 AJC1F405.25     
CLL                                                                        DDINIT3A.17     
CLL  PROGRAMMING STANDARDS : UNIFIED MODEL DOCUMENTATION PAPER NO. 3       DDINIT3A.18     
CLL  VERSION NO. 4  DATED 5/2/92                                           DDINIT3A.19     
CLL                                                                        DDINIT3A.20     
CLL  LOGICAL COMPONENTS COVERED:                                           DDINIT3A.21     
CLL                                                                        DDINIT3A.22     
CLL  SYSTEM TASK : P27                                                     DDINIT3A.23     
CLL                                                                        DDINIT3A.24     
CLL  DOCUMENTATION : UNIFIED MODEL DOCUMENTATION PAPER P27                 DDINIT3A.25     
CLL                                                                        DDINIT3A.26     
CLLEND-----------------------------------------------------------------    DDINIT3A.27     
C                                                                          DDINIT3A.28     
C*L  ARGUMENTS---------------------------------------------------------    DDINIT3A.29     
C                                                                          DDINIT3A.30     

      SUBROUTINE DD_INIT(NPNTS,NP_FULL,TH_UD_K,Q_UD_K,THE_K,QE_K,PK,        4,2DDINIT3A.31     
     &                   EXK,THDD_K,QDD_K,DELTD,DELQD,BDD_START,K,BDDI,    DDINIT3A.32     
     &                   BDD_ON,L_MOM,U_UD_K,V_UD_K,UE_K,VE_K,UDD_K,       DDINIT3A.33     
     &                   VDD_K,DELUD,DELVD,L_TRACER,NTRA,TRA_UD_K,         DDINIT3A.34     
     &                   TRAE_K,TRADD_K,DELTRAD)                           DDINIT3A.35     
C                                                                          DDINIT3A.36     
      IMPLICIT NONE                                                        DDINIT3A.37     
C                                                                          DDINIT3A.38     
C-----------------------------------------------------------------------   DDINIT3A.39     
C MODEL CONSTANTS                                                          DDINIT3A.40     
C-----------------------------------------------------------------------   DDINIT3A.41     
*CALL C_EPSLON                                                             DDINIT3A.42     
C-----------------------------------------------------------------------   DDINIT3A.43     
C VECTOR LENGTHS AND LOOP COUNTERS                                         DDINIT3A.44     
C-----------------------------------------------------------------------   DDINIT3A.45     
C                                                                          DDINIT3A.46     
C                                                                          DDINIT3A.50     
      INTEGER I,KTRA            ! LOOP COUNTERS                            DDINIT3A.51     
C                                                                          DDINIT3A.52     
      INTEGER NPNTS             ! VECTOR LENGTH                            DDINIT3A.53     
C                                                                          DDINIT3A.54     
      INTEGER NP_FULL           ! FULL VECTOR LENGTH                       DDINIT3A.55     
C                                                                          DDINIT3A.56     
      INTEGER NTRA              ! NUMBER OF TRACER VARIABLES               DDINIT3A.57     
C                                                                          DDINIT3A.58     
      INTEGER K                 ! IN PRESENT MODEL LAYER                   DDINIT3A.59     
C                                                                          DDINIT3A.60     
C-----------------------------------------------------------------------   DDINIT3A.61     
C VARIABLES WHICH ARE INPUT                                                DDINIT3A.62     
C-----------------------------------------------------------------------   DDINIT3A.63     
C                                                                          DDINIT3A.64     
      REAL THE_K(NPNTS)         ! IN POTENTIAL TEMPERATURE OF              DDINIT3A.65     
                                !    ENVIRONMENT IN LAYER K (K)            DDINIT3A.66     
C                                                                          DDINIT3A.67     
      REAL TH_UD_K(NPNTS)       ! IN PARCEL POTENTIAL TEMPERATURE OF       DDINIT3A.68     
                                !    UPDRAUGHT, LAYER K (K)                DDINIT3A.69     
C                                                                          DDINIT3A.70     
      REAL QE_K(NPNTS)          ! IN MIXING RATIO OF ENVIRONMENT IN        DDINIT3A.71     
                                !    LAYER K (KG/KG)                       DDINIT3A.72     
C                                                                          DDINIT3A.73     
      REAL Q_UD_K(NPNTS)        ! IN PARCEL MIXING RATIO OF UPDRAUGHT,     DDINIT3A.74     
                                !    LAYER K (KG/KG)                       DDINIT3A.75     
C                                                                          DDINIT3A.76     
      REAL UE_K(NPNTS)          ! IN U IN ENVIRONMENT IN LAYER K (M/S)     DDINIT3A.77     
C                                                                          DDINIT3A.78     
      REAL U_UD_K(NPNTS)        ! IN PARCEL U OF UPDRAUGHT IN LAYER K      DDINIT3A.79     
                                !    (M/S)                                 DDINIT3A.80     
C                                                                          DDINIT3A.81     
      REAL VE_K(NPNTS)          ! IN V IN ENVIRONMENT IN LAYER K (M/S)     DDINIT3A.82     
C                                                                          DDINIT3A.83     
      REAL V_UD_K(NPNTS)        ! IN PARCEL V OF UPDRAUGHT IN LAYER K      DDINIT3A.84     
                                !    (M/S)                                 DDINIT3A.85     
C                                                                          DDINIT3A.86     
      REAL TRAE_K(NP_FULL,NTRA) ! IN TRACER CONTENT OF ENVIRONMENT         DDINIT3A.87     
                                !    IN LAYER K (KG/KG)                    DDINIT3A.88     
C                                                                          DDINIT3A.89     
      REAL TRA_UD_K(NP_FULL,    ! IN PARCEL TRACER CONTENT OF              DDINIT3A.90     
     *              NTRA)       !    UPDRAUGHT IN LAYER K (KG/KG)          DDINIT3A.91     
C                                                                          DDINIT3A.92     
      REAL EXK(NPNTS)           ! IN EXNER RATIO OF LAYER K                DDINIT3A.93     
C                                                                          DDINIT3A.94     
      REAL PK(NPNTS)            ! IN PRESSURE OF LAYER K (PA)              DDINIT3A.95     
C                                                                          DDINIT3A.96     
      LOGICAL BDDI(NPNTS)       ! IN MASK FOR THOSE POINTS WHERE           DDINIT3A.97     
                                !    DOWNDRAUGHT MAY INITIATE              DDINIT3A.98     
C                                                                          DDINIT3A.99     
      LOGICAL BDD_ON(NPNTS)     ! IN MASK FOR THOSE POINTS WHERE           DDINIT3A.100    
                                !    DOWNDRAUGHT IS ON                     DDINIT3A.101    
C                                                                          DDINIT3A.102    
      LOGICAL L_TRACER          ! IN SWITCH FOR INCLUSION OF TRACERS       DDINIT3A.103    
C                                                                          DDINIT3A.104    
      LOGICAL L_MOM             ! IN SWITCH FOR INCLUSION OF               DDINIT3A.105    
                                !    MOMENTUM TRANSPORTS                   DDINIT3A.106    
C                                                                          DDINIT3A.107    
C-----------------------------------------------------------------------   DDINIT3A.108    
C VARIABLES WHICH ARE INPUT AND OUTPUT                                     DDINIT3A.109    
C-----------------------------------------------------------------------   DDINIT3A.110    
C                                                                          DDINIT3A.111    
      LOGICAL BDD_START(NPNTS)  ! INOUT                                    DDINIT3A.112    
                                ! IN  MASK FOR THOSE POINT WHERE           DDINIT3A.113    
                                !     DOWNDRAUGHT MAY START                DDINIT3A.114    
                                ! OUT MASK FOR THOSE POINTS WHERE          DDINIT3A.115    
                                !                                          DDINIT3A.116    
C                                                                          DDINIT3A.117    
C-----------------------------------------------------------------------   DDINIT3A.118    
C VARIABLES WHICH ARE OUTPUT                                               DDINIT3A.119    
C-----------------------------------------------------------------------   DDINIT3A.120    
C                                                                          DDINIT3A.121    
      REAL THDD_K(NPNTS)        ! OUT DOWNDRAUGHT POTENTIAL TEMPERATURE    DDINIT3A.122    
                                !     OF LAYER K                           DDINIT3A.123    
C                                                                          DDINIT3A.124    
      REAL QDD_K(NPNTS)         ! OUT DOWNDRAUGHT MIXING RATIO OF          DDINIT3A.125    
                                !     LAYER K                              DDINIT3A.126    
C                                                                          DDINIT3A.127    
      REAL UDD_K(NPNTS)         ! OUT DOWNDRAUGHT U IN LAYER K (M/S)       DDINIT3A.128    
C                                                                          DDINIT3A.129    
      REAL VDD_K(NPNTS)         ! OUT DOWNDRAUGHT V IN LAYER K (M/S)       DDINIT3A.130    
C                                                                          DDINIT3A.131    
      REAL TRADD_K(NP_FULL,     ! OUT DOWNDRAUGHT TRACER CONTENT OF        DDINIT3A.132    
     *             NTRA)        !     LAYER K                              DDINIT3A.133    
C                                                                          DDINIT3A.134    
      REAL DELTD(NPNTS)         ! OUT COOLING NECESSARY TO ACHIEVE         DDINIT3A.135    
                                !     SATURATION                           DDINIT3A.136    
C                                                                          DDINIT3A.137    
      REAL DELQD(NPNTS)         ! OUT MOISTENING NECESSARY TO ACHIEVE      DDINIT3A.138    
                                !     SATURATION                           DDINIT3A.139    
C                                                                          DDINIT3A.140    
      REAL DELUD(NPNTS)         ! OUT CHANGE TO ENVIRONMENT U DUE TO       DDINIT3A.141    
                                !     DOWNDRAUGHT FORMATION (M/S)          DDINIT3A.142    
C                                                                          DDINIT3A.143    
      REAL DELVD(NPNTS)         ! OUT CHANGE TO ENVIRONMENT V DUE TO       DDINIT3A.144    
                                !     DOWNDRAUGHT FORMATION (M/S)          DDINIT3A.145    
C                                                                          DDINIT3A.146    
      REAL DELTRAD(NP_FULL,NTRA)! OUT DEPLETION OF ENVIRONMENT TRACER      DDINIT3A.147    
                                !     DUE TO FORMATION OF DOWNDRAUGHT      DDINIT3A.148    
C                                                                          DDINIT3A.149    
C-----------------------------------------------------------------------   DDINIT3A.150    
C VARIABLES WHICH ARE DEFINED LOCALLY                                      DDINIT3A.151    
C-----------------------------------------------------------------------   DDINIT3A.152    
C                                                                          DDINIT3A.153    
C                                                                          DDINIT3A.187    
      REAL TH_MEAN(NPNTS)       ! MEAN POTENTIAL TEMPERATURE USED IN       DDINIT3A.188    
                                ! CALCULATION OF SATURATED DOWNDRAUGHT     DDINIT3A.189    
                                ! POTENTIAL TEMPERATURE IN LAYER K         DDINIT3A.190    
C                                                                          DDINIT3A.191    
      REAL Q_MEAN(NPNTS)        ! MEAN MIXING RATIO USED IN CALCULATION    DDINIT3A.192    
                                ! OF SATURATED DOWNDRAUGHT                 DDINIT3A.193    
                                ! MIXING RATIO FOR LAYER K                 DDINIT3A.194    
C                                                                          DDINIT3A.195    
      REAL U_MEAN(NPNTS)        ! MEAN U USED IN CALCULATION OF DELUD      DDINIT3A.196    
                                ! FOR LAYER K                              DDINIT3A.197    
C                                                                          DDINIT3A.198    
      REAL V_MEAN(NPNTS)        ! MEAN V USED IN CALCULATION OF DELVD      DDINIT3A.199    
                                ! FOR LAYER K                              DDINIT3A.200    
C                                                                          DDINIT3A.201    
      REAL TRA_MEAN(NPNTS,NTRA) ! MEAN TRACER USED AS INITIAL TRACER       DDINIT3A.202    
                                ! CONTENT OF DOWNDRAUGHT IN LAYER K        DDINIT3A.203    
                                ! (KG/KG)                                  DDINIT3A.204    
C                                                                          DDINIT3A.205    
      REAL T_MEAN(NPNTS)        ! MEAN TEMPERATURE USED IN CALCULATION     DDINIT3A.206    
                                ! OF SATURATED DOWNDRAUGHT POTENTIAL       DDINIT3A.207    
                                ! TEMPERATURE OF LAYER K (K)               DDINIT3A.208    
C                                                                          DDINIT3A.209    
      REAL THDDS(NPNTS)         ! SATURATED DOWNDRAUGHT POTENTIAL          DDINIT3A.210    
                                ! TEMPERATURE IN LAYER K (K)               DDINIT3A.211    
C                                                                          DDINIT3A.212    
      REAL QDDS(NPNTS)          ! SATURATED DOWNDRAUGHT MIXING RATIO       DDINIT3A.213    
                                ! IN LAYER K (KG/KG)                       DDINIT3A.214    
C                                                                          DDINIT3A.215    
      REAL BUOY(NPNTS)          ! BUOYANCY OF PARCEL IN LAYER K            DDINIT3A.216    
C                                                                          DDINIT3A.217    
C                                                                          DDINIT3A.219    
      REAL THDD_V               ! VIRTUAL POTENTIAL TEMPERATURE OF         DDINIT3A.220    
                                ! PARCEL IN LAYER K                        DDINIT3A.221    
C                                                                          DDINIT3A.222    
      REAL THE_V                ! VIRTUAL POTENTIAL TEMPERATURE OF         DDINIT3A.223    
                                ! ENVIRONMENT IN LAYER K                   DDINIT3A.224    
C                                                                          DDINIT3A.225    
C-----------------------------------------------------------------------   DDINIT3A.226    
C EXTERNAL ROUTINES CALLED                                                 DDINIT3A.227    
C-----------------------------------------------------------------------   DDINIT3A.228    
C                                                                          DDINIT3A.229    
      EXTERNAL SATCAL                                                      DDINIT3A.230    
C                                                                          DDINIT3A.231    
C-----------------------------------------------------------------------   DDINIT3A.232    
C CALCULATE MEAN TEMPERATURE, MIXING RATIO, U, V AND TRACER                DDINIT3A.233    
C-----------------------------------------------------------------------   DDINIT3A.234    
C                                                                          DDINIT3A.235    
      DO I=1,NPNTS                                                         DDINIT3A.236    
       TH_MEAN(I) = (THE_K(I)+TH_UD_K(I))*0.5                              DDINIT3A.237    
       Q_MEAN(I) = (QE_K(I)+Q_UD_K(I))*0.5                                 DDINIT3A.238    
       T_MEAN(I) = TH_MEAN(I)*EXK(I)                                       DDINIT3A.239    
      END DO                                                               DDINIT3A.240    
C                                                                          DDINIT3A.241    
      IF(L_MOM)THEN                                                        DDINIT3A.242    
       DO I=1,NPNTS                                                        DDINIT3A.243    
        U_MEAN(I) = (UE_K(I)+U_UD_K(I))*0.5                                DDINIT3A.244    
        V_MEAN(I) = (VE_K(I)+V_UD_K(I))*0.5                                DDINIT3A.245    
       END DO                                                              DDINIT3A.246    
      END IF                                                               DDINIT3A.247    
      IF(L_TRACER)THEN                                                     DDINIT3A.248    
C                                                                          DDINIT3A.249    
      DO KTRA=1,NTRA                                                       DDINIT3A.250    
        DO I=1,NPNTS                                                       DDINIT3A.251    
          TRA_MEAN(I,KTRA) = (TRAE_K(I,KTRA)+TRA_UD_K(I,KTRA))*0.5         DDINIT3A.252    
        END DO                                                             DDINIT3A.253    
      END DO                                                               DDINIT3A.254    
C                                                                          DDINIT3A.255    
      END IF                                                               DDINIT3A.256    
C                                                                          DDINIT3A.257    
C                                                                          DDINIT3A.258    
C-----------------------------------------------------------------------   DDINIT3A.259    
C CALCULATE SATURATED DOWNDRAUGHT POTENTIAL TEMPERATURE FOR LAYER K        DDINIT3A.260    
C-----------------------------------------------------------------------   DDINIT3A.261    
C                                                                          DDINIT3A.262    
      CALL SATCAL(NPNTS,T_MEAN,TH_MEAN,PK,QDDS,THDDS,K,EXK,Q_MEAN,         DDINIT3A.263    
     *            THE_K)                                                   DDINIT3A.264    
C                                                                          DDINIT3A.265    
C-----------------------------------------------------------------------   DDINIT3A.266    
C IS SATURATED PARCEL NEGATIVELY BUOYANT COMPARED TO ENVIRONMENT           DDINIT3A.267    
C-----------------------------------------------------------------------   DDINIT3A.268    
C                                                                          DDINIT3A.269    
      DO I=1,NPNTS                                                         DDINIT3A.270    
       IF (.NOT. BDD_ON(I) .AND. BDDI(I) ) THEN                            DDINIT3A.271    
          THDD_V = THDDS(I)*(1.0+C_VIRTUAL*QDDS(I))                        DDINIT3A.272    
          THE_V = THE_K(I)*(1.0+C_VIRTUAL*QE_K(I))                         DDINIT3A.273    
          BUOY(I) = THDD_V - THE_V                                         DDINIT3A.274    
C                                                                          DDINIT3A.275    
          IF (BUOY(I) .LT. 0.5 ) THEN                                      DDINIT3A.276    
C                                                                          DDINIT3A.277    
C-----------------------------------------------------------------------   DDINIT3A.278    
C INITIATE DOWNDRAUGHT                                                     DDINIT3A.279    
C-----------------------------------------------------------------------   DDINIT3A.280    
C                                                                          DDINIT3A.281    
             THDD_K(I) = THDDS(I)                                          DDINIT3A.282    
             QDD_K(I) = QDDS(I)                                            DDINIT3A.283    
             BDD_START(I) = .TRUE.                                         DDINIT3A.284    
C                                                                          DDINIT3A.285    
C-----------------------------------------------------------------------   DDINIT3A.286    
C CALCULATE COOLING AND MOISTENING TO ACHIEVE SATURATION                   DDINIT3A.287    
C-----------------------------------------------------------------------   DDINIT3A.288    
C                                                                          DDINIT3A.289    
             DELTD(I) = THDDS(I)-THE_K(I)                                  DDINIT3A.290    
             DELQD(I) = QDDS(I)-QE_K(I)                                    DDINIT3A.291    
          END IF                                                           DDINIT3A.292    
       END IF                                                              DDINIT3A.293    
      END DO                                                               DDINIT3A.294    
C                                                                          DDINIT3A.295    
      IF(L_MOM)THEN                                                        DDINIT3A.296    
        DO I=1,NPNTS                                                       DDINIT3A.297    
          IF(.NOT.BDD_ON(I).AND.BDDI(I))THEN                               ADR2F402.44     
            IF(BUOY(I).LT.0.5)THEN                                         ADR2F402.45     
             UDD_K(I) = U_MEAN(I)                                          DDINIT3A.299    
             VDD_K(I) = V_MEAN(I)                                          DDINIT3A.300    
             DELUD(I) = UDD_K(I)-UE_K(I)                                   DDINIT3A.301    
             DELVD(I) = VDD_K(I)-VE_K(I)                                   DDINIT3A.302    
            END IF                                                         ADR2F402.46     
          END IF                                                           DDINIT3A.303    
        END DO                                                             DDINIT3A.304    
      END IF                                                               DDINIT3A.305    
C                                                                          DDINIT3A.306    
C                                                                          DDINIT3A.307    
      IF(L_TRACER)THEN                                                     DDINIT3A.308    
C                                                                          DDINIT3A.309    
        DO KTRA=1,NTRA                                                     DDINIT3A.310    
          DO I=1,NPNTS                                                     DDINIT3A.311    
            IF(.NOT.BDD_ON(I).AND.BDDI(I).AND.K.GE.4)THEN                  ADR4F403.7      
              IF(BUOY(I).LT.0.5)THEN                                       ADR4F403.8      
              TRADD_K(I,KTRA) = TRA_MEAN(I,KTRA)                           DDINIT3A.314    
              DELTRAD(I,KTRA) = TRADD_K(I,KTRA)-TRAE_K(I,KTRA)             DDINIT3A.315    
              END IF                                                       ADR4F403.9      
            END IF                                                         DDINIT3A.316    
          END DO                                                           DDINIT3A.317    
        END DO                                                             DDINIT3A.318    
C                                                                          DDINIT3A.319    
      END IF                                                               DDINIT3A.320    
      RETURN                                                               DDINIT3A.321    
      END                                                                  DDINIT3A.322    
C                                                                          DDINIT3A.323    
*ENDIF                                                                     DDINIT3A.324