*IF DEF,A03_7A ACB1F405.3
C *****************************COPYRIGHT****************************** EXFXTQ5B.3
C (c) CROWN COPYRIGHT 1997, METEOROLOGICAL OFFICE, All Rights Reserved. EXFXTQ5B.4
C EXFXTQ5B.5
C Use, duplication or disclosure of this code is subject to the EXFXTQ5B.6
C restrictions as set forth in the contract. EXFXTQ5B.7
C EXFXTQ5B.8
C Meteorological Office EXFXTQ5B.9
C London Road EXFXTQ5B.10
C BRACKNELL EXFXTQ5B.11
C Berkshire UK EXFXTQ5B.12
C RG12 2SZ EXFXTQ5B.13
C EXFXTQ5B.14
C If no contract has been raised with this copy of the code, the use, EXFXTQ5B.15
C duplication or disclosure of it is strictly prohibited. Permission EXFXTQ5B.16
C to do so must first be obtained in writing from the Head of Numerical EXFXTQ5B.17
C Modelling at the above address. EXFXTQ5B.18
C ******************************COPYRIGHT****************************** EXFXTQ5B.19
!!! EXFXTQ5B.20
!!! Purpose: Calculate explicit fluxes of TL and QT EXFXTQ5B.21
!!! EXFXTQ5B.22
!!! Suitable for single column use EXFXTQ5B.23
!!! EXFXTQ5B.24
!!! Model Modification history EXFXTQ5B.25
!!! version Date EXFXTQ5B.26
!!! 4.3 23/2/97 New deck EXFXTQ5B.27
!!! EXFXTQ5B.28
!!! JJ <- Programmers of some or all of previous code or changes EXFXTQ5B.29
!!! EXFXTQ5B.30
!!! EXFXTQ5B.31
!!! Programming standard: UM Documentation Paper No 4, Version 2, EXFXTQ5B.32
!!! dated 18/1/90 EXFXTQ5B.33
!!! EXFXTQ5B.34
!!! System component covered: P244 EXFXTQ5B.35
!!! EXFXTQ5B.36
!!! Project task: P24 EXFXTQ5B.37
!!! EXFXTQ5B.38
!!! Documentation: UM Documentation Paper No 24. EXFXTQ5B.39
!!! EXFXTQ5B.40
!!!--------------------------------------------------------------------- EXFXTQ5B.41
EXFXTQ5B.42
! SUBROUTINE EX_FLUX_TQ EXFXTQ5B.43
EXFXTQ5B.44
SUBROUTINE EX_FLUX_TQ ( 2,4EXFXTQ5B.45
& P_POINTS EXFXTQ5B.46
&, P_FIELD EXFXTQ5B.47
&, P1 EXFXTQ5B.48
&, BL_LEVELS EXFXTQ5B.49
&, TL EXFXTQ5B.50
&, QW EXFXTQ5B.51
&, RDZ EXFXTQ5B.52
&, FTL EXFXTQ5B.53
&, FQW EXFXTQ5B.54
&, RHOKH EXFXTQ5B.55
&, LTIMER EXFXTQ5B.56
& ) EXFXTQ5B.57
EXFXTQ5B.58
EXFXTQ5B.59
IMPLICIT NONE EXFXTQ5B.60
EXFXTQ5B.61
! ARGUMENTS WITH INTENT IN. IE: INPUT VARIABLES. EXFXTQ5B.62
EXFXTQ5B.63
LOGICAL EXFXTQ5B.64
& LTIMER ! IN Flag for TIMER diagnostics EXFXTQ5B.65
EXFXTQ5B.66
INTEGER EXFXTQ5B.67
& P_FIELD ! IN No. of P-grid points in whole field EXFXTQ5B.68
&,P1 ! IN First P-grid point to be processed EXFXTQ5B.69
&,P_POINTS ! IN No. of P-grid points to be processed EXFXTQ5B.70
&,BL_LEVELS ! IN No. of atmospheric levels for which EXFXTQ5B.71
! boundary layer fluxes are calculated. EXFXTQ5B.72
! Assumed ! <=30 for dimensioning GAMMA() EXFXTQ5B.73
! in common deck C_GAMMA EXFXTQ5B.74
EXFXTQ5B.75
REAL EXFXTQ5B.76
& TL(P_FIELD, BL_LEVELS) ! IN Liquid/frozen water temperature EXFXTQ5B.77
! (K). EXFXTQ5B.78
&, QW(P_FIELD, BL_LEVELS) ! IN Total water content (kg/kg air) EXFXTQ5B.79
&, RHOKH(P_FIELD, BL_LEVELS)! IN Exchange coeffs for moisture. EXFXTQ5B.80
&, RDZ(P_FIELD, BL_LEVELS) ! IN RDZ(,1) is the reciprocal of the EXFXTQ5B.81
! height of level 1, i.e. of the EXFXTQ5B.82
! middle of layer 1. For K > 1, EXFXTQ5B.83
! RDZ(,K) is the reciprocal of the EXFXTQ5B.84
! vertical distance from level EXFXTQ5B.85
! K-1 to level K. EXFXTQ5B.86
EXFXTQ5B.87
EXFXTQ5B.88
EXFXTQ5B.89
! ARGUMENTS WITH INTENT OUT. IE: OUTPUT VARIABLES. EXFXTQ5B.90
EXFXTQ5B.91
REAL EXFXTQ5B.92
& FTL(P_FIELD, BL_LEVELS) ! OUT FTL(,K) contains net turbulent EXFXTQ5B.93
! sensible heat flux into layer K EXFXTQ5B.94
! from below; so FTL(,1) is the EXFXTQ5B.95
! surface sensible heat, H. (W/m2) EXFXTQ5B.96
&, FQW(P_FIELD, BL_LEVELS) ! OUT Moisture flux between layers EXFXTQ5B.97
! (kg per square metre per sec). EXFXTQ5B.98
! FQW(,1) is total water flux EXFXTQ5B.99
! from surface, 'E'. EXFXTQ5B.100
EXFXTQ5B.101
! LOCAL VARIABLES. EXFXTQ5B.102
EXFXTQ5B.103
INTEGER EXFXTQ5B.104
& L, K EXFXTQ5B.105
EXFXTQ5B.106
*CALL C_G
EXFXTQ5B.107
*CALL C_R_CP
EXFXTQ5B.108
EXFXTQ5B.109
REAL EXFXTQ5B.110
& GRCP EXFXTQ5B.111
EXFXTQ5B.112
PARAMETER ( EXFXTQ5B.113
& GRCP = G/CP EXFXTQ5B.114
& ) EXFXTQ5B.115
EXFXTQ5B.116
EXTERNAL TIMER EXFXTQ5B.117
EXFXTQ5B.118
!----------------------------------------------------------------------- EXFXTQ5B.119
EXFXTQ5B.120
IF (LTIMER) THEN EXFXTQ5B.121
CALL TIMER
('EXFLUXTQ',3) EXFXTQ5B.122
ENDIF EXFXTQ5B.123
EXFXTQ5B.124
DO K=2,BL_LEVELS EXFXTQ5B.125
!----------------------------------------------------------------------- EXFXTQ5B.126
!! 1. "Explicit" fluxes of TL and QW, on P-grid. EXFXTQ5B.127
!----------------------------------------------------------------------- EXFXTQ5B.128
DO L=P1,P1+P_POINTS-1 EXFXTQ5B.129
FTL(L,K) = -RHOKH(L,K) * EXFXTQ5B.130
& ( ( ( TL(L,K) - TL(L,K-1) ) * RDZ(L,K) ) + GRCP ) EXFXTQ5B.131
FQW(L,K) = -RHOKH(L,K) * ( QW(L,K) - QW(L,K-1) ) * RDZ(L,K) EXFXTQ5B.132
ENDDO EXFXTQ5B.133
ENDDO EXFXTQ5B.134
EXFXTQ5B.135
IF (LTIMER) THEN EXFXTQ5B.136
CALL TIMER
('EXFLUXTQ',4) EXFXTQ5B.137
ENDIF EXFXTQ5B.138
EXFXTQ5B.139
RETURN EXFXTQ5B.140
END EXFXTQ5B.141
*ENDIF EXFXTQ5B.142