25 #include "indicesol.h"
29 #include "thermcell.h"
37 REAL tsoil(klon,nsoilmx,nbsrf)
38 REAL tslab(klon), seaice(klon)
39 REAL qsurf(klon,nbsrf)
44 REAL frugs(klon,nbsrf)
45 REAL agesno(klon,nbsrf)
46 REAL run_off_lic_0(klon)
49 INTEGER nid, nvarid, idim1, idim2, idim3
53 REAL tab_cntrl(length)
56 CHARACTER (len=7) :: str7
57 CHARACTER (len=2) :: str2
65 $ evap, frugs, agesno, tsoil)
81 tab_cntrl(4) = solaire
98 CALL
put_var(
"controle",
"Parametres de controle",tab_cntrl)
102 .
"Longitudes de la grille physique",
rlon)
104 CALL
put_field(
"latitude",
"Latitudes de la grille physique",
rlat)
109 CALL
put_field(
"masque",
"masque terre mer",zmasq)
115 CALL
put_field(
"FTER",
"fraction de continent",pctsrf(:,is_ter))
119 CALL
put_field(
"FLIC",
"fraction glace de terre",pctsrf(:,is_lic))
123 CALL
put_field(
"FOCE",
"fraction ocean",pctsrf(:,is_oce))
127 CALL
put_field(
"FSIC",
"fraction glace mer",pctsrf(:,is_sic))
133 WRITE(str2,
'(i2.2)')
nsrf
134 CALL
put_field(
"TS"//str2,
"Temperature de surface No."//str2,
137 print*,
"Trop de sous-mailles"
144 IF (isoil.LE.99 .AND.
nsrf.LE.99)
THEN
145 WRITE(str7,
'(i2.2,"srf",i2.2)') isoil,
nsrf
146 CALL
put_field(
"Tsoil"//str7,
"Temperature du sol No."//str7,
147 . tsoil(:,isoil,
nsrf))
149 print*,
"Trop de couches"
157 WRITE(str2,
'(i2.2)')
nsrf
158 CALL
put_field(
"QS"//str2,
"Humidite de surface No."//str2,
161 print*,
"Trop de sous-mailles"
170 WRITE(str2,
'(i2.2)')
nsrf
171 CALL
put_field(
"ALBE"//str2,
"albedo de surface No."//str2,
174 print*,
"Trop de sous-mailles"
181 WRITE(str2,
'(i2.2)')
nsrf
182 CALL
put_field(
"ALBLW"//str2,
"albedo LW de surface No."//str2,
185 print*,
"Trop de sous-mailles"
193 WRITE(str2,
'(i2.2)')
nsrf
194 CALL
put_field(
"EVAP"//str2,
"Evaporation de surface No."//str2
197 print*,
"Trop de sous-mailles"
205 WRITE(str2,
'(i2.2)')
nsrf
206 CALL
put_field(
"SNOW"//str2,
"Neige de surface No."//str2,
209 print*,
"Trop de sous-mailles"
215 CALL
put_field(
"RADS",
"Rayonnement net a la surface",radsol)
217 CALL
put_field(
"solsw",
"Rayonnement solaire a la surface",solsw)
219 CALL
put_field(
"sollw",
"Rayonnement IF a la surface",sollw)
221 CALL
put_field(
"fder",
"Derive de flux",fder)
223 CALL
put_field(
"rain_f",
"precipitation liquide",rain_fall)
225 CALL
put_field(
"snow_f",
"precipitation solide",snow_fall)
229 WRITE(str2,
'(i2.2)')
nsrf
230 CALL
put_field(
"RUG"//str2,
"rugosite de surface No."//str2,
233 print*,
"Trop de sous-mailles"
240 WRITE(str2,
'(i2.2)')
nsrf
242 .
"Age de la neige surface No."//str2,
245 print*,
"Trop de sous-mailles"
264 CALL
put_field(
"RUGSREL",
"RUGSREL",rugoro)
266 CALL
put_field(
"TANCIEN",
"TANCIEN",t_ancien)
268 CALL
put_field(
"QANCIEN",
"QANCIEN",q_ancien)
274 CALL
put_field(
"RUGMER",
"Longueur de rugosite sur mer",
277 CALL
put_field(
"CLWCON",
"Eau liquide convective",clwcon)
279 CALL
put_field(
"RNEBCON",
"Nebulosite convective",rnebcon)
285 CALL
put_field(
"RUNOFFLIC0",
"Runofflic0",run_off_lic_0)
290 IF (iflag_pbl>1)
then
293 WRITE(str2,
'(i2.2)')
nsrf
294 CALL
put_field(
"TKE"//str2,
"Energ. Cineti. Turb."//str2,
297 print*,
"Trop de sous-mailles"
311 CALL
put_field(
"EMA_WORK1",
"EMA_WORK1",ema_work1)
313 CALL
put_field(
"EMA_WORK2",
"EMA_WORK2",ema_work2)
316 CALL
put_field(
"WAKE_DELTAT",
"WAKE_DELTAT",wake_deltat)
318 CALL
put_field(
"WAKE_DELTAQ",
"WAKE_DELTAQ",wake_deltaq)
322 CALL
put_field(
"WAKE_CSTAR",
"WAKE_CSTAR",wake_cstar)
324 CALL
put_field(
"WAKE_PE",
"WAKE_PE",wake_pe)
326 CALL
put_field(
"WAKE_FIP",
"WAKE_FIP",wake_fip)
330 CALL
put_field(
"FM_THERM",
"FM_THERM",fm_therm)
332 CALL
put_field(
"ENTR_THERM",
"ENTR_THERM",entr_therm)
334 CALL
put_field(
"DETR_THERM",
"DETR_THERM",detr_therm)
337 IF (type_trac ==
'lmdz')
THEN
343 IF (carbon_cycle_cpl)
THEN
344 IF (.NOT.
ALLOCATED(co2_send))
THEN
346 ALLOCATE(co2_send(klon))
349 CALL
put_field(
"co2_send",
"co2_ppm for coupling",co2_send)