*IF DEF,A05_3B,OR,DEF,A05_3C AJX1F405.184 C (c) CROWN COPYRIGHT 1995, METEOROLOGICAL OFFICE, All Rights Reserved. GTS2F400.14606 C GTS2F400.14607 C Use, duplication or disclosure of this code is subject to the GTS2F400.14608 C restrictions as set forth in the contract. GTS2F400.14609 C GTS2F400.14610 C Meteorological Office GTS2F400.14611 C London Road GTS2F400.14612 C BRACKNELL GTS2F400.14613 C Berkshire UK GTS2F400.14614 C RG12 2SZ GTS2F400.14615 C GTS2F400.14616 C If no contract has been raised with this copy of the code, the use, GTS2F400.14617 C duplication or disclosure of it is strictly prohibited. Permission GTS2F400.14618 C to do so must first be obtained in writing from the Head of Numerical GTS2F400.14619 C Modelling at the above address. GTS2F400.14620 C ******************************COPYRIGHT****************************** GTS2F400.14621 C GTS2F400.14622 CLL SUBROUTINE LIFT_PAR----------------------------------------------- LIFPAR3A.3 CLL LIFPAR3A.4 CLL PURPOSE : LIFTS THE PARCEL FROM LAYER K TO K+1 LIFPAR3A.5 CLL TAKING ENTRAINEMNT AND MOIST PROCESSES INTO ACOUNT LIFPAR3A.6 CLL LIFPAR3A.7 CLL SUBROUTINE LATENT_H CALCULATES THE MOIST PROCESSES LIFPAR3A.8 CLL LIFPAR3A.9 CLL SUITABLE FOR SINGLE COLUMN MODEL USE LIFPAR3A.10 CLL LIFPAR3A.11 CLL LIFPAR3A.12 CLL MODEL MODIFICATION HISTORY FROM MODEL VERSION 3.0: LIFPAR3A.13 CLL VERSION DATE LIFPAR3A.14 CLL 4.0 5/05/95 : New deck for version 3A of convection scheme. LIFPAR3A.15 CLL Includes tracers and momentum in the convective LIFPAR3A.16 CLL parcel. LIFPAR3A.17 CLL Pete Inness. LIFPAR3A.18 CLL 4.5 Jul. 98 Kill the IBM specific lines (JCThil) AJC1F405.23 CLL LIFPAR3A.19 CLL PROGRAMMING STANDARDS : UNIFIED MODEL DOCUMENTATION PAPER NO. 4 LIFPAR3A.20 CLL VERSION NO. 1 LIFPAR3A.21 CLL LIFPAR3A.22 CLL LOGICAL COMPONENTS COVERED: P27 LIFPAR3A.23 CLL LIFPAR3A.24 CLL DOCUMENTATION : UNIFIED MODEL DOCUMENTATION PAPER NO. ## LIFPAR3A.25 CLL LIFPAR3A.26 CLLEND----------------------------------------------------------------- LIFPAR3A.27 C LIFPAR3A.28 C*L ARGUMENTS--------------------------------------------------------- LIFPAR3A.29 C LIFPAR3A.30SUBROUTINE LIFT_PAR (NPNTS,NP_FULL,THPKP1,QPKP1,XSQKP1,BGMKP1, 10,6LIFPAR3A.31 * BWKP1,THPK,QPK,THEKP1,QEKP1,THEK,QEK,QSEKP1, LIFPAR3A.32 * DQSKP1,PKP1,EXKP1,EKP14,EKP34,L_MOM,UPKP1, LIFPAR3A.33 * VPKP1,UPK,VPK,UEK,UEKP1,VEK,VEKP1,L_TRACER, LIFPAR3A.34 * NTRA,TRAPKP1,TRAPK,TRAEKP1,TRAEK,L_SHALLOW) LIFPAR3A.35 C LIFPAR3A.36 IMPLICIT NONE LIFPAR3A.37 C LIFPAR3A.38 C---------------------------------------------------------------------- LIFPAR3A.39 C VECTOR LENGTHS AND LOOP COUNTERS LIFPAR3A.40 C---------------------------------------------------------------------- LIFPAR3A.41 C LIFPAR3A.42 INTEGER NPNTS ! IN VECTOR LENGTH LIFPAR3A.46 C LIFPAR3A.47 INTEGER NP_FULL ! IN FULL VECTOR LENGTH LIFPAR3A.48 C LIFPAR3A.49 INTEGER I,KTRA ! LOOP COUNTERS LIFPAR3A.50 C LIFPAR3A.51 INTEGER NTRA ! IN NUMBER OF TRACER VARIABLES LIFPAR3A.52 C LIFPAR3A.53 C---------------------------------------------------------------------- LIFPAR3A.54 C VARIABLES WHICH ARE INPUT LIFPAR3A.55 C---------------------------------------------------------------------- LIFPAR3A.56 C LIFPAR3A.57 REAL THEK(NPNTS) ! IN POTENTIAL TEMPERATURE OF CLOUD LIFPAR3A.58 ! ENVIRONMENT IN LAYER K (K) LIFPAR3A.59 C LIFPAR3A.60 REAL THEKP1(NPNTS) ! IN POTENTIAL TEMPERATURE OF CLOUD LIFPAR3A.61 ! ENVIRONMENT IN LAYER K+1 (K) LIFPAR3A.62 C LIFPAR3A.63 REAL QEK(NPNTS) ! IN MIXING RATIO OF CLOUD LIFPAR3A.64 ! ENVIRONMENT IN LAYER K (KG/KG) LIFPAR3A.65 C LIFPAR3A.66 REAL QEKP1(NPNTS) ! IN MIXING RATIO OF CLOUD LIFPAR3A.67 ! ENVIRONMENT IN LAYER K+1 (KG/KG) LIFPAR3A.68 C LIFPAR3A.69 REAL UEK(NPNTS) ! IN U OF ENVIRONMENT IN LAYER K (M/S) LIFPAR3A.70 C LIFPAR3A.71 REAL UEKP1(NPNTS) ! IN U OF ENVIRONMENT IN LAYER K+1 (M/S) LIFPAR3A.72 C LIFPAR3A.73 REAL VEK(NPNTS) ! IN V OF ENVIRONMENT IN LAYER K (M/S) LIFPAR3A.74 C LIFPAR3A.75 REAL VEKP1(NPNTS) ! IN V OF ENVIRONMENT IN LAYER K+1 (M/S) LIFPAR3A.76 C LIFPAR3A.77 REAL TRAEK(NP_FULL, ! IN TRACER CONTENT OF CLOUD LIFPAR3A.78 * NTRA) ! ENVIRONMENT IN LAYER K (KG/KG) LIFPAR3A.79 C LIFPAR3A.80 REAL TRAEKP1(NP_FULL, ! IN TRACER CONTENT OF CLOUD LIFPAR3A.81 * NTRA) ! ENVIRONMENT IN LAYER K+1 (KG/KG) LIFPAR3A.82 C LIFPAR3A.83 REAL QSEKP1(NPNTS) ! IN SATURATION MIXING RATIO OF CLOUD LIFPAR3A.84 ! ENVIRONMENT IN LAYER K+1 (KG/KG) LIFPAR3A.85 C LIFPAR3A.86 REAL DQSKP1(NPNTS) ! IN GRADIENT OF SATURATION MIXING RATIO LIFPAR3A.87 ! WITH POTENTIAL TEMPERATURE FOR THE LIFPAR3A.88 ! CLOUD ENVIRONMENT IN LAYER K+1 LIFPAR3A.89 ! (KG/KG/K) LIFPAR3A.90 C LIFPAR3A.91 REAL THPK(NPNTS) ! IN PARCEL POTENTIAL TEMPERATURE IN LIFPAR3A.92 ! LAYER K (K) LIFPAR3A.93 C LIFPAR3A.94 REAL QPK(NPNTS) ! IN PARCEL MIXING RATIO IN LAYER K (KG/KG) LIFPAR3A.95 C LIFPAR3A.96 REAL UPK(NPNTS) ! IN PARCEL U IN LAYER K (M/S) LIFPAR3A.97 C LIFPAR3A.98 REAL VPK(NPNTS) ! IN PARCEL V IN LAYER K (M/S) LIFPAR3A.99 C LIFPAR3A.100 REAL TRAPK(NP_FULL, ! IN PARCEL TRACER CONTENT IN LAYER K LIFPAR3A.101 * NTRA) ! (KG/KG) LIFPAR3A.102 C LIFPAR3A.103 LOGICAL BWKP1(NPNTS) ! IN MASK FOR WHETHER CONDENSATE IS LIFPAR3A.104 ! LIQUID IN LAYER K+1 LIFPAR3A.105 C LIFPAR3A.106 REAL PKP1(NPNTS) ! IN PRESSURE AT LEVEL K+1 (PA) LIFPAR3A.107 C LIFPAR3A.108 REAL EXKP1(NPNTS) ! IN EXNER RATIO AT MID-POINT OF LAYER K+1 LIFPAR3A.109 C LIFPAR3A.110 REAL EKP14(NPNTS) ! IN ENTRAINMENT COEFFICIENT AT LEVEL LIFPAR3A.111 ! K+1/4 MULTIPLIED BY APPROPRIATE LIFPAR3A.112 ! LAYER THICKNESS LIFPAR3A.113 C LIFPAR3A.114 REAL EKP34(NPNTS) ! IN ENTRAINMENT COEFFICIENT AT LEVEL LIFPAR3A.115 ! K+3/4 MULTIPLIED BY APPROPRIATE LIFPAR3A.116 ! LAYER THICKNESS LIFPAR3A.117 C LIFPAR3A.118 LOGICAL L_TRACER ! IN LOGICAL SWITCH FOR INCLUSION OF LIFPAR3A.119 ! TRACERS LIFPAR3A.120 C LIFPAR3A.121 LOGICAL L_MOM ! IN LOGICAL SWITCH FOR INCLUSION OF LIFPAR3A.122 ! MOMENTUM TRANSPORTS LIFPAR3A.123 C LIFPAR3A.124 LOGICAL L_SHALLOW(NPNTS) ! IN LOGICAL INDICATOR OF WHETHER LIFPAR3A.125 ! CONVECTION AT A GRIDPOINT LIFPAR3A.126 ! TERMINATES IN THE BOUNDARY LAYER. LIFPAR3A.127 C LIFPAR3A.128 C---------------------------------------------------------------------- LIFPAR3A.129 C VARIABLES WHICH ARE OUTPUT LIFPAR3A.130 C---------------------------------------------------------------------- LIFPAR3A.131 C LIFPAR3A.132 REAL THPKP1(NPNTS) ! OUT PARCEL POTENTIAL TEMPERATURE IN LIFPAR3A.133 ! LAYER K+1 AFTER ENTRAINMENT AND LIFPAR3A.134 ! LATENT HEATING (K) LIFPAR3A.135 C LIFPAR3A.136 REAL QPKP1(NPNTS) ! OUT PARCEL MIXING RATIO IN LAYER K+1 LIFPAR3A.137 ! AFTER ENTRAINMENT AND LATENT HEATING LIFPAR3A.138 ! (KG/KG) LIFPAR3A.139 C LIFPAR3A.140 REAL UPKP1(NPNTS) ! OUT PARCEL U IN LAYER K+1 AFTER LIFPAR3A.141 ! ENTRAINMENT (M/S) LIFPAR3A.142 C LIFPAR3A.143 REAL VPKP1(NPNTS) ! OUT PARCEL V IN LAYER K+1 AFTER LIFPAR3A.144 ! ENTRAINMENT (M/S) LIFPAR3A.145 C LIFPAR3A.146 REAL TRAPKP1(NP_FULL, ! OUT PARCEL TRACER CONTENT IN LAYER LIFPAR3A.147 * NTRA) ! K+1 AFTER ENTRAINMENT. (KG/KG) LIFPAR3A.148 C LIFPAR3A.149 REAL XSQKP1(NPNTS) ! OUT EXCESS PARCEL WATER AFTER LIFPAR3A.150 ! LIFTING FROM LAYER K TO K+1 LIFPAR3A.151 ! (KG/KG) LIFPAR3A.152 C LIFPAR3A.153 LOGICAL BGMKP1(NPNTS) ! OUT MASK FOR PARCELS WHICH ARE LIFPAR3A.154 ! SATURATED IN LAYER K+1 AFTER LIFPAR3A.155 ! ENTRAINMENT AND LATENT HEATING LIFPAR3A.156 C LIFPAR3A.157 C LIFPAR3A.158 C---------------------------------------------------------------------- LIFPAR3A.159 C VARIABLES WHICH ARE DEFINED LOCALLY LIFPAR3A.160 C LIFPAR3A.161 C ON THE IBM ARRAYS ARE ALLOCATED USING A PARAMETER STATEMENT LIFPAR3A.162 C LIFPAR3A.163 C ON THE CRAY ARRAYS ARE DYNAMICALLY ALLOCATED LIFPAR3A.164 C---------------------------------------------------------------------- LIFPAR3A.165 C LIFPAR3A.166 REAL THPKP1T(NPNTS) ! INITIAL ESTIMATE OF PARCEL TEMPERATURE LIFPAR3A.178 ! IN LAYER K+1 AFTER ENTRAINMENT (K) LIFPAR3A.179 C LIFPAR3A.180 REAL TT(NPNTS) ! TEMPORARY TEMPERATURE USED IN CALCULATION LIFPAR3A.181 ! OF SATURATION MIXING RATIO (K) LIFPAR3A.182 C LIFPAR3A.183 REAL QSPKP1(NPNTS) ! SATURATION MIXING RATIO OF PARCEL LIFPAR3A.184 ! AFTER DRY ASCENT (KG/KG) LIFPAR3A.185 C LIFPAR3A.186 C LIFPAR3A.188 C---------------------------------------------------------------------- LIFPAR3A.189 C EXTERNAL ROUTINES CALLED LIFPAR3A.190 C---------------------------------------------------------------------- LIFPAR3A.191 C LIFPAR3A.192 EXTERNAL QSAT,LATENT_H LIFPAR3A.193 C LIFPAR3A.194 C*--------------------------------------------------------------------- LIFPAR3A.195 C LIFPAR3A.196 DO I=1,NPNTS LIFPAR3A.197 CL LIFPAR3A.198 CL---------------------------------------------------------------------- LIFPAR3A.199 CL LIFT PARCEL MIXING RATIO, POTENTIAL TEMPERATURE, U, V AND TRACER LIFPAR3A.200 CL TO THE NEXT LEVEL LIFPAR3A.201 CL---------------------------------------------------------------------- LIFPAR3A.202 CL LIFPAR3A.203 CL---------------------------------------------------------------------- LIFPAR3A.204 CL INITIAL 'DRY' ASCENT LIFPAR3A.205 CL LIFPAR3A.206 CL UM DOCUMENTATION PAPER P27 LIFPAR3A.207 CL SECTION (3), EQUATIONS (11B), (12B) LIFPAR3A.208 CL---------------------------------------------------------------------- LIFPAR3A.209 CL LIFPAR3A.210 THPKP1(I) = ( THPK(I) LIFPAR3A.211 * + EKP14(I)*THEK(I) + EKP34(I)*(1.+EKP14(I))*THEKP1(I) LIFPAR3A.212 * ) / ((1.+EKP14(I))*(1.+EKP34(I))) LIFPAR3A.213 C LIFPAR3A.214 QPKP1(I) = ( QPK(I) LIFPAR3A.215 * + EKP14(I)*QEK(I) + EKP34(I)*(1.+EKP14(I))*QEKP1(I) LIFPAR3A.216 * ) / ((1.+EKP14(I))*(1.+EKP34(I))) LIFPAR3A.217 C LIFPAR3A.218 END DO LIFPAR3A.219 C LIFPAR3A.220 IF(L_MOM)THEN LIFPAR3A.221 C LIFPAR3A.222 DO I=1,NPNTS LIFPAR3A.223 UPKP1(I) = ( UPK(I) LIFPAR3A.224 * + EKP14(I)*UEK(I) + EKP34(I)*(1.+EKP14(I))*UEKP1(I) LIFPAR3A.225 * ) / ((1.+EKP14(I))*(1.+EKP34(I))) LIFPAR3A.226 C LIFPAR3A.227 VPKP1(I) = ( VPK(I) LIFPAR3A.228 * + EKP14(I)*VEK(I) + EKP34(I)*(1.+EKP14(I))*VEKP1(I) LIFPAR3A.229 * ) / ((1.+EKP14(I))*(1.+EKP34(I))) LIFPAR3A.230 C---------------------------------------------------------------------- LIFPAR3A.231 C IF CONVECTION IS DEEP OR MID-LEVEL, ADD AN IN-CLOUD PRESSURE LIFPAR3A.232 C GRADIENT TERM TO THE MOMENTUM INCREMENTS LIFPAR3A.233 C---------------------------------------------------------------------- LIFPAR3A.234 C LIFPAR3A.235 IF(.NOT.L_SHALLOW(I))THEN LIFPAR3A.236 UPKP1(I) = UPKP1(I) - (0.7*(UEK(I)-UEKP1(I))/(1.0+EKP34(I))) LIFPAR3A.237 VPKP1(I) = VPKP1(I) - (0.7*(VEK(I)-VEKP1(I))/(1.0+EKP34(I))) LIFPAR3A.238 END IF LIFPAR3A.239 END DO LIFPAR3A.240 C LIFPAR3A.241 END IF LIFPAR3A.242 C LIFPAR3A.243 IF(L_TRACER)THEN LIFPAR3A.244 C LIFPAR3A.245 DO KTRA = 1,NTRA LIFPAR3A.246 DO I = 1,NPNTS LIFPAR3A.247 C LIFPAR3A.248 TRAPKP1(I,KTRA) = ( TRAPK(I,KTRA) LIFPAR3A.249 * + EKP14(I)*TRAEK(I,KTRA) + EKP34(I)*(1.+EKP14(I))*TRAEKP1(I,KTRA) LIFPAR3A.250 * ) / ((1.+EKP14(I))*(1.+EKP34(I))) LIFPAR3A.251 C LIFPAR3A.252 END DO LIFPAR3A.253 END DO LIFPAR3A.254 C LIFPAR3A.255 END IF LIFPAR3A.256 C LIFPAR3A.257 C----------------------------------------------------------------------- LIFPAR3A.258 C CALCULATE WHERE THE PARCEL IS SUPERSATURATED (IE WHERE GAMMA(K+1)=1 LIFPAR3A.259 C SEE DCTN 29 PAGE 123) LIFPAR3A.260 C----------------------------------------------------------------------- LIFPAR3A.261 C LIFPAR3A.262 C LIFPAR3A.263 C----------------------------------------------------------------------- LIFPAR3A.264 C CONVERT POTENTIAL TEMPERATURE TO TEMPERATURE AND CALCULATE LIFPAR3A.265 C PRESSURE OF LAYER K FOR CALCULATION OF SATURATED LIFPAR3A.266 C MIXING RATIO LIFPAR3A.267 C----------------------------------------------------------------------- LIFPAR3A.268 C LIFPAR3A.269 DO I=1,NPNTS LIFPAR3A.270 TT(I) = THPKP1(I)*EXKP1(I) LIFPAR3A.271 END DO LIFPAR3A.272 CALL QSAT
(QSPKP1,TT,PKP1,NPNTS) LIFPAR3A.273 C LIFPAR3A.274 DO 20 I=1,NPNTS LIFPAR3A.275 BGMKP1(I) = QPKP1(I) .GT. QSPKP1(I) LIFPAR3A.276 CL LIFPAR3A.277 CL---------------------------------------------------------------------- LIFPAR3A.278 CL CONDENSATION CALCULATION LIFPAR3A.279 CL LIFPAR3A.280 CL SUBROUTINE LATENT_H LIFPAR3A.281 CL LIFPAR3A.282 CL UM DOCUMENTATION PAPER P27 LIFPAR3A.283 CL SECTION (4) LIFPAR3A.284 CL---------------------------------------------------------------------- LIFPAR3A.285 CL LIFPAR3A.286 THPKP1T(I) = THPKP1(I) LIFPAR3A.287 20 CONTINUE LIFPAR3A.288 C LIFPAR3A.289 CALL LATENT_H
(NPNTS,THPKP1T,QPKP1,THEKP1,QSEKP1,DQSKP1, LIFPAR3A.290 * BGMKP1,BWKP1,EXKP1) LIFPAR3A.291 C LIFPAR3A.292 C----------------------------------------------------------------------- LIFPAR3A.293 C CALCULATE A MORE ACCURATE PARCEL SATURATED MIXING RATIO AND CONDENSE LIFPAR3A.294 C OUT ANY EXCESS WATER VAPOUR. STORE THE EXCESS AMOUNTS IN 'XSQKP1' LIFPAR3A.295 C FOR LATER. SET PARCEL POTENTIAL TEMPERATURES TO THE PROVISIONAL LIFPAR3A.296 C VALUES EXCEPT WHERE THE PARCEL IS NOT SUPERSATURATED WRT THE NEW LIFPAR3A.297 C SATURATED MIXING RATIO. RECALCULATE BIT VECTOR 'BGMKP1'. LIFPAR3A.298 C----------------------------------------------------------------------- LIFPAR3A.299 C LIFPAR3A.300 C LIFPAR3A.301 C----------------------------------------------------------------------- LIFPAR3A.302 C CONVERT POTENTIAL TEMPERATURE TO TEMPERATURE AND CALCULATE LIFPAR3A.303 C PRESSURE OF LAYER K FOR CALCULATION OF SATURATED LIFPAR3A.304 C MIXING RATIO LIFPAR3A.305 C----------------------------------------------------------------------- LIFPAR3A.306 C LIFPAR3A.307 DO 35 I = 1,NPNTS LIFPAR3A.308 TT(I) = THPKP1T(I)*EXKP1(I) LIFPAR3A.309 35 CONTINUE LIFPAR3A.310 CALL QSAT
(QSPKP1,TT,PKP1,NPNTS) LIFPAR3A.311 C LIFPAR3A.312 DO 40 I=1,NPNTS LIFPAR3A.313 XSQKP1(I) = QPKP1(I) - QSPKP1(I) LIFPAR3A.314 C LIFPAR3A.315 IF(XSQKP1(I) .LE. 0.0) THEN LIFPAR3A.316 BGMKP1(I) = .FALSE. LIFPAR3A.317 XSQKP1(I) = 0.0 LIFPAR3A.318 ELSE LIFPAR3A.319 BGMKP1(I) = .TRUE. LIFPAR3A.320 THPKP1(I) = THPKP1T(I) LIFPAR3A.321 END IF LIFPAR3A.322 C LIFPAR3A.323 QPKP1(I) = QPKP1(I) - XSQKP1(I) LIFPAR3A.324 40 CONTINUE LIFPAR3A.325 C LIFPAR3A.326 RETURN LIFPAR3A.327 END LIFPAR3A.328 *ENDIF LIFPAR3A.329