*IF DEF,A05_2A,OR,DEF,A05_2C,OR,DEF,A05_3B,OR,DEF,A05_3C AJX1F405.126 C ******************************COPYRIGHT****************************** GTS2F400.1909 C (c) CROWN COPYRIGHT 1995, METEOROLOGICAL OFFICE, All Rights Reserved. GTS2F400.1910 C GTS2F400.1911 C Use, duplication or disclosure of this code is subject to the GTS2F400.1912 C restrictions as set forth in the contract. GTS2F400.1913 C GTS2F400.1914 C Meteorological Office GTS2F400.1915 C London Road GTS2F400.1916 C BRACKNELL GTS2F400.1917 C Berkshire UK GTS2F400.1918 C RG12 2SZ GTS2F400.1919 C GTS2F400.1920 C If no contract has been raised with this copy of the code, the use, GTS2F400.1921 C duplication or disclosure of it is strictly prohibited. Permission GTS2F400.1922 C to do so must first be obtained in writing from the Head of Numerical GTS2F400.1923 C Modelling at the above address. GTS2F400.1924 C ******************************COPYRIGHT****************************** GTS2F400.1925 C GTS2F400.1926 CLL SUBROUTINE DETRAIN------------------------------------------------ DETRAI1A.3 CLL DETRAI1A.4 CLL PURPOSE : FORCED DETRAINMENT CALCULATION DETRAI1A.5 CLL DETRAI1A.6 CLL SUBROUTINE THP_DET CALCULATES THE POTENTIAL DETRAI1A.7 CLL TEMPERATURE OF THE PARCEL IN LAYER K+1 DETRAI1A.8 CLL AFTER FORCED DETRAINMENT DETRAI1A.9 CLL DETRAI1A.10 CLL SUBROUTINE THETAR CALCULATES THE POTENTIAL TEMPERATURE DETRAI1A.11 CLL OF THE AIR IN LAYER K UNDERGOING FORCED DETRAINMENT DETRAI1A.12 CLL DETRAI1A.13 CLL SUBROUTINE DET_RATE CALCULATES THE FORCED DETRAINMENT DETRAI1A.14 CLL RATE OF THE ENSEMBLE IN LAYER K DETRAI1A.15 CLL DETRAI1A.16 CLL SUITABLE FOR SINGLE COLUMN MODEL USE DETRAI1A.17 CLL DETRAI1A.18 CLL CODE REWORKED FOR CRAY Y-MP BY D.GREGORY AUTUMN/WINTER 1989/90 DETRAI1A.19 CLL DETRAI1A.20 CLL MODEL MODIFICATION HISTORY FROM MODEL VERSION 3.0: DETRAI1A.21 CLL VERSION DATE DETRAI1A.22 CLL 3.3 23/12/93 : DG020893 : TO MAKE CALCULATIONS OF FORCED DG020893.1 CLL DETRAINMENT RATE LESS PRONE TO DG020893.2 CLL FAILURE DG020893.3 CLL 4.5 Jul. 98 Kill the IBM specific lines (JCThil) AJC1F405.8 CLL DG020893.4 CLL DETRAI1A.23 CLL PROGRAMMING STANDARDS : UNIFIED MODEL DOCUMENTATION PAPER NO. 4 DETRAI1A.24 CLL VERSION NO. 1 DETRAI1A.25 CLL DETRAI1A.26 CLL LOGICAL COMPONENTS COVERED: P27 DETRAI1A.27 CLL DETRAI1A.28 CLL SYSTEM TASK : DETRAI1A.29 CLL DETRAI1A.30 CLL DOCUMENTATION : UNIFIED MODEL DOCUMENTATION PAPER P27 DETRAI1A.31 CLL DETRAI1A.32 CLLEND----------------------------------------------------------------- DETRAI1A.33 C DETRAI1A.34 C*L ARGUMENTS--------------------------------------------------------- DETRAI1A.35 C DETRAI1A.36SUBROUTINE DETRAIN (NPNTS,THEK,QEK,THPK,QPK,QSEK,DQSK,BGMK, 2,7DETRAI1A.37 * THEKP1,QEKP1,THPKP1,QPKP1,QSEKP1,DQSKP1, DETRAI1A.38 * BGMKP1,BWKP1,XSQKP1, DETRAI1A.39 * DELTAK,THRK,QRK,EKP14,EKP34,PK,PKP1, DETRAI1A.40 * EXK,EXKP1) DETRAI1A.41 C DETRAI1A.42 IMPLICIT NONE DETRAI1A.43 C DETRAI1A.44 C---------------------------------------------------------------------- DETRAI1A.45 C VECTOR LENGTHS AND LOOP COUNTERS DETRAI1A.46 C---------------------------------------------------------------------- DETRAI1A.47 C DETRAI1A.48 INTEGER NPNTS ! IN VECTOR LENGTH DETRAI1A.52 C DETRAI1A.53 INTEGER I ! LOOP COUNTER DETRAI1A.54 C DETRAI1A.55 INTEGER NREDO ! NUMBER OF POINTS FOR WHICH FORCED DETRAI1A.56 ! DETRAINMENT CALCULATION MUST BE DETRAI1A.57 ! AS THE PROCESSES EITHER CAUSES THE DETRAI1A.58 ! PARCEL TO BECOME SATURATED OR DETRAI1A.59 ! SUB-SATURATED DETRAI1A.60 C DETRAI1A.61 C DETRAI1A.62 C---------------------------------------------------------------------- DETRAI1A.63 C VECTOR LENGTHS AND LOOP COUNTERS DETRAI1A.64 C---------------------------------------------------------------------- DETRAI1A.65 C DETRAI1A.66 REAL THEK(NPNTS) ! IN POTENTIAL TEMPERATURE OF CLOUD DETRAI1A.67 ! ENVIRONMENT IN LAYER K (K) DETRAI1A.68 C DETRAI1A.69 REAL THEKP1(NPNTS) ! IN POTENTIAL TEMPERATURE OF CLOUD DETRAI1A.70 ! ENVIRONMENT IN LAYER K+1 (K) DETRAI1A.71 C DETRAI1A.72 REAL QEK(NPNTS) ! IN MIXING RATIO OF CLOUD DETRAI1A.73 ! ENVIRONMENT IN LAYER K (KG/KG) DETRAI1A.74 C DETRAI1A.75 REAL QEKP1(NPNTS) ! IN MIXING RATIO OF CLOUD DETRAI1A.76 ! ENVIRONMENT IN LAYER K+1 (KG/KG) DETRAI1A.77 C DETRAI1A.78 REAL QSEKP1(NPNTS) ! IN SATURATION MIXING RATIO OF CLOUD DETRAI1A.79 ! ENVIRONMENT IN LAYER K+1 (KG/KG) DETRAI1A.80 C DETRAI1A.81 REAL DQSKP1(NPNTS) ! IN GRADIENT OF SATURATION MIXING RATIO DETRAI1A.82 ! WITH POTENTIAL TEMPERATURE FOR THE DETRAI1A.83 ! CLOUD ENVIRONMENT IN LAYER K+1 DETRAI1A.84 ! (KG/KG/K) DETRAI1A.85 C DETRAI1A.86 REAL THPK(NPNTS) ! IN PARCEL POTENTIAL TEMPERATURE IN DETRAI1A.87 ! LAYER K (K) DETRAI1A.88 C DETRAI1A.89 REAL QPK(NPNTS) ! IN PARCEL MIXING RATIO IN LAYER K (KG/KG) DETRAI1A.90 C DETRAI1A.91 REAL QSEK(NPNTS) ! IN SATURATION MIXING RATIO OF CLOUD DETRAI1A.92 ! ENVIRONMENT IN LAYER K (KG/KG) DETRAI1A.93 C DETRAI1A.94 REAL DQSK(NPNTS) ! IN GRADIENT OF SATURATION MIXING RATIO DETRAI1A.95 ! WITH POTENTIAL TEMPERATURE FOR THE DETRAI1A.96 ! CLOUD ENVIRONMENT OF LAYER K DETRAI1A.97 ! (KG/KG/K) DETRAI1A.98 C DETRAI1A.99 LOGICAL BWKP1(NPNTS) ! IN MASK FOR WHETHER CONDENSATE IS DETRAI1A.100 ! LIQUID IN LAYER K+1 DETRAI1A.101 C DETRAI1A.102 LOGICAL BGMK(NPNTS) ! IN MASK FOR PARCELS WHICH ARE DETRAI1A.103 ! SATURATED IN LAYER K DETRAI1A.104 C DETRAI1A.105 REAL EKP14(NPNTS) ! IN ENTRAINMENT COEFFICIENT AT LEVEL DETRAI1A.106 ! K+1/4 MULTIPLIED BY APPROPRIATE DETRAI1A.107 ! LAYER THICKNESS DETRAI1A.108 C DETRAI1A.109 REAL EKP34(NPNTS) ! IN ENTRAINMENT COEFFICIENT AT LEVEL DETRAI1A.110 ! K+3/4 MULTIPLIED BY APPROPRIATE DETRAI1A.111 ! LAYER THICKNESS DETRAI1A.112 C DETRAI1A.113 REAL EXKP1(NPNTS) ! IN EXNER RATIO AT LEVEL K+1 DETRAI1A.114 C DETRAI1A.115 REAL EXK(NPNTS) ! IN EXNER RATIO AT LEVEL K DETRAI1A.116 C DETRAI1A.117 REAL PKP1(NPNTS) ! IN PRESSURE AT LEVEL K+1 (PA) DETRAI1A.118 C DETRAI1A.119 REAL PK(NPNTS) ! IN PRESSURE AT LEVEL K (PA) DETRAI1A.120 C DETRAI1A.121 C DETRAI1A.122 C----------------------------------------------------------------------- DETRAI1A.123 C VARIABLES WHICH INPUT AND OUTPUT DETRAI1A.124 C----------------------------------------------------------------------- DETRAI1A.125 C DETRAI1A.126 REAL THPKP1(NPNTS) ! INOUT DETRAI1A.127 ! IN PARCEL POTENTIAL TEMPERATURE IN DETRAI1A.128 ! LAYER K+1 AFTER ENTRAINMENT AND DETRAI1A.129 ! LATENT HEATING (K) DETRAI1A.130 ! OUT ADJUSTED PARCEL POTENTIAL DETRAI1A.131 ! IN LAYER K+1 AFTER FORCED DETRAI1A.132 ! DETRAINMENT (K) DETRAI1A.133 C DETRAI1A.134 REAL QPKP1(NPNTS) ! INOUT DETRAI1A.135 ! IN PARCEL MIXING RATIO IN DETRAI1A.136 ! LAYER K+1 AFTER ENTRAINMENT AND DETRAI1A.137 ! LATENT HEATING (KG/KG) DETRAI1A.138 ! OUT ADJUSTED PARCEL POTENTIAL DETRAI1A.139 ! IN LAYER K+1 AFTER FORCED DETRAI1A.140 ! DETRAINMENT (KG/KG) DETRAI1A.141 C DETRAI1A.142 REAL XSQKP1(NPNTS) ! INOUT DETRAI1A.143 ! IN EXCESS WATER IN PARCEL AFTER DETRAI1A.144 ! LIFTING FROM LAYER K TO K+1 AFTER DETRAI1A.145 ! ENTRAINMENT AND LATENT HEATING DETRAI1A.146 ! (KG/KG) DETRAI1A.147 ! OUT EXCESS WATER IN PARCEL IN LAYER DETRAI1A.148 ! K+1 AFTER FORCED DETRAINMENT DETRAI1A.149 ! (KG/KG) DETRAI1A.150 C DETRAI1A.151 LOGICAL BGMKP1(NPNTS) ! INOUT DETRAI1A.152 ! IN MASK FOR PARCELS WHICH ARE DETRAI1A.153 ! SATURATED IN LAYER K+1 AFTER DETRAI1A.154 ! ENTRAINMENT AND LATENT HEATING DETRAI1A.155 ! OUT MASK FOR PARCELS WHICH ARE DETRAI1A.156 ! SATURATED IN LAYER K+1 AFTER DETRAI1A.157 ! FORCED DETRAINMENT DETRAI1A.158 C DETRAI1A.159 C DETRAI1A.160 C----------------------------------------------------------------------- DETRAI1A.161 C VARIABLES WHICH ARE OUTPUT DETRAI1A.162 C----------------------------------------------------------------------- DETRAI1A.163 C DETRAI1A.164 REAL THRK(NPNTS) ! OUT PARCEL DETRAINMENT POTENTIAL DETRAI1A.165 ! TEMPERATURE IN LAYER K (K) DETRAI1A.166 C DETRAI1A.167 REAL QRK(NPNTS) ! OUT PARCEL DETRAINMENT MIXING RATIO DETRAI1A.168 ! IN LAYER K (KG/KG) DETRAI1A.169 C DETRAI1A.170 REAL DELTAK(NPNTS) ! OUT PARCEL FORCED DETRAINMENT RATE DETRAI1A.171 ! IN LAYER K DETRAI1A.172 C DETRAI1A.173 C DETRAI1A.174 C----------------------------------------------------------------------- DETRAI1A.175 C VARIABLES WHICH ARE DEFINED LOCALLY DETRAI1A.176 C DETRAI1A.177 LOGICAL BDETK(NPNTS) ! MASK FOR PARCELS WHICH ARE DETRAI1A.207 ! UNDERGOING FORCED DETRAINMENT DETRAI1A.208 ! IN THEIR ASCENT FROM LAYER K DETRAI1A.209 ! TO K+1 DETRAI1A.210 C DETRAI1A.211 REAL XSQR(NPNTS) ! EXCESS PARCEL WATER VAPOUR DETRAI1A.212 ! DURING DETRAINMENT (KG/KG) DETRAI1A.213 C DETRAI1A.214 REAL THPKP1W(NPNTS) , ! TEMPORARY STOREAGE FOR PARCEL DETRAI1A.215 * QPKP1W(NPNTS) , ! POTENTIAL TEMPERATURE (K), MIXING DETRAI1A.216 * XSQK1W(NPNTS) ! RATIO (KG/KG), EXCESS WATER VAPOUR DETRAI1A.217 LOGICAL BGKP1W(NPNTS) ! (KG/KG) AND MASK FOR SATURATION DETRAI1A.218 ! IN LAYER K+1 DETRAI1A.219 C DETRAI1A.220 LOGICAL BRECAL(NPNTS) ! MASK FOR THOSE POINTS AT WHICH THE DETRAI1A.221 ! THE DETRAINMENT CALCULATION NEEDS DETRAI1A.222 ! REPEATING DETRAI1A.223 C DETRAI1A.224 REAL TT(NPNTS) ! TEMPORARY STORE FOR TEMPERATURE DETRAI1A.225 ! FOR THE CALCULATION OF SATURATED DETRAI1A.226 ! MIXING RATIO (K) DETRAI1A.227 C DETRAI1A.228 REAL EPSS ! (1+EKP14)*(1+EKP34) DETRAI1A.230 C DETRAI1A.231 C---------------------------------------------------------------------- DETRAI1A.232 C EXTERNAL ROUTINES CALLED DETRAI1A.233 C---------------------------------------------------------------------- DETRAI1A.234 C DETRAI1A.235 EXTERNAL THP_DET,QSAT,THETAR,DET_RATE DETRAI1A.236 C DETRAI1A.237 C*--------------------------------------------------------------------- DETRAI1A.238 C DETRAI1A.239 DO 10 I=1,NPNTS DETRAI1A.240 C DETRAI1A.241 C---------------------------------------------------------------------- DETRAI1A.242 C AT START OF ROUTINE FORCED DETARINMENT DONE AT ALL POINTS SO DETRAI1A.243 C SET ARRAY BDETK EQUAL TO .TRUE. DETRAI1A.244 C SET FORCED DETRAINMENT RATE EQUAL TO ZERO DETRAI1A.245 C---------------------------------------------------------------------- DETRAI1A.246 C DETRAI1A.247 BDETK(I) = .TRUE. DETRAI1A.248 DELTAK(I) = 0.0 DETRAI1A.249 C DETRAI1A.250 C----------------------------------------------------------------------- DETRAI1A.251 C SAVE THE CURRENT VALUES OF QPKP1, XSQKP1 AND BGMKP1 DETRAI1A.252 C----------------------------------------------------------------------- DETRAI1A.253 C DETRAI1A.254 THPKP1W(I) = THPKP1(I) DETRAI1A.255 QPKP1W(I) = QPKP1(I) DETRAI1A.256 XSQK1W(I) = XSQKP1(I) DETRAI1A.257 BGKP1W(I) = BGMKP1(I) DETRAI1A.258 C DETRAI1A.259 C----------------------------------------------------------------------- DETRAI1A.260 C ADD THE EXCESS WATER VAPOUR BACK INTO THE DETRAINING PARCELS DETRAI1A.261 C----------------------------------------------------------------------- DETRAI1A.262 C DETRAI1A.263 QPKP1(I) = QPKP1(I) + XSQKP1(I) DETRAI1A.264 10 CONTINUE DETRAI1A.265 CL DETRAI1A.266 CL---------------------------------------------------------------------- DETRAI1A.267 CL CALCULATE THE ENSEMBLE AVERAGE POTENTIAL TEMPERATURE IN LAYER K+1 DETRAI1A.268 CL AT THE POINTS WHERE DETRAINMENT IS TAKING PLACE DETRAI1A.269 CL DETRAI1A.270 CL SUBROUTINE THP_DET DETRAI1A.271 CL DETRAI1A.272 CL UM DOCUMENTATION PAPER P27 DETRAI1A.273 CL SECTION (6), EQUATION (28) DETRAI1A.274 CL---------------------------------------------------------------------- DETRAI1A.275 CL DETRAI1A.276 CALL THP_DET
(NPNTS,THPKP1,THEKP1,QPKP1,QEKP1,QSEKP1,DQSKP1, DETRAI1A.277 * BGMKP1,BDETK) DETRAI1A.278 CL DETRAI1A.279 CL--------------------------------------------------------------------- DETRAI1A.280 CL CHECK TO SEE IF SUFFICIENT EXCESS WATER VAPOUR IN THE DETRAI1A.281 CL INITIAL DRY ASCENT TO ALLOW PARCEL TO BE SATURATED DETRAI1A.282 CL IN LAYER K+1 AFTER FORCED DETRAINMENT DETRAI1A.283 CL DETRAI1A.284 CL UM DOCUMENTATION PAPER P27 DETRAI1A.285 CL SECTION (6), EQUATION (29) DETRAI1A.286 CL DG020893.5 CL NOTE : ONLY ALLOW PARCEL TO BE SATURATED IN LAYER K+1 IF DG020893.6 CL SATURATED INITIALLY. IT IS POSSIBLE FOR SMALL DG020893.7 CL SUPERSATURATIONS TO IF SUBROUTINE LATENT_H CAUSES DG020893.8 CL PARCEL TO BE COME UNSATURATED. IN THIS CASE TREAT DG020893.9 CL THE PARCEL AS UNSATURATED IN LAYER K+1 DG020893.10 CL--------------------------------------------------------------------- DETRAI1A.287 CL DETRAI1A.288 C DETRAI1A.289 C----------------------------------------------------------------------- DETRAI1A.290 C CALCULATE THE EXCESS WATER VAPOUR IN LAYER K+1 AND RECALCULATE DETRAI1A.291 C BGMKP1 AND QPKP1. DETRAI1A.292 C----------------------------------------------------------------------- DETRAI1A.293 C DETRAI1A.294 C DETRAI1A.295 C----------------------------------------------------------------------- DETRAI1A.296 C CONVERT POTENTIAL TEMPERATURE TO TEMPERATURE AND CALCULATE DETRAI1A.297 C PRESSURE OF LAYER K FOR CALCULATION OF SATURATED DETRAI1A.298 C MIXING RATIO DETRAI1A.299 C----------------------------------------------------------------------- DETRAI1A.300 C DETRAI1A.301 DO 25 I = 1,NPNTS DETRAI1A.302 TT(I) = THPKP1(I)*EXKP1(I) DETRAI1A.303 25 CONTINUE DETRAI1A.304 CALL QSAT
(XSQKP1,TT,PKP1,NPNTS) DETRAI1A.305 C DETRAI1A.306 DO 30 I=1,NPNTS DETRAI1A.307 XSQKP1(I) = QPKP1(I) - XSQKP1(I) DETRAI1A.308 C DETRAI1A.309 BRECAL(I) = BGMKP1(I) DETRAI1A.310 C DETRAI1A.311 C---------------------------------------------------------------------- DG020893.11 C ONLY ALLOW PARCEL TO BE SATURATED IN INITIAL BGMKP1 = .TRUE. DG020893.12 C (STORED IN BRECAL AT THIS POINT) DG020893.13 C---------------------------------------------------------------------- DG020893.14 C DG020893.15 IF ( BGMK(I) .OR.( (XSQKP1(I) .GT. 0.) .AND. BRECAL(I) ) ) THEN DG020893.16 BGMKP1(I) = .TRUE. DETRAI1A.313 ELSE DETRAI1A.314 BGMKP1(I) = .FALSE. DETRAI1A.315 XSQKP1(I) = 0.0 DETRAI1A.316 END IF DETRAI1A.317 C DETRAI1A.318 QPKP1(I) = QPKP1(I) - XSQKP1(I) DETRAI1A.319 CL DETRAI1A.320 CL---------------------------------------------------------------------- DETRAI1A.321 CL RECALCULATE THE ENSEMBLE AVERAGE POTENTIAL TEMPERATURE AT POINTS DETRAI1A.322 CL WHERE THE ENSEMBLE HAS BECOME UNSATURATED. DETRAI1A.323 CL DETRAI1A.324 CL UM DOCUMENTATION PAPER P27 DETRAI1A.325 CL SECTION (6), EQUATION (28) DETRAI1A.326 CL---------------------------------------------------------------------- DETRAI1A.327 CL DETRAI1A.328 BRECAL(I) = BDETK(I) .AND. BRECAL(I) .AND. .NOT.BGMKP1(I) DETRAI1A.329 30 CONTINUE DETRAI1A.330 C DETRAI1A.331 CALL THP_DET
(NPNTS,THPKP1,THEKP1,QPKP1,QEKP1,QSEKP1,DQSKP1, DETRAI1A.332 * BGMKP1,BRECAL) DETRAI1A.333 CL DETRAI1A.334 CL---------------------------------------------------------------------- DETRAI1A.335 CL BECAUSE OF THE REMOVAL OF LATENT HEATING, THE NEW PARCEL POTENTIAL DETRAI1A.336 CL TEMPERATURE MAY BE LOWER THAN ITS VALUE BEFORE THE DETRAINMENT DETRAI1A.337 CL CALCULATION. IN THIS CASE ABANDON THE DETRAINMENT CALCULATION. DETRAI1A.338 CL---------------------------------------------------------------------- DETRAI1A.339 CL DETRAI1A.340 DO 90 I=1,NPNTS DETRAI1A.341 BDETK(I) = THPKP1(I) .GT. THPKP1W(I) DETRAI1A.342 90 CONTINUE DETRAI1A.343 CL DETRAI1A.344 CL---------------------------------------------------------------------- DETRAI1A.345 CL CALCULATE THE POTENTIAL TEMPERATURE AND MIXING RATIO OF DETRAINING DETRAI1A.346 CL AIR AND THE EXCESS WATER VAPOUR CONDESED FROM DETRAINING AIR DETRAI1A.347 CL DETRAI1A.348 CL UM DOCUMENTATION PAPER P27 DETRAI1A.349 CL SECTION (6), EQUATION (26) DETRAI1A.350 CL---------------------------------------------------------------------- DETRAI1A.351 CL DETRAI1A.352 CALL THETAR
(NPNTS,THRK,QRK,XSQR,BGMK,THEK,QEK,QPK,QSEK,DQSK, DETRAI1A.353 * BWKP1,EXK,PK) DETRAI1A.354 CL DETRAI1A.355 CL---------------------------------------------------------------------- DETRAI1A.356 CL CALCULATE THE DETRAINMENT RATE, DELTAK. DETRAI1A.357 CL DETRAI1A.358 CL UM DOCUMENTATION PAPER P27 DETRAI1A.359 CL SECTION (6), EQUATION (31) DETRAI1A.360 CL---------------------------------------------------------------------- DETRAI1A.361 CL DETRAI1A.362 CALL DET_RATE
(NPNTS,DELTAK,THRK,XSQR,THPK,THEK,THEKP1, DETRAI1A.363 * XSQKP1,THPKP1,BWKP1,BDETK,EKP14,EKP34,EXK,EXKP1) DETRAI1A.364 C DETRAI1A.365 NREDO = 0 DETRAI1A.366 CL DETRAI1A.367 CL---------------------------------------------------------------------- DETRAI1A.368 CL ADD WATER VAPOUR WHICH WAS REMOVED FROM DETRAINING AIR INTO XSQKP1 DETRAI1A.369 CL DETRAI1A.370 CL UM DOCUMENTATION PAPER P27 DETRAI1A.371 CL SECTION 86), EQUATION (11C) DETRAI1A.372 CL---------------------------------------------------------------------- DETRAI1A.373 CL DETRAI1A.374 DO 120 I=1,NPNTS DETRAI1A.375 C DETRAI1A.376 EPSS = (1.+EKP14(I))*(1.+EKP34(I)) DETRAI1A.377 C DETRAI1A.378 IF (BDETK(I)) DETRAI1A.379 * XSQKP1(I) = XSQKP1(I) + (DELTAK(I)*XSQR(I)/ DETRAI1A.380 * (EPSS*(1.-DELTAK(I)))) DETRAI1A.381 CL DETRAI1A.382 CL---------------------------------------------------------------------- DETRAI1A.383 CL IF THE EXCESS WATER VAPOUR IN LAYER K+1 IS LESS THAN ZERO DETRAI1A.384 CL I.E. THE PARCEL HAS BECOME UNSATURATED THROUGH THE FORCED DETRAI1A.385 CL DETRAINMENT PROCESS THEN ABANDON THE CALCULATION DETRAI1A.386 CL---------------------------------------------------------------------- DETRAI1A.387 CL DETRAI1A.388 BRECAL(I) = BGMKP1(I) DETRAI1A.389 C DETRAI1A.390 BGMKP1(I) = XSQKP1(I) .GT. 0. DETRAI1A.391 C DETRAI1A.392 BRECAL(I) = BDETK(I) .AND. BRECAL(I) .AND. .NOT.BGMKP1(I) DETRAI1A.393 C DETRAI1A.394 IF (BRECAL(I)) THEN DETRAI1A.395 QPKP1(I) = QPKP1(I) + XSQKP1(I) DETRAI1A.396 * - (DELTAK(I)*XSQR(I)/(EPSS*(1.-DELTAK(I)))) DETRAI1A.397 XSQKP1(I) = 0. DETRAI1A.398 ENDIF DETRAI1A.399 C DETRAI1A.400 C---------------------------------------------------------------------- DETRAI1A.401 C COUNT POINTS AT WHICH DETRAINMENT CALCULATION NEEDS REPEATING DETRAI1A.402 C---------------------------------------------------------------------- DETRAI1A.403 C DETRAI1A.404 IF (BRECAL(I)) NREDO = NREDO + 1 DETRAI1A.405 120 CONTINUE DETRAI1A.406 CL DETRAI1A.407 CL--------------------------------------------------------------------- DETRAI1A.408 CL REPEAT CALCULATION OF PARCEL POTENTIAL TEMPERATURE, DETRAINMENT DETRAI1A.409 CL RATE AND EXCESS PARCEL WATER IF THE PARCEL BECOMES UNSATURATED DETRAI1A.410 CL IN LAYER K+1 AFTER FORCED DETARINMENT DETRAI1A.411 CL--------------------------------------------------------------------- DETRAI1A.412 CL DETRAI1A.413 IF (NREDO .GT. 0) THEN DETRAI1A.414 C DETRAI1A.415 C---------------------------------------------------------------------- DETRAI1A.416 C CALCULATE NEW PARCEL POTENTIAL TEMPERATURE IN LAYER K+1 DETRAI1A.417 C AFTER FORCED DETRAINMENT DETRAI1A.418 C---------------------------------------------------------------------- DETRAI1A.419 C DETRAI1A.420 CALL THP_DET
(NPNTS,THPKP1,THEKP1,QPKP1,QEKP1,QSEKP1,DQSKP1, DETRAI1A.421 * BGMKP1,BRECAL) DETRAI1A.422 C DETRAI1A.423 C---------------------------------------------------------------------- DETRAI1A.424 C CHECK IF FORCED DETRAINMENT STILL POSSIBLE AND RESET RECALCUATION DETRAI1A.425 C MASK TO FALSE IF IT IS NOT DETRAI1A.426 C---------------------------------------------------------------------- DETRAI1A.427 C DETRAI1A.428 DO 130 I=1,NPNTS DETRAI1A.429 IF (BRECAL(I)) THEN DETRAI1A.430 BDETK(I) = THPKP1(I) .GT. THPKP1W(I) DETRAI1A.431 BRECAL(I) = BDETK(I) DETRAI1A.432 END IF DETRAI1A.433 130 CONTINUE DETRAI1A.434 C DETRAI1A.435 C---------------------------------------------------------------------- DETRAI1A.436 C RCALCULATE FORCED DETRAINEMNT RATE DETRAI1A.437 C---------------------------------------------------------------------- DETRAI1A.438 C DETRAI1A.439 CALL DET_RATE
(NPNTS,DELTAK,THRK,XSQR,THPK,THEK,THEKP1, DETRAI1A.440 * XSQKP1,THPKP1,BWKP1,BRECAL,EKP14,EKP34,EXK,EXKP1) DETRAI1A.441 C DETRAI1A.442 C---------------------------------------------------------------------- DETRAI1A.443 C RECALCULATE EXCESS WATER VAPOUR IN LAYER K+1 DETRAI1A.444 C AFTER FORCED DETRAINMENT DETRAI1A.445 C---------------------------------------------------------------------- DETRAI1A.446 C DETRAI1A.447 DO 140 I=1,NPNTS DETRAI1A.448 IF (BRECAL(I)) THEN DETRAI1A.449 EPSS = (1.+EKP14(I))*(1.+EKP34(I)) DETRAI1A.450 XSQKP1(I) = XSQKP1(I) + (DELTAK(I)*XSQR(I)/ DETRAI1A.451 * (EPSS*(1.-DELTAK(I)))) DETRAI1A.452 END IF DETRAI1A.453 140 CONTINUE DETRAI1A.454 C DETRAI1A.455 END IF DETRAI1A.456 CL DETRAI1A.457 CL---------------------------------------------------------------------- DETRAI1A.458 CL MAKE SURE THAT THE DETRAINMENT RATE IS BETWEEN 0 AND 1 DG020893.17 CL DG020893.18 CL IF <0 THEN NO DETRAINMENT OCCURS AND ORIGINAL VALUES ARE DG020893.19 CL RESTORED DG020893.20 CL DG020893.21 CL IF >1 THEN SET TO 1 AND THRK = THPK, QRK = QPK AND VALUES DG020893.22 CL IN LAYER K+1 ARE RESTORED. ALTHOUGH THESE ARE NOT USED DG020893.23 CL IN ANY THERMODYNAMIC CALCULATION THEY ARE USED TO SPECIFY DG020893.24 CL CLOUD TOP IN SUBROUTIBE CONRAD DG020893.25 CL---------------------------------------------------------------------- DETRAI1A.461 CL DETRAI1A.462 DO 180 I=1,NPNTS DETRAI1A.463 C DETRAI1A.466 IF (BDETK(I)) THEN DG020893.26 C DETRAI1A.472 IF (DELTAK(I).LE.0.0) THEN DG020893.27 BDETK(I) = .FALSE. DG020893.28 THPKP1 (I) = THPKP1W(I) DG020893.29 QPKP1 (I) = QPKP1W(I) DG020893.30 XSQKP1(I) = XSQK1W(I) DG020893.31 BGMKP1(I) = BGKP1W(I) DG020893.32 DELTAK(I) = 0.0 DG020893.33 ELSE IF (DELTAK(I).GT.1.0) THEN DG020893.34 DELTAK(I) = 1.0 DG020893.35 THRK(I) = THPK(I) DG020893.36 QRK(I) = QPK(I) DG020893.37 THPKP1 (I) = THPKP1W(I) DG020893.38 QPKP1 (I) = QPKP1W(I) DG020893.39 XSQKP1(I) = XSQK1W(I) DG020893.40 BGMKP1(I) = BGKP1W(I) DG020893.41 END IF DG020893.42 C DG020893.43 ENDIF DETRAI1A.479 180 CONTINUE DETRAI1A.480 C DETRAI1A.481 RETURN DETRAI1A.482 END DETRAI1A.483 *ENDIF DETRAI1A.484