*IF DEF,A05_3C CRSFRZ3C.2 C ******************************COPYRIGHT****************************** CRSFRZ3C.3 C (c) CROWN COPYRIGHT 1997, METEOROLOGICAL OFFICE, All Rights Reserved. CRSFRZ3C.4 C CRSFRZ3C.5 C Use, duplication or disclosure of this code is subject to the CRSFRZ3C.6 C restrictions as set forth in the contract. CRSFRZ3C.7 C CRSFRZ3C.8 C Meteorological Office CRSFRZ3C.9 C London Road CRSFRZ3C.10 C BRACKNELL CRSFRZ3C.11 C Berkshire UK CRSFRZ3C.12 C RG12 2SZ CRSFRZ3C.13 C CRSFRZ3C.14 C If no contract has been raised with this copy of the code, the use, CRSFRZ3C.15 C duplication or disclosure of it is strictly prohibited. Permission CRSFRZ3C.16 C to do so must first be obtained in writing from the Head of Numerical CRSFRZ3C.17 C Modelling at the above address. CRSFRZ3C.18 C ******************************COPYRIGHT****************************** CRSFRZ3C.19 C CRSFRZ3C.20 CLL SUBROUTINE CRS_FRZL------------------------------------------ CRSFRZ3C.21 CLL CRSFRZ3C.22 CLL PURPOSE : CHANGE OF PHASE ROUTINE WHERE PRECIPITATION CRSFRZ3C.23 CLL CROSSES A MELTING OR FREEZING LEVEL CRSFRZ3C.24 CLL CRSFRZ3C.25 CLL ADD LATENT HEATING CRSFRZ3C.26 CLL CRSFRZ3C.27 CLL SUITABLE FOR SINGLE COLUMN MODEL USE CRSFRZ3C.28 CLL CRSFRZ3C.29 CLL CODE WRITTEN FOR CRAY Y-MP BY S.BETT AND D.GREGORY AUTUMN 1991 CRSFRZ3C.30 CLL CRSFRZ3C.31 CLL MODEL MODIFICATION HISTORY: CRSFRZ3C.32 CLL VERSION DATE CRSFRZ3C.33 !LL 4.4 17/10/97 New version optimised for T3E. CRSFRZ3C.34 !LL Single PE optimisations D.Salmond CRSFRZ3C.35 !LL 4.5 03/03/98 Insert missing brackets. Julie Gregory. ADR1F405.75 CLL CRSFRZ3C.36 CLL PROGRAMMING STANDARDS : UNIFIED MODEL DOCUMENTATION PAPER NO. 3 CRSFRZ3C.37 CLL VERSION NO. 4 DATED 5/2/92 CRSFRZ3C.38 CLL CRSFRZ3C.39 CLL LOGICAL COMPONENTS COVERED: CRSFRZ3C.40 CLL CRSFRZ3C.41 CLL SYSTEM TASK : P27 CRSFRZ3C.42 CLL CRSFRZ3C.43 CLL DOCUMENTATION : UNIFIED MODEL DOCUMENTATION PAPER 27 CRSFRZ3C.44 CLL CRSFRZ3C.45 CLLEND----------------------------------------------------------------- CRSFRZ3C.46 C CRSFRZ3C.47 C*L ARGUMENTS--------------------------------------------------------- CRSFRZ3C.48 C CRSFRZ3C.49SUBROUTINE CRS_FRZL (NPNTS,RAIN,SNOW,THDD_KM1,EXKM1, 3CRSFRZ3C.50 & FLX_DD_KM1,BDDWT_KM1) CRSFRZ3C.51 C CRSFRZ3C.52 IMPLICIT NONE CRSFRZ3C.53 C CRSFRZ3C.54 C---------------------------------------------------------------------- CRSFRZ3C.55 C MODEL CONSTANTS CRSFRZ3C.56 C---------------------------------------------------------------------- CRSFRZ3C.57 C CRSFRZ3C.58 *CALL C_LHEAT
CRSFRZ3C.59 *CALL C_R_CP
CRSFRZ3C.60 *CALL C_G
CRSFRZ3C.61 *CALL C_0_DG_C
CRSFRZ3C.62 C CRSFRZ3C.63 C---------------------------------------------------------------------- CRSFRZ3C.64 C VECTOR LENGTHS AND LOOP COUNTERS CRSFRZ3C.65 C---------------------------------------------------------------------- CRSFRZ3C.66 C CRSFRZ3C.67 INTEGER NPNTS ! IN VECTOR LENGTH CRSFRZ3C.68 C CRSFRZ3C.69 INTEGER I ! LOOP COUNTER CRSFRZ3C.70 C CRSFRZ3C.71 C---------------------------------------------------------------------- CRSFRZ3C.72 C VARIABLES WHICH ARE INPUT CRSFRZ3C.73 C---------------------------------------------------------------------- CRSFRZ3C.74 C CRSFRZ3C.75 LOGICAL BDDWT_KM1(NPNTS) ! IN MASK FOR POINTS WHERE CRSFRZ3C.76 ! PRECIPITATION IS LIQUID CRSFRZ3C.77 ! IN LAYER K+1 CRSFRZ3C.78 C CRSFRZ3C.79 REAL EXKM1(NPNTS) ! IN EXNER RATIO FOR LAYER K-1 CRSFRZ3C.80 C CRSFRZ3C.81 REAL FLX_DD_KM1(NPNTS) ! IN MASS FLUX OF LAYER K-1 (PA/S) CRSFRZ3C.82 C CRSFRZ3C.83 C---------------------------------------------------------------------- CRSFRZ3C.84 C VARIABLES WHICH ARE INPUT AND OUTPUT CRSFRZ3C.85 C---------------------------------------------------------------------- CRSFRZ3C.86 C CRSFRZ3C.87 REAL RAIN(NPNTS) ! INOUT CRSFRZ3C.88 ! IN AMOUNT OF FALLING RAIN CRSFRZ3C.89 ! DESCENDING FROM LAYER CRSFRZ3C.90 ! K-1 TO K-2 (KG/M**2/S) CRSFRZ3C.91 ! OUT UPDATED AMOUNT OF FALLING CRSFRZ3C.92 ! RAIN (KG/M**2/S) CRSFRZ3C.93 C CRSFRZ3C.94 REAL SNOW(NPNTS) ! INOUT CRSFRZ3C.95 ! IN AMOUNT OF FALLING SNOW CRSFRZ3C.96 ! DESCENDING FROM LAYER CRSFRZ3C.97 ! K-1 TO K-2 (KG/M**2/S) CRSFRZ3C.98 ! OUT UPDATED AMOUNT OF FALLING CRSFRZ3C.99 ! SNOW (KG/M**2/S) CRSFRZ3C.100 C CRSFRZ3C.101 REAL THDD_KM1(NPNTS) ! INOUT CRSFRZ3C.102 ! IN DOWNDRAUGHT POTENTIAL CRSFRZ3C.103 ! TEMPERATURE IN LAYER K-1 (K) CRSFRZ3C.104 ! OUT UPDATED DOWNDRAUGHT POTENTIAL CRSFRZ3C.105 ! TEMPERATURE IN LAYER K-1 CRSFRZ3C.106 ! DUE TO CHANGE OF PHASE (K) CRSFRZ3C.107 C CRSFRZ3C.108 C---------------------------------------------------------------------- CRSFRZ3C.109 C VARIABLES WHICH ARE DEFINED LOCALLY CRSFRZ3C.110 C--------------------------------------------------------------------- CRSFRZ3C.111 C CRSFRZ3C.112 REAL FACTOR ! USED IN THE CALCULATION OF CRSFRZ3C.113 ! CHANGE OF PHASE OF FALLING CRSFRZ3C.114 ! PRECIPITATION CRSFRZ3C.115 C CRSFRZ3C.116 REAL PRECIP_FRE ! FREEZING PRECIPITATION CRSFRZ3C.117 C CRSFRZ3C.118 REAL PRECIP_MELT ! MELTING PRECIPITATION CRSFRZ3C.119 C CRSFRZ3C.120 CL CRSFRZ3C.121 CL---------------------------------------------------------------------- CRSFRZ3C.122 CL ADD LATENT HEATING WHERE PRECIP CROSSES A MELTING OR FREEZING LEVEL CRSFRZ3C.123 CL CRSFRZ3C.124 CL UM DOCUMENTATION PAPER 27 CRSFRZ3C.125 CL SECTION (11), EQUATION (42) CRSFRZ3C.126 CL---------------------------------------------------------------------- CRSFRZ3C.127 CL CRSFRZ3C.128 DO I=1,NPNTS CRSFRZ3C.129 C CRSFRZ3C.130 IF (.NOT.BDDWT_KM1(I).AND.RAIN(I).GT.0.0.AND.THDD_KM1(I) CRSFRZ3C.131 * *EXKM1(I).LT.TM) THEN CRSFRZ3C.132 C FREEZE CRSFRZ3C.133 FACTOR = (EXKM1(I)*CP*FLX_DD_KM1(I))/(LF*G) ADR1F405.76 PRECIP_FRE = (TM/EXKM1(I)-THDD_KM1(I))* FACTOR CRSFRZ3C.135 PRECIP_FRE = MIN(RAIN(I),PRECIP_FRE) CRSFRZ3C.136 THDD_KM1(I) = THDD_KM1(I)+PRECIP_FRE/FACTOR CRSFRZ3C.137 RAIN(I) = RAIN(I)-PRECIP_FRE CRSFRZ3C.138 SNOW(I) = SNOW(I)+PRECIP_FRE CRSFRZ3C.139 C CRSFRZ3C.140 ELSE IF (BDDWT_KM1(I).AND.SNOW(I).GT.0.0) THEN CRSFRZ3C.141 C MELT CRSFRZ3C.142 FACTOR = (EXKM1(I)*CP*FLX_DD_KM1(I))/(LF*G) ADR1F405.77 PRECIP_MELT = (THDD_KM1(I)-TM/EXKM1(I))*FACTOR CRSFRZ3C.144 PRECIP_MELT = MIN(SNOW(I),PRECIP_MELT) CRSFRZ3C.145 THDD_KM1(I) = THDD_KM1(I)-PRECIP_MELT/FACTOR CRSFRZ3C.146 RAIN(I) = RAIN(I)+PRECIP_MELT CRSFRZ3C.147 SNOW(I) = SNOW(I)-PRECIP_MELT CRSFRZ3C.148 END IF CRSFRZ3C.149 END DO CRSFRZ3C.150 C CRSFRZ3C.151 RETURN CRSFRZ3C.152 END CRSFRZ3C.153 C CRSFRZ3C.154 *ENDIF CRSFRZ3C.155