5 |
contains |
contains |
6 |
|
|
7 |
SUBROUTINE pbl_surface(pctsrf, t, q, u, v, julien, mu0, ftsol, cdmmax, & |
SUBROUTINE pbl_surface(pctsrf, t, q, u, v, julien, mu0, ftsol, cdmmax, & |
8 |
cdhmax, ftsoil, qsol, paprs, pplay, fsnow, qsurf, evap, falbe, fluxlat, & |
cdhmax, ftsoil, qsol, paprs, pplay, fsnow, qsurf, falbe, fluxlat, & |
9 |
rain_fall, snow_f, fsolsw, fsollw, frugs, agesno, rugoro, d_t, d_q, & |
rain_fall, snow_fall, fsolsw, fsollw, frugs, agesno, rugoro, d_t, d_q, & |
10 |
d_u, d_v, d_ts, flux_t, flux_q, flux_u, flux_v, cdragh, cdragm, q2, & |
d_u, d_v, d_ts, flux_t, flux_q, flux_u, flux_v, cdragh, cdragm, q2, & |
11 |
dflux_t, dflux_q, coefh, t2m, q2m, u10m_srf, v10m_srf, pblh, capcl, & |
dflux_t, dflux_q, coefh, t2m, q2m, u10m_srf, v10m_srf, pblh, capcl, & |
12 |
oliqcl, cteicl, pblt, therm, plcl, fqcalving, ffonte, run_off_lic_0) |
oliqcl, cteicl, pblt, therm, plcl, fqcalving, ffonte, run_off_lic_0) |
58 |
REAL, INTENT(IN):: paprs(klon, klev + 1) ! pression a intercouche (Pa) |
REAL, INTENT(IN):: paprs(klon, klev + 1) ! pression a intercouche (Pa) |
59 |
REAL, INTENT(IN):: pplay(klon, klev) ! pression au milieu de couche (Pa) |
REAL, INTENT(IN):: pplay(klon, klev) ! pression au milieu de couche (Pa) |
60 |
REAL, INTENT(inout):: fsnow(:, :) ! (klon, nbsrf) \'epaisseur neigeuse |
REAL, INTENT(inout):: fsnow(:, :) ! (klon, nbsrf) \'epaisseur neigeuse |
61 |
REAL qsurf(klon, nbsrf) |
REAL, INTENT(inout):: qsurf(klon, nbsrf) |
|
REAL evap(klon, nbsrf) |
|
62 |
REAL, intent(inout):: falbe(klon, nbsrf) |
REAL, intent(inout):: falbe(klon, nbsrf) |
63 |
REAL, intent(out):: fluxlat(:, :) ! (klon, nbsrf) |
REAL, intent(out):: fluxlat(:, :) ! (klon, nbsrf) |
64 |
|
|
65 |
REAL, intent(in):: rain_fall(klon) |
REAL, intent(in):: rain_fall(klon) |
66 |
! liquid water mass flux (kg / m2 / s), positive down |
! liquid water mass flux (kg / m2 / s), positive down |
67 |
|
|
68 |
REAL, intent(in):: snow_f(klon) |
REAL, intent(in):: snow_fall(klon) |
69 |
! solid water mass flux (kg / m2 / s), positive down |
! solid water mass flux (kg / m2 / s), positive down |
70 |
|
|
71 |
REAL, INTENT(IN):: fsolsw(klon, nbsrf), fsollw(klon, nbsrf) |
REAL, INTENT(IN):: fsolsw(klon, nbsrf), fsollw(klon, nbsrf) |
180 |
REAL u1(klon), v1(klon) |
REAL u1(klon), v1(klon) |
181 |
REAL tair1(klon), qair1(klon), tairsol(klon) |
REAL tair1(klon), qair1(klon), tairsol(klon) |
182 |
REAL psfce(klon), patm(klon) |
REAL psfce(klon), patm(klon) |
183 |
|
REAL zgeo1(klon) |
|
REAL qairsol(klon), zgeo1(klon) |
|
184 |
REAL rugo1(klon) |
REAL rugo1(klon) |
185 |
REAL zgeop(klon, klev) |
REAL zgeop(klon, klev) |
186 |
|
|
201 |
dflux_t = 0. |
dflux_t = 0. |
202 |
dflux_q = 0. |
dflux_q = 0. |
203 |
ypct = 0. |
ypct = 0. |
|
yqsurf = 0. |
|
204 |
yrain_f = 0. |
yrain_f = 0. |
205 |
ysnow_f = 0. |
ysnow_f = 0. |
206 |
yrugos = 0. |
yrugos = 0. |
262 |
yqsurf(j) = qsurf(i, nsrf) |
yqsurf(j) = qsurf(i, nsrf) |
263 |
yalb(j) = falbe(i, nsrf) |
yalb(j) = falbe(i, nsrf) |
264 |
yrain_f(j) = rain_fall(i) |
yrain_f(j) = rain_fall(i) |
265 |
ysnow_f(j) = snow_f(i) |
ysnow_f(j) = snow_fall(i) |
266 |
yagesno(j) = agesno(i, nsrf) |
yagesno(j) = agesno(i, nsrf) |
267 |
yrugos(j) = frugs(i, nsrf) |
yrugos(j) = frugs(i, nsrf) |
268 |
yrugoro(j) = rugoro(i) |
yrugoro(j) = rugoro(i) |
371 |
flux_u(ni(:knon), nsrf) = y_flux_u(:knon) |
flux_u(ni(:knon), nsrf) = y_flux_u(:knon) |
372 |
flux_v(ni(:knon), nsrf) = y_flux_v(:knon) |
flux_v(ni(:knon), nsrf) = y_flux_v(:knon) |
373 |
|
|
|
evap(:, nsrf) = -flux_q(:, nsrf) |
|
|
|
|
374 |
falbe(:, nsrf) = 0. |
falbe(:, nsrf) = 0. |
375 |
fsnow(:, nsrf) = 0. |
fsnow(:, nsrf) = 0. |
376 |
qsurf(:, nsrf) = 0. |
qsurf(:, nsrf) = 0. |
438 |
END IF |
END IF |
439 |
psfce(j) = ypaprs(j, 1) |
psfce(j) = ypaprs(j, 1) |
440 |
patm(j) = ypplay(j, 1) |
patm(j) = ypplay(j, 1) |
|
|
|
|
qairsol(j) = yqsurf(j) |
|
441 |
END DO |
END DO |
442 |
|
|
443 |
CALL stdlevvar(nsrf, u1(:knon), v1(:knon), tair1(:knon), qair1, & |
CALL stdlevvar(nsrf, u1(:knon), v1(:knon), tair1(:knon), qair1, & |
444 |
zgeo1, tairsol, qairsol, rugo1, psfce, patm, yt2m, yq2m, yt10m, & |
zgeo1, tairsol, yqsurf(:knon), rugo1, psfce, patm, yt2m, yq2m, & |
445 |
yq10m, wind10m(:knon), ustar(:knon)) |
yt10m, yq10m, wind10m(:knon), ustar(:knon)) |
446 |
|
|
447 |
DO j = 1, knon |
DO j = 1, knon |
448 |
i = ni(j) |
i = ni(j) |