Ignore:
Timestamp:
Jul 18, 2001, 1:28:31 PM (23 years ago)
Author:
lmdzadmin
Message:

Phasage avec la version de PB pour le sol, dlw (juillet 2001)
LF

Location:
LMDZ.3.3/branches/rel-LF/libf/phylmd
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • LMDZ.3.3/branches/rel-LF/libf/phylmd/clmain.F

    r235 r258  
    9393      REAL dflux_t(klon), dflux_q(klon)
    9494      REAL flux_u(klon,klev, nbsrf), flux_v(klon,klev, nbsrf)
    95       REAL rugmer(klon), agesno(klon),rugoro(klon)
     95      REAL rugmer(klon), agesno(klon,nbsrf),rugoro(klon)
    9696      REAL cdragh(klon), cdragm(klon)
    9797      integer jour            ! jour de l'annee en cours
     
    136136      REAL yalb(klon),yevap(klon)
    137137      REAL yu1(klon), yv1(klon)
    138       real ysnow(klon), yqsol(klon)
     138      real ysnow(klon), yqsol(klon), yagesno(klon)
    139139      real yrain_f(klon), ysnow_f(klon)
    140140      real ysollw(klon), ysolsw(klon), ysollwdown(klon)
     
    374374        yrain_f(j) = rain_f(i)
    375375        ysnow_f(j) = snow_f(i)
     376        yagesno(j) = agesno(i,nsrf)
    376377        yfder(j) = fder(i)
    377378        ytaux(j) = flux_u(i,1,nsrf)
    378379        ytauy(j) = flux_v(i,1,nsrf)
    379         ysolsw(j) = solsw(i)
     380c$$$        ysolsw(j) = solsw(i)
     381       ysolsw(j) = (1 - albe(i,nsrf))
     382     $      /(1 - pctsrf(i,is_ter) * albe(i,is_ter)
     383     $      - pctsrf(i, is_lic) *albe(i,is_lic)
     384     $      - pctsrf(i, is_oce) *albe(i,is_oce)
     385     $      - pctsrf(i, is_sic) *albe(i,is_sic)
     386     $      ) * solsw(i)
    380387        ysollw(j) = sollw(i)
    381388        ysollwdown(j) = sollwdown(i)
     
    451458c$$$     e          ysollw, ysolsw,
    452459     e          ysollw, ysollwdown, ysolsw,yfluxlat,
    453      s          pctsrf_new, agesno,
     460     s          pctsrf_new, yagesno,
    454461     s          y_d_t, y_d_q, y_d_ts, yz0_new,
    455462     s          y_flux_t, y_flux_q, y_dflux_t, y_dflux_q)
     
    569576     e                delp,radsol,evap,albedo,snow,qsol,
    570577     e                precip_rain, precip_snow, fder, taux, tauy,
    571 c$$$     e                lwdown, swdown,
    572578     $                sollw, sollwdown, swdown,fluxlat,
    573579     s                pctsrf_new, agesno,
  • LMDZ.3.3/branches/rel-LF/libf/phylmd/condsurf.F

    r230 r258  
    163163     $       pctsrf(i, is_oce) + pctsrf(i, is_sic)  - 1.) .GT. EPSFRA)
    164164     $       THEN
    165              WRITE(*,*) 'physiq : pb sous surface au point ', i,
     165             WRITE(*,*) 'condsurf : pb sous surface au point ', i,
    166166     $           pctsrf(i, 1 : nbsrf)
    167167         ENDIF
  • LMDZ.3.3/branches/rel-LF/libf/phylmd/interface_surf.F90

    r236 r258  
    192192  real, dimension(klon):: alb_ice
    193193  real, dimension(klon):: tsurf_temp
    194   real, allocatable, dimension(:), save :: alb_neig_grid
     194!!  real, allocatable, dimension(:), save :: alb_neig_grid
    195195  real, dimension(klon):: alb_neig, alb_eau
    196196  real, DIMENSION(klon):: zfra
     
    294294!
    295295!!$ PB ATTENTION changement ordre des appels
    296     CALL albsno(klon,agesno,alb_neig_grid) 
     296!!$    CALL albsno(klon,agesno,alb_neig_grid) 
    297297
    298298    if (.not. ok_veget) then
     
    337337     &   tsurf_new, evap, fluxlat, fluxsens, dflux_s, dflux_l)
    338338
    339        DO ii = 1, knon
    340          index = knindex(ii)
    341          alb_neig(ii) = alb_neig_grid(index)
    342          agesno(index)  = (agesno(index) + (1.-agesno(index)/50.)*dtime/86400.)&
    343             &             * EXP(-1.*MAX(0.0,precip_snow(ii))*dtime/0.3)
    344          agesno(index) = MAX(agesno(index),0.0)
    345          IF(snow(ii) .LT. 0.0001) agesno(index) = 0.
    346        ENDDO
    347        zfra = MAX(0.0,MIN(1.0,snow/(snow+10.0)))
    348        alb_new = alb_neig*zfra + alb_new*(1.0-zfra)
    349        z0_new = SQRT(z0_new**2+rugoro**2)
     339!!$       DO ii = 1, knon
     340!!$         index = knindex(ii)
     341!!$         alb_neig(ii) = alb_neig_grid(index)
     342!!$         agesno(index)  = (agesno(index) + (1.-agesno(index)/50.)*dtime/86400.)&
     343!!$            &             * EXP(-1.*MAX(0.0,precip_snow(ii))*dtime/0.3)
     344!!$         agesno(index) = MAX(agesno(index),0.0)
     345!!$         IF(snow(ii) .LT. 0.0001) agesno(index) = 0.
     346!!$       ENDDO
     347
     348     call albsno(klon,knon,dtime,agesno(:),alb_neig(:), precip_snow(:)) 
     349     where (snow(1 : knon) .LT. 0.0001) agesno(1 : knon) = 0.
     350     zfra = max(0.0,min(1.0,snow/(snow+10.0)))
     351     alb_new(1 : knon)  = alb_neig(1 : knon) *zfra + alb_new(1 : knon)*(1.0-zfra)
     352     z0_new = sqrt(z0_new**2+rugoro**2)
    350353
    351354    else
    352       CALL albsno(klon,agesno,alb_neig_grid) 
     355!!      CALL albsno(klon,agesno,alb_neig_grid) 
    353356!
    354357!  appel a sechiba
     
    413416    beta = 1.
    414417    dif_grnd = 0.
     418    alb_neig(:) = 0.
     419    agesno(:) = 0.
    415420
    416421    call calcul_fluxs( klon, knon, nisurf, dtime, &
     
    552557!
    553558!
    554       zfra = MAX(0.0,MIN(1.0,snow/(snow+10.0)))
    555       DO ii = 1, knon
    556         index = knindex(ii)
    557         alb_neig(ii) = alb_neig_grid(index)
    558       ENDDO
    559       alb_new = alb_neig*zfra + 0.6 * (1.0-zfra)
    560       
    561       z0_new = 0.001
     559     CALL albsno(klon,knon,dtime,agesno(:),alb_neig(:), precip_snow(:)) 
     560     WHERE (snow(1 : knon) .LT. 0.0001) agesno(1 : knon) = 0.
     561     zfra = MAX(0.0,MIN(1.0,snow/(snow+10.0)))
     562!!$     alb_new(1 : knon) = alb_neig(1 : knon) *zfra + 0.6 * (1.0-zfra)
     563     alb_new(1 : knon) = 0.6
     564     
     565     z0_new = 0.001
     566     z0_new = SQRT(z0_new**2+rugoro**2)
    562567
    563568  else if (nisurf == is_lic) then
     
    601606! calcul albedo
    602607!
    603     zfra = MAX(0.0,MIN(1.0,snow/(snow+10.0)))
    604     DO ii = 1, knon
    605       index = knindex(ii)
    606       alb_neig(ii) = alb_neig_grid(index)
    607       agesno(index)  = (agesno(index) + (1.-agesno(index)/50.)*dtime/86400.)&
    608          &             * EXP(-1.*MAX(0.0,precip_snow(ii))*dtime/0.3)
    609       agesno(index) = MAX(agesno(index),0.0)
    610         IF(snow(ii) .LT. 0.0001) agesno(index) = 0.
    611     ENDDO
    612     alb_new = alb_neig*zfra + 0.6 * (1.0-zfra)
     608     CALL albsno(klon,knon,dtime,agesno(:),alb_neig(:), precip_snow(:)) 
     609     WHERE (snow(1 : knon) .LT. 0.0001) agesno(1 : knon) = 0.
     610     zfra = MAX(0.0,MIN(1.0,snow/(snow+10.0)))
     611!!$     alb_new(1 : knon)  = alb_neig(1 : knon)*zfra + 0.6 * (1.0-zfra)
     612     alb_new(1 : knon)  = 0.6
    613613!
    614614! Rugosite
     
    19971997#include "YOETHF.inc"
    19981998#include "FCTTRE.inc"
     1999#include "indicesol.inc"
    19992000
    20002001! Parametres d'entree
     
    20462047! Traitement neige et humidite du sol
    20472048!
    2048     if (nisurf == is_oce) then
    2049       snow = 0.
    2050       qsol = max_eau_sol
    2051     else
    2052       snow = snow + (precip_snow * dtime)
    2053       where (snow > epsilon(snow)) snow = max(0.0, snow - (evap * dtime))
    2054 !      snow = max(0.0, snow + (precip_snow - evap) * dtime)
    2055       qsol = qsol + (precip_rain - evap) * dtime
    2056     endif
     2049!!$  WRITE(*,*)'test calcul_flux, surface ', nisurf
     2050!!PB test
     2051!!$    if (nisurf == is_oce) then
     2052!!$      snow = 0.
     2053!!$      qsol = max_eau_sol
     2054!!$    else
     2055!!$      where (precip_snow > 0.) snow = snow + (precip_snow * dtime)
     2056!!$      where (snow > epsilon(snow)) snow = max(0.0, snow - (evap * dtime))
     2057!!$!      snow = max(0.0, snow + (precip_snow - evap) * dtime)
     2058!!$      where (precip_rain > 0.) qsol = qsol + (precip_rain - evap) * dtime
     2059!!$    endif
    20572060    IF (nisurf /= is_ter) qsol = max_eau_sol
    20582061
     
    21612164!      qsol(i) = qsol(i) + (fq_fonte * dtime)
    21622165!    endif
    2163     if (nisurf == is_ter)  &
    2164      &  run_off(i) = run_off(i) + max(qsol(i) - max_eau_sol, 0.0)
    2165     qsol(i) = min(qsol(i), max_eau_sol)
     2166!!$    if (nisurf == is_ter)  &
     2167!!$     &  run_off(i) = run_off(i) + max(qsol(i) - max_eau_sol, 0.0)
     2168!!$    qsol(i) = min(qsol(i), max_eau_sol)
    21662169  ENDDO
    21672170
     
    22632266!#########################################################################
    22642267!
    2265   SUBROUTINE albsno(klon, agesno,alb_neig_grid)
     2268  SUBROUTINE albsno(klon, knon,dtime,agesno,alb_neig_grid, precip_snow)
    22662269  IMPLICIT none
    22672270 
    2268   integer :: klon
     2271  INTEGER :: klon, knon
    22692272  INTEGER, PARAMETER :: nvm = 8
     2273  REAL   :: dtime
    22702274  REAL, dimension(klon,nvm) :: veget
    2271   REAL, DIMENSION(klon) :: alb_neig_grid, agesno
     2275  REAL, DIMENSION(klon) :: alb_neig_grid, agesno, precip_snow
    22722276 
    22732277  INTEGER :: i, nv
     
    22802284  veget = 0.
    22812285  veget(:,1) = 1.     ! desert partout
    2282   DO i = 1, klon
     2286  DO i = 1, knon
    22832287    alb_neig_grid(i) = 0.0
    22842288  ENDDO
    22852289  DO nv = 1, nvm
    2286     DO i = 1, klon
     2290    DO i = 1, knon
    22872291      as = init(nv)+decay(nv)*EXP(-agesno(i)/5.)
    22882292      alb_neig_grid(i) = alb_neig_grid(i) + veget(i,nv)*as
    22892293    ENDDO
     2294  ENDDO
     2295!
     2296!! modilation en fonction de l'age de la neige
     2297!
     2298  DO i = 1, knon
     2299    agesno(i)  = (agesno(i) + (1.-agesno(i)/50.)*dtime/86400.)&
     2300            &             * EXP(-1.*MAX(0.0,precip_snow(i))*dtime/0.3)
     2301    agesno(i) =  MAX(agesno(i),0.0)
    22902302  ENDDO
    22912303 
     
    23372349#include "YOETHF.inc"
    23382350#include "FCTTRE.inc"
     2351#include "indicesol.inc"
    23392352
    23402353! Parametres d'entree
     
    24362449  enddo
    24372450
     2451
     2452  WHERE (precip_snow > 0.) snow = snow + (precip_snow * dtime)
     2453  WHERE (evap > 0 ) snow = MAX(0.0, snow - (evap * dtime))
     2454  qsol = qsol + (precip_rain - evap) * dtime
    24382455!
    24392456! Y'a-t-il fonte de neige?
     
    24432460     & .AND. tsurf_new(i) >= RTT)
    24442461    if (neige_fond) then
    2445       tsurf_new(i) = RTT 
     2462      fq_fonte = MIN( MAX((tsurf_new(i)-RTT )/chasno,0.0),snow(i))
     2463      snow(i) = max(0., snow(i) - fq_fonte)
     2464      qsol(i) = qsol(i) + fq_fonte
     2465      tsurf_new(i) = tsurf_new(i) - fq_fonte * chasno 
     2466      IF (nisurf == is_sic .OR. nisurf == is_lic ) tsurf_new(i) = RTT -1.8
    24462467      d_ts(i) = tsurf_new(i) - tsurf(i)
    24472468!      zx_h_ts(i) = tsurf_new(i) * RCPD * zx_pkh(i)
     
    24492470!== flux_q est le flux de vapeur d'eau: kg/(m**2 s)  positive vers bas
    24502471!== flux_t est le flux de cpt (energie sensible): j/(m**2 s)
    2451       evap(i) = - zx_mq(i) - zx_nq(i) * tsurf_new(i)
    2452       fluxlat(i) = - evap(i) * zx_sl(i)
    2453       fluxsens(i) = zx_mh(i) + zx_nh(i) * tsurf_new(i)
     2472!!$      evap(i) = - zx_mq(i) - zx_nq(i) * tsurf_new(i)
     2473!!$      fluxlat(i) = - evap(i) * zx_sl(i)
     2474!!$      fluxsens(i) = zx_mh(i) + zx_nh(i) * tsurf_new(i)
    24542475! Derives des flux dF/dTs (W m-2 K-1):
    2455       dflux_s(i) = zx_nh(i)
    2456       dflux_l(i) = (zx_sl(i) * zx_nq(i))
    2457       bilan_f = radsol(i) + fluxsens(i) - (zx_sl(i) * evap (i)) - &
    2458      &          dif_grnd(i) * (tsurf_new(i) - t_grnd) - &
    2459      &          RCPD * (zx_pkh(i))/cal(i)/dtime * (tsurf_new(i) - tsurf(i))
    2460       bilan_f = max(0., bilan_f)
    2461       fq_fonte = bilan_f / zx_sl(i)
    2462       snow(i) = max(0., snow(i) - fq_fonte * dtime)
    2463       qsol(i) = qsol(i) + (fq_fonte * dtime)
    2464       if (nisurf == is_ter)  &
    2465      &  run_off(i) = run_off(i) + max(qsol(i) - max_eau_sol, 0.0)
    2466       qsol(i) = min(qsol(i), max_eau_sol)
    2467     endif
     2476!!$      dflux_s(i) = zx_nh(i)
     2477!!$      dflux_l(i) = (zx_sl(i) * zx_nq(i))
     2478!!$      bilan_f = radsol(i) + fluxsens(i) - (zx_sl(i) * evap (i)) - &
     2479!!$     &          dif_grnd(i) * (tsurf_new(i) - t_grnd) - &
     2480!!$     &          RCPD * (zx_pkh(i))/cal(i)/dtime * (tsurf_new(i) - tsurf(i))
     2481!!$      bilan_f = max(0., bilan_f)
     2482!!$      fq_fonte = bilan_f / zx_sl(i)
     2483    endif
     2484    IF (nisurf == is_ter)  &
     2485       &  run_off(i) = run_off(i) + MAX(qsol(i) - max_eau_sol, 0.0)
     2486    qsol(i) = MIN(qsol(i), max_eau_sol)
    24682487  enddo
    24692488
  • LMDZ.3.3/branches/rel-LF/libf/phylmd/phyredem.F

    r179 r258  
    4242      REAL radsol(klon)
    4343      REAL frugs(klon,nbsrf)
    44       REAL agesno(klon)
     44      REAL agesno(klon,nbsrf)
    4545      REAL zmea(klon)
    4646      REAL zstd(klon)
     
    417417      ENDDO
    418418c
    419       ierr = NF_REDEF (nid)
    420       ierr = NF_DEF_VAR (nid, "AGESNO", NF_FLOAT, 1, idim2,nvarid)
    421       ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 15,
    422      .                        "Age de la neige")
    423       ierr = NF_ENDDEF(nid)
    424 #ifdef NC_DOUBLE
    425       ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,agesno)
    426 #else
    427       ierr = NF_PUT_VAR_REAL (nid,nvarid,agesno)
    428 #endif
     419      DO nsrf = 1, nbsrf
     420        IF (nsrf.LE.99) THEN
     421            WRITE(str2,'(i2.2)') nsrf
     422            ierr = NF_REDEF (nid)
     423            ierr = NF_DEF_VAR (nid,"AGESNO"//str2,NF_FLOAT,1,idim2
     424     $          ,nvarid)
     425            ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 15,
     426     .                        "Age de la neige surface No."//str2)
     427            ierr = NF_ENDDEF(nid)
     428        ELSE
     429            PRINT*, "Trop de sous-mailles"
     430            CALL abort
     431        ENDIF
     432#ifdef NC_DOUBLE
     433        ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,agesno(1,nsrf))
     434#else
     435      ierr = NF_PUT_VAR_REAL (nid,nvarid,agesno(1,nsrf))
     436#endif
     437      ENDDO
    429438c
    430439      ierr = NF_REDEF (nid)
  • LMDZ.3.3/branches/rel-LF/libf/phylmd/physiq.F

    r235 r258  
    278278      INTEGER igwd,idx(klon),itest(klon)
    279279c
    280       REAL agesno(klon)
     280      REAL agesno(klon,nbsrf)
    281281      SAVE agesno                 ! age de la neige
    282282c
     
    340340      REAL evap(klon), devap(klon) ! evaporation et sa derivee
    341341      REAL sens(klon), dsens(klon) ! chaleur sensible et sa derivee
     342      REAL dlw(klon)    ! derivee infra rouge
    342343      REAL bils(klon) ! bilan de chaleur au sol
    343344      REAL fder(klon) ! Derive de flux (sensible et latente)
     
    627628     .       rlat,rlon,pctsrf, ftsol,ftsoil,deltat,fqsol,fsnow,
    628629     .       falbe, fevap, rain_fall,snow_fall,solsw, sollwdown,
    629      .       fder,radsol,frugs,agesno,clesphy0,
     630     .       dlw,radsol,frugs,agesno,clesphy0,
    630631     .       zmea,zstd,zsig,zgam,zthe,zpic,zval,rugoro,tabcntr0,
    631632     .       t_ancien, q_ancien, ancien_ok )
     
    10221023     .                "ave(X)", zsto,zout)
    10231024c
    1024          CALL histdef(nid_mth, "ages", "Snow age", "day",
    1025      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1026      .                "ave(X)", zsto,zout)
    1027 c
    10281025         CALL histdef(nid_mth, "evap", "Evaporation", "mm/day",
    10291026     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     
    11271124     $         iim,jjmp1,nhori, 1,1,1, -99, 32,
    11281125     $         "ave(X)", zsto,zout)
     1126c
     1127         CALL histdef(nid_mth, "ages_"//clnsurf(nsrf), "Snow age","day",
     1128     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     1129     .                "ave(X)", zsto,zout)
     1130
    11291131         END DO
    11301132C
     
    14401442     .                "inst(X)", zsto,zout)
    14411443c
     1444        CALL histdef(nid_ins, "qsol", "Surface humidity", "mm",
     1445     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     1446     .                "inst(X)", zsto,zout)
     1447c
     1448         CALL histdef(nid_ins, "rain", "Precipitation", "mm/day",
     1449     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     1450     .                "inst(X)", zsto,zout)
     1451c
     1452         CALL histdef(nid_ins, "snow", "Snow fall", "mm/day",
     1453     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     1454     .                "inst(X)", zsto,zout)
     1455c
     1456         CALL histdef(nid_ins, "snow_cov", "Snow cover", "mm",
     1457     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     1458     .                "inst(X)", zsto,zout)
     1459c
    14421460         CALL histdef(nid_ins, "topl", "OLR", "W/m2",
    14431461     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     
    14581476         CALL histdef(nid_ins, "solldown", "Down. IR rad. at surface",
    14591477     .                "W/m2", iim,jjmp1,nhori, 1,1,1, -99, 32,
    1460      .                "ave(X)", zsto,zout)
     1478     .                "inst(X)", zsto,zout)
    14611479c
    14621480         CALL histdef(nid_ins, "bils", "Surf. total heat flux", "W/m2",
     
    15211539c
    15221540           call histdef(nid_ins, "albe_"//clnsurf(nsrf),
    1523      $         "Albedo surf. "//clnsurf(nsrf), "-", 
     1541     $         "Albedo "//clnsurf(nsrf), "-", 
    15241542     $         iim,jjmp1,nhori, 1,1,1, -99, 32,
    15251543     $         "inst(X)", zsto,zout)
     
    15401558     .                "inst(X)", zsto,zout)
    15411559c
    1542          CALL histdef(nid_ins, "snow_cov", "Snow cover", "mm",
    1543      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1544      .                "inst(X)", zsto,zout)
    15451560c
    15461561c Champs 3D:
     
    17411756      ENDIF
    17421757
    1743       fder = 0.
    1744       date0 = day_ini
     1758      fder = dlw
    17451759
    17461760      CALL clmain(dtime,itap,date0,pctsrf,
     
    17841798c         evap(i) = - fluxq(i,1) ! flux d'evaporation au sol
    17851799         evap(i) = - zxfluxq(i,1) ! flux d'evaporation au sol
    1786 C LF test signe flux
    1787          sens(i) = zxfluxt(i,1)
    1788          evap(i) = zxfluxq(i,1)
    1789          fder(i) = dsens(i) + devap(i)
     1800         fder(i) = dlw(i) + dsens(i) + devap(i)
    17901801      ENDDO
    17911802
     
    18311842c Calculer la derive du flux infrarouge
    18321843c
    1833       DO nsrf = 1, nbsrf
    1834       DO i = 1, klon
    1835          fder(i) = fder(i) - 4.0*RSIGMA*zxtsol(i)**3 *
    1836      .                       (ftsol(i,nsrf)-zxtsol(i))
    1837      .                      *pctsrf(i,nsrf)
    1838       ENDDO
     1844c$$$      DO nsrf = 1, nbsrf
     1845      DO i = 1, klon
     1846c$$$        IF (pctsrf(i,nsrf) .GE. EPSFRA) THEN
     1847            dlw(i) = - 4.0*RSIGMA*zxtsol(i)**3
     1848c$$$     .          *(ftsol(i,nsrf)-zxtsol(i))
     1849c$$$     .          *pctsrf(i,nsrf)
     1850c$$$        ENDIF
     1851c$$$      ENDDO
    18391852      ENDDO
    18401853c
     
    25362549      CALL histwrite(nid_mth,"snow_cov",itap,zx_tmp_2d,iim*jjmp1,ndex2d)
    25372550c
    2538       CALL gr_fi_ecrit(1, klon,iim,jjmp1, agesno,zx_tmp_2d)
    2539       CALL histwrite(nid_mth,"ages",itap,zx_tmp_2d,iim*jjmp1,ndex2d)
    2540 c
    25412551      CALL gr_fi_ecrit(1, klon,iim,jjmp1, evap,zx_tmp_2d)
    25422552      CALL histwrite(nid_mth,"evap",itap,zx_tmp_2d,iim*jjmp1,ndex2d)
     
    26322642        CALL histwrite(nid_mth,"rugs_"//clnsurf(nsrf),itap,
    26332643     $      zx_tmp_2d,iim*jjmp1,ndex2d)
     2644c
     2645      zx_tmp_fi2d(1 : klon) = agesno( 1 : klon, nsrf)
     2646      CALL gr_fi_ecrit(1, klon,iim,jjmp1, agesno,zx_tmp_2d)
     2647      CALL histwrite(nid_mth,"ages_"//clnsurf(nsrf),itap
     2648     $    ,zx_tmp_2d,iim*jjmp1,ndex2d)
    26342649
    26352650      END DO 
     
    29082923      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxtsol,zx_tmp_2d)
    29092924      CALL histwrite(nid_ins,"tsol",itap,zx_tmp_2d,iim*jjmp1,ndex2d)
     2925c
     2926      DO i = 1, klon
     2927         zx_tmp_fi2d(i) = rain_fall(i) + snow_fall(i)
     2928      ENDDO
     2929      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
     2930      CALL histwrite(nid_ins,"rain",itap,zx_tmp_2d,iim*jjmp1,ndex2d)
     2931c
     2932      CALL gr_fi_ecrit(1, klon,iim,jjmp1, snow_fall,zx_tmp_2d)
     2933      CALL histwrite(nid_ins,"snow",itap,zx_tmp_2d,iim*jjmp1,ndex2d)
     2934
    29102935c
    29112936      CALL gr_fi_ecrit(1, klon,iim,jjmp1, toplw,zx_tmp_2d)
     
    31163141     .      rlat, rlon, pctsrf, ftsol, ftsoil, deltat, fqsol, fsnow,
    31173142     .      falbe, fevap, rain_fall, snow_fall,
    3118      .      solsw, sollwdown,fder,
     3143     .      solsw, sollwdown,dlw,
    31193144     .      radsol,frugs,agesno,
    31203145     .      zmea,zstd,zsig,zgam,zthe,zpic,zval,rugoro,
Note: See TracChangeset for help on using the changeset viewer.