*IF DEF,A05_3C                                                             FLAGW3C.2      
C ******************************COPYRIGHT******************************    FLAGW3C.3      
C (c) CROWN COPYRIGHT 1997, METEOROLOGICAL OFFICE, All Rights Reserved.    FLAGW3C.4      
C                                                                          FLAGW3C.5      
C Use, duplication or disclosure of this code is subject to the            FLAGW3C.6      
C restrictions as set forth in the contract.                               FLAGW3C.7      
C                                                                          FLAGW3C.8      
C                Meteorological Office                                     FLAGW3C.9      
C                London Road                                               FLAGW3C.10     
C                BRACKNELL                                                 FLAGW3C.11     
C                Berkshire UK                                              FLAGW3C.12     
C                RG12 2SZ                                                  FLAGW3C.13     
C                                                                          FLAGW3C.14     
C If no contract has been raised with this copy of the code, the use,      FLAGW3C.15     
C duplication or disclosure of it is strictly prohibited.  Permission      FLAGW3C.16     
C to do so must first be obtained in writing from the Head of Numerical    FLAGW3C.17     
C Modelling at the above address.                                          FLAGW3C.18     
C ******************************COPYRIGHT******************************    FLAGW3C.19     
C                                                                          FLAGW3C.20     
CLL  SUBROUTINE FLAG_WET-----------------------------------------------    FLAGW3C.21     
CLL                                                                        FLAGW3C.22     
CLL  PURPOSE : CALCULATES A MASK FOR WHEN CONDENSATION IS LIQUID           FLAGW3C.23     
CLL                                                                        FLAGW3C.24     
CLL            IF 0.5 * (TK + TK+1) > TICE THEN ANY CONDENSATION           FLAGW3C.25     
CLL                                        IN LAYER K+1 IS LIQUID          FLAGW3C.26     
CLL                                                                        FLAGW3C.27     
CLL            IF 0.5 * (TK + TK+1) < TICE THEN ANY CONDENSATION           FLAGW3C.28     
CLL                                        IN LAYER K+1 IS ICE             FLAGW3C.29     
CLL                                                                        FLAGW3C.30     
CLL  SUITABLE FOR SINGLE COLUMN MODEL USE                                  FLAGW3C.31     
CLL                                                                        FLAGW3C.32     
CLL  CODE REWORKED FOR CRAY Y-MP BY D.GREGORY AUTUMN/WINTER 1989/90        FLAGW3C.33     
CLL                                                                        FLAGW3C.34     
CLL  MODEL            MODIFICATION HISTORY:                                FLAGW3C.35     
CLL VERSION  DATE                                                          FLAGW3C.36     
!LL   4.4   17/10/97  New version optimised for T3E.                       FLAGW3C.37     
!LL                   Single PE optimisations           D.Salmond          FLAGW3C.38     
!LL   4.5   03/03/98  Correct level swapping in loop. R. Rawlins           ADR1F405.78     
CLL                                                                        FLAGW3C.39     
CLL  PROGRAMMING STANDARDS :                                               FLAGW3C.40     
CLL                                                                        FLAGW3C.41     
CLL  SYSTEM TASK : P27                                                     FLAGW3C.42     
CLL                                                                        FLAGW3C.43     
CLL  DOCUMENTATION : UNIFIED MODEL DOCUMENTATION PAPER 27                  FLAGW3C.44     
CLL                  SECTION (2B)                                          FLAGW3C.45     
CLL                                                                        FLAGW3C.46     
CLLEND-----------------------------------------------------------------    FLAGW3C.47     
C                                                                          FLAGW3C.48     
C*L  ARGUMENTS---------------------------------------------------------    FLAGW3C.49     
C                                                                          FLAGW3C.50     

      SUBROUTINE FLAG_WET (BWATER,TH,EXNER,PSTAR,AKH,BKH,                   4FLAGW3C.51     
     &                     NP_FIELD,NPNTS,NLEV)                            FLAGW3C.52     
C                                                                          FLAGW3C.53     
C-----------------------------------------------------------------------   FLAGW3C.54     
C   RETURNS 'BWATER' - A BIT VECTOR OF POINTS WHERE CONDENSATE IS WATER    FLAGW3C.55     
C   RATHER THAN ICE.                                                       FLAGW3C.56     
C----------------------------------------------- AUTHOR: M FISHER 1987 -   FLAGW3C.57     
C                                                                          FLAGW3C.58     
      IMPLICIT NONE                                                        FLAGW3C.59     
C                                                                          FLAGW3C.60     
C----------------------------------------------------------------------    FLAGW3C.61     
C MODEL CONSTANTS                                                          FLAGW3C.62     
C----------------------------------------------------------------------    FLAGW3C.63     
C                                                                          FLAGW3C.64     
*CALL TICE                                                                 FLAGW3C.65     
*CALL C_R_CP                                                               FLAGW3C.66     
C                                                                          FLAGW3C.67     
C----------------------------------------------------------------------    FLAGW3C.68     
C VECTOR LENGTHS AND LOOP COUNTERS                                         FLAGW3C.69     
C----------------------------------------------------------------------    FLAGW3C.70     
C                                                                          FLAGW3C.71     
      INTEGER NP_FIELD           ! IN FULL VECTOR LENGTH                   FLAGW3C.72     
C                                                                          FLAGW3C.73     
      INTEGER NPNTS              ! IN VECTOR LENGTH                        FLAGW3C.74     
C                                                                          FLAGW3C.75     
      INTEGER NLEV               ! IN NUMBER OF MODEL LAYERS               FLAGW3C.76     
C                                                                          FLAGW3C.77     
      INTEGER I,K                ! LOOP COUNTERS                           FLAGW3C.78     
C                                                                          FLAGW3C.79     
C                                                                          FLAGW3C.80     
C----------------------------------------------------------------------    FLAGW3C.81     
C VARIABLES WHICH ARE INPUT                                                FLAGW3C.82     
C----------------------------------------------------------------------    FLAGW3C.83     
C                                                                          FLAGW3C.84     
      REAL TH(NP_FIELD,NLEV)        ! IN POTENTIAL TEMPERATURE (K)         FLAGW3C.85     
C                                                                          FLAGW3C.86     
      REAL EXNER(NP_FIELD,NLEV+1)   ! IN EXNER RATIO AT LAYER              FLAGW3C.87     
                                    ! BOUNDARIES (STARTING WITH THE        FLAGW3C.88     
                                    ! SURFACE)                             FLAGW3C.89     
C                                                                          FLAGW3C.90     
      REAL PSTAR(NPNTS)             ! IN Surface pressure                  FLAGW3C.91     
C                                                                          FLAGW3C.92     
      REAL AKH(NLEV+1)              ! IN Hybrid coordinate A at            FLAGW3C.93     
                                    !    layer boundary                    FLAGW3C.94     
      REAL BKH(NLEV+1)              ! IN Hybrid coordinate B at            FLAGW3C.95     
                                    !    layer boundary                    FLAGW3C.96     
C                                                                          FLAGW3C.97     
C----------------------------------------------------------------------    FLAGW3C.98     
C VARIABLES WHICH ARE OUTPUT                                               FLAGW3C.99     
C----------------------------------------------------------------------    FLAGW3C.100    
C                                                                          FLAGW3C.101    
      LOGICAL BWATER(NPNTS,2:NLEV)  ! OUT MASK FOR THOSE POINTS AT         FLAGW3C.102    
                                    !     WHICH CONDENSATE IS LIQUID       FLAGW3C.103    
C                                                                          FLAGW3C.104    
C                                                                          FLAGW3C.105    
C----------------------------------------------------------------------    FLAGW3C.106    
C VARIABLES WHICH ARE DEFINED LOCALLY                                      FLAGW3C.107    
C----------------------------------------------------------------------    FLAGW3C.108    
C                                                                          FLAGW3C.109    
      REAL EXK                      ! EXNER RATIO FOR LEVEL K              FLAGW3C.110    
      REAL EXKP1                    ! EXNER RATIO FOR LEVEL K+1            FLAGW3C.111    
      REAL EX(NPNTS,2)  ! EXNER pressure at levels K & K+1                 FLAGW3C.112    
      INTEGER KL,K1,K2                                                     FLAGW3C.113    
C                                                                          FLAGW3C.114    
                                                                           FLAGW3C.115    
      REAL                                                                 FLAGW3C.116    
     &    PU,PL,PU2                                                        FLAGW3C.117    
*CALL P_EXNERC                                                             FLAGW3C.118    
                                                                           FLAGW3C.119    
C*---------------------------------------------------------------------    FLAGW3C.120    
CL                                                                         FLAGW3C.121    
CL---------------------------------------------------------------------    FLAGW3C.122    
CL  NO SIGNIFICANT STRUCTURE                                               FLAGW3C.123    
CL---------------------------------------------------------------------    FLAGW3C.124    
CL                                                                         FLAGW3C.125    
      K=1                                                                  FLAGW3C.126    
      K1=1                                                                 FLAGW3C.127    
      K2=2                                                                 FLAGW3C.128    
      DO I=1,NPNTS                                                         FLAGW3C.129    
        PU=PSTAR(I)*BKH(K+1) + AKH(K+1)                                    FLAGW3C.130    
        PL=PSTAR(I)*BKH(K) + AKH(K)                                        FLAGW3C.131    
        EX(I,K1) = P_EXNER_C(EXNER(I,K+1),EXNER(I,K),PU,PL,KAPPA)          FLAGW3C.132    
      ENDDO                                                                FLAGW3C.133    
      DO K=1,NLEV-1                                                        FLAGW3C.134    
       DO I=1,NPNTS                                                        FLAGW3C.135    
                                                                           FLAGW3C.136    
        PU2=PSTAR(I)*BKH(K+2) + AKH(K+2)                                   FLAGW3C.137    
        PU=PSTAR(I)*BKH(K+1) + AKH(K+1)                                    FLAGW3C.138    
        EX(I,K2) = P_EXNER_C(EXNER(I,K+2),EXNER(I,K+1),PU2,PU,KAPPA)       FLAGW3C.139    
                                                                           FLAGW3C.140    
        BWATER(I,K+1) = 0.5*(TH(I,K)*EX(I,K1) +                            FLAGW3C.141    
     *           TH(I,K+1)*EX(I,K2)) .GT. TICE                             FLAGW3C.142    
       ENDDO                                                               FLAGW3C.143    
      KL=K2                                                                ADR1F405.79     
      K2=K1                                                                FLAGW3C.145    
      K1=KL                                                                FLAGW3C.146    
      ENDDO                                                                FLAGW3C.147    
C                                                                          FLAGW3C.148    
      RETURN                                                               FLAGW3C.149    
      END                                                                  FLAGW3C.150    
*ENDIF                                                                     FLAGW3C.151