7 PQA, PRAIN, PSNOW, PWIND, PZREF, PUREF, &
8 PPS, PTWAT, PTTS, PSFTH, PSFTQ, &
9 OHANDLE_SIC, PMASK, PQSAT, PZ0, &
10 PUSTAR, PCD, PCDN, PCH, &
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,