*IF DEF,A05_3B,OR,DEF,A05_3C                                               AJX1F405.179    
C (c) CROWN COPYRIGHT 1995, METEOROLOGICAL OFFICE, All Rights Reserved.    GTS2F400.14589  
C                                                                          GTS2F400.14590  
C Use, duplication or disclosure of this code is subject to the            GTS2F400.14591  
C restrictions as set forth in the contract.                               GTS2F400.14592  
C                                                                          GTS2F400.14593  
C                Meteorological Office                                     GTS2F400.14594  
C                London Road                                               GTS2F400.14595  
C                BRACKNELL                                                 GTS2F400.14596  
C                Berkshire UK                                              GTS2F400.14597  
C                RG12 2SZ                                                  GTS2F400.14598  
C                                                                          GTS2F400.14599  
C If no contract has been raised with this copy of the code, the use,      GTS2F400.14600  
C duplication or disclosure of it is strictly prohibited.  Permission      GTS2F400.14601  
C to do so must first be obtained in writing from the Head of Numerical    GTS2F400.14602  
C Modelling at the above address.                                          GTS2F400.14603  
C ******************************COPYRIGHT******************************    GTS2F400.14604  
C                                                                          GTS2F400.14605  
CLL  SUBROUTINE ENVIRON------------------------------------------------    ENVIRO3A.3      
CLL                                                                        ENVIRO3A.4      
CLL  PURPOSE : CALCULATE THE EFFECT OF CONVECTION UPON THE                 ENVIRO3A.5      
CLL            LARGE-SCALE ATMOSPHERE                                      ENVIRO3A.6      
CLL                                                                        ENVIRO3A.7      
CLL  SUITABLE FOR SINGLE COLUMN MODEL USE                                  ENVIRO3A.8      
CLL                                                                        ENVIRO3A.9      
CLL                                                                        ENVIRO3A.10     
CLL  MODEL            MODIFICATION HISTORY FROM MODEL VERSION 3.0:         ENVIRO3A.11     
CLL VERSION  DATE                                                          ENVIRO3A.12     
CCL   4.0    5/05/95   : New deck added for version 3A of convection       ENVIRO3A.13     
CLL                      scheme, based on ENVIRO2B.                        ENVIRO3A.14     
CLL                      Includes updating of tracers and momentum.        ENVIRO3A.15     
CLL                      Pete Inness.                                      ENVIRO3A.16     
CLL                                                                        ENVIRO3A.17     
CLL   4.3    03/02/97  Allow facility to switch off, under contol of a     ARN2F403.56     
CLL                    logical, code which cools and dries the layer       ARN2F403.57     
CLL                    where convection initiates to compensate for the    ARN2F403.58     
CLL                    initial parcel excess temperature and moisture;     ARN2F403.59     
CLL                    also, separately, the code which sets the           ARN2F403.60     
CLL                    parcel excess in model layer 1 to the s.d. of       ARN2F403.61     
CLL                    the turbulent fluctuations.                         ARN2F403.62     
CLL                                                  R.N.B.Smith           ARN2F403.63     
CLL                                                                        ARN2F403.64     
CLL  PROGRAMMING STANDARDS : UNIFIED MODEL DOCUMENTATION PAPER NO. 4       ENVIRO3A.18     
CLL  VERSION NO. 1                                                         ENVIRO3A.19     
CLL                                                                        ENVIRO3A.20     
CLL  LOGICAL COMPONENTS COVERED: P27                                       ENVIRO3A.21     
CLL                                                                        ENVIRO3A.22     
CLL  SYSTEM TASK :                                                         ENVIRO3A.23     
CLL                                                                        ENVIRO3A.24     
CLL  DOCUMENTATION : UNIFIED MODEL DOCUMENTATION PAPER P27                 ENVIRO3A.25     
CLL                                                                        ENVIRO3A.26     
CLLEND-----------------------------------------------------------------    ENVIRO3A.27     
C                                                                          ENVIRO3A.28     
C*L  ARGUMENTS---------------------------------------------------------    ENVIRO3A.29     
C                                                                          ENVIRO3A.30     

      SUBROUTINE ENVIRON (K,NPNTS,NP_FULL,DTHEK,DQEK,DTHEKP1,DQEKP1,        3ENVIRO3A.31     
     *                    THEK,QEK,DELTAK,FLXK,THPK,QPK,                   ENVIRO3A.32     
     *                    THRK,QRK,THEKP1,QEKP1,BTERM,THPKP1,              ENVIRO3A.33     
     *                    QPKP1,XPK,XPKP1,BWKP1,FLXKP1,BLOWST,             ENVIRO3A.34     
     *                    EKP14,EXK,EXKP1,DELPK,DELPKP1,AMDETK,T1_SD,      ENVIRO3A.35     
     *                    Q1_SD,L_MOM,DUEK,DVEK,DUEKP1,DVEKP1,UEK,VEK,     ENVIRO3A.36     
     *                    UPK,VPK,UEKP1,VEKP1,UPKP1,VPKP1,EFLUX_U_UD,      ENVIRO3A.37     
     *                    EFLUX_V_UD,L_SHALLOW,                            ENVIRO3A.38     
     *                    L_MID,L_TRACER,NTRA,DTRAEK,DTRAEKP1,             ENVIRO3A.39     
     *                    TRAEK,TRAPK,TRAEKP1,TRAPKP1,L_XSCOMP,L_SDXS)     ARN2F403.65     
C                                                                          ENVIRO3A.41     
      IMPLICIT NONE                                                        ENVIRO3A.42     
C                                                                          ENVIRO3A.43     
C-----------------------------------------------------------------------   ENVIRO3A.44     
C MODEL CONSTANTS                                                          ENVIRO3A.45     
C-----------------------------------------------------------------------   ENVIRO3A.46     
C                                                                          ENVIRO3A.47     
*CALL C_R_CP                                                               ENVIRO3A.48     
*CALL C_LHEAT                                                              ENVIRO3A.49     
*CALL PARXS                                                                ENVIRO3A.50     
C                                                                          ENVIRO3A.51     
C-----------------------------------------------------------------------   ENVIRO3A.52     
C VECTOR LENGTHS AND LOOP COUNTERS                                         ENVIRO3A.53     
C-----------------------------------------------------------------------   ENVIRO3A.54     
C                                                                          ENVIRO3A.55     
      INTEGER NPNTS          ! IN VECTOR LENGTH                            ENVIRO3A.56     
C                                                                          ENVIRO3A.57     
      INTEGER NP_FULL        ! IN FULL VECTOR LENGTH                       ENVIRO3A.58     
C                                                                          ENVIRO3A.59     
      INTEGER NTRA           ! IN NUMBER OF TRACERS                        ENVIRO3A.60     
C                                                                          ENVIRO3A.61     
      INTEGER I,KTRA         ! LOOP COUNTERS                               ENVIRO3A.62     
C                                                                          ENVIRO3A.63     
      INTEGER K              ! IN NUMBER OF MODEL LEVELS                   ENVIRO3A.64     
C                                                                          ENVIRO3A.65     
C-----------------------------------------------------------------------   ENVIRO3A.66     
C VARIABLES THAT ARE INPUT                                                 ENVIRO3A.67     
C-----------------------------------------------------------------------   ENVIRO3A.68     
C                                                                          ENVIRO3A.69     
      REAL THEK(NPNTS)       ! IN POTENTIAL TEMPERATURE OF CLOUD           ENVIRO3A.70     
                             !    ENVIRONMENT IN LAYER K (K)               ENVIRO3A.71     
C                                                                          ENVIRO3A.72     
      REAL THEKP1(NPNTS)     ! IN POTENTIAL TEMPERATURE OF CLOUD           ENVIRO3A.73     
                             !    ENVIRONMENT IN LAYER K+1 (K)             ENVIRO3A.74     
C                                                                          ENVIRO3A.75     
      REAL QEK(NPNTS)        ! IN MIXING RATIO OF CLOUD                    ENVIRO3A.76     
                             !    ENVIRONMENT IN LAYER K (KG/KG)           ENVIRO3A.77     
C                                                                          ENVIRO3A.78     
      REAL QEKP1(NPNTS)      ! IN MIXING RATIO OF CLOUD                    ENVIRO3A.79     
                             !    ENVIRONMENT IN LAYER K+1 (KG/KG)         ENVIRO3A.80     
C                                                                          ENVIRO3A.81     
      REAL UEK(NPNTS)        ! IN ENVIRONMENT U IN LAYER K (M/S)           ENVIRO3A.82     
C                                                                          ENVIRO3A.83     
      REAL UEKP1(NPNTS)      ! IN ENVIRONMENT U IN LAYER K+1 (M/S)         ENVIRO3A.84     
C                                                                          ENVIRO3A.85     
      REAL VEK(NPNTS)        ! IN ENVIRONMENT V IN LAYER K (M/S)           ENVIRO3A.86     
C                                                                          ENVIRO3A.87     
      REAL VEKP1(NPNTS)      ! IN ENVIRONMENT V IN LAYER K+1 (M/S)         ENVIRO3A.88     
C                                                                          ENVIRO3A.89     
      REAL TRAEK(NP_FULL,    ! IN TRACER OF CLOUD ENVIRONMENT              ENVIRO3A.90     
     *           NTRA)       !    IN LAYER K (KG/KG)                       ENVIRO3A.91     
C                                                                          ENVIRO3A.92     
      REAL TRAEKP1(NP_FULL,  ! IN TRACER OF CLOUD ENVIRONMENT              ENVIRO3A.93     
     *             NTRA)     !    IN LAYER K+1 (KG/KG)                     ENVIRO3A.94     
C                                                                          ENVIRO3A.95     
      REAL THPK(NPNTS)       ! IN PARCEL POTENTIAL TEMPERATURE IN          ENVIRO3A.96     
                             !    LAYER K (K)                              ENVIRO3A.97     
C                                                                          ENVIRO3A.98     
      REAL QPK(NPNTS)        ! IN PARCEL MIXING RATIO IN LAYER K (KG/KG)   ENVIRO3A.99     
C                                                                          ENVIRO3A.100    
      REAL UPK(NPNTS)        ! IN PARCEL U IN LAYER K (M/S)                ENVIRO3A.101    
C                                                                          ENVIRO3A.102    
      REAL VPK(NPNTS)        ! IN PARCEL V IN LAYER K (M/S)                ENVIRO3A.103    
C                                                                          ENVIRO3A.104    
      REAL TRAPK(NP_FULL,    ! IN PARCEL TRACER IN LAYER K (KG/KG)         ENVIRO3A.105    
     *           NTRA)                                                     ENVIRO3A.106    
C                                                                          ENVIRO3A.107    
      REAL THPKP1(NPNTS)     ! IN PARCEL POTENTIAL TEMPERATURE IN          ENVIRO3A.108    
                             !    LAYER K+1 (K)                            ENVIRO3A.109    
C                                                                          ENVIRO3A.110    
      REAL QPKP1(NPNTS)      ! IN PARCEL MIXING RATIO IN LAYER K+1         ENVIRO3A.111    
                             !    (KG/KG)                                  ENVIRO3A.112    
C                                                                          ENVIRO3A.113    
      REAL UPKP1(NPNTS)      ! IN PARCEL U IN LAYER K+1 (M/S)              ENVIRO3A.114    
C                                                                          ENVIRO3A.115    
      REAL VPKP1(NPNTS)      ! IN PARCEL V IN LAYER K+1 (M/S)              ENVIRO3A.116    
C                                                                          ENVIRO3A.117    
      REAL TRAPKP1(NP_FULL,  ! IN PARCEL TRACER IN LAYER K+1               ENVIRO3A.118    
     *             NTRA)     !    (KG/KG)                                  ENVIRO3A.119    
C                                                                          ENVIRO3A.120    
      REAL XPK(NPNTS)        ! IN PARCEL CLOUD WATER IN LAYER K (KG/KG)    ENVIRO3A.121    
C                                                                          ENVIRO3A.122    
      REAL FLXK(NPNTS)       ! IN PARCEL MASSFLUX IN LAYER K (PA/S)        ENVIRO3A.123    
C                                                                          ENVIRO3A.124    
      LOGICAL BWKP1(NPNTS)   ! IN MASK FOR WHETHER CONDENSATE IS           ENVIRO3A.125    
                             !    LIQUID IN LAYER K+1                      ENVIRO3A.126    
C                                                                          ENVIRO3A.127    
      LOGICAL BTERM(NPNTS)   ! IN MASK FOR PARCELS WHICH TERMINATE IN      ENVIRO3A.128    
                             !    LAYER K+1                                ENVIRO3A.129    
C                                                                          ENVIRO3A.130    
      LOGICAL BLOWST(NPNTS)  ! IN MASK FOR THOSE POINTS AT WHICH           ENVIRO3A.131    
                             !    STABILITY IS LOW ENOUGH FOR              ENVIRO3A.132    
                             !    CONVECTION TO OCCUR                      ENVIRO3A.133    
C                                                                          ENVIRO3A.134    
      LOGICAL L_SHALLOW(NPNTS), !IN SWITCHES FOR TYPE OF CONVECTION        ENVIRO3A.135    
     *          L_MID(NPNTS)    !   LIKELY TO DEVELOP                      ENVIRO3A.136    
C                                                                          ENVIRO3A.137    
      LOGICAL L_TRACER       ! IN SWITCH FOR INCLUSION OF TRACERS          ENVIRO3A.138    
C                                                                          ENVIRO3A.139    
      LOGICAL L_MOM          ! IN SWITCH FOR INCLUSION OF                  ENVIRO3A.140    
                             !    MOMENTUM TRANSPORTS                      ENVIRO3A.141    
C                                                                          ENVIRO3A.142    
      LOGICAL L_XSCOMP       ! IN Switch for allowing compensating         ARN2F403.66     
                             !    cooling and drying of the environment    ARN2F403.67     
                             !    in initiating layer                      ARN2F403.68     
C                                                                          ARN2F403.69     
      LOGICAL L_SDXS         ! IN Switch for allowing parcel excess to     ARN2F403.70     
                             !    be set to s.d. of turbulent              ARN2F403.71     
                             !    fluctuations in lowest model layer       ARN2F403.72     
C                                                                          ARN2F403.73     
      REAL THRK(NPNTS)       ! IN PARCEL DETRAINMENT POTENTIAL             ENVIRO3A.143    
                             !    TEMPERATURE IN LAYER K (K)               ENVIRO3A.144    
C                                                                          ENVIRO3A.145    
      REAL QRK(NPNTS)        ! IN PARCEL DETRAINMENT MIXING RATIO          ENVIRO3A.146    
                             !    IN LAYER K (KG/KG)                       ENVIRO3A.147    
C                                                                          ENVIRO3A.148    
      REAL XPKP1(NPNTS)      ! IN PARCEL CLOUD WATER IN LAYER K+1          ENVIRO3A.149    
                             !    (KG/KG)                                  ENVIRO3A.150    
C                                                                          ENVIRO3A.151    
      REAL FLXKP1(NPNTS)     ! IN PARCEL MASSFLUX IN LAYER K+1 (PA/S)      ENVIRO3A.152    
C                                                                          ENVIRO3A.153    
      REAL DELTAK(NPNTS)     ! IN PARCEL FORCED DETRAINMENT RATE           ENVIRO3A.154    
                             !    IN LAYER K MULTIPLIED BY APPROPRIATE     ENVIRO3A.155    
                             !    LAYER THICKNESS                          ENVIRO3A.156    
C                                                                          ENVIRO3A.157    
      REAL EKP14(NPNTS)      ! IN ENTRAINMENT RATE FOR LEVEL K+1/4         ENVIRO3A.158    
                             !    MULTIPLIED BY APPROPRIATE LAYER          ENVIRO3A.159    
                             !    THICKNESS                                ENVIRO3A.160    
C                                                                          ENVIRO3A.161    
      REAL EXK(NPNTS)        ! IN EXNER RATIO FOR MID-POINT OF LAYER K     ENVIRO3A.162    
C                                                                          ENVIRO3A.163    
      REAL EXKP1(NPNTS)      ! IN EXNER RATIO FOR MID-POINT OF             ENVIRO3A.164    
                             !    LAYER K+1                                ENVIRO3A.165    
C                                                                          ENVIRO3A.166    
      REAL DELPK(NPNTS)      ! IN PRESSURE DIFFERENCE ACROSS LAYER K       ENVIRO3A.167    
                             !    (PA)                                     ENVIRO3A.168    
C                                                                          ENVIRO3A.169    
      REAL DELPKP1(NPNTS)    ! IN PRESSURE DIFFERENCE ACROSS LAYER K+1     ENVIRO3A.170    
                             !    (PA)                                     ENVIRO3A.171    
C                                                                          ENVIRO3A.172    
      REAL AMDETK(NPNTS)     ! IN MIXING DETRIANMENT AT LEVEL K            ENVIRO3A.173    
                             !    MULTIPLIED BY APPROPRIATE LAYER          ENVIRO3A.174    
                             !    THICKNESS                                ENVIRO3A.175    
C                                                                          ENVIRO3A.176    
      REAL T1_SD(NPNTS)      ! IN Standard deviation of turbulent          ENVIRO3A.177    
C                            !    fluctuations of layer 1                  ENVIRO3A.178    
C                            !    temperature (K).                         ENVIRO3A.179    
      REAL Q1_SD(NPNTS)      ! IN Standard deviation of turbulent          ENVIRO3A.180    
C                            !    fluctuations of layer 1                  ENVIRO3A.181    
C                            !    humidity (kg/kg).                        ENVIRO3A.182    
C                                                                          ENVIRO3A.183    
C-----------------------------------------------------------------------   ENVIRO3A.184    
C VARIABLES THAT ARE INPUT AND OUTPUT                                      ENVIRO3A.185    
C-----------------------------------------------------------------------   ENVIRO3A.186    
C                                                                          ENVIRO3A.187    
      REAL DTHEK(NPNTS)      ! INOUT                                       ENVIRO3A.188    
                             ! IN  INCREMENT TO MODEL POTENTIAL            ENVIRO3A.189    
                             !     TEMPERATURE IN LAYER K DUE TO           ENVIRO3A.190    
                             !     CONVECTION (MAY BE NONE ZERO            ENVIRO3A.191    
                             !     DUE TO A PREVIOUS SPLIT FINAL           ENVIRO3A.192    
                             !     DETRAINMENT CALCULATION) (K/S)          ENVIRO3A.193    
                             ! OUT UPDATED INCREMENT TO MODEL POTENTIAL    ENVIRO3A.194    
                             !     TEMPERATURE IN LAYER K DUE TO           ENVIRO3A.195    
                             !     CONVECTION (K/S)                        ENVIRO3A.196    
C                                                                          ENVIRO3A.197    
      REAL DQEK(NPNTS)       ! INOUT                                       ENVIRO3A.198    
                             ! IN  INCREMENT TO MODEL MIXING RATIO         ENVIRO3A.199    
                             !     IN LAYER K DUE TO CONVECTION            ENVIRO3A.200    
                             !     (MAY BE NONE ZERO                       ENVIRO3A.201    
                             !     DUE TO A PREVIOUS SPLIT FINAL           ENVIRO3A.202    
                             !     DETRAINMENT CALCULATION) (KG/KG/S)      ENVIRO3A.203    
                             ! OUT UPDATED INCREMENT TO MODEL MIXING       ENVIRO3A.204    
                             !     RATIO IN LAYER K DUE TO                 ENVIRO3A.205    
                             !     CONVECTION (KG/KG/S)                    ENVIRO3A.206    
C                                                                          ENVIRO3A.207    
      REAL DUEK(NPNTS)       ! INOUT                                       ENVIRO3A.208    
                             ! IN  INCREMENT TO MODEL U DUE TO             ENVIRO3A.209    
                             !     CONVECTION (M/S)                        ENVIRO3A.210    
                             ! OUT UPDATED INCREMENT TO MODEL U            ENVIRO3A.211    
                             !     DUE TO CONVECTION                       ENVIRO3A.212    
C                                                                          ENVIRO3A.213    
      REAL DVEK(NPNTS)       ! INOUT                                       ENVIRO3A.214    
                             ! IN  INCREMENT TO MODEL V DUE TO             ENVIRO3A.215    
                             !     CONVECTION (M/S)                        ENVIRO3A.216    
                             ! OUT UPDATED INCREMENT TO MODEL V            ENVIRO3A.217    
                             !     DUE TO CONVECTION                       ENVIRO3A.218    
C                                                                          ENVIRO3A.219    
      REAL DTRAEK(NP_FULL,   ! INOUT                                       ENVIRO3A.220    
     *            NTRA)      ! IN INCREMENT TO MODEL TRACER IN             ENVIRO3A.221    
                             !    LAYER K DUE TO CONVECTION                ENVIRO3A.222    
                             !    (MAY BE NON ZERO DUE TO                  ENVIRO3A.223    
                             !    A PREVIOUS SPLIT FINAL DETRAINMENT       ENVIRO3A.224    
                             !    CALCULATION (KG/KG/S)                    ENVIRO3A.225    
                             ! OUT UPDATED INCREMENT TO MODEL TRACER       ENVIRO3A.226    
                             !    IN LAYER K DUE TO CONVECTION             ENVIRO3A.227    
                             !    (KG/KG/S)                                ENVIRO3A.228    
C                                                                          ENVIRO3A.229    
C-----------------------------------------------------------------------   ENVIRO3A.230    
C VARIABLES THAT ARE OUTPUT                                                ENVIRO3A.231    
C-----------------------------------------------------------------------   ENVIRO3A.232    
C                                                                          ENVIRO3A.233    
      REAL DTHEKP1(NPNTS)    ! OUT INCREMENT TO MODEL POTENTIAL            ENVIRO3A.234    
                             !     TEMPERATURE IN LAYER K+1 DUE TO         ENVIRO3A.235    
                             !     CONVECTION (K/S)                        ENVIRO3A.236    
C                                                                          ENVIRO3A.237    
      REAL DQEKP1(NPNTS)     ! OUT INCREMENT TO MODEL MIXING RATIO         ENVIRO3A.238    
                             !     IN LAYER K+1 DUE TO CONVECTION          ENVIRO3A.239    
                             !     (KG/KG/S)                               ENVIRO3A.240    
C                                                                          ENVIRO3A.241    
      REAL DUEKP1(NPNTS)     ! OUT INCREMENT TO MODEL U IN LAYER K+1       ENVIRO3A.242    
                             !     DUE TO CONVECTION                       ENVIRO3A.243    
C                                                                          ENVIRO3A.244    
      REAL DVEKP1(NPNTS)     ! OUT INCREMENT TO MODEL V IN LAYER K+1       ENVIRO3A.245    
                             !     DUE TO CONVECTION                       ENVIRO3A.246    
C                                                                          ENVIRO3A.247    
      REAL DTRAEKP1(NP_FULL, ! OUT INCREMENT TO MODEL TRACER               ENVIRO3A.248    
     *              NTRA)    !     IN LAYER K+1 DUE TO CONVECTION          ENVIRO3A.249    
                             !     (KG/KG)                                 ENVIRO3A.250    
C                                                                          ENVIRO3A.251    
      REAL EFLUX_U_UD(NPNTS),   ! INOUT                                    ENVIRO3A.252    
     *     EFLUX_V_UD(NPNTS)    ! IN  EDDY FLUX OF MOMENTUM AT BOTTOM      ENVIRO3A.253    
                                !     OF A LAYER DUE TO UD                 ENVIRO3A.254    
                                ! OUT EDDY FLUX OF MOMENTUM AT TOP         ENVIRO3A.255    
                                !     OF A LAYER DUE TO UD                 ENVIRO3A.256    
C                                                                          ENVIRO3A.257    
C                                                                          ENVIRO3A.258    
C-----------------------------------------------------------------------   ENVIRO3A.259    
C VARIABLES THAT ARE DEFINED LOCALLY                                       ENVIRO3A.260    
C-----------------------------------------------------------------------   ENVIRO3A.261    
C                                                                          ENVIRO3A.262    
      REAL EL                ! LATENT HEAT OF CONDENSATION OR              ENVIRO3A.263    
                             ! (CONDENSATION + FUSION) (J/KG)              ENVIRO3A.264    
C                                                                          ENVIRO3A.265    
      REAL TEMPRY            ! TEMPORARY ARRAY                             ENVIRO3A.266    
C                                                                          ENVIRO3A.267    
      REAL THPIXS,QPIXS      ! PARCEL EXCESS POTENTIAL TEMP(K)             ENVIRO3A.268    
                             ! AND MOISTURE(KG/KG)                         ENVIRO3A.269    
C                                                                          ENVIRO3A.270    
      REAL FLX_U_KP0P5       ! FLUX OF ZONAL MOMENTUM IN CLOUD AT TOP      ENVIRO3A.271    
                             ! OF CURRENT LAYER                            ENVIRO3A.272    
C                                                                          ENVIRO3A.273    
      REAL FLX_V_KP0P5       ! FLUX OF MERIDIONAL MOM. IN CLOUD AT TOP     ENVIRO3A.274    
                             ! OF CURRENT LAYER                            ENVIRO3A.275    
C                                                                          ENVIRO3A.276    
C*---------------------------------------------------------------------    ENVIRO3A.277    
C                                                                          ENVIRO3A.278    
      DO I=1,NPNTS                                                         ENVIRO3A.279    
C                                                                          ENVIRO3A.280    
C-----------------------------------------------------------------------   ENVIRO3A.281    
C   CREATE A VECTOR OF LATENT HEATS                                        ENVIRO3A.282    
C-----------------------------------------------------------------------   ENVIRO3A.283    
C                                                                          ENVIRO3A.284    
       IF (BWKP1(I)) THEN                                                  ENVIRO3A.285    
          EL = LC                                                          ENVIRO3A.286    
       ELSE                                                                ENVIRO3A.287    
          EL = LC + LF                                                     ENVIRO3A.288    
       ENDIF                                                               ENVIRO3A.289    
C                                                                          ENVIRO3A.290    
C----------------------------------------------------------------------    ENVIRO3A.291    
C CALCULATE PARCEL MASSFLUX DIVIDED BY THE THICKNESS OF LAYER K            ENVIRO3A.292    
C THIS VALUE IS USED IN SEVERAL PLACES IN THE SUBROUTINE                   ENVIRO3A.293    
C----------------------------------------------------------------------    ENVIRO3A.294    
C                                                                          ENVIRO3A.295    
       TEMPRY = FLXK(I)/DELPK(I)                                           ENVIRO3A.296    
C                                                                          ENVIRO3A.297    
       IF (BLOWST(I) .AND. L_XSCOMP) THEN                                  ARN2F403.74     
CL                                                                         ENVIRO3A.299    
CL----------------------------------------------------------------------   ENVIRO3A.300    
CL AT THE LOWEST CONVECTIVE LAYER, THE PARCEL MASS FLUX IS A FLUX FROM     ENVIRO3A.301    
CL THE ENVIRONMENT. IE. THE INITIAL MASS FLUX IS ENTRAINED WITH EXCESS     ENVIRO3A.302    
CL POTENTIAL TEMPERATURE AND MIXING RATIO TPIXS, QPIXS                     ENVIRO3A.303    
CL                                                                         ENVIRO3A.304    
CL UM DOCUMENTATIO PAPER P27                                               ENVIRO3A.305    
CL SECTION (10), EQUATION (39)                                             ENVIRO3A.306    
CL----------------------------------------------------------------------   ENVIRO3A.307    
CL                                                                         ENVIRO3A.308    
         IF(L_SHALLOW(I))THEN                                              ENVIRO3A.309    
CL                                                                         ENVIRO3A.310    
         THPIXS=THPIXS_SHALLOW                                             ENVIRO3A.311    
         QPIXS=QPIXS_SHALLOW                                               ENVIRO3A.312    
CL                                                                         ENVIRO3A.313    
         ELSEIF(L_MID(I))THEN                                              ENVIRO3A.314    
         THPIXS=THPIXS_MID                                                 ENVIRO3A.315    
         QPIXS=QPIXS_MID                                                   ENVIRO3A.316    
CL                                                                         ENVIRO3A.317    
         ELSE                                                              ENVIRO3A.318    
CL                                                                         ENVIRO3A.319    
         THPIXS=THPIXS_DEEP                                                ENVIRO3A.320    
         QPIXS=QPIXS_DEEP                                                  ENVIRO3A.321    
CL                                                                         ENVIRO3A.322    
         ENDIF                                                             ENVIRO3A.323    
CL                                                                         ENVIRO3A.324    
         IF ( L_SDXS .AND. K .EQ. 1 ) THEN                                 ARN2F403.75     
           DTHEK(I) = DTHEK(I) - TEMPRY*MAX(THPIXS , T1_SD(I)/EXK(I))      ENVIRO3A.326    
           DQEK(I) = DQEK(I) - TEMPRY*MAX(QPIXS , Q1_SD(I))                ENVIRO3A.327    
         ELSE                                                              ENVIRO3A.328    
           DTHEK(I) = DTHEK(I) - TEMPRY*THPIXS                             ENVIRO3A.329    
           DQEK(I) = DQEK(I) - TEMPRY*QPIXS                                ENVIRO3A.330    
         ENDIF                                                             ENVIRO3A.331    
       ENDIF                                                               ENVIRO3A.332    
CL                                                                         ENVIRO3A.333    
CL---------------------------------------------------------------------    ENVIRO3A.334    
CL EFFECT OF CONVECTION UPON POTENTIAL TEMPERATURE OF LAYER K              ENVIRO3A.335    
CL                                                                         ENVIRO3A.336    
CL UM DOCUMENTATION PAPER P27                                              ENVIRO3A.337    
CL SECTION (10), EQUATION (38A)                                            ENVIRO3A.338    
CL--------------------------------------------------------------------     ENVIRO3A.339    
CL                                                                         ENVIRO3A.340    
       DTHEK(I) = DTHEK(I) + TEMPRY * (                                    ENVIRO3A.341    
     *                                                                     ENVIRO3A.342    
     *           (1+EKP14(I)) * (1.0-DELTAK(I)) *        ! COMPENSATING    ENVIRO3A.343    
     *           (1-AMDETK(I)) * (THEKP1(I)-THEK(I))     ! SUBSIDENCE      ENVIRO3A.344    
     *         +                                                           ENVIRO3A.345    
     *           DELTAK(I) * (1.0-AMDETK(I)) *           ! FORCED          ENVIRO3A.346    
     *           (THRK(I)-THEK(I)-                       ! DETRAINMENT     ENVIRO3A.347    
     *                    ((EL/CP)*XPK(I)/EXK(I)))                         ENVIRO3A.348    
     *         +                                                           ENVIRO3A.349    
     *           AMDETK(I) * (THPK(I)-THEK(I)-           ! MIXING          ENVIRO3A.350    
     *                    ((EL/CP)*XPK(I)/EXK(I)))       ! DETRAINMENT     ENVIRO3A.351    
     *         )                                                           ENVIRO3A.352    
CL                                                                         ENVIRO3A.353    
CL---------------------------------------------------------------------    ENVIRO3A.354    
CL EFFECT OF CONVECTION UPON MIXING RATIO OF LAYER K                       ENVIRO3A.355    
CL                                                                         ENVIRO3A.356    
CL UM DOCUMENTATION PAPER P27                                              ENVIRO3A.357    
CL SECTION (10), EQUATION (38B)                                            ENVIRO3A.358    
CL--------------------------------------------------------------------     ENVIRO3A.359    
CL                                                                         ENVIRO3A.360    
       DQEK(I) = DQEK(I) + TEMPRY * (                                      ENVIRO3A.361    
     *                                                                     ENVIRO3A.362    
     *           (1+EKP14(I)) * (1.0-DELTAK(I)) *        ! COMPENSATING    ENVIRO3A.363    
     *           (1-AMDETK(I)) * (QEKP1(I)-QEK(I))       ! SUBSIDENCE      ENVIRO3A.364    
     *         +                                                           ENVIRO3A.365    
     *           DELTAK(I) * (1.0-AMDETK(I)) *           ! FORCED          ENVIRO3A.366    
     *           (QRK(I)-QEK(I)+XPK(I))                  ! DETRAINMENT     ENVIRO3A.367    
     *         +                                                           ENVIRO3A.368    
     *           AMDETK(I) * (QPK(I)-QEK(I)+             ! MIXING          ENVIRO3A.369    
     *                                XPK(I))            ! DETRAINMENT     ENVIRO3A.370    
     *         )                                                           ENVIRO3A.371    
CL                                                                         ENVIRO3A.372    
CL----------------------------------------------------------------------   ENVIRO3A.373    
CL TERMINAL DETRAINMENT AND SUBSIDENCE IN TERMINAL LAYER                   ENVIRO3A.374    
CL                                                                         ENVIRO3A.375    
CL UM DOCUMENTATION PAPER P27                                              ENVIRO3A.376    
CL SECTION (10), EQUATION (40)                                             ENVIRO3A.377    
CL--------------------------------------------------------------------     ENVIRO3A.378    
CL                                                                         ENVIRO3A.379    
       IF ( BTERM(I) ) THEN                                                ENVIRO3A.380    
          TEMPRY = FLXKP1(I)/DELPKP1(I)                                    ENVIRO3A.381    
          DTHEKP1(I) = DTHEKP1(I) + TEMPRY*((THPKP1(I)-THEKP1(I))          ENVIRO3A.382    
     *                                   - EL*XPKP1(I)/(EXKP1(I)*CP))      ENVIRO3A.383    
          DQEKP1(I)  = DQEKP1(I) + TEMPRY*(QPKP1(I)-QEKP1(I)               ENVIRO3A.384    
     *                                                + XPKP1(I))          ENVIRO3A.385    
C                                                                          ENVIRO3A.386    
       END IF                                                              ENVIRO3A.387    
CL                                                                         ENVIRO3A.388    
      END DO                                                               ENVIRO3A.389    
CL                                                                         ENVIRO3A.390    
CL---------------------------------------------------------------------    ENVIRO3A.391    
CL CALCULATE EFFECT OF CONVECTION UPON MOMENTUM OF LAYER K                 ENVIRO3A.392    
CL AND DO TERMINAL DETRAINMENT OF MOMENTUM                                 ENVIRO3A.393    
CL                                                                         ENVIRO3A.394    
CL RATE OF CHANGE OF WIND FIELD BY CONVECTION IS ESTIMATED USING A         ENVIRO3A.395    
CL DIVERGENCE OF VERTICAL EDDY MOMENTUM FLUX ACROSS THE LAYER              ENVIRO3A.396    
CL AN UPSTREAM ASSUMPTION IS USED IN THE FINITE DIFFERENCE                 ENVIRO3A.397    
CL APPROXIMATIONS                                                          ENVIRO3A.398    
CL--------------------------------------------------------------------     ENVIRO3A.399    
CL                                                                         ENVIRO3A.400    
      IF(L_MOM)THEN                                                        ENVIRO3A.401    
C                                                                          ENVIRO3A.402    
      DO I=1,NPNTS                                                         ENVIRO3A.403    
C----------------------------------------------------------------------    ENVIRO3A.404    
C ESTIMATE EDDY FLUX AT TOP OF CURRENT LAYER DUE TO CONVECTION             ENVIRO3A.405    
C----------------------------------------------------------------------    ENVIRO3A.406    
       FLX_U_KP0P5 = FLXK(I) * (1.0-AMDETK(I)) * (1.0-DELTAK(I)) *         ENVIRO3A.407    
     *               (1.0+EKP14(I)) * (UPK(I)-UEKP1(I))                    ENVIRO3A.408    
       FLX_V_KP0P5 = FLXK(I) * (1.0-AMDETK(I)) * (1.0-DELTAK(I)) *         ENVIRO3A.409    
     *               (1.0+EKP14(I)) * (VPK(I)-VEKP1(I))                    ENVIRO3A.410    
C                                                                          ENVIRO3A.411    
       IF (BLOWST(I)) THEN                                                 ENVIRO3A.412    
C----------------------------------------------------------------------    ENVIRO3A.413    
C INITIAL CONVECTING LAYER - NO FLUX AT BASE OF LAYER                      ENVIRO3A.414    
C----------------------------------------------------------------------    ENVIRO3A.415    
       DUEK(I) = DUEK(I) - FLX_U_KP0P5 / DELPK(I)                          ENVIRO3A.416    
       DVEK(I) = DVEK(I) - FLX_V_KP0P5 / DELPK(I)                          ENVIRO3A.417    
C----------------------------------------------------------------------    ENVIRO3A.418    
C STORE EDDY FLUX AT TOP OF LAYER READY FOR CALCULATION OF NEXT LAYER      ENVIRO3A.419    
C----------------------------------------------------------------------    ENVIRO3A.420    
       EFLUX_U_UD(I) = FLX_U_KP0P5                                         ENVIRO3A.421    
       EFLUX_V_UD(I) = FLX_V_KP0P5                                         ENVIRO3A.422    
C                                                                          ENVIRO3A.423    
       ELSE                                                                ENVIRO3A.424    
C----------------------------------------------------------------------    ENVIRO3A.425    
C CONVECTING LAYER - TAKE EDDY FLUX DIVERGENCE ACROSS THE LAYER            ENVIRO3A.426    
C----------------------------------------------------------------------    ENVIRO3A.427    
       DUEK(I) = DUEK(I) - ( (FLX_U_KP0P5 - EFLUX_U_UD(I)) /               ENVIRO3A.428    
     *                                                DELPK(I) )           ENVIRO3A.429    
       DVEK(I) = DVEK(I) - ( (FLX_V_KP0P5 - EFLUX_V_UD(I)) /               ENVIRO3A.430    
     *                                                DELPK(I) )           ENVIRO3A.431    
C----------------------------------------------------------------------    ENVIRO3A.432    
C STORE EDDY FLUX AT TOP OF LAYER READY FOR CALCULATION OF NEXT LAYER      ENVIRO3A.433    
C----------------------------------------------------------------------    ENVIRO3A.434    
       EFLUX_U_UD(I) = FLX_U_KP0P5                                         ENVIRO3A.435    
       EFLUX_V_UD(I) = FLX_V_KP0P5                                         ENVIRO3A.436    
C                                                                          ENVIRO3A.437    
      END IF                                                               ENVIRO3A.438    
C                                                                          ENVIRO3A.439    
      IF(BTERM(I))THEN                                                     ENVIRO3A.440    
C----------------------------------------------------------------------    ENVIRO3A.441    
C CONVECTION TERMINATES - CALCULATE INCREMENT DUE TO CONVECTION            ENVIRO3A.442    
C IN TOP LAYER - NO FLUX OUT OF TOP OF LAYER                               ENVIRO3A.443    
C----------------------------------------------------------------------    ENVIRO3A.444    
          DUEKP1(I)  = EFLUX_U_UD(I) / DELPKP1(I)                          ENVIRO3A.445    
          DVEKP1(I)  = EFLUX_V_UD(I) / DELPKP1(I)                          ENVIRO3A.446    
C----------------------------------------------------------------------    ENVIRO3A.447    
C ZERO EDDY FLUX OUT OF TOP OF LAYER                                       ENVIRO3A.448    
C----------------------------------------------------------------------    ENVIRO3A.449    
          EFLUX_U_UD(I) = 0.0                                              ENVIRO3A.450    
          EFLUX_V_UD(I) = 0.0                                              ENVIRO3A.451    
C                                                                          ENVIRO3A.452    
      END IF                                                               ENVIRO3A.453    
C                                                                          ENVIRO3A.454    
      END DO                                                               ENVIRO3A.455    
C                                                                          ENVIRO3A.456    
      END IF                                                               ENVIRO3A.457    
C                                                                          ENVIRO3A.458    
CL_____________________________________________________________________    ENVIRO3A.459    
CL                                                                         ENVIRO3A.460    
CL EFFECT OF CONVECTION ON TRACER CONTENT OF LAYER K                       ENVIRO3A.461    
CL (LOOPING OVER NUMBER OF TRACER VARIABLES)                               ENVIRO3A.462    
CL AND DO TERMINAL DETRAINMENT OF TRACER                                   ENVIRO3A.463    
CL_____________________________________________________________________    ENVIRO3A.464    
CL                                                                         ENVIRO3A.465    
      IF(L_TRACER)THEN                                                     ENVIRO3A.466    
CL                                                                         ENVIRO3A.467    
      DO KTRA = 1,NTRA                                                     ENVIRO3A.468    
      DO I = 1,NPNTS                                                       ENVIRO3A.469    
CL                                                                         ENVIRO3A.470    
       TEMPRY = FLXK(I)/DELPK(I)                                           ENVIRO3A.471    
       DTRAEK(I,KTRA) = DTRAEK(I,KTRA) + TEMPRY * (                        ENVIRO3A.472    
     *                                                                     ENVIRO3A.473    
     * (1+EKP14(I)) * (1.0-DELTAK(I)) *                 ! COMPENSATING     ENVIRO3A.474    
     * (1-AMDETK(I)) * (TRAEKP1(I,KTRA)-TRAEK(I,KTRA))  ! SUBSIDENCE       ENVIRO3A.475    
     *+                                                                    ENVIRO3A.476    
     * DELTAK(I) * (1.0-AMDETK(I)) *                    ! FORCED           ENVIRO3A.477    
     * (TRAPK(I,KTRA)-TRAEK(I,KTRA))                    ! DETRAINMENT      ENVIRO3A.478    
     *+                                                                    ENVIRO3A.479    
     * AMDETK(I) * (TRAPK(I,KTRA)-TRAEK(I,KTRA))        ! MIXING           ENVIRO3A.480    
     *           )                                      ! DETRAINMENT      ENVIRO3A.481    
CL                                                                         ENVIRO3A.482    
C                                                                          ENVIRO3A.483    
        IF(BTERM(I))THEN                                                   ENVIRO3A.484    
          TEMPRY = FLXKP1(I)/DELPKP1(I)                                    ENVIRO3A.485    
          DTRAEKP1(I,KTRA) = DTRAEKP1(I,KTRA) +TEMPRY*                     ENVIRO3A.486    
     *                       (TRAPKP1(I,KTRA)-TRAEKP1(I,KTRA))             ENVIRO3A.487    
        END IF                                                             ENVIRO3A.488    
C                                                                          ENVIRO3A.489    
      END DO                                                               ENVIRO3A.490    
C                                                                          ENVIRO3A.491    
      END DO                                                               ENVIRO3A.492    
C                                                                          ENVIRO3A.493    
      END IF                                                               ENVIRO3A.494    
      RETURN                                                               ENVIRO3A.495    
      END                                                                  ENVIRO3A.496    
*ENDIF                                                                     ENVIRO3A.497