6 SUBROUTINE surface_ri(PTG, PQS, PEXNS, PEXNA, PTA, PQA, &
7 pzref, puref, pdircoszw, pvmod, pri )
54 USE modi_wind_threshold
57 USE yomhook
,ONLY : lhook, dr_hook
58 USE parkind1
,ONLY : jprb
65 REAL,
DIMENSION(:),
INTENT(IN) :: ptg
66 REAL,
DIMENSION(:),
INTENT(IN) :: pqs
67 REAL,
DIMENSION(:),
INTENT(IN) :: pexns
68 REAL,
DIMENSION(:),
INTENT(IN) :: pta
69 REAL,
DIMENSION(:),
INTENT(IN) :: pqa
71 REAL,
DIMENSION(:),
INTENT(IN) :: pexna
73 REAL,
DIMENSION(:),
INTENT(IN) :: pvmod
75 REAL,
DIMENSION(:),
INTENT(IN) :: pzref
77 REAL,
DIMENSION(:),
INTENT(IN) :: puref
81 REAL,
DIMENSION(:),
INTENT(IN) :: pdircoszw
85 REAL,
DIMENSION(:),
INTENT(OUT) :: pri
90 REAL,
DIMENSION(SIZE(PTG)) :: zthva, zthvs
91 REAL,
DIMENSION(SIZE(PVMOD)) :: zvmod
92 REAL(KIND=JPRB) :: zhook_handle
103 IF (lhook) CALL dr_hook(
'SURFACE_RI',0,zhook_handle)
105 zthva(:)=pta(:)/pexna(:)*( 1.+(xrv/xrd-1.)*pqa(:) )
106 zthvs(:)=ptg(:)/pexns(:)*( 1.+(xrv/xrd-1.)*pqs(:) )
111 pri(:) = xg * pdircoszw(:) * puref(:) * puref(:) &
112 * (zthva(:)-zthvs(:)) / (0.5 * (zthva(:)+zthvs(:)) ) &
113 / (zvmod(:)*zvmod(:)) /pzref(:)
115 pri(:) = min(pri(:),xrimax)
117 IF (lhook) CALL dr_hook(
'SURFACE_RI',1,zhook_handle)
real function, dimension(size(pwind)) wind_threshold(PWIND, PUREF)
subroutine surface_ri(PTG, PQS, PEXNS, PEXNA, PTA, PQA, PZREF, PUREF, PDIRCOSZW, PVMOD, PRI)