*IF DEF,A05_3C PARCEL3C.2 C ******************************COPYRIGHT****************************** PARCEL3C.3 C (c) CROWN COPYRIGHT 1997, METEOROLOGICAL OFFICE, All Rights Reserved. PARCEL3C.4 C PARCEL3C.5 C Use, duplication or disclosure of this code is subject to the PARCEL3C.6 C restrictions as set forth in the contract. PARCEL3C.7 C PARCEL3C.8 C Meteorological Office PARCEL3C.9 C London Road PARCEL3C.10 C BRACKNELL PARCEL3C.11 C Berkshire UK PARCEL3C.12 C RG12 2SZ PARCEL3C.13 C PARCEL3C.14 C If no contract has been raised with this copy of the code, the use, PARCEL3C.15 C duplication or disclosure of it is strictly prohibited. Permission PARCEL3C.16 C to do so must first be obtained in writing from the Head of Numerical PARCEL3C.17 C Modelling at the above address. PARCEL3C.18 C ******************************COPYRIGHT****************************** PARCEL3C.19 C PARCEL3C.20 CLL SUBROUTINE PARCEL------------------------------------------------- PARCEL3C.21 CLL PARCEL3C.22 CLL PURPOSE : COMPLETES LIFTING OF THE PARCEL FROM LAYER K TO K+1 PARCEL3C.23 CLL PARCEL3C.24 CLL CALL SUBROUTINE DETRAIN, TERM_CON, CLOUD_W PARCEL3C.25 CLL PARCEL3C.26 CLL AN INITIAL MASS FLUX IS CALCULATED PARCEL3C.27 CLL PARCEL3C.28 CLL SUBROUTINE DETRAIN CARRIES OUT THE FORCED DETRAINMENT PARCEL3C.29 CLL CALCULATION PARCEL3C.30 CLL PARCEL3C.31 CLL SUBROUTINE TERM_CON TESTS FOR ANY CONVECTION WHICH IS PARCEL3C.32 CLL TERMINATING IN LAYER K+1 PARCEL3C.33 CLL PARCEL3C.34 CLL SUBROUTINE CLOUD_W CARRIES OUT THE CLOUD MICROPHYSICS PARCEL3C.35 CLL CALCULATION PARCEL3C.36 CLL PARCEL3C.37 CLL SUITABLE FOR SINGLE COLUMN MODEL USE PARCEL3C.38 CLL PARCEL3C.39 CLL CODE REWORKED FOR CRAY Y-MP BY D.GREGORY AUTUMN/WINTER 1989/90 PARCEL3C.40 CLL THE RELEVANT POINTS IN CONVECT PARCEL3C.41 CLL PARCEL3C.42 CLL MODEL MODIFICATION HISTORY: PARCEL3C.43 CLL VERSION DATE PARCEL3C.44 !LL 4.4 17/10/97 New version optimised for T3E. PARCEL3C.45 !LL Loop splitting by hand for T3E optimisation PARCEL3C.46 !LL D.Salmond PARCEL3C.47 !LL 4.4 26/09/97 Logical L_CCW passed in to determine if precip is PARCEL3C.48 !LL included in water path. MPARWTR passed down as an PARCEL3C.49 !LL argument at versions 3A and 3B. J.M.Gregory PARCEL3C.50 CLL 4.5 Jul. 98 Kill the IBM specific lines (JCThil) AJC1F405.33 CLL PARCEL3C.51 CLL PROGRAMMING STANDARDS : PARCEL3C.52 CLL PARCEL3C.53 CLL LOGICAL COMPONENTS COVERED: P27 PARCEL3C.54 CLL PARCEL3C.55 CLL DOCUMENTATION : UNIFIED MODEL DOCUMENTATION PAPER 27 PARCEL3C.56 CLL PARCEL3C.57 CLLEND----------------------------------------------------------------- PARCEL3C.58 C PARCEL3C.59 C*L ARGUMENTS--------------------------------------------------------- PARCEL3C.60SUBROUTINE PARCEL (K,NPNTS,NLEV,PSTAR,THEKP1,THEK,QEKP1,QEK, 3,6PARCEL3C.61 * QSEK,QSEKP1,DQSK,DQSKP1,BLAND,BWKP1, PARCEL3C.62 * DELTAK,FLXK,THPK,QPK,THRK,QRK, PARCEL3C.63 * BTERM,THPKP1,QPKP1,PREKP1,XPK,XPKP1,FLXKP1, PARCEL3C.64 * XSQKP1,THPI,QPI,BGMK,BGMKP1,BLOWST,RBUOY, PARCEL3C.65 * CCA,ICCB,ICCT,TCW,DEPTH, PARCEL3C.66 * EKP14,EKP34,AMDETK,DELPKP1,PK,PKP1, PARCEL3C.67 * EXK,EXKP1,DELEXKP1,CCLWP,CCW, PARCEL3C.68 * LCCA,LCBASE,LCTOP,LCCLWP,L_SHALLOW,L_CCW PARCEL3C.69 *IF DEF,A05_3C PARCEL3C.70 & ,MPARWTR PARCEL3C.71 *ENDIF PARCEL3C.72 & ,UD_FACTOR AJX3F405.17 & ) PARCEL3C.73 C PARCEL3C.74 IMPLICIT NONE PARCEL3C.75 C PARCEL3C.76 C---------------------------------------------------------------------- PARCEL3C.77 C MODEL CONSTANTS PARCEL3C.78 C---------------------------------------------------------------------- PARCEL3C.79 C PARCEL3C.80 *CALL XSBMIN
PARCEL3C.81 *CALL MASSFC
PARCEL3C.82 C PARCEL3C.83 C---------------------------------------------------------------------- PARCEL3C.84 C VECTOR LENGTHS AND LOOP COUNTERS PARCEL3C.85 C---------------------------------------------------------------------- PARCEL3C.86 C PARCEL3C.87 INTEGER NPNTS ! IN VECTOR LENGTH PARCEL3C.91 C PARCEL3C.92 INTEGER NLEV ! IN NUMBER OF MODEL LEVELS PARCEL3C.93 C PARCEL3C.94 INTEGER NDET ! COMPRESSED VECTOR LENGTH FOR PARCEL3C.95 ! FORCED DETRAINMENT CALCULATION PARCEL3C.96 C PARCEL3C.97 INTEGER K ! IN PRESENT MODEL LAYER PARCEL3C.98 C PARCEL3C.99 INTEGER I ! LOOP COUNTER PARCEL3C.100 C PARCEL3C.101 C PARCEL3C.102 C---------------------------------------------------------------------- PARCEL3C.103 C VARAIBLES WHICH ARE INPUT PARCEL3C.104 C---------------------------------------------------------------------- PARCEL3C.105 C PARCEL3C.106 REAL THEK(NPNTS) ! IN POTENTIAL TEMPERATURE OF CLOUD PARCEL3C.107 ! ENVIRONMENT IN LAYER K (K) PARCEL3C.108 C PARCEL3C.109 REAL THEKP1(NPNTS) ! IN POTENTIAL TEMPERATURE OF CLOUD PARCEL3C.110 ! ENVIRONMENT IN LAYER K+1 (K) PARCEL3C.111 C PARCEL3C.112 REAL QEK(NPNTS) ! IN MIXING RATIO OF CLOUD PARCEL3C.113 ! ENVIRONMENT IN LAYER K (KG/KG) PARCEL3C.114 C PARCEL3C.115 REAL QEKP1(NPNTS) ! IN MIXING RATIO OF CLOUD PARCEL3C.116 ! ENVIRONMENT IN LAYER K+1 (KG/KG) PARCEL3C.117 C PARCEL3C.118 REAL QSEKP1(NPNTS) ! IN SATURATION MIXING RATIO OF CLOUD PARCEL3C.119 ! ENVIRONMENT IN LAYER K+1 (KG/KG) PARCEL3C.120 C PARCEL3C.121 REAL DQSKP1(NPNTS) ! IN GRADIENT OF SATURATION MIXING RATIO PARCEL3C.122 ! WITH POTENTIAL TEMPERATURE FOR THE PARCEL3C.123 ! CLOUD ENVIRONMENT IN LAYER K+1 PARCEL3C.124 ! (KG/KG/K) PARCEL3C.125 C PARCEL3C.126 REAL PSTAR(NPNTS) ! IN SURFACE PRESSURE (PA) PARCEL3C.127 C PARCEL3C.128 REAL THPK(NPNTS) ! IN PARCEL POTENTIAL TEMPERATURE PARCEL3C.129 ! IN LAYER K (KG/KG) PARCEL3C.130 C PARCEL3C.131 REAL QPK(NPNTS) ! IN PARCEL MIXING RATIO IN LAYER K (KG/KG) PARCEL3C.132 C PARCEL3C.133 REAL XSQKP1(NPNTS) ! IN EXCESS PARCEL WATER AFER LIFTING FROM PARCEL3C.134 ! LAYER K TO K+1 (KG/KG) PARCEL3C.135 C PARCEL3C.136 REAL RBUOY(NPNTS) ! IN PARCEL BUOYANCY IN LAYER K+1 (K) PARCEL3C.137 C PARCEL3C.138 REAL QSEK(NPNTS) ! IN SATURATION MIXING RATIO OF CLOUD PARCEL3C.139 ! ENVIRONMENT IN LAYER K (KG/KG) PARCEL3C.140 C PARCEL3C.141 REAL DQSK(NPNTS) ! IN GRADIENT OF SATURATION MIXING RATIO PARCEL3C.142 ! WITH POTENTIAL TEMPERATURE FOR THE PARCEL3C.143 ! CLOUD ENVIRONMENT OF LAYER K PARCEL3C.144 ! (KG/KG/K) PARCEL3C.145 C PARCEL3C.146 REAL THPI(NPNTS) ! IN INITIAL PARCEL POTENTIAL TEMPERATURE PARCEL3C.147 ! (K) PARCEL3C.148 C PARCEL3C.149 REAL QPI(NPNTS) ! IN INITIAL PARCEL MIXING RATIO (KG/KG) PARCEL3C.150 C PARCEL3C.151 REAL XPK(NPNTS) ! IN PARCEL CLOUD WATER IN LAYER K (KG/KG) PARCEL3C.152 C PARCEL3C.153 *IF DEF,A05_3C PARCEL3C.154 REAL MPARWTR ! IN Reservoir of conv cld water left PARCEL3C.155 ! ! in a layer after conv. precip. PARCEL3C.156 *ENDIF PARCEL3C.157 ! AJX3F405.18 REAL UD_FACTOR ! IN Factor used in calculation of CCWP AJX3F405.19 ! ! used in radiation, if L_CCW=TRUE. AJX3F405.20 ! AJX3F405.21 LOGICAL BWKP1(NPNTS) ! IN MASK FOR WHETHER CONDENSATE IS PARCEL3C.158 ! LIQUID IN LAYER K+1 PARCEL3C.159 C PARCEL3C.160 LOGICAL BGMK(NPNTS) ! IN MASK FOR PARCELS WHICH ARE PARCEL3C.161 ! SATURATED IN LAYER K PARCEL3C.162 C PARCEL3C.163 LOGICAL BLAND(NPNTS) ! IN LAND/SEA MASK PARCEL3C.164 C PARCEL3C.165 LOGICAL BLOWST(NPNTS) ! IN MASK FOR THOSE POINTS AT WHICH PARCEL3C.166 ! STABILITY IS LOW ENOUGH FOR PARCEL3C.167 ! CONVECTION TO OCCUR PARCEL3C.168 C PARCEL3C.169 LOGICAL L_SHALLOW(NPNTS) ! IN MASK FOR POINTS WHERE CONVECTION PARCEL3C.170 ! IS EXPECTED TO BE SHALLOW PARCEL3C.171 LOGICAL L_CCW ! IN SWITCH FOR CLOUD WATER CHANGES: PARCEL3C.172 ! (PRECIP NOT INC. IN WATER PATH) PARCEL3C.173 C PARCEL3C.174 REAL EKP14(NPNTS) ! IN ENTRAINMENT COEFFICIENT AT LEVEL PARCEL3C.175 ! K+1/4 MULTIPLIED BY APPROPRIATE PARCEL3C.176 ! LAYER THICKNESS PARCEL3C.177 C PARCEL3C.178 REAL EKP34(NPNTS) ! IN ENTRAINMENT COEFFICIENT AT LEVEL PARCEL3C.179 ! K+3/4 MULTIPLIED BY APPROPRIATE PARCEL3C.180 ! LAYER THICKNESS PARCEL3C.181 C PARCEL3C.182 REAL AMDETK(NPNTS) ! IN MIXING DETRAINMENT COEFFICIENT PARCEL3C.183 ! AT LEVEL K MULTIPLIED BY PARCEL3C.184 ! APPROPORIATE LAYER THICKNESS PARCEL3C.185 C PARCEL3C.186 REAL DELPKP1(NPNTS) ! IN PRESSURE DIFFERENCE ACROSS PARCEL3C.187 ! LAYER K+1 (PA) PARCEL3C.188 C PARCEL3C.189 REAL PK(NPNTS) ! IN PRESSURE AT LEVEL K (PA) PARCEL3C.190 C PARCEL3C.191 REAL PKP1(NPNTS) ! IN PRESSURE AT LEVEL K+1 (PA) PARCEL3C.192 C PARCEL3C.193 REAL EXK(NPNTS) ! IN EXNER FUNCTION AT LEVEL K PARCEL3C.194 C PARCEL3C.195 REAL EXKP1(NPNTS) ! IN EXNER FUNCTION AT LEVEL K+1 PARCEL3C.196 C PARCEL3C.197 REAL DELEXKP1(NPNTS) ! IN DIFFERENCE IN EXNER FUNCTION ACROSS PARCEL3C.198 ! LAYER K+1 PARCEL3C.199 C PARCEL3C.200 C PARCEL3C.201 C--------------------------------------------------------------------- PARCEL3C.202 C VARAIBLES WHICH ARE BOTH INPUT AND OUTPUT PARCEL3C.203 C--------------------------------------------------------------------- PARCEL3C.204 C PARCEL3C.205 REAL THPKP1(NPNTS) ! INOUT PARCEL3C.206 ! IN ESTIMATE OF PARCEL POTENTIAL PARCEL3C.207 ! TEMPERATURE IN LAYER K+1 AFTER PARCEL3C.208 ! ENTRAINMENT AND LATENT HEATING (K) PARCEL3C.209 ! OUT FINAL PARCEL POTENTIAL TEMPERATURE PARCEL3C.210 ! IN LAYER K+1 (AFTER FORCED PARCEL3C.211 ! DETRAINEMNT) (K) PARCEL3C.212 C PARCEL3C.213 REAL QPKP1(NPNTS) ! INOUT PARCEL3C.214 ! IN ESTIMATE OF PARCEL MIXING RATIO PARCEL3C.215 ! IN LAYER K+1 AFTER ENTRAINMENT AND PARCEL3C.216 ! LATENT HEATING (KG/KG) PARCEL3C.217 ! OUT FINAL PARCEL MIXING RATIO PARCEL3C.218 ! IN LAYER K+1 (AFTER FORCED PARCEL3C.219 ! DETRAINEMNT) (KG/KG) PARCEL3C.220 C PARCEL3C.221 REAL FLXK(NPNTS) ! INOUT PARCEL3C.222 ! IN PARCEL MASSFLUX IN LAYER K PARCEL3C.223 ! (NON-ZERO IF CONVECTION IS NOT PARCEL3C.224 ! INITIATED FROM LAYER K) (PA/S) PARCEL3C.225 ! OUT PARCEL MASSFLUX IN LAYER K PARCEL3C.226 ! (SET IF CONVECTION IS INITIATED PARCEL3C.227 ! IN LAYER K) (PA/S) PARCEL3C.228 C PARCEL3C.229 LOGICAL BGMKP1(NPNTS) ! INOUT PARCEL3C.230 ! IN MASK FOR PARCELS WHICH ARE PARCEL3C.231 ! SATURATED IN LAYER K+1 PARCEL3C.232 ! CALCULATED ON THE BASIS OF PARCEL3C.233 ! INPUT PARCEL POTENTIAL TEMPERATURE PARCEL3C.234 ! AND MIXING RATIO PARCEL3C.235 ! OUT MASK FOR PARCELS WHICH ARE PARCEL3C.236 ! SATURATED IN LAYER K+1 CALCULATED PARCEL3C.237 ! FORM PARCEL TEMPERATURE AND PARCEL3C.238 ! MIXING RATIO AFTER FORCED PARCEL3C.239 ! DETARINMENT CALCULATION PARCEL3C.240 C PARCEL3C.241 REAL TCW(NPNTS) ! INOUT PARCEL3C.242 ! IN TOTAL CONDENSED WATER CONTENT PARCEL3C.243 ! SUMMED UPTO LAYER K (KG/M**2/S) PARCEL3C.244 ! OUT UPDATED TOTAL CONDENSED WATER PARCEL3C.245 ! CONTENT SUMMED UPTO LAYER K+1 PARCEL3C.246 ! (KG/M**2/S) PARCEL3C.247 C PARCEL3C.248 REAL DEPTH(NPNTS) ! INOUT PARCEL3C.249 ! IN DEPTH OF CONVECTIVE CLOUD TO PARCEL3C.250 ! LAYER K (M) PARCEL3C.251 ! OUT UPDATED DEPTH OF CONVECTIVE PARCEL3C.252 ! CLOUD TO LAYER K+1 (M) PARCEL3C.253 C PARCEL3C.254 REAL CCLWP(NPNTS) ! INOUT PARCEL3C.255 ! IN CONDENSED WATER PATH PARCEL3C.256 ! SUMMED UPTO LAYER K (KG/M**2) PARCEL3C.257 ! OUT UPDATED CONDENSED WATER PATH PARCEL3C.258 ! SUMMED UPTO LAYER K+1 (KG/M**2) PARCEL3C.259 C PARCEL3C.260 C PARCEL3C.261 C--------------------------------------------------------------------- PARCEL3C.262 C VARIABLES WHICH ARE OUTPUT PARCEL3C.263 C--------------------------------------------------------------------- PARCEL3C.264 C PARCEL3C.265 LOGICAL BTERM(NPNTS) ! OUT MASK FOR PARCELS WHICH TERMINATE IN PARCEL3C.266 ! LAYER K+1 PARCEL3C.267 C PARCEL3C.268 REAL PREKP1(NPNTS) ! OUT PRECIPITATION FROM PARCEL AS IT PARCEL3C.269 ! RISES FROM LAYER K TO K+1 (KG/M**2/S) PARCEL3C.270 C PARCEL3C.271 REAL THRK(NPNTS) ! OUT PARCEL DETRAINMENT POTENTIAL PARCEL3C.272 ! TEMPERATURE IN LAYER K (K) PARCEL3C.273 C PARCEL3C.274 REAL QRK(NPNTS) ! OUT PARCEL DETRAINMENT MIXING RATIO PARCEL3C.275 ! IN LAYER K (KG/KG) PARCEL3C.276 C PARCEL3C.277 REAL XPKP1(NPNTS) ! OUT PARCEL CLOUD WATER IN LAYER K+1 PARCEL3C.278 ! (KG/KG) PARCEL3C.279 C PARCEL3C.280 REAL FLXKP1(NPNTS) ! OUT PARCEL MASSFLUX IN LAYER K+1 (PA/S) PARCEL3C.281 C PARCEL3C.282 REAL DELTAK(NPNTS) ! OUT PARCEL FORCED DETRAINMENT PARCEL3C.283 ! COEFFICIENT IN LAYER K PARCEL3C.284 ! MULTIPLIED BY APPROPRIATE PARCEL3C.285 ! LAYER THICKNESS PARCEL3C.286 C PARCEL3C.287 REAL CCA(NPNTS) ! OUT CONVECTIVE CLOUD AMOUNT (%) PARCEL3C.288 C PARCEL3C.289 INTEGER ICCB(NPNTS) ! OUT CONVECTIVE CLOUD BASE LEVEL PARCEL3C.290 C PARCEL3C.291 INTEGER ICCT(NPNTS) ! OUT CONVECTIVE CLOUD TOP LEVEL PARCEL3C.292 C PARCEL3C.293 REAL CCW(NPNTS) ! OUT CONVECTIVE CLOUD LIQUID WATER PARCEL3C.294 ! (G/KG) ON MODEL LEVELS PARCEL3C.295 C PARCEL3C.296 REAL LCCA(NPNTS) ! OUT LOWEST CONV.CLOUD AMOUNT (%) PARCEL3C.297 C PARCEL3C.298 INTEGER LCBASE(NPNTS) ! OUT LOWEST CONV.CLOUD BASE LEVEL PARCEL3C.299 C PARCEL3C.300 INTEGER LCTOP(NPNTS) ! OUT LOWEST CONV.CLOUD TOP LEVEL PARCEL3C.301 C PARCEL3C.302 REAL LCCLWP(NPNTS) ! OUT LOWEST CONV.CLOUD LIQ.WATER PATH PARCEL3C.303 C PARCEL3C.304 C PARCEL3C.305 C--------------------------------------------------------------------- PARCEL3C.306 C VARIABLES WHICH ARE DEFINED LOCALLY PARCEL3C.307 C--------------------------------------------------------------------- PARCEL3C.308 C PARCEL3C.309 REAL THEK_C(NPNTS) ! COMPRESSED POTENTIAL TEMPERATURE OF PARCEL3C.395 ! CLOUD ENVIRONMENT IN LAYER K (K) PARCEL3C.396 C PARCEL3C.397 REAL THEKP1_C(NPNTS) ! COMPRESSED POTENTIAL TEMPERATURE OF PARCEL3C.398 ! CLOUD ENVIRONMENT IN LAYER K+1 (K) PARCEL3C.399 C PARCEL3C.400 REAL QEK_C(NPNTS) ! COMPRESSED MIXING RATIO OF CLOUD PARCEL3C.401 ! ENVIRONMENT IN LAYER K (KG/KG) PARCEL3C.402 C PARCEL3C.403 REAL QEKP1_C(NPNTS) ! COMPRESSED MIXING RATIO OF CLOUD PARCEL3C.404 ! ENVIRONMENT IN LAYER K+1 (KG/KG) PARCEL3C.405 C PARCEL3C.406 REAL QSEK_C(NPNTS) ! COMPRESSED SATURATION MIXING RATIO OF PARCEL3C.407 ! CLOUD ENVIRONMENT IN LAYER K (KG/KG) PARCEL3C.408 C PARCEL3C.409 REAL DQSK_C(NPNTS) ! COMPRESSED GRADIENT OF SATURATION MIXING PARCEL3C.410 ! RATIO WITH POTENTIAL TEMPERATURE FOR THE PARCEL3C.411 ! CLOUD ENVIRONMENT OF LAYER K (KG/KG/K) PARCEL3C.412 C PARCEL3C.413 REAL QSEKP1_C(NPNTS) ! COMPRESSED SATURATION MIXING RATIO OF PARCEL3C.414 ! CLOUD ENVIRONMENT IN LAYER K+1 (KG/KG) PARCEL3C.415 C PARCEL3C.416 REAL DQSKP1_C(NPNTS) ! COMPRESSED GRADIENT OF SATURATION MIXING PARCEL3C.417 ! RATIO WITH POTENTIAL TEMPERATURE FOR PARCEL3C.418 ! THE CLOUD ENVIRONMENT IN LAYER K+1 PARCEL3C.419 ! (KG/KG/K) PARCEL3C.420 C PARCEL3C.421 REAL THPK_C(NPNTS) ! COMPRESSED PARCEL POTENTIAL PARCEL3C.422 ! TEMPERATURE IN LAYER K (K) PARCEL3C.423 C PARCEL3C.424 REAL QPK_C(NPNTS) ! COMPRESSED PARCEL MIXING RATIO IN PARCEL3C.425 ! LAYER K (KG/KG) PARCEL3C.426 C PARCEL3C.427 REAL THPKP1_C(NPNTS) ! COMPRESSED PARCEL POTENTIAL PARCEL3C.428 ! TEMPERATURE IN LAYER K+1 (K) PARCEL3C.429 C PARCEL3C.430 REAL QPKP1_C(NPNTS) ! COMPRESSED PARCEL MIXING RATIO PARCEL3C.431 ! IN LAYER K+1 (KG/KG) PARCEL3C.432 C PARCEL3C.433 REAL XSQKP1_C(NPNTS) ! EXCESS PARCEL WATER AFER LIFTING PARCEL3C.434 ! FROM LAYER K TO K+1 (KG/KG) PARCEL3C.435 C PARCEL3C.436 REAL THRK_C(NPNTS) ! COMPRESSED PARCEL DETRAINMENT PARCEL3C.437 ! POTENTIAL TEMPERATURE IN LAYER K (K) PARCEL3C.438 C PARCEL3C.439 REAL QRK_C(NPNTS) ! COMPRESSED PARCEL DETRAINMENT MIXING PARCEL3C.440 ! RATIO IN LAYER K (KG/KG) PARCEL3C.441 C PARCEL3C.442 REAL DELTAK_C(NPNTS) ! COMPRESSED PARCEL FORCED DETRAINMENT PARCEL3C.443 ! COEFFICIENT IN LAYER K PARCEL3C.444 ! MULTIPLIED BY APPROPRIATE PARCEL3C.445 ! LAYER THICKNESS PARCEL3C.446 C PARCEL3C.447 REAL EKP14_C(NPNTS) ! COMPRESSED IN ENTRAINMENT COEFFICIENT AT PARCEL3C.448 ! LEVEL K+1/4 MULTIPLIED BY APPROPRIATE PARCEL3C.449 ! LAYER THICKNESS PARCEL3C.450 C PARCEL3C.451 REAL EKP34_C(NPNTS) ! COMPRESSED ENTRAINMENT COEFFICIENT AT PARCEL3C.452 ! LEVEL K+3/4 MULTIPLIED BY APPROPRIATE PARCEL3C.453 ! LAYER THICKNESS PARCEL3C.454 C PARCEL3C.455 REAL PK_C(NPNTS) ! COMPRESSED PRESSURE AT LEVEL K (PA) PARCEL3C.456 C PARCEL3C.457 REAL PKP1_C(NPNTS) ! COMPRESSED PRESSURE AT LEVEL K+1 (PA) PARCEL3C.458 C PARCEL3C.459 REAL EXK_C(NPNTS) ! COMPRESSED EXNER FUNCTION AT LEVEL K PARCEL3C.460 C PARCEL3C.461 REAL EXKP1_C(NPNTS) ! COMPRESSED EXNER FUNCTION AT LEVEL K+1 PARCEL3C.462 C PARCEL3C.463 LOGICAL BWKP1_C(NPNTS) ! COMPRESSED MASK FOR WHETHER CONDENSATE PARCEL3C.464 ! IS LIQUID IN LAYER K+1 PARCEL3C.465 C PARCEL3C.466 LOGICAL BGMK_C(NPNTS) ! COMPRESSED MASK FOR PARCELS WHICH ARE PARCEL3C.467 ! SATURATED IN LAYER K PARCEL3C.468 C PARCEL3C.469 LOGICAL BGMKP1_C(NPNTS) ! COMPRESSED MASK FOR PARCELS PARCEL3C.470 ! WHICH ARESATURATED IN LAYER K+1 PARCEL3C.471 C PARCEL3C.472 INTEGER INDEX1(NPNTS) ! INDEX FOR COMPRESS AND EXPAND PARCEL3C.473 C PARCEL3C.474 LOGICAL BDETK(NPNTS) ! MASK FOR POINTS UNDERGOING PARCEL3C.475 ! FORCED DETRAINMENT PARCEL3C.476 C PARCEL3C.477 C PARCEL3C.479 C---------------------------------------------------------------------- PARCEL3C.480 C EXTERNAL ROUTINES CALLED PARCEL3C.481 C---------------------------------------------------------------------- PARCEL3C.482 C PARCEL3C.483 EXTERNAL DETRAIN,TERM_CON,CLOUD_W PARCEL3C.484 C PARCEL3C.485 C*-------------------------------------------------------------------- PARCEL3C.486 C PARCEL3C.487 C PARCEL3C.488 DO 5 I=1,NPNTS PARCEL3C.489 CL PARCEL3C.490 CL--------------------------------------------------------------------- PARCEL3C.491 CL CALCULATE MASK FOR THOSE POINTS UNDERGOING FORCED DETRAINMENT PARCEL3C.492 CL PARCEL3C.493 CL UM DOCUMENTATION PAPER 27 PARCEL3C.494 CL SECTION (6), EQUATION (23) PARCEL3C.495 CL--------------------------------------------------------------------- PARCEL3C.496 CL PARCEL3C.497 BDETK(I) = RBUOY(I) .LT. XSBMIN PARCEL3C.498 C PARCEL3C.499 5 CONTINUE PARCEL3C.500 CL PARCEL3C.501 CL---------------------------------------------------------------------- PARCEL3C.502 CL COMPRESS ALL INPUT ARRAYS FOR THE FORCED DETRAINMENT CALCULATIONS PARCEL3C.503 CL---------------------------------------------------------------------- PARCEL3C.504 CL PARCEL3C.505 NDET = 0 PARCEL3C.506 DO 10 I=1,NPNTS PARCEL3C.507 IF (BDETK(I))THEN PARCEL3C.508 NDET = NDET + 1 PARCEL3C.509 INDEX1(NDET) = I PARCEL3C.510 END IF PARCEL3C.511 10 CONTINUE PARCEL3C.512 C PARCEL3C.513 IF (NDET .NE. 0) THEN PARCEL3C.514 DO I=1,NDET PARCEL3C.515 THEK_C(I) = THEK(INDEX1(I)) PARCEL3C.516 QEK_C(I) = QEK(INDEX1(I)) PARCEL3C.517 ENDDO PARCEL3C.518 DO I=1,NDET PARCEL3C.519 THPK_C(I) = THPK(INDEX1(I)) PARCEL3C.520 QPK_C(I) = QPK(INDEX1(I)) PARCEL3C.521 ENDDO PARCEL3C.522 DO I=1,NDET PARCEL3C.523 QSEK_C(I) = QSEK(INDEX1(I)) PARCEL3C.524 DQSK_C(I) = DQSK(INDEX1(I)) PARCEL3C.525 ENDDO PARCEL3C.526 DO I=1,NDET PARCEL3C.527 THEKP1_C(I)= THEKP1(INDEX1(I)) PARCEL3C.528 QEKP1_C(I) = QEKP1(INDEX1(I)) PARCEL3C.529 ENDDO PARCEL3C.530 DO I=1,NDET PARCEL3C.531 THPKP1_C(I)= THPKP1(INDEX1(I)) PARCEL3C.532 QPKP1_C(I) = QPKP1(INDEX1(I)) PARCEL3C.533 ENDDO PARCEL3C.534 DO I=1,NDET PARCEL3C.535 QSEKP1_C(I)= QSEKP1(INDEX1(I)) PARCEL3C.536 DQSKP1_C(I)= DQSKP1(INDEX1(I)) PARCEL3C.537 ENDDO PARCEL3C.538 DO I=1,NDET PARCEL3C.539 XSQKP1_C(I)= XSQKP1(INDEX1(I)) PARCEL3C.540 EKP14_C(I) = EKP14(INDEX1(I)) PARCEL3C.541 ENDDO PARCEL3C.542 DO I=1,NDET PARCEL3C.543 EKP34_C(I) = EKP34(INDEX1(I)) PARCEL3C.544 PK_C(I) = PK(INDEX1(I)) PARCEL3C.545 ENDDO PARCEL3C.546 DO I=1,NDET PARCEL3C.547 PKP1_C(I) = PKP1(INDEX1(I)) PARCEL3C.548 EXK_C(I) = EXK(INDEX1(I)) PARCEL3C.549 ENDDO PARCEL3C.550 DO I=1,NDET PARCEL3C.551 EXKP1_C(I) = EXKP1(INDEX1(I)) PARCEL3C.552 C PARCEL3C.553 BGMK_C(I) = BGMK(INDEX1(I)) PARCEL3C.554 ENDDO PARCEL3C.555 DO I=1,NDET PARCEL3C.556 BGMKP1_C(I)= BGMKP1(INDEX1(I)) PARCEL3C.557 BWKP1_C(I) = BWKP1(INDEX1(I)) PARCEL3C.558 ENDDO PARCEL3C.559 CL PARCEL3C.560 CL------------------------------------------------------------------- PARCEL3C.561 CL DETRAINMENT CALCULATION PARCEL3C.562 CL PARCEL3C.563 CL SUBROUTINE DETRAIN PARCEL3C.564 CL PARCEL3C.565 CL UM DOCUMENTATION PAPER 27 PARCEL3C.566 CL SECTION (6) PARCEL3C.567 CL------------------------------------------------------------------- PARCEL3C.568 CL PARCEL3C.569 CALL DETRAIN
(NDET,THEK_C,QEK_C,THPK_C,QPK_C, PARCEL3C.570 * QSEK_C,DQSK_C,BGMK_C,THEKP1_C, PARCEL3C.571 * QEKP1_C,THPKP1_C,QPKP1_C,QSEKP1_C, PARCEL3C.572 * DQSKP1_C,BGMKP1_C,BWKP1_C, PARCEL3C.573 * XSQKP1_C,DELTAK_C, PARCEL3C.574 * THRK_C,QRK_C,EKP14_C,EKP34_C, PARCEL3C.575 * PK_C,PKP1_C,EXK_C,EXKP1_C) PARCEL3C.576 C PARCEL3C.577 C----------------------------------------------------------------------- PARCEL3C.578 C DECOMPRESS/EXPAND OUTPUT ARRAYS FROM THE DETRAINMENT CALCULATIONS PARCEL3C.579 C----------------------------------------------------------------------- PARCEL3C.580 C PARCEL3C.581 C PARCEL3C.582 CDIR$ IVDEP PARCEL3C.583 ! Fujitsu vectorization directive GRB0F405.435 !OCL NOVREC GRB0F405.436 DO I=1,NDET PARCEL3C.584 THPKP1(INDEX1(I)) = THPKP1_C(I) PARCEL3C.585 QPKP1(INDEX1(I)) = QPKP1_C(I) PARCEL3C.586 ENDDO PARCEL3C.587 DO I=1,NDET PARCEL3C.588 XSQKP1(INDEX1(I)) = XSQKP1_C(I) PARCEL3C.589 C PARCEL3C.590 BGMKP1(INDEX1(I)) = BGMKP1_C(I) PARCEL3C.591 ENDDO PARCEL3C.592 ENDIF PARCEL3C.593 C PARCEL3C.594 DO 45 I=1,NPNTS PARCEL3C.595 DELTAK(I) = 0.0 PARCEL3C.596 THRK(I) = 0.0 PARCEL3C.597 QRK(I) = 0.0 PARCEL3C.598 45 CONTINUE PARCEL3C.599 C PARCEL3C.600 CDIR$ IVDEP PARCEL3C.601 ! Fujitsu vectorization directive GRB0F405.437 !OCL NOVREC GRB0F405.438 DO 50 I=1,NDET PARCEL3C.602 DELTAK(INDEX1(I)) = DELTAK_C(I) PARCEL3C.603 THRK(INDEX1(I)) = THRK_C(I) PARCEL3C.604 QRK(INDEX1(I)) = QRK_C(I) PARCEL3C.605 50 CONTINUE PARCEL3C.606 CL PARCEL3C.607 CL---------------------------------------------------------------------- PARCEL3C.608 CL CALCULATE MASS FLUX AT LEVEL K+1. PARCEL3C.609 CL PARCEL3C.610 CL UM DOCUMENTATION PAPER 27 PARCEL3C.611 CL SECTION (2B), EQUATION (10A) PARCEL3C.612 CL---------------------------------------------------------------------- PARCEL3C.613 CL PARCEL3C.614 DO 60 I=1,NPNTS PARCEL3C.615 FLXKP1(I) = FLXK(I)*(1.+EKP14(I))*(1.+EKP34(I))*(1.-DELTAK(I))* PARCEL3C.616 * (1.-AMDETK(I)) PARCEL3C.617 60 CONTINUE PARCEL3C.618 CL PARCEL3C.619 CL--------------------------------------------------------------------- PARCEL3C.620 CL TEST FOR POINTS AT WHICH CONVECTION TERMINATES IN LAYER K+1 PARCEL3C.621 CL PARCEL3C.622 CL SUBROUTINE TERM_CON PARCEL3C.623 CL PARCEL3C.624 CL UM DOCUMENTATION PAPER 27 PARCEL3C.625 CL SECTION (7) PARCEL3C.626 CL--------------------------------------------------------------------- PARCEL3C.627 CL PARCEL3C.628 CALL TERM_CON
(NPNTS,NLEV,K,BTERM,BWKP1,FLXKP1,THEKP1,QEKP1,THPI, PARCEL3C.629 * QPI,QSEKP1,DELTAK,EXKP1,EKP14,EKP34,PSTAR) PARCEL3C.630 CL PARCEL3C.631 CL---------------------------------------------------------------------- PARCEL3C.632 CL CLOUD MICROPHYSICS CALCULATION PARCEL3C.633 CL PARCEL3C.634 CL SUBROUTINE CLOUD_W PARCEL3C.635 CL PARCEL3C.636 CL UM DOCUMENTATION PAPER 27 PARCEL3C.637 CL SECTION (8), (9) PARCEL3C.638 CL---------------------------------------------------------------------- PARCEL3C.639 CL PARCEL3C.640 CALL CLOUD_W
(K,NPNTS,XPKP1,PREKP1,XSQKP1,BLOWST,FLXKP1, PARCEL3C.641 * XPK,THEKP1,QEKP1,BWKP1,BLAND,QSEKP1,BGMKP1, PARCEL3C.642 * BTERM,CCA,ICCB,ICCT,TCW,DEPTH,EKP14,EKP34,DELEXKP1, PARCEL3C.643 * CCLWP,DELPKP1,CCW,LCCA,LCBASE,LCTOP,LCCLWP,L_SHALLOW, PARCEL3C.644 * L_CCW PARCEL3C.645 *IF DEF,A05_3C PARCEL3C.646 & ,MPARWTR PARCEL3C.647 *ENDIF PARCEL3C.648 & ,UD_FACTOR AJX3F405.22 & ) PARCEL3C.649 C PARCEL3C.650 RETURN PARCEL3C.651 END PARCEL3C.652 *ENDIF PARCEL3C.653