4 |
|
|
5 |
contains |
contains |
6 |
|
|
7 |
SUBROUTINE clqh(dtime, itime, jour, debut, rlat, knon, nisurf, knindex, & |
SUBROUTINE clqh(dtime, jour, debut, rlat, knon, nisurf, knindex, pctsrf, & |
8 |
pctsrf, tsoil, qsol, rmu0, rugos, rugoro, u1lay, v1lay, coef, & |
tsoil, qsol, rmu0, rugos, rugoro, u1lay, v1lay, coef, t, q, ts, paprs, & |
9 |
t, q, ts, paprs, pplay, delp, radsol, albedo, snow, qsurf, & |
pplay, delp, radsol, albedo, snow, qsurf, precip_rain, precip_snow, & |
10 |
precip_rain, precip_snow, fder, fluxlat, pctsrf_new, agesno, d_t, d_q, & |
fder, fluxlat, pctsrf_new, agesno, d_t, d_q, d_ts, z0_new, flux_t, & |
11 |
d_ts, z0_new, flux_t, flux_q, dflux_s, dflux_l, fqcalving, ffonte, & |
flux_q, dflux_s, dflux_l, fqcalving, ffonte, run_off_lic_0) |
|
run_off_lic_0) |
|
12 |
|
|
13 |
! Author: Z. X. Li (LMD/CNRS) |
! Author: Z. X. Li (LMD/CNRS) |
14 |
! Date: 1993/08/18 |
! Date: 1993/08/18 |
22 |
USE suphec_m, ONLY: rcpd, rd, rg, rkappa |
USE suphec_m, ONLY: rcpd, rd, rg, rkappa |
23 |
|
|
24 |
REAL, intent(in):: dtime ! intervalle du temps (s) |
REAL, intent(in):: dtime ! intervalle du temps (s) |
|
integer, intent(in):: itime |
|
25 |
integer, intent(in):: jour ! jour de l'annee en cours |
integer, intent(in):: jour ! jour de l'annee en cours |
26 |
logical, intent(in):: debut |
logical, intent(in):: debut |
27 |
real, intent(in):: rlat(klon) |
real, intent(in):: rlat(klon) |
53 |
REAL delp(klon, klev) ! epaisseur de couche en pression (Pa) |
REAL delp(klon, klev) ! epaisseur de couche en pression (Pa) |
54 |
REAL radsol(klon) ! ray. net au sol (Solaire+IR) W / m2 |
REAL radsol(klon) ! ray. net au sol (Solaire+IR) W / m2 |
55 |
REAL, intent(inout):: albedo(:) ! (knon) albedo de la surface |
REAL, intent(inout):: albedo(:) ! (knon) albedo de la surface |
56 |
REAL snow(klon) ! hauteur de neige |
REAL, intent(inout):: snow(klon) ! hauteur de neige |
57 |
REAL qsurf(klon) ! humidite de l'air au dessus de la surface |
REAL qsurf(klon) ! humidite de l'air au dessus de la surface |
58 |
|
|
59 |
real, intent(in):: precip_rain(klon) |
real, intent(in):: precip_rain(klon) |
239 |
spechum(1:knon)=q(1:knon, 1) |
spechum(1:knon)=q(1:knon, 1) |
240 |
p1lay(1:knon) = pplay(1:knon, 1) |
p1lay(1:knon) = pplay(1:knon, 1) |
241 |
|
|
242 |
CALL interfsurf_hq(itime, dtime, jour, rmu0, nisurf, knon, knindex, & |
CALL interfsurf_hq(dtime, jour, rmu0, nisurf, knon, knindex, pctsrf, & |
243 |
pctsrf, rlat, debut, nsoilmx, tsoil, qsol, u1lay, v1lay, temp_air, & |
rlat, debut, nsoilmx, tsoil, qsol, u1lay, v1lay, temp_air, spechum, & |
244 |
spechum, tq_cdrag, petAcoef, peqAcoef, petBcoef, peqBcoef, & |
tq_cdrag, petAcoef, peqAcoef, petBcoef, peqBcoef, precip_rain, & |
245 |
precip_rain, precip_snow, fder, rugos, rugoro, snow, qsurf, & |
precip_snow, fder, rugos, rugoro, snow, qsurf, ts(:knon), p1lay, & |
246 |
ts(:knon), p1lay, psref, radsol, evap, fluxsens, fluxlat, dflux_l, & |
psref, radsol, evap, fluxsens, fluxlat, dflux_l, dflux_s, tsurf_new, & |
247 |
dflux_s, tsurf_new, albedo, z0_new, pctsrf_new, agesno, fqcalving, & |
albedo, z0_new, pctsrf_new, agesno, fqcalving, ffonte, run_off_lic_0) |
|
ffonte, run_off_lic_0) |
|
248 |
|
|
249 |
flux_t(:knon, 1) = fluxsens(:knon) |
flux_t(:knon, 1) = fluxsens(:knon) |
250 |
flux_q(:knon, 1) = - evap(:knon) |
flux_q(:knon, 1) = - evap(:knon) |