*IF DEF,A05_2A,OR,DEF,A05_2C AJX1F405.157
C ******************************COPYRIGHT****************************** GTS2F400.1945
C (c) CROWN COPYRIGHT 1995, METEOROLOGICAL OFFICE, All Rights Reserved. GTS2F400.1946
C GTS2F400.1947
C Use, duplication or disclosure of this code is subject to the GTS2F400.1948
C restrictions as set forth in the contract. GTS2F400.1949
C GTS2F400.1950
C Meteorological Office GTS2F400.1951
C London Road GTS2F400.1952
C BRACKNELL GTS2F400.1953
C Berkshire UK GTS2F400.1954
C RG12 2SZ GTS2F400.1955
C GTS2F400.1956
C If no contract has been raised with this copy of the code, the use, GTS2F400.1957
C duplication or disclosure of it is strictly prohibited. Permission GTS2F400.1958
C to do so must first be obtained in writing from the Head of Numerical GTS2F400.1959
C Modelling at the above address. GTS2F400.1960
C ******************************COPYRIGHT****************************** GTS2F400.1961
C GTS2F400.1962
CLL SUBROUTINE DEVAP-------------------------------------------------- DEVAP2A.3
CLL DEVAP2A.4
CLL PURPOSE : EVAPORATION ROUTINE DEVAP2A.5
CLL DEVAP2A.6
CLL CARRIES OUT EVAPORATION AND UPDATES PRECIPITATION DEVAP2A.7
CLL DEVAP2A.8
CLL SUITABLE FOR SINGLE COLUMN MODEL USE DEVAP2A.9
CLL DEVAP2A.10
CLL CODE WRITTEN FOR CRAY Y-MP BY S.BETT AND D.GREGORY AUTUMN 1990 DEVAP2A.11
CLL DEVAP2A.12
CLL MODEL MODIFICATION HISTORY FROM MODEL VERSION 3.0: DEVAP2A.13
CLL VERSION DATE DEVAP2A.14
CLL 4.5 Jul. 98 Kill the IBM specific lines (JCThil) AJC1F405.9
CLL DEVAP2A.15
CLL PROGRAMMING STANDARDS : UNIFIED MODEL DOCUMENTATION PAPER NO. 3 DEVAP2A.16
CLL VERSION NO. 4 DATED 5/2/92 DEVAP2A.17
CLL DEVAP2A.18
CLL SYSTEM TASK : P27 DEVAP2A.19
CLL DEVAP2A.20
CLL DOCUMENTATION : UNIFIED MODEL DOCUMENTATION PAPER P27 DEVAP2A.21
CLL DEVAP2A.22
CLLEND----------------------------------------------------------------- DEVAP2A.23
C DEVAP2A.24
C*L ARGUMENTS--------------------------------------------------------- DEVAP2A.25
C DEVAP2A.26
SUBROUTINE DEVAP(NPNTS,THDD_K,THDD_KM1,QDD_KM1,THDDS,QDDS, 3,4DEVAP2A.27
* FLX_DD_KM1,EXK,EXKM1,QSATDD,RAIN,SNOW, DEVAP2A.28
* DELPKM1,BDDWT_KM1,CCA,PKM1) DEVAP2A.29
C DEVAP2A.30
IMPLICIT NONE DEVAP2A.31
C DEVAP2A.32
C----------------------------------------------------------------------- DEVAP2A.33
C MODEL CONSTANTS DEVAP2A.34
C----------------------------------------------------------------------- DEVAP2A.35
C DEVAP2A.36
*CALL C_G
DEVAP2A.37
*CALL C_LHEAT
DEVAP2A.38
*CALL C_R_CP
DEVAP2A.39
*CALL DDAREA
DEVAP2A.40
C DEVAP2A.41
C----------------------------------------------------------------------- DEVAP2A.42
C VECTOR LENGTHS AND LOOP COUNTERS DEVAP2A.43
C----------------------------------------------------------------------- DEVAP2A.44
C DEVAP2A.45
C DEVAP2A.49
INTEGER I ! LOOP COUNTER DEVAP2A.50
C DEVAP2A.51
INTEGER NPNTS ! IN VECTOR LENGTH DEVAP2A.52
C DEVAP2A.53
C----------------------------------------------------------------------- DEVAP2A.54
C VARIABLES WHICH ARE INPUT DEVAP2A.55
C----------------------------------------------------------------------- DEVAP2A.56
C DEVAP2A.57
REAL THDDS(NPNTS) ! IN SATURATED POTENTIAL DEVAP2A.58
! TEMPERATURE OF DOWNDRAUGHT DEVAP2A.59
! (K) DEVAP2A.60
C DEVAP2A.61
REAL QDDS(NPNTS) ! IN MIXING RATIO OF SATURATED DEVAP2A.62
! DOWNDRAUGHT (KG/KG) DEVAP2A.63
C DEVAP2A.64
REAL FLX_DD_KM1(NPNTS) ! IN DOWNDRAUGHT MASS FLUX IN DEVAP2A.65
! LAYER K-1 (PA/S) DEVAP2A.66
C DEVAP2A.67
REAL THDD_K(NPNTS) ! IN POTENTIAL TEMPERATURE OF DEVAP2A.68
! DOWNDRAUGHT IN LAYER K (K) DEVAP2A.69
C DEVAP2A.70
REAL EXK(NPNTS) ! IN EXNER RATIO OF LAYER K DEVAP2A.71
C DEVAP2A.72
REAL EXKM1(NPNTS) ! IN EXNER RATIO OF LAYER K-1 DEVAP2A.73
C DEVAP2A.74
REAL QSATDD(NPNTS) ! IN SATURATED DOWNDRAUGHT DEVAP2A.75
! MIXING RATIO (KG/KG) DEVAP2A.76
C DEVAP2A.77
REAL DELPKM1(NPNTS) ! IN CHANGE IN PRESSURE ACROSS DEVAP2A.78
! LAYER K-1 (PA) DEVAP2A.79
C DEVAP2A.80
LOGICAL BDDWT_KM1(NPNTS)! IN MASK WHERE PRECIPITATION IN DEVAP2A.81
! DOWNDRAUGHT IS LIQUID DEVAP2A.82
C DEVAP2A.83
REAL CCA(NPNTS) ! IN CONVECTIVE CLOUD AMOUNT DEVAP2A.84
C DEVAP2A.85
REAL PKM1(NPNTS) ! IN PRESSURE OF LAYER K-1 DEVAP2A.86
C DEVAP2A.87
C----------------------------------------------------------------------- DEVAP2A.88
C VARIABLES WHICH ARE INPUT AND OUTPUT DEVAP2A.89
C----------------------------------------------------------------------- DEVAP2A.90
C DEVAP2A.91
REAL THDD_KM1(NPNTS) ! INOUT DEVAP2A.92
! IN POTENTIAL TEMPERATURE OF DEVAP2A.93
! DOWNDRAUGHT IN LAYER K-1 (K) DEVAP2A.94
! OUT UPDATED POTENTIAL TEMPERATURE DEVAP2A.95
! OF DOWNDRAUGHT IN LAYER K-1 DEVAP2A.96
! AFTER EVAPORATION OR DEVAP2A.97
! SATURATION (K) DEVAP2A.98
C DEVAP2A.99
REAL QDD_KM1(NPNTS) ! INOUT DEVAP2A.100
! IN MODEL MIXING RATIO OF DEVAP2A.101
! DOWNDRAUGHT IN LAYER K-1 DEVAP2A.102
! (KG/KG) DEVAP2A.103
! OUT UPDATED MODEL MIXING RATIO DEVAP2A.104
! OF DOWNDRAUGHT IN LAYER K-1 DEVAP2A.105
! AFTER EVAPORATION OR DEVAP2A.106
! SATURATION (KG/KG) DEVAP2A.107
C DEVAP2A.108
REAL RAIN(NPNTS) ! INOUT DEVAP2A.109
! IN AMOUNT OF RAIN (KG/M**2/S) DEVAP2A.110
! OUT UPDATED RAINFALL (KG/M**2/S) DEVAP2A.111
C DEVAP2A.112
REAL SNOW(NPNTS) ! INOUT DEVAP2A.113
! IN AMOUNT OF SNOW (KG/M**2/S) DEVAP2A.114
! OUT UPDATED SNOWFALL (KG/M**2/S) DEVAP2A.115
C DEVAP2A.116
C----------------------------------------------------------------------- DEVAP2A.117
C VARIABLES WHICH ARE LOCALLY DEFINED DEVAP2A.118
C----------------------------------------------------------------------- DEVAP2A.119
C DEVAP2A.120
C DEVAP2A.159
REAL TEVP(NPNTS) ! TEMPERATURE USED IN EVAPORATION DEVAP2A.160
! CALCULATION (K) DEVAP2A.161
C DEVAP2A.162
LOGICAL BEVAP(NPNTS) ! MASK FOR THOSE POINTS AT WHICH DEVAP2A.163
! EVAPORATION CALCULATION IS TO DEVAP2A.164
! BE CARRIED OUT DEVAP2A.165
C DEVAP2A.166
LOGICAL BSAT(NPNTS) ! MASK FOR THOSE POINTS WHICH DEVAP2A.167
! ARE SUBSATURATED DEVAP2A.168
C DEVAP2A.169
REAL EVAP_RAIN(NPNTS) ! AMOUNT OF EVAPORATION OF RAIN DEVAP2A.170
C DEVAP2A.171
REAL SUB_SNOW(NPNTS) ! AMOUNT OF SNOW SUBLIMATION DEVAP2A.172
C DEVAP2A.173
REAL DELQ(NPNTS) ! DIFFERENCE IN MIXING RATIOS DEVAP2A.174
! (KG/KG) DEVAP2A.175
C DEVAP2A.176
REAL DELTH(NPNTS) ! INCREMENT TO DOWNDRAUGHT POTENTIAL DEVAP2A.177
! TEMPERATURE IN LAYER K-1 DUE TO DEVAP2A.178
! EVAPORATION DEVAP2A.179
C DEVAP2A.180
REAL DELQE(NPNTS) ! INCREMENT TO DOWNDRAUGHT MIXING RATIO DEVAP2A.181
! IN LAYER K-1 DUE TO EVAPORATION DEVAP2A.182
C DEVAP2A.183
REAL DELTHS(NPNTS) ! SATURATED POTENTIAL TEMPERATURE MINUS DEVAP2A.184
! POTENTIAL TEMPERATURE OF DOWNDRAUGHT DEVAP2A.185
C DEVAP2A.186
REAL FACTOR(NPNTS) ! DELTHS / DELTH DEVAP2A.187
C DEVAP2A.188
REAL PINCR(NPNTS) ! INCREASE IN PRECIPITATION IF PARCEL DEVAP2A.189
! SUPERSATURATES DEVAP2A.190
C DEVAP2A.191
REAL RHO(NPNTS) ! DENSITY OF AIR IN PARCEL DEVAP2A.192
C DEVAP2A.193
C DEVAP2A.195
C----------------------------------------------------------------------- DEVAP2A.196
C EXTERNAL ROUTINES CALLED DEVAP2A.197
C----------------------------------------------------------------------- DEVAP2A.198
C DEVAP2A.199
EXTERNAL EVP DEVAP2A.200
C DEVAP2A.201
C----------------------------------------------------------------------- DEVAP2A.202
C CHECK IF EVAPORATION POSSIBLE DEVAP2A.203
C----------------------------------------------------------------------- DEVAP2A.204
C DEVAP2A.205
DO I=1,NPNTS DEVAP2A.206
DELQ(I) = QSATDD(I)-QDD_KM1(I) DEVAP2A.207
C DEVAP2A.208
BEVAP(I) =((RAIN(I).GT.0.0) .OR. (SNOW(I).GT.0.0)) DEVAP2A.209
* .AND. (DELQ(I).GT.0.0) DEVAP2A.210
BSAT(I) = DELQ(I) .LT. 0.0 DEVAP2A.211
C DEVAP2A.212
C----------------------------------------------------------------------- DEVAP2A.213
C CALCULATE TEMPERATURE USED IN CALCULATION OF EVAPORATION CONSTANTS DEVAP2A.214
C BASED ON TEMPERATURE OF PARCEL AFTER UNSATURATED DESCENT DEVAP2A.215
C----------------------------------------------------------------------- DEVAP2A.216
C DEVAP2A.217
IF (BEVAP(I)) THEN DEVAP2A.218
TEVP(I) = ((THDD_K(I)*EXK(I))+(THDD_KM1(I)*EXKM1(I)))*0.5 DEVAP2A.219
RHO(I) = PKM1(I) / (R*TEVP(I)) DEVAP2A.220
END IF DEVAP2A.221
END DO DEVAP2A.222
C DEVAP2A.223
C----------------------------------------------------------------------- DEVAP2A.224
C EVAPORATION CALCULATION - CALCULATE RATES FOR RAIN AND SNOW DEVAP2A.225
C----------------------------------------------------------------------- DEVAP2A.226
C DEVAP2A.227
CALL EVP
(NPNTS,RAIN,TEVP,CCA,RHO,DELQ,DELPKM1,EVAP_RAIN, DEVAP2A.228
& BEVAP,1,DDCLDFRA) DEVAP2A.229
C DEVAP2A.230
CALL EVP
(NPNTS,SNOW,TEVP,CCA,RHO,DELQ,DELPKM1,SUB_SNOW, DEVAP2A.231
& BEVAP,2,DDCLDFRA) DEVAP2A.232
C DEVAP2A.233
DO I=1,NPNTS DEVAP2A.234
IF (BEVAP(I)) THEN DEVAP2A.235
C DEVAP2A.236
C----------------------------------------------------------------------- DEVAP2A.237
C ADJUST EVAPORATION AND SUBLIMNATION RATES BACK TO GRID BOX MEAN DEVAP2A.238
C----------------------------------------------------------------------- DEVAP2A.239
C DEVAP2A.240
EVAP_RAIN(I) = EVAP_RAIN(I)*CCA(I)*DDCLDFRA DEVAP2A.241
SUB_SNOW(I) = SUB_SNOW(I)*CCA(I)*DDCLDFRA DEVAP2A.242
C DEVAP2A.243
C----------------------------------------------------------------------- DEVAP2A.244
C CHECK IF PARCEL SUPERSATURATED DEVAP2A.245
C----------------------------------------------------------------------- DEVAP2A.246
C DEVAP2A.247
DELTH(I) = -((LC*EVAP_RAIN(I))+((LC+LF)*SUB_SNOW(I)))*G/ DEVAP2A.248
& (CP*EXKM1(I)*FLX_DD_KM1(I)) DEVAP2A.249
DELQE(I) = (EVAP_RAIN(I)+SUB_SNOW(I))*G/FLX_DD_KM1(I) DEVAP2A.250
C DEVAP2A.251
DELTHS(I) = THDDS(I)-THDD_KM1(I) DEVAP2A.252
IF (DELTH(I).LT.DELTHS(I)) THEN DEVAP2A.253
C DEVAP2A.254
C----------------------------------------------------------------------- DEVAP2A.255
C ADJUST EVAP AND SUBLIMATION RATES TO GIVE SATURATION DEVAP2A.256
C----------------------------------------------------------------------- DEVAP2A.257
C DEVAP2A.258
FACTOR(I) = DELTHS(I)/DELTH(I) DEVAP2A.259
DELTH(I) = DELTHS(I) DEVAP2A.260
DELQE(I) = DELQE(I)*FACTOR(I) DEVAP2A.261
EVAP_RAIN(I) = EVAP_RAIN(I)*FACTOR(I) DEVAP2A.262
SUB_SNOW(I) = SUB_SNOW(I)*FACTOR(I) DEVAP2A.263
END IF DEVAP2A.264
C DEVAP2A.265
C----------------------------------------------------------------------- DEVAP2A.266
C UPDATE T,Q AND PRECIPITATION DEVAP2A.267
C----------------------------------------------------------------------- DEVAP2A.268
C DEVAP2A.269
RAIN(I) = RAIN(I)-EVAP_RAIN(I) DEVAP2A.270
SNOW(I) = SNOW(I)-SUB_SNOW(I) DEVAP2A.271
THDD_KM1(I) = THDD_KM1(I)+DELTH(I) DEVAP2A.272
QDD_KM1(I) = QDD_KM1(I)+DELQE(I) DEVAP2A.273
C DEVAP2A.274
C----------------------------------------------------------------------- DEVAP2A.275
C PARCEL IS SUPERSATURATED BEFORE EVAPORATION OCCURS DEVAP2A.276
C BRING PARCEL TO SATURATION AND PRECIPITATE WATER DEVAP2A.277
C----------------------------------------------------------------------- DEVAP2A.278
C DEVAP2A.279
ELSE IF (BSAT(I)) THEN DEVAP2A.280
PINCR(I) = (QDD_KM1(I)-QDDS(I))*FLX_DD_KM1(I)/G DEVAP2A.281
QDD_KM1(I) = QDDS(I) DEVAP2A.282
THDD_KM1(I) = THDDS(I) DEVAP2A.283
IF (BDDWT_KM1(I)) THEN DEVAP2A.284
RAIN(I) = RAIN(I)+PINCR(I) DEVAP2A.285
ELSE DEVAP2A.286
SNOW(I) = SNOW(I)+PINCR(I) DEVAP2A.287
END IF DEVAP2A.288
END IF DEVAP2A.289
END DO DEVAP2A.290
C DEVAP2A.291
RETURN DEVAP2A.292
END DEVAP2A.293
C DEVAP2A.294
*ENDIF DEVAP2A.295