13 |
z0_new, flux_t, flux_q, dflux_s, dflux_l, fqcalving, ffonte, & |
z0_new, flux_t, flux_q, dflux_s, dflux_l, fqcalving, ffonte, & |
14 |
run_off_lic_0, flux_o, flux_g, tslab, seaice) |
run_off_lic_0, flux_o, flux_g, tslab, seaice) |
15 |
|
|
16 |
! Author: Z.X. Li (LMD/CNRS)! |
! Author: Z. X. Li (LMD/CNRS) |
17 |
! Date: 1993/08/18 |
! Date: 1993/08/18 |
18 |
! Objet : diffusion verticale de "q" et de "h" |
! Objet : diffusion verticale de "q" et de "h" |
19 |
|
|
26 |
USE suphec_m, ONLY : rcpd, rd, rg, rkappa |
USE suphec_m, ONLY : rcpd, rd, rg, rkappa |
27 |
|
|
28 |
! Arguments: |
! Arguments: |
29 |
INTEGER knon |
INTEGER, intent(in):: knon |
30 |
REAL, intent(in):: dtime ! intervalle du temps (s) |
REAL, intent(in):: dtime ! intervalle du temps (s) |
31 |
real date0 |
real, intent(in):: date0 |
32 |
REAL u1lay(klon) ! vitesse u de la 1ere couche (m/s) |
REAL u1lay(klon) ! vitesse u de la 1ere couche (m/s) |
33 |
REAL v1lay(klon) ! vitesse v de la 1ere couche (m/s) |
REAL v1lay(klon) ! vitesse v de la 1ere couche (m/s) |
34 |
REAL coef(klon, klev) ! le coefficient d'echange (m**2/s) |
|
35 |
! multiplie par le cisaillement du |
REAL, intent(in):: coef(:, :) ! (knon, klev) |
36 |
! vent (dV/dz); la premiere valeur |
! Le coefficient d'echange (m**2/s) multiplie par le cisaillement |
37 |
! indique la valeur de Cdrag (sans unite) |
! du vent (dV/dz). La premiere valeur indique la valeur de Cdrag |
38 |
|
! (sans unite). |
39 |
|
|
40 |
REAL t(klon, klev) ! temperature (K) |
REAL t(klon, klev) ! temperature (K) |
41 |
REAL q(klon, klev) ! humidite specifique (kg/kg) |
REAL q(klon, klev) ! humidite specifique (kg/kg) |
42 |
REAL ts(klon) ! temperature du sol (K) |
REAL ts(klon) ! temperature du sol (K) |
53 |
REAL agesno(klon) |
REAL agesno(klon) |
54 |
REAL rugoro(klon) |
REAL rugoro(klon) |
55 |
REAL run_off_lic_0(klon)! runof glacier au pas de temps precedent |
REAL run_off_lic_0(klon)! runof glacier au pas de temps precedent |
56 |
integer jour ! jour de l'annee en cours |
integer, intent(in):: jour ! jour de l'annee en cours |
57 |
real rmu0(klon) ! cosinus de l'angle solaire zenithal |
real, intent(in):: rmu0(klon) ! cosinus de l'angle solaire zenithal |
58 |
real rugos(klon) ! rugosite |
real rugos(klon) ! rugosite |
59 |
integer knindex(klon) |
integer knindex(klon) |
60 |
real pctsrf(klon, nbsrf) |
real, intent(in):: pctsrf(klon, nbsrf) |
61 |
real, intent(in):: rlon(klon), rlat(klon) |
real, intent(in):: rlon(klon), rlat(klon) |
62 |
real cufi(klon), cvfi(klon) |
real cufi(klon), cvfi(klon) |
63 |
logical ok_veget |
logical ok_veget |
270 |
peqBcoef = 0. |
peqBcoef = 0. |
271 |
p1lay =0. |
p1lay =0. |
272 |
|
|
|
! do i = 1, knon |
|
273 |
petAcoef(1:knon) = zx_ch(1:knon, 1) |
petAcoef(1:knon) = zx_ch(1:knon, 1) |
274 |
peqAcoef(1:knon) = zx_cq(1:knon, 1) |
peqAcoef(1:knon) = zx_cq(1:knon, 1) |
275 |
petBcoef(1:knon) = zx_dh(1:knon, 1) |
petBcoef(1:knon) = zx_dh(1:knon, 1) |
276 |
peqBcoef(1:knon) = zx_dq(1:knon, 1) |
peqBcoef(1:knon) = zx_dq(1:knon, 1) |
277 |
tq_cdrag(1:knon) =coef(1:knon, 1) |
tq_cdrag(1:knon) =coef(:knon, 1) |
278 |
temp_air(1:knon) =t(1:knon, 1) |
temp_air(1:knon) =t(1:knon, 1) |
279 |
epot_air(1:knon) =local_h(1:knon, 1) |
epot_air(1:knon) =local_h(1:knon, 1) |
280 |
spechum(1:knon)=q(1:knon, 1) |
spechum(1:knon)=q(1:knon, 1) |
281 |
p1lay(1:knon) = pplay(1:knon, 1) |
p1lay(1:knon) = pplay(1:knon, 1) |
282 |
zlev1(1:knon) = delp(1:knon, 1) |
zlev1(1:knon) = delp(1:knon, 1) |
|
! swnet = swdown * (1. - albedo) |
|
283 |
|
|
|
!IM swdown=flux SW incident sur terres |
|
|
!IM swdown=flux SW net sur les autres surfaces |
|
|
!IM swdown(1:knon) = swnet(1:knon) |
|
284 |
if(nisurf.eq.is_ter) THEN |
if(nisurf.eq.is_ter) THEN |
285 |
swdown(1:knon) = swnet(1:knon)/(1-albedo(1:knon)) |
swdown(1:knon) = swnet(1:knon)/(1-albedo(1:knon)) |
286 |
else |
else |
287 |
swdown(1:knon) = swnet(1:knon) |
swdown(1:knon) = swnet(1:knon) |
288 |
endif |
endif |
|
! enddo |
|
289 |
ccanopy = co2_ppm |
ccanopy = co2_ppm |
290 |
|
|
291 |
CALL interfsurf_hq(itime, dtime, date0, jour, rmu0, & |
CALL interfsurf_hq(itime, dtime, date0, jour, rmu0, & |