6 SUBROUTINE cls_tq( PTA, PQA, PPA, PPS, PHT, PCD, PCH, PRI, &
7 PTS, PHU, PZ0H, PH, PTNM, PQNM, PHUNM )
65 REAL,
DIMENSION(:),
INTENT(IN) :: PTA
66 REAL,
DIMENSION(:),
INTENT(IN) :: PQA
67 REAL,
DIMENSION(:),
INTENT(IN) :: PPA
68 REAL,
DIMENSION(:),
INTENT(IN) :: PPS
69 REAL,
DIMENSION(:),
INTENT(IN) :: PHT
70 REAL,
DIMENSION(:),
INTENT(IN) :: PCD
71 REAL,
DIMENSION(:),
INTENT(IN) :: PCH
72 REAL,
DIMENSION(:),
INTENT(IN) :: PRI
73 REAL,
DIMENSION(:),
INTENT(IN) :: PTS
74 REAL,
DIMENSION(:),
INTENT(IN) :: PHU
75 REAL,
DIMENSION(:),
INTENT(IN) :: PZ0H
76 REAL,
DIMENSION(:),
INTENT(IN) :: PH
78 REAL,
DIMENSION(:),
INTENT(OUT) :: PTNM
79 REAL,
DIMENSION(:),
INTENT(OUT) :: PQNM
80 REAL,
DIMENSION(:),
INTENT(OUT) :: PHUNM
84 REAL,
DIMENSION(SIZE(PTA)) :: ZBNH,ZBH,ZRS
85 REAL,
DIMENSION(SIZE(PTA)) :: ZLOGS,ZCORS,ZIV
86 REAL,
DIMENSION(SIZE(PTA)) :: ZQSATA, ZHUA
87 REAL,
DIMENSION(SIZE(PTA)) :: ZQSATNM, ZPNM, ZQS, ZQSATS
88 CHARACTER(LEN=2) :: YHUMIDITY
89 REAL(KIND=JPRB) :: ZHOOK_HANDLE
114 zbnh(:)=log( pht(:)/pz0h(:))
116 zbh(:)=
xkarman*sqrt( pcd(:) )/pch(:)
118 zrs(:)=min(ph/pht(:),1.)
120 zlogs(:)=log(1.+zrs(:)*(exp(zbnh(:)) -1.))
126 zcors(:)=zrs(:)*(zbnh(:)-zbh(:))
130 zcors(:)=log(1.+zrs(:)*(exp(max(0.,zbnh(:)-zbh(:)))-1.))
136 ziv=max(0.,min(1.,(zlogs(:)-zcors(:))/zbh(:)))
137 ptnm(:)=pts(:)+ziv(:)*(pta(:)-pts(:))
146 zpnm(:) = pps(:) + ph/pht(:) * (ppa(:)-pps(:))
147 zqsatnm(:) =
qsat(ptnm(:),zpnm(:))
149 IF (yhumidity==
'Q ')
THEN 151 zqsats(:) =
qsat(pts(:),pps(:))
152 zqs(:) = phu(:)*zqsats(:)
153 pqnm(:) = zqs(:)+ziv(:)*(pqa(:)-zqs(:))
154 pqnm(:) = min(zqsatnm(:),pqnm(:))
155 phunm(:) = pqnm(:) / zqsatnm(:)
157 ELSE IF (yhumidity==
'HU')
THEN 159 zqsata(:) =
qsat(pta(:),ppa(:))
160 zhua(:) = pqa(:) / zqsata(:)
161 phunm(:) = phu(:)+ziv(:)*(zhua(:)-phu(:))
162 pqnm(:) = phunm(:) * zqsatnm(:)
subroutine cls_tq(PTA, PQA, PPA, PPS, PHT, PCD, PCH, PRI, PTS, PHU, PZ0H, PH, PTNM, PQNM, PHUNM)