*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