6 SUBROUTINE cls_wind( PZONA, PMERA, PHW, PCD, PCDN, PRI, PHV, PZON10M, PMER10M )
65 REAL,
DIMENSION(:),
INTENT(IN) :: PZONA
66 REAL,
DIMENSION(:),
INTENT(IN) :: PMERA
67 REAL,
DIMENSION(:),
INTENT(IN) :: PHW
68 REAL,
DIMENSION(:),
INTENT(IN) :: PCD
69 REAL,
DIMENSION(:),
INTENT(IN) :: PCDN
70 REAL,
DIMENSION(:),
INTENT(IN) :: PRI
71 REAL,
DIMENSION(:),
INTENT(IN) :: PHV
73 REAL,
DIMENSION(:),
INTENT(OUT) :: PZON10M
74 REAL,
DIMENSION(:),
INTENT(OUT) :: PMER10M
78 REAL,
DIMENSION(SIZE(PHW)) :: ZBN,ZBD,ZRU
79 REAL,
DIMENSION(SIZE(PHW)) :: ZLOGU,ZCORU,ZIV
80 REAL(KIND=JPRB) :: ZHOOK_HANDLE
102 WHERE(phv(:)<=phw(:))
103 zru(:)=min(phv(:)/phw(:),1.)
105 zru(:)=min(phw(:)/phv(:),1.)
108 zlogu(:)=log(1.+zru(:)*(exp(zbn(:)) -1.))
114 zcoru(:)=zru(:)*(zbn(:)-zbd(:))
118 zcoru(:)=log(1.+zru(:)*(exp(max(0.,zbn(:)-zbd(:)))-1.))
125 ziv(:)=max(0.,min(1.,(zlogu(:)-zcoru(:))/zbd(:)))
127 WHERE(phv(:)<=phw(:))
128 pzon10m(:)=pzona(:)*ziv(:)
129 pmer10m(:)=pmera(:)*ziv(:)
131 pzon10m(:)=pzona(:)/max(1.,ziv(:))
132 pmer10m(:)=pmera(:)/max(1.,ziv(:))
subroutine cls_wind(PZONA, PMERA, PHW, PCD, PCDN, PRI, PHV, PZON10M, PMER10M)