7 pqa, prain, psnow, pwind, pzref, puref, &
8 pps, ptwat, ptts, psfth, psftq, &
9 ohandle_sic, pmask, pqsat, pz0, &
10 pustar, pcd, pcdn, pch, &
42 USE yomhook
,ONLY : lhook, dr_hook
43 USE parkind1
,ONLY : jprb
49 INTEGER,
INTENT(IN) :: ki
51 REAL,
DIMENSION(KI),
INTENT(IN) :: pta
52 REAL,
DIMENSION(KI),
INTENT(IN) :: pexna
53 REAL,
DIMENSION(KI),
INTENT(IN) :: prhoa
54 REAL,
DIMENSION(KI),
INTENT(IN) :: ptice
55 REAL,
DIMENSION(KI),
INTENT(IN) :: pexns
56 REAL,
DIMENSION(KI),
INTENT(IN) :: pqa
57 REAL,
DIMENSION(KI),
INTENT(IN) :: prain
58 REAL,
DIMENSION(KI),
INTENT(IN) :: psnow
59 REAL,
DIMENSION(KI),
INTENT(IN) :: pwind
60 REAL,
DIMENSION(KI),
INTENT(IN) :: pzref
61 REAL,
DIMENSION(KI),
INTENT(IN) :: puref
62 REAL,
DIMENSION(KI),
INTENT(IN) :: pps
63 REAL,
DIMENSION(KI),
INTENT(IN) :: ptwat
64 REAL,
INTENT(IN) :: ptts
65 REAL,
DIMENSION(KI),
INTENT(OUT) :: psfth
66 REAL,
DIMENSION(KI),
INTENT(OUT) :: psftq
68 LOGICAL,
INTENT(IN) ,
OPTIONAL:: ohandle_sic
69 REAL,
DIMENSION(KI),
INTENT(IN) ,
OPTIONAL :: pmask
71 REAL,
DIMENSION(KI),
INTENT(OUT),
OPTIONAL :: pqsat
72 REAL,
DIMENSION(KI),
INTENT(OUT),
OPTIONAL :: pz0
73 REAL,
DIMENSION(KI),
INTENT(OUT),
OPTIONAL :: pustar
74 REAL,
DIMENSION(KI),
INTENT(OUT),
OPTIONAL :: pcd
75 REAL,
DIMENSION(KI),
INTENT(OUT),
OPTIONAL :: pcdn
76 REAL,
DIMENSION(KI),
INTENT(OUT),
OPTIONAL :: pch
77 REAL,
DIMENSION(KI),
INTENT(OUT),
OPTIONAL :: pri
78 REAL,
DIMENSION(KI),
INTENT(OUT),
OPTIONAL :: presa
79 REAL,
DIMENSION(KI),
INTENT(OUT),
OPTIONAL :: pz0h
83 INTEGER,
DIMENSION(KI) :: imask
84 LOGICAL :: ghandle_sic
87 REAL(KIND=JPRB) :: zhook_handle
93 IF (lhook) CALL dr_hook(
'COUPLING_ICEFLUX_N',0,zhook_handle)
96 IF (present(ohandle_sic))
THEN
97 ghandle_sic=ohandle_sic
105 IF (ghandle_sic)
THEN
111 IF(ptwat(jj)<ptts+10.)
THEN
119 IF (lhook) CALL dr_hook(
'COUPLING_ICEFLUX_N',1,zhook_handle)
127 IF (lhook) CALL dr_hook(
'COUPLING_ICEFLUX_N',1,zhook_handle)
135 INTEGER,
INTENT(IN) :: ksize
136 INTEGER,
INTENT(IN),
DIMENSION(:) :: kmask
138 REAL,
DIMENSION(KSIZE) :: zta
139 REAL,
DIMENSION(KSIZE) :: zexna
140 REAL,
DIMENSION(KSIZE) :: zrhoa
141 REAL,
DIMENSION(KSIZE) :: ztice
142 REAL,
DIMENSION(KSIZE) :: zexns
143 REAL,
DIMENSION(KSIZE) :: zqa
144 REAL,
DIMENSION(KSIZE) :: zrr
145 REAL,
DIMENSION(KSIZE) :: zrs
146 REAL,
DIMENSION(KSIZE) :: zwind
147 REAL,
DIMENSION(KSIZE) :: zzref
148 REAL,
DIMENSION(KSIZE) :: zuref
149 REAL,
DIMENSION(KSIZE) :: zps
151 REAL,
DIMENSION(KSIZE) :: zsfth
152 REAL,
DIMENSION(KSIZE) :: zsftq
155 REAL,
DIMENSION(KSIZE) :: zz0
156 REAL,
DIMENSION(KSIZE) :: zqsat
157 REAL,
DIMENSION(KSIZE) :: zustar
158 REAL,
DIMENSION(KSIZE) :: zcd
159 REAL,
DIMENSION(KSIZE) :: zcdn
160 REAL,
DIMENSION(KSIZE) :: zch
161 REAL,
DIMENSION(KSIZE) :: zri
162 REAL,
DIMENSION(KSIZE) :: zresa
163 REAL,
DIMENSION(KSIZE) :: zz0h
164 REAL(KIND=JPRB) :: zhook_handle
166 IF (lhook) CALL dr_hook(
'COUPLING_ICEFLUX_N:TREAT_ICE',0,zhook_handle)
171 zta(jj) = pta(kmask(jj))
172 zexna(jj) = pexna(kmask(jj))
173 zrhoa(jj) = prhoa(kmask(jj))
174 ztice(jj) = ptice(kmask(jj))
175 zexns(jj) = pexns(kmask(jj))
176 zqa(jj) = pqa(kmask(jj))
177 zrr(jj) = prain(kmask(jj))
178 zrs(jj) = psnow(kmask(jj))
179 zwind(jj) = pwind(kmask(jj))
180 zzref(jj) = pzref(kmask(jj))
181 zuref(jj) = puref(kmask(jj))
182 zps(jj) = pps(kmask(jj))
203 CALL
ice_sea_flux(zz0, zta, zexna, zrhoa, ztice, zexns, &
204 zqa, zrr, zrs, zwind, zzref, zuref, zps, &
205 zqsat, zsfth, zsftq, zustar, zcd, zcdn, &
206 zch, zri, zresa, zz0h )
213 psfth(kmask(jj)) = zsfth(jj)
214 psftq(kmask(jj)) = zsftq(jj)
215 IF (ghandle_sic)
THEN
216 pqsat(kmask(jj)) = zqsat(jj)
217 pz0(kmask(jj)) = zz0(jj)
218 pustar(kmask(jj)) = zustar(jj)
219 pcd(kmask(jj)) = zcd(jj)
220 pcdn(kmask(jj)) = zcdn(jj)
221 pch(kmask(jj)) = zch(jj)
222 pri(kmask(jj)) = zri(jj)
223 presa(kmask(jj)) = zresa(jj)
224 pz0h(kmask(jj)) = zz0h(jj)
228 IF (lhook) CALL dr_hook(
'COUPLING_ICEFLUX_N:TREAT_ICE',1,zhook_handle)
subroutine treat_ice(KSIZE, KMASK)
subroutine coupling_iceflux_n(KI, PTA, PEXNA, PRHOA, PTICE, PEXNS, PQA, PRAIN, PSNOW, PWIND, PZREF, PUREF, PPS, PTWAT, PTTS, PSFTH, PSFTQ, OHANDLE_SIC, PMASK, PQSAT, PZ0, PUSTAR, PCD, PCDN, PCH, PRI, PRESA, PZ0H)
subroutine ice_sea_flux(PZ0ICE, PTA, PEXNA, PRHOA, PTICE, PEXNS, PQA, PRR, PRS, PVMOD, PZREF, PUREF, PPS, PQSAT, PSFTH, PSFTQ, PUSTAR, PCD, PCDN, PCH, PRI, PRESA, PZ0HICE)