7 PTA, PEXNA, PRHOA, PSST, PEXNS, PQA, PRR, PRS, &
8 PTT, PVMOD, PZREF, PUREF, &
9 PPS, OHANDLE_SIC, PQSAT, &
10 PSFTH, PSFTQ, PUSTAR, &
11 PCD, PCDN, PCH, PRI, PRESA, PZ0HSEA )
61 USE modd_snow_par
, ONLY : xz0sn, xz0hsn
64 USE modi_surface_aero_cond
66 USE modi_surface_cdch_1darp
67 USE modi_wind_threshold
85 REAL,
DIMENSION(:),
INTENT(IN) :: PTA
86 REAL,
DIMENSION(:),
INTENT(IN) :: PQA
87 REAL,
DIMENSION(:),
INTENT(IN) :: PEXNA
88 REAL,
DIMENSION(:),
INTENT(IN) :: PRHOA
89 REAL,
DIMENSION(:),
INTENT(IN) :: PVMOD
90 REAL,
DIMENSION(:),
INTENT(IN) :: PZREF
91 REAL,
DIMENSION(:),
INTENT(IN) :: PUREF
92 REAL,
DIMENSION(:),
INTENT(IN) :: PSST
93 REAL,
DIMENSION(:),
INTENT(IN) :: PEXNS
94 REAL,
DIMENSION(:),
INTENT(IN) :: PPS
95 LOGICAL,
INTENT(IN) :: OHANDLE_SIC
96 REAL,
DIMENSION(:),
INTENT(IN) :: PRR
97 REAL,
DIMENSION(:),
INTENT(IN) :: PRS
98 REAL,
INTENT(IN) :: PTT
100 REAL,
DIMENSION(:),
INTENT(INOUT) :: PZ0SEA
104 REAL,
DIMENSION(:),
INTENT(OUT) :: PSFTH
105 REAL,
DIMENSION(:),
INTENT(OUT) :: PSFTQ
106 REAL,
DIMENSION(:),
INTENT(OUT) :: PUSTAR
109 REAL,
DIMENSION(:),
INTENT(OUT) :: PQSAT
110 REAL,
DIMENSION(:),
INTENT(OUT) :: PCD
111 REAL,
DIMENSION(:),
INTENT(OUT) :: PCDN
112 REAL,
DIMENSION(:),
INTENT(OUT) :: PCH
113 REAL,
DIMENSION(:),
INTENT(OUT) :: PRI
114 REAL,
DIMENSION(:),
INTENT(OUT) :: PRESA
115 REAL,
DIMENSION(:),
INTENT(OUT) :: PZ0HSEA
121 REAL,
DIMENSION(SIZE(PTA)) :: ZVMOD
122 REAL,
DIMENSION(SIZE(PTA)) :: ZUSTAR2
123 REAL,
DIMENSION(SIZE(PTA)) :: ZAC
124 REAL,
DIMENSION(SIZE(PTA)) :: ZRA
125 REAL,
DIMENSION(SIZE(PTA)) :: ZDIRCOSZW
126 REAL,
DIMENSION(SIZE(PTA)) :: ZFP
127 REAL,
DIMENSION(SIZE(PTA)) :: ZRRCOR
128 REAL,
DIMENSION(SIZE(PTA)) :: ZCHARN
130 REAL(KIND=JPRB) :: ZHOOK_HANDLE
154 pqsat(:) =
qsat(psst(:),pps(:))
169 zcharn(:) = max(0.011,min(0.018,0.011+0.007*(zvmod(:)-10.)/8.))
180 CALL surface_ri(psst,pqsat,pexns,pexna,pta,pqa, &
181 pzref, puref, zdircoszw,pvmod,pri)
187 pz0hsea(:)=min(pz0sea(:),pz0sea(:)*
xrzhz0m)
192 IF (.NOT.ohandle_sic )
THEN 193 WHERE (psst(:) < ptt)
204 pqa, pqsat, pcd, pcdn, pch )
206 zra(:) = 1. / ( pch(:) * zvmod(:) )
210 CALL surface_cd(pri, pzref, puref, pz0sea, pz0hsea, pcd, pcdn)
221 zustar2(:) = pcd(:)*zvmod(:)*zvmod(:)
223 pz0sea(:) = zcharn(:) * zustar2(:) /
xg +
xvz0cm * pcd(:) / pcdn(:)
226 pz0hsea(:)=pz0sea(:)*exp(-sqrt(zustar2(:))*
xvziustar0)
231 IF (.NOT.ohandle_sic )
THEN 232 WHERE (psst(:) < ptt)
247 zfp(:)=max(0.0,prr(:)+prs(:))
263 psfth(:) =
xcpd * prhoa(:) * pch(:) * zvmod(:) * ( psst(:) -pta(:) * pexns
real function, dimension(size(pwind)) wind_threshold(PWIND, PUREF)
subroutine surface_ri(PTG, PQS, PEXNS, PEXNA, PTA, PQA, PZREF, PUREF, PDIRCOSZW, PVMOD, PRI)
character(len=3) ccharnock
subroutine surface_aero_cond(PRI, PZREF, PUREF, PVMOD, PZ0, PZ0H, PAC, PRA, PCH)
subroutine water_flux(PZ0SEA,
subroutine surface_cd(PRI, PZREF, PUREF, PZ0EFF, PZ0H, PCD, PCDN)
subroutine surface_cdch_1darp(PZREF, PZ0EFF, PZ0H, PVMOD, PTA, PTG, PQA, PQS, PCD, PCDN, PCH)