142 |
REAL rugmer(klon) |
REAL rugmer(klon) |
143 |
REAL ytsoil(klon, nsoilmx) |
REAL ytsoil(klon, nsoilmx) |
144 |
REAL yts(klon), ypct(klon), yz0_new(klon) |
REAL yts(klon), ypct(klon), yz0_new(klon) |
145 |
real yrugos(klon) ! longeur de rugosite (en m) |
real yrugos(klon) ! longueur de rugosite (en m) |
146 |
REAL yalb(klon) |
REAL yalb(klon) |
147 |
REAL snow(klon), yqsurf(klon), yagesno(klon) |
REAL snow(klon), yqsurf(klon), yagesno(klon) |
148 |
real yqsol(klon) ! column-density of water in soil, in kg m-2 |
real yqsol(klon) ! column-density of water in soil, in kg m-2 |
215 |
ydelp = 0. |
ydelp = 0. |
216 |
yu = 0. |
yu = 0. |
217 |
yv = 0. |
yv = 0. |
|
yt = 0. |
|
218 |
yq = 0. |
yq = 0. |
|
y_dflux_t = 0. |
|
|
y_dflux_q = 0. |
|
219 |
yrugoro = 0. |
yrugoro = 0. |
220 |
d_ts = 0. |
d_ts = 0. |
221 |
flux_t = 0. |
flux_t = 0. |
345 |
ypplay(:knon, :), ydelp(:knon, :), y_d_v(:knon, :), & |
ypplay(:knon, :), ydelp(:knon, :), y_d_v(:knon, :), & |
346 |
y_flux_v(:knon)) |
y_flux_v(:knon)) |
347 |
|
|
|
! calculer la diffusion de "q" et de "h" |
|
348 |
CALL clqh(dtime, julien, firstcal, nsrf, ni(:knon), & |
CALL clqh(dtime, julien, firstcal, nsrf, ni(:knon), & |
349 |
ytsoil(:knon, :), yqsol(:knon), mu0, yrugos, yrugoro, & |
ytsoil(:knon, :), yqsol(:knon), mu0, yrugos(:knon), & |
350 |
yu(:knon, 1), yv(:knon, 1), ycoefh(:knon, :), ycdragh(:knon), & |
yrugoro(:knon), yu(:knon, 1), yv(:knon, 1), ycoefh(:knon, :), & |
351 |
yt, yq, yts(:knon), ypaprs, ypplay, ydelp, yrads(:knon), & |
ycdragh(:knon), yt(:knon, :), yq(:knon, :), yts(:knon), & |
352 |
yalb(:knon), snow(:knon), yqsurf, yrain_f, ysnow_f, & |
ypaprs(:knon, :), ypplay(:knon, :), ydelp(:knon, :), & |
353 |
yfluxlat(:knon), pctsrf_new_sic, yagesno(:knon), y_d_t, y_d_q, & |
yrads(:knon), yalb(:knon), snow(:knon), yqsurf(:knon), yrain_f, & |
354 |
y_d_ts(:knon), yz0_new, y_flux_t(:knon), y_flux_q(:knon), & |
ysnow_f, yfluxlat(:knon), pctsrf_new_sic, yagesno(:knon), & |
355 |
|
y_d_t(:knon, :), y_d_q(:knon, :), y_d_ts(:knon), & |
356 |
|
yz0_new(:knon), y_flux_t(:knon), y_flux_q(:knon), & |
357 |
y_dflux_t(:knon), y_dflux_q(:knon), y_fqcalving(:knon), & |
y_dflux_t(:knon), y_dflux_q(:knon), y_fqcalving(:knon), & |
358 |
y_ffonte, y_run_off_lic_0) |
y_ffonte, y_run_off_lic_0) |
359 |
|
|
360 |
! calculer la longueur de rugosite sur ocean |
! calculer la longueur de rugosite sur ocean |
361 |
|
|
362 |
yrugm = 0. |
yrugm = 0. |
363 |
|
|
364 |
IF (nsrf == is_oce) THEN |
IF (nsrf == is_oce) THEN |
365 |
DO j = 1, knon |
DO j = 1, knon |
366 |
yrugm(j) = 0.018 * ycdragm(j) * (yu(j, 1)**2 + yv(j, 1)**2) & |
yrugm(j) = 0.018 * ycdragm(j) * (yu(j, 1)**2 + yv(j, 1)**2) & |
369 |
yrugm(j) = max(1.5E-05, yrugm(j)) |
yrugm(j) = max(1.5E-05, yrugm(j)) |
370 |
END DO |
END DO |
371 |
END IF |
END IF |
|
DO j = 1, knon |
|
|
y_dflux_t(j) = y_dflux_t(j) * ypct(j) |
|
|
y_dflux_q(j) = y_dflux_q(j) * ypct(j) |
|
|
END DO |
|
372 |
|
|
373 |
DO k = 1, klev |
DO k = 1, klev |
374 |
DO j = 1, knon |
DO j = 1, knon |
408 |
ffonte(i, nsrf) = y_ffonte(j) |
ffonte(i, nsrf) = y_ffonte(j) |
409 |
cdragh(i) = cdragh(i) + ycdragh(j) * ypct(j) |
cdragh(i) = cdragh(i) + ycdragh(j) * ypct(j) |
410 |
cdragm(i) = cdragm(i) + ycdragm(j) * ypct(j) |
cdragm(i) = cdragm(i) + ycdragm(j) * ypct(j) |
411 |
dflux_t(i) = dflux_t(i) + y_dflux_t(j) |
dflux_t(i) = dflux_t(i) + y_dflux_t(j) * ypct(j) |
412 |
dflux_q(i) = dflux_q(i) + y_dflux_q(j) |
dflux_q(i) = dflux_q(i) + y_dflux_q(j) * ypct(j) |
413 |
END DO |
END DO |
414 |
IF (nsrf == is_ter) THEN |
IF (nsrf == is_ter) THEN |
415 |
qsol(ni(:knon)) = yqsol(:knon) |
qsol(ni(:knon)) = yqsol(:knon) |
473 |
END DO |
END DO |
474 |
|
|
475 |
CALL hbtm(ypaprs, ypplay, yt2m, yq2m, ustar(:knon), y_flux_t(:knon), & |
CALL hbtm(ypaprs, ypplay, yt2m, yq2m, ustar(:knon), y_flux_t(:knon), & |
476 |
y_flux_q(:knon), yu, yv, yt, yq, ypblh(:knon), ycapcl, & |
y_flux_q(:knon), yu, yv, yt(:knon, :), yq, ypblh(:knon), & |
477 |
yoliqcl, ycteicl, ypblt, ytherm, ylcl) |
ycapcl, yoliqcl, ycteicl, ypblt, ytherm, ylcl) |
478 |
|
|
479 |
DO j = 1, knon |
DO j = 1, knon |
480 |
i = ni(j) |
i = ni(j) |