*IF DEF,A05_3B,OR,DEF,A05_3C                                               AJX1F405.176    
C (c) CROWN COPYRIGHT 1995, METEOROLOGICAL OFFICE, All Rights Reserved.    GTS2F400.14725  
C                                                                          GTS2F400.14726  
C Use, duplication or disclosure of this code is subject to the            GTS2F400.14727  
C restrictions as set forth in the contract.                               GTS2F400.14728  
C                                                                          GTS2F400.14729  
C                Meteorological Office                                     GTS2F400.14730  
C                London Road                                               GTS2F400.14731  
C                BRACKNELL                                                 GTS2F400.14732  
C                Berkshire UK                                              GTS2F400.14733  
C                RG12 2SZ                                                  GTS2F400.14734  
C                                                                          GTS2F400.14735  
C If no contract has been raised with this copy of the code, the use,      GTS2F400.14736  
C duplication or disclosure of it is strictly prohibited.  Permission      GTS2F400.14737  
C to do so must first be obtained in writing from the Head of Numerical    GTS2F400.14738  
C Modelling at the above address.                                          GTS2F400.14739  
C ******************************COPYRIGHT******************************    GTS2F400.14740  
C                                                                          GTS2F400.14741  
CLL  SUBROUTINE DEVAP--------------------------------------------------    DEVAP3A.3      
CLL                                                                        DEVAP3A.4      
CLL  PURPOSE : EVAPORATION ROUTINE                                         DEVAP3A.5      
CLL                                                                        DEVAP3A.6      
CLL            CARRIES OUT EVAPORATION AND UPDATES PRECIPITATION           DEVAP3A.7      
CLL                                                                        DEVAP3A.8      
CLL  SUITABLE FOR SINGLE COLUMN MODEL USE                                  DEVAP3A.9      
CLL                                                                        DEVAP3A.10     
CLL                                                                        DEVAP3A.11     
CLL  MODEL            MODIFICATION HISTORY FROM MODEL VERSION 3.0:         DEVAP3A.12     
CLL VERSION  DATE                                                          DEVAP3A.13     
CLL  4.0    5/05/95   New deck at version 4.0 to include pressure          DEVAP3A.14     
CLL                   dependency into calculation of evaporation of        DEVAP3A.15     
CLL                   convective precipitation, and to introduce           DEVAP3A.16     
CLL                   traps for negative precipitation.                    DEVAP3A.17     
CLL                   Pete Inness.                                         DEVAP3A.18     
CLL   4.5    Jul. 98  Kill the IBM specific lines (JCThil)                 AJC1F405.10     
CLL                                                                        DEVAP3A.19     
CLL  PROGRAMMING STANDARDS : UNIFIED MODEL DOCUMENTATION PAPER NO. 3       DEVAP3A.20     
CLL  VERSION NO. 4  DATED 5/2/92                                           DEVAP3A.21     
CLL                                                                        DEVAP3A.22     
CLL  SYSTEM TASK : P27                                                     DEVAP3A.23     
CLL                                                                        DEVAP3A.24     
CLL  DOCUMENTATION : UNIFIED MODEL DOCUMENTATION PAPER P27                 DEVAP3A.25     
CLL                                                                        DEVAP3A.26     
CLLEND-----------------------------------------------------------------    DEVAP3A.27     
C                                                                          DEVAP3A.28     
C*L  ARGUMENTS---------------------------------------------------------    DEVAP3A.29     
C                                                                          DEVAP3A.30     

      SUBROUTINE DEVAP(NPNTS,THDD_K,THDD_KM1,QDD_KM1,THDDS,QDDS,            3,4DEVAP3A.31     
     *                 FLX_DD_KM1,EXK,EXKM1,QSATDD,RAIN,SNOW,              DEVAP3A.32     
     *                 DELPKM1,BDDWT_KM1,CCA,PKM1)                         DEVAP3A.33     
C                                                                          DEVAP3A.34     
      IMPLICIT NONE                                                        DEVAP3A.35     
C                                                                          DEVAP3A.36     
C-----------------------------------------------------------------------   DEVAP3A.37     
C MODEL CONSTANTS                                                          DEVAP3A.38     
C-----------------------------------------------------------------------   DEVAP3A.39     
C                                                                          DEVAP3A.40     
*CALL C_G                                                                  DEVAP3A.41     
*CALL C_LHEAT                                                              DEVAP3A.42     
*CALL C_R_CP                                                               DEVAP3A.43     
*CALL DDAREA                                                               DEVAP3A.44     
C                                                                          DEVAP3A.45     
C-----------------------------------------------------------------------   DEVAP3A.46     
C VECTOR LENGTHS AND LOOP COUNTERS                                         DEVAP3A.47     
C-----------------------------------------------------------------------   DEVAP3A.48     
C                                                                          DEVAP3A.49     
C                                                                          DEVAP3A.53     
      INTEGER I               ! LOOP COUNTER                               DEVAP3A.54     
C                                                                          DEVAP3A.55     
      INTEGER NPNTS           ! IN VECTOR LENGTH                           DEVAP3A.56     
C                                                                          DEVAP3A.57     
C-----------------------------------------------------------------------   DEVAP3A.58     
C VARIABLES WHICH ARE INPUT                                                DEVAP3A.59     
C-----------------------------------------------------------------------   DEVAP3A.60     
C                                                                          DEVAP3A.61     
      REAL THDDS(NPNTS)       ! IN SATURATED POTENTIAL                     DEVAP3A.62     
                              !    TEMPERATURE OF DOWNDRAUGHT              DEVAP3A.63     
                              !    (K)                                     DEVAP3A.64     
C                                                                          DEVAP3A.65     
      REAL QDDS(NPNTS)        ! IN MIXING RATIO OF SATURATED               DEVAP3A.66     
                              !    DOWNDRAUGHT (KG/KG)                     DEVAP3A.67     
C                                                                          DEVAP3A.68     
      REAL FLX_DD_KM1(NPNTS)  ! IN DOWNDRAUGHT MASS FLUX IN                DEVAP3A.69     
                              !    LAYER K-1 (PA/S)                        DEVAP3A.70     
C                                                                          DEVAP3A.71     
      REAL THDD_K(NPNTS)      ! IN POTENTIAL TEMPERATURE OF                DEVAP3A.72     
                              !    DOWNDRAUGHT IN LAYER K (K)              DEVAP3A.73     
C                                                                          DEVAP3A.74     
      REAL EXK(NPNTS)         ! IN EXNER RATIO OF LAYER K                  DEVAP3A.75     
C                                                                          DEVAP3A.76     
      REAL EXKM1(NPNTS)       ! IN EXNER RATIO OF LAYER K-1                DEVAP3A.77     
C                                                                          DEVAP3A.78     
      REAL QSATDD(NPNTS)      ! IN SATURATED DOWNDRAUGHT                   DEVAP3A.79     
                              !    MIXING RATIO (KG/KG)                    DEVAP3A.80     
C                                                                          DEVAP3A.81     
      REAL DELPKM1(NPNTS)     ! IN CHANGE IN PRESSURE ACROSS               DEVAP3A.82     
                              !    LAYER K-1 (PA)                          DEVAP3A.83     
C                                                                          DEVAP3A.84     
      LOGICAL BDDWT_KM1(NPNTS)! IN MASK WHERE PRECIPITATION IN             DEVAP3A.85     
                              !    DOWNDRAUGHT IS LIQUID                   DEVAP3A.86     
C                                                                          DEVAP3A.87     
      REAL CCA(NPNTS)         ! IN CONVECTIVE CLOUD AMOUNT                 DEVAP3A.88     
C                                                                          DEVAP3A.89     
      REAL PKM1(NPNTS)        ! IN PRESSURE OF LAYER K-1                   DEVAP3A.90     
C                                                                          DEVAP3A.91     
C-----------------------------------------------------------------------   DEVAP3A.92     
C VARIABLES WHICH ARE INPUT AND OUTPUT                                     DEVAP3A.93     
C-----------------------------------------------------------------------   DEVAP3A.94     
C                                                                          DEVAP3A.95     
      REAL THDD_KM1(NPNTS)    ! INOUT                                      DEVAP3A.96     
                              ! IN  POTENTIAL TEMPERATURE OF               DEVAP3A.97     
                              !     DOWNDRAUGHT IN LAYER K-1 (K)           DEVAP3A.98     
                              ! OUT UPDATED POTENTIAL TEMPERATURE          DEVAP3A.99     
                              !     OF DOWNDRAUGHT IN LAYER K-1            DEVAP3A.100    
                              !     AFTER EVAPORATION OR                   DEVAP3A.101    
                              !     SATURATION (K)                         DEVAP3A.102    
C                                                                          DEVAP3A.103    
      REAL QDD_KM1(NPNTS)     ! INOUT                                      DEVAP3A.104    
                              ! IN  MODEL MIXING RATIO OF                  DEVAP3A.105    
                              !     DOWNDRAUGHT IN LAYER K-1               DEVAP3A.106    
                              !     (KG/KG)                                DEVAP3A.107    
                              ! OUT UPDATED MODEL MIXING RATIO             DEVAP3A.108    
                              !     OF DOWNDRAUGHT IN LAYER K-1            DEVAP3A.109    
                              !     AFTER EVAPORATION OR                   DEVAP3A.110    
                              !     SATURATION (KG/KG)                     DEVAP3A.111    
C                                                                          DEVAP3A.112    
      REAL RAIN(NPNTS)        ! INOUT                                      DEVAP3A.113    
                              ! IN  AMOUNT OF RAIN (KG/M**2/S)             DEVAP3A.114    
                              ! OUT UPDATED RAINFALL (KG/M**2/S)           DEVAP3A.115    
C                                                                          DEVAP3A.116    
      REAL SNOW(NPNTS)        ! INOUT                                      DEVAP3A.117    
                              ! IN  AMOUNT OF SNOW (KG/M**2/S)             DEVAP3A.118    
                              ! OUT UPDATED SNOWFALL (KG/M**2/S)           DEVAP3A.119    
C                                                                          DEVAP3A.120    
C-----------------------------------------------------------------------   DEVAP3A.121    
C VARIABLES WHICH ARE LOCALLY DEFINED                                      DEVAP3A.122    
C-----------------------------------------------------------------------   DEVAP3A.123    
C                                                                          DEVAP3A.124    
C                                                                          DEVAP3A.163    
      REAL TEVP(NPNTS)        ! TEMPERATURE USED IN EVAPORATION            DEVAP3A.164    
                              ! CALCULATION (K)                            DEVAP3A.165    
C                                                                          DEVAP3A.166    
      LOGICAL BEVAP(NPNTS)    ! MASK FOR THOSE POINTS AT WHICH             DEVAP3A.167    
                              ! EVAPORATION CALCULATION IS TO              DEVAP3A.168    
                              ! BE CARRIED OUT                             DEVAP3A.169    
C                                                                          DEVAP3A.170    
      LOGICAL BSAT(NPNTS)     ! MASK FOR THOSE POINTS WHICH                DEVAP3A.171    
                              ! ARE SUBSATURATED                           DEVAP3A.172    
C                                                                          DEVAP3A.173    
      REAL EVAP_RAIN(NPNTS)   ! AMOUNT OF EVAPORATION OF RAIN              DEVAP3A.174    
C                                                                          DEVAP3A.175    
      REAL SUB_SNOW(NPNTS)    ! AMOUNT OF SNOW SUBLIMATION                 DEVAP3A.176    
C                                                                          DEVAP3A.177    
      REAL DELQ(NPNTS)        ! DIFFERENCE IN MIXING RATIOS                DEVAP3A.178    
                              ! (KG/KG)                                    DEVAP3A.179    
C                                                                          DEVAP3A.180    
      REAL DELTH(NPNTS)       ! INCREMENT TO DOWNDRAUGHT POTENTIAL         DEVAP3A.181    
                              ! TEMPERATURE IN LAYER K-1 DUE TO            DEVAP3A.182    
                              ! EVAPORATION                                DEVAP3A.183    
C                                                                          DEVAP3A.184    
      REAL DELQE(NPNTS)       ! INCREMENT TO DOWNDRAUGHT MIXING RATIO      DEVAP3A.185    
                              ! IN LAYER K-1 DUE TO EVAPORATION            DEVAP3A.186    
C                                                                          DEVAP3A.187    
      REAL DELTHS(NPNTS)      ! SATURATED POTENTIAL TEMPERATURE MINUS      DEVAP3A.188    
                              ! POTENTIAL TEMPERATURE OF DOWNDRAUGHT       DEVAP3A.189    
C                                                                          DEVAP3A.190    
      REAL FACTOR(NPNTS)      ! DELTHS / DELTH                             DEVAP3A.191    
C                                                                          DEVAP3A.192    
      REAL PINCR(NPNTS)       ! INCREASE IN PRECIPITATION IF PARCEL        DEVAP3A.193    
                              ! SUPERSATURATES                             DEVAP3A.194    
C                                                                          DEVAP3A.195    
      REAL RHO(NPNTS)         ! DENSITY OF AIR IN PARCEL                   DEVAP3A.196    
C                                                                          DEVAP3A.197    
C                                                                          DEVAP3A.199    
C-----------------------------------------------------------------------   DEVAP3A.200    
C EXTERNAL ROUTINES CALLED                                                 DEVAP3A.201    
C-----------------------------------------------------------------------   DEVAP3A.202    
C                                                                          DEVAP3A.203    
      EXTERNAL EVP                                                         DEVAP3A.204    
C                                                                          DEVAP3A.205    
C-----------------------------------------------------------------------   DEVAP3A.206    
C CHECK IF EVAPORATION POSSIBLE                                            DEVAP3A.207    
C-----------------------------------------------------------------------   DEVAP3A.208    
C                                                                          DEVAP3A.209    
      DO I=1,NPNTS                                                         DEVAP3A.210    
       DELQ(I) = QSATDD(I)-QDD_KM1(I)                                      DEVAP3A.211    
C                                                                          DEVAP3A.212    
       BEVAP(I) =((RAIN(I).GT.0.0) .OR. (SNOW(I).GT.0.0))                  DEVAP3A.213    
     *             .AND. (DELQ(I).GT.0.0)                                  DEVAP3A.214    
       BSAT(I) = DELQ(I) .LT. 0.0                                          DEVAP3A.215    
C                                                                          DEVAP3A.216    
C-----------------------------------------------------------------------   DEVAP3A.217    
C CALCULATE TEMPERATURE USED IN CALCULATION OF EVAPORATION CONSTANTS       DEVAP3A.218    
C BASED ON TEMPERATURE OF PARCEL AFTER UNSATURATED DESCENT                 DEVAP3A.219    
C-----------------------------------------------------------------------   DEVAP3A.220    
C                                                                          DEVAP3A.221    
        IF (BEVAP(I)) THEN                                                 DEVAP3A.222    
          TEVP(I) = ((THDD_K(I)*EXK(I))+(THDD_KM1(I)*EXKM1(I)))*0.5        DEVAP3A.223    
          RHO(I) = PKM1(I) / (R*TEVP(I))                                   DEVAP3A.224    
        END IF                                                             DEVAP3A.225    
      END DO                                                               DEVAP3A.226    
C                                                                          DEVAP3A.227    
C-----------------------------------------------------------------------   DEVAP3A.228    
C EVAPORATION CALCULATION - CALCULATE RATES FOR RAIN AND SNOW              DEVAP3A.229    
C-----------------------------------------------------------------------   DEVAP3A.230    
C                                                                          DEVAP3A.231    
      CALL EVP(NPNTS,RAIN,TEVP,CCA,RHO,DELQ,DELPKM1,EVAP_RAIN,             DEVAP3A.232    
     &         BEVAP,1,DDCLDFRA,PKM1)                                      DEVAP3A.233    
C                                                                          DEVAP3A.234    
      CALL EVP(NPNTS,SNOW,TEVP,CCA,RHO,DELQ,DELPKM1,SUB_SNOW,              DEVAP3A.235    
     &         BEVAP,2,DDCLDFRA,PKM1)                                      DEVAP3A.236    
C                                                                          DEVAP3A.237    
      DO I=1,NPNTS                                                         DEVAP3A.238    
       IF (BEVAP(I)) THEN                                                  DEVAP3A.239    
C                                                                          DEVAP3A.240    
C-----------------------------------------------------------------------   DEVAP3A.241    
C ADJUST EVAPORATION AND SUBLIMATION RATES BACK TO GRID BOX MEANS          DEVAP3A.242    
C-----------------------------------------------------------------------   DEVAP3A.243    
C                                                                          DEVAP3A.244    
       EVAP_RAIN(I) = EVAP_RAIN(I) * CCA(I) * DDCLDFRA                     DEVAP3A.245    
       SUB_SNOW(I) = SUB_SNOW(I) * CCA(I) * DDCLDFRA                       DEVAP3A.246    
C                                                                          DEVAP3A.247    
C-----------------------------------------------------------------------   DEVAP3A.248    
C CHECK IF PARCEL SUPERSATURATED                                           DEVAP3A.249    
C-----------------------------------------------------------------------   DEVAP3A.250    
C                                                                          DEVAP3A.251    
        DELTH(I) = -((LC*EVAP_RAIN(I))+((LC+LF)*SUB_SNOW(I)))*G/           DEVAP3A.252    
     &           (CP*EXKM1(I)*FLX_DD_KM1(I))                               DEVAP3A.253    
        DELQE(I) = (EVAP_RAIN(I)+SUB_SNOW(I))*G/FLX_DD_KM1(I)              DEVAP3A.254    
C                                                                          DEVAP3A.255    
        DELTHS(I) = THDDS(I)-THDD_KM1(I)                                   DEVAP3A.256    
        IF (DELTH(I).LT.DELTHS(I)) THEN                                    DEVAP3A.257    
C                                                                          DEVAP3A.258    
C-----------------------------------------------------------------------   DEVAP3A.259    
C ADJUST EVAP AND SUBLIMATION RATES TO GIVE SATURATION                     DEVAP3A.260    
C-----------------------------------------------------------------------   DEVAP3A.261    
C                                                                          DEVAP3A.262    
          FACTOR(I) = DELTHS(I)/DELTH(I)                                   DEVAP3A.263    
          DELTH(I) = DELTHS(I)                                             DEVAP3A.264    
          DELQE(I) = DELQE(I)*FACTOR(I)                                    DEVAP3A.265    
          EVAP_RAIN(I) = EVAP_RAIN(I)*FACTOR(I)                            DEVAP3A.266    
          SUB_SNOW(I) = SUB_SNOW(I)*FACTOR(I)                              DEVAP3A.267    
        END IF                                                             DEVAP3A.268    
C                                                                          DEVAP3A.269    
C-----------------------------------------------------------------------   DEVAP3A.270    
C UPDATE T,Q AND PRECIPITATION                                             DEVAP3A.271    
C-----------------------------------------------------------------------   DEVAP3A.272    
C                                                                          DEVAP3A.273    
        RAIN(I) = RAIN(I)-EVAP_RAIN(I)                                     DEVAP3A.274    
        IF (RAIN(I).LT.0.0) RAIN(I)=0.0                                    DEVAP3A.275    
        SNOW(I) = SNOW(I)-SUB_SNOW(I)                                      DEVAP3A.276    
        IF (SNOW(I).LT.0.0) SNOW(I)=0.0                                    DEVAP3A.277    
        THDD_KM1(I) = THDD_KM1(I)+DELTH(I)                                 DEVAP3A.278    
        QDD_KM1(I) = QDD_KM1(I)+DELQE(I)                                   DEVAP3A.279    
C                                                                          DEVAP3A.280    
C-----------------------------------------------------------------------   DEVAP3A.281    
C PARCEL IS SUPERSATURATED BEFORE EVAPORATION OCCURS                       DEVAP3A.282    
C BRING PARCEL TO SATURATION AND PRECIPITATE WATER                         DEVAP3A.283    
C-----------------------------------------------------------------------   DEVAP3A.284    
C                                                                          DEVAP3A.285    
      ELSE IF (BSAT(I)) THEN                                               DEVAP3A.286    
         PINCR(I) = (QDD_KM1(I)-QDDS(I))*FLX_DD_KM1(I)/G                   DEVAP3A.287    
         QDD_KM1(I) = QDDS(I)                                              DEVAP3A.288    
         THDD_KM1(I) = THDDS(I)                                            DEVAP3A.289    
         IF (BDDWT_KM1(I)) THEN                                            DEVAP3A.290    
           RAIN(I) = RAIN(I)+PINCR(I)                                      DEVAP3A.291    
         ELSE                                                              DEVAP3A.292    
           SNOW(I) = SNOW(I)+PINCR(I)                                      DEVAP3A.293    
         END IF                                                            DEVAP3A.294    
      END IF                                                               DEVAP3A.295    
      END DO                                                               DEVAP3A.296    
C                                                                          DEVAP3A.297    
      RETURN                                                               DEVAP3A.298    
      END                                                                  DEVAP3A.299    
C                                                                          DEVAP3A.300    
*ENDIF                                                                     DEVAP3A.301