10 SUBROUTINE surf_land(itime, dtime, date0, jour, knon, knindex, &
12 debut, lafin, zlev, ccanopy, swnet, lwnet,
albedo, &
13 tsurf, p1lay, cdragh, cdragm, precip_rain, precip_snow, temp_air, spechum, &
14 acoefh, acoefq, bcoefh, bcoefq, &
15 acoefu, acoefv, bcoefu, bcoefv, &
16 pref, u1, v1, gustiness, rugoro, pctsrf, &
18 snow, qsol, agesno, tsoil, &
19 z0m, z0h, sfrwl, alb_dir_new, alb_dif_new, evap, fluxsens, fluxlat, &
20 qsurf, tsurf_new, dflux_s, dflux_l, &
26 #ifdef ORCHIDEE_NOOPENMP
43 INTEGER,
INTENT(IN) :: itime, jour, knon
44 INTEGER,
DIMENSION(klon),
INTENT(IN) :: knindex
45 REAL,
INTENT(IN) :: date0
46 REAL,
DIMENSION(klon),
INTENT(IN) :: rlon, rlat
47 LOGICAL,
INTENT(IN) :: debut, lafin
48 REAL,
INTENT(IN) :: dtime
49 REAL,
DIMENSION(klon),
INTENT(IN) :: zlev, ccanopy
50 REAL,
DIMENSION(klon),
INTENT(IN) :: swnet, lwnet
51 REAL,
DIMENSION(klon),
INTENT(IN) :: albedo
52 REAL,
DIMENSION(klon),
INTENT(IN) :: tsurf
53 REAL,
DIMENSION(klon),
INTENT(IN) :: p1lay
54 REAL,
DIMENSION(klon),
INTENT(IN) :: cdragh, cdragm
55 REAL,
DIMENSION(klon),
INTENT(IN) :: precip_rain, precip_snow
56 REAL,
DIMENSION(klon),
INTENT(IN) :: temp_air, spechum
57 REAL,
DIMENSION(klon),
INTENT(IN) :: AcoefH, AcoefQ, BcoefH, BcoefQ
58 REAL,
DIMENSION(klon),
INTENT(IN) :: AcoefU, AcoefV, BcoefU, BcoefV
59 REAL,
DIMENSION(klon),
INTENT(IN) :: pref
60 REAL,
DIMENSION(klon),
INTENT(IN) :: u1, v1, gustiness
61 REAL,
DIMENSION(klon),
INTENT(IN) :: rugoro
62 REAL,
DIMENSION(klon,nbsrf),
INTENT(IN) :: pctsrf
63 REAL,
DIMENSION(klon),
INTENT(IN) :: lwdown_m
65 REAL,
DIMENSION(klon),
INTENT(IN) :: q2m, t2m
69 REAL,
DIMENSION(klon),
INTENT(INOUT) :: snow, qsol
70 REAL,
DIMENSION(klon),
INTENT(INOUT) :: agesno
71 REAL,
DIMENSION(klon, nsoilmx),
INTENT(INOUT) :: tsoil
75 REAL,
DIMENSION(klon),
INTENT(OUT) :: z0m, z0h
79 REAL,
DIMENSION(6),
INTENT(IN) :: SFRWL
80 REAL,
DIMENSION(klon,nsw),
INTENT(OUT) :: alb_dir_new,alb_dif_new
82 REAL,
DIMENSION(klon),
INTENT(OUT) :: evap
83 REAL,
DIMENSION(klon),
INTENT(OUT) :: fluxsens, fluxlat
84 REAL,
DIMENSION(klon),
INTENT(OUT) :: qsurf
85 REAL,
DIMENSION(klon),
INTENT(OUT) :: tsurf_new
86 REAL,
DIMENSION(klon),
INTENT(OUT) :: dflux_s, dflux_l
87 REAL,
DIMENSION(klon),
INTENT(OUT) :: flux_u1, flux_v1
91 REAL,
DIMENSION(klon) :: p1lay_tmp
92 REAL,
DIMENSION(klon) :: pref_tmp
93 REAL,
DIMENSION(klon) :: swdown
94 REAL,
DIMENSION(klon) :: epot_air
95 REAL,
DIMENSION(klon) :: tsol_rad, emis_new
96 REAL,
DIMENSION(klon) :: u0, v0
100 REAL,
DIMENSION(klon) :: alb1_new,alb2_new
115 p1lay_tmp(1:knon) = p1lay(1:knon)/100.
116 pref_tmp(1:knon) = pref(1:knon)/100.
122 swdown(i) = swnet(i)/(1-
albedo(i))
129 epot_air(i) = rcpd*temp_air(i)*(pref(i)/p1lay(i))**rkappa
134 knindex, rlon, rlat, pctsrf, &
136 zlev, u1, v1, gustiness, temp_air, spechum, epot_air, ccanopy, &
137 cdragh, acoefh, acoefq, bcoefh, bcoefq, &
138 precip_rain, precip_snow, lwdown_m, swnet, swdown, &
139 pref_tmp, q2m, t2m, &
140 evap, fluxsens, fluxlat, &
141 tsol_rad, tsurf_new, alb1_new, alb2_new, &
142 emis_new, z0m, qsurf)
143 z0h(1:knon)=z0m(1:knon)
149 z0m(i) = max(1.5e-05,sqrt(z0m(i)**2 + rugoro(i)**2))
158 tsurf, p1lay, cdragh, precip_rain, precip_snow, temp_air, &
159 spechum, acoefh, acoefq, bcoefh, bcoefq, pref, &
160 u1, v1, gustiness, rugoro, swnet, lwnet, &
161 snow, qsol, agesno, tsoil, &
162 qsurf, z0m, alb1_new, alb2_new, evap, &
163 fluxsens, fluxlat, tsurf_new, dflux_s, dflux_l)
164 z0h(1:knon)=z0m(1:knon)
176 u0, v0, u1, v1, gustiness, cdragm, &
177 acoefu, acoefv, bcoefu, bcoefv, &
186 alb_dir_new(1:knon,1)=alb1_new(1:knon)
187 alb_dir_new(1:knon,2)=alb2_new(1:knon)
189 alb_dir_new(1:knon,1)=alb1_new(1:knon)
190 alb_dir_new(1:knon,2)=alb2_new(1:knon)
191 alb_dir_new(1:knon,3)=alb2_new(1:knon)
192 alb_dir_new(1:knon,4)=alb2_new(1:knon)
194 alb_dir_new(1:knon,1)=alb1_new(1:knon)
195 alb_dir_new(1:knon,2)=alb1_new(1:knon)
196 alb_dir_new(1:knon,3)=alb1_new(1:knon)
197 alb_dir_new(1:knon,4)=alb2_new(1:knon)
198 alb_dir_new(1:knon,5)=alb2_new(1:knon)
199 alb_dir_new(1:knon,6)=alb2_new(1:knon)
201 alb_dif_new=alb_dir_new
subroutine calcul_flux_wind(knon, dtime, u0, v0, u1, v1, gustiness, cdrag_m, AcoefU, AcoefV, BcoefU, BcoefV, p1lay, t1lay, flux_u1, flux_v1)
subroutine, public surf_land_orchidee(itime, dtime, date0, knon, knindex, rlon, rlat, pctsrf, debut, lafin, plev, u1_lay, v1_lay, gustiness, temp_air, spechum, epot_air, ccanopy, tq_cdrag, petAcoef, peqAcoef, petBcoef, peqBcoef, precip_rain, precip_snow, lwdown, swnet, swdown, ps, q2m, t2m, evap, fluxsens, fluxlat, tsol_rad, tsurf_new, alb1_new, alb2_new, emis_new, z0_new, qsurf)
c c $Id c nbregdyn DO klon c rlat(i) c ENDIF!lon c ENDIF!lat ENDIF!pctsrf ENDDO!klon ENDDO!nbregdyn cIM 190504 ENDIF!ok_regdyn cIM somme de toutes les nhistoW BEG IF(debut) THEN DO nreg
c c $Id c nbregdyn DO klon c rlon(i)
subroutine surf_land(itime, dtime, date0, jour, knon, knindex, rlon, rlat, debut, lafin, zlev, ccanopy, swnet, lwnet, albedo, tsurf, p1lay, cdragh, cdragm, precip_rain, precip_snow, temp_air, spechum, AcoefH, AcoefQ, BcoefH, BcoefQ, AcoefU, AcoefV, BcoefU, BcoefV, pref, u1, v1, gustiness, rugoro, pctsrf, lwdown_m, q2m, t2m, snow, qsol, agesno, tsoil, z0m, z0h, SFRWL, alb_dir_new, alb_dif_new, evap, fluxsens, fluxlat, qsurf, tsurf_new, dflux_s, dflux_l, flux_u1, flux_v1)
subroutine surf_land_bucket(itime, jour, knon, knindex, debut, dtime, tsurf, p1lay, tq_cdrag, precip_rain, precip_snow, temp_air, spechum, petAcoef, peqAcoef, petBcoef, peqBcoef, pref, u1, v1, gustiness, rugoro, swnet, lwnet, snow, qsol, agesno, tsoil, qsurf, z0_new, alb1_new, alb2_new, evap, fluxsens, fluxlat, tsurf_new, dflux_s, dflux_l)