Changes in / [20:30]


Ignore:
Location:
/LMDZ.3.3/trunk
Files:
6 added
11 edited

Legend:

Unmodified
Added
Removed
  • /LMDZ.3.3/trunk/libf/bibio/writedynav.F

    r20 r30  
    5858C   Variables locales
    5959C
    60       integer ndex(1),iq, ii, ll
     60      integer ndex2d(iip1*jjp1),ndex3d(iip1*jjp1*llm),iq, ii, ll
    6161      character*3 str
    6262      real us(ip1jmp1*llm), vs(ip1jmp1*llm)
     
    6868C
    6969      str='q  '
    70       ndex(1) = 0
     70      ndex3d = 0
     71      ndex2d = 0
    7172      ok_sync = .TRUE.
    7273
     
    8182      call gr_u_scal(llm, unat, us)
    8283      call histwrite(histid, 'u', time, us,
    83      .               iip1*jjp1*llm, ndex)
     84     .               iip1*jjp1*llm, ndex3d)
    8485C
    8586C  Vents V scalaire
     
    8788      call gr_v_scal(llm, vnat, vs)
    8889      call histwrite(histid, 'v', time, vs,
    89      .               iip1*jjp1*llm, ndex)
     90     .               iip1*jjp1*llm, ndex3d)
    9091C
    9192C  Temperature moyennee
     
    9596      enddo
    9697      call histwrite(histid, 'temp', time, tm,
    97      .                iip1*jjp1*llm, ndex)
     98     .                iip1*jjp1*llm, ndex3d)
    9899C
    99100C  Geopotentiel
    100101C
    101102      call histwrite(histid, 'phi', time, phi,
    102      .                iip1*jjp1*llm, ndex)
     103     .                iip1*jjp1*llm, ndex3d)
    103104C
    104105C  Traceurs
     
    112113          ENDIF
    113114          call histwrite(histid, str, time, q(:,:,iq),
    114      .                   iip1*jjp1*llm, ndex)
     115     .                   iip1*jjp1*llm, ndex3d)
    115116        enddo
    116117      endif
     
    118119C  Masse
    119120C
    120        call histwrite(histid, 'masse', time, masse, iip1*jjp1, ndex)
     121       call histwrite(histid, 'masse', time, masse, iip1*jjp1, ndex2d)
    121122C
    122123C  Pression au sol
    123124C
    124        call histwrite(histid, 'ps', time, ps, iip1*jjp1, ndex)
     125       call histwrite(histid, 'ps', time, ps, iip1*jjp1, ndex2d)
    125126C
    126127C  Geopotentiel au sol
    127128C
    128        call histwrite(histid, 'phis', time, phis, iip1*jjp1, ndex)
     129       call histwrite(histid, 'phis', time, phis, iip1*jjp1, ndex2d)
    129130C
    130131C  Fin
    131132C
    132       if (ok_sync) call histsync
     133      if (ok_sync) call histsync(histid)
    133134      return
    134135      end
  • /LMDZ.3.3/trunk/libf/bibio/writehist.F

    r20 r30  
    5959C   Variables locales
    6060C
    61       integer ndex(1),iq, ii, ll
     61      integer iq, ii, ll
     62      integer ndexu(ip1jmp1*llm),ndexv(ip1jm*llm),ndex2d(ip1jmp1)
    6263      character*3 str
    6364      logical ok_sync
     
    6667C
    6768      str='q  '
    68       ndex(1) = 0
     69      ndexu = 0
     70      ndexv = 0
     71      ndex2d = 0
    6972      ok_sync =.TRUE.
    7073C
     
    7477C
    7578      call histwrite(histid, 'ucov', time, ucov,
    76      .               iip1*jjp1*llm, ndex)
     79     .               iip1*jjp1*llm, ndexu)
    7780
    7881C
     
    8083C
    8184      call histwrite(histvid, 'vcov', time, vcov,
    82      .               iip1*jjm*llm, ndex)
     85     .               iip1*jjm*llm, ndexv)
    8386
    8487C
     
    8689C
    8790      call histwrite(histid, 'teta', time, teta,
    88      .                iip1*jjp1*llm, ndex)
     91     .                iip1*jjp1*llm, ndexu)
    8992C
    9093C  Geopotentiel
    9194C
    9295      call histwrite(histid, 'phi', time, phi,
    93      .                iip1*jjp1*llm, ndex)
     96     .                iip1*jjp1*llm, ndexu)
    9497C
    9598C  Traceurs
     
    103106          ENDIF
    104107          call histwrite(histid, str, time, q(:,:,iq),
    105      .                   iip1*jjp1*llm, ndex)
     108     .                   iip1*jjp1*llm, ndexu)
    106109        enddo
    107110      endif
     
    109112C  Masse
    110113C
    111       call histwrite(histid, 'masse', time, masse, iip1*jjp1, ndex)
     114      call histwrite(histid, 'masse', time, masse, iip1*jjp1, ndex2d)
    112115C
    113116C  Pression au sol
    114117C
    115       call histwrite(histid, 'ps', time, ps, iip1*jjp1, ndex)
     118      call histwrite(histid, 'ps', time, ps, iip1*jjp1, ndex2d)
    116119C
    117120C  Geopotentiel au sol
    118121C
    119       call histwrite(histid, 'phis', time, phis, iip1*jjp1, ndex)
     122      call histwrite(histid, 'phis', time, phis, iip1*jjp1, ndex2d)
    120123C
    121124C  Fin
    122125C
    123       if (ok_sync) call histsync
     126      if (ok_sync) then
     127        call histsync(histid)
     128        call histsync(histvid)
     129      endif
    124130      return
    125131      end
  • /LMDZ.3.3/trunk/libf/dyn3d/addfi.F

    r20 r30  
    6767      REAL xpn(iim),xps(iim),tpn,tps
    6868      INTEGER j,k,iq,ij
    69       REAL qtest
    70       PARAMETER ( qtest = 1.0e-15 )
     69      REAL qtestw, qtestt
     70      PARAMETER ( qtestw = 1.0e-15 )
     71      PARAMETER ( qtestt = 1.0e-40 )
    7172
    7273      REAL SSUM
     
    114115         pps(j) = pps(j) + pdpfi(j) * pdt
    115116      ENDDO
    116 
    117 c
    118 
    119       DO iq = 1, nq
     117 
     118      DO iq = 1, 2
    120119         DO k = 1,llm
    121120            DO j = 1,ip1jmp1
    122121               pq(j,k,iq)= pq(j,k,iq) + pdqfi(j,k,iq) * pdt
    123                pq(j,k,iq)= AMAX1( pq(j,k,iq), qtest )
    124 ccc              pq(j,k,iq)=qtest
     122               pq(j,k,iq)= AMAX1( pq(j,k,iq), qtestw )
    125123            ENDDO
    126124         ENDDO
    127125      ENDDO
    128126
     127      DO iq = 3, nq
     128         DO k = 1,llm
     129            DO j = 1,ip1jmp1
     130               pq(j,k,iq)= pq(j,k,iq) + pdqfi(j,k,iq) * pdt
     131               pq(j,k,iq)= AMAX1( pq(j,k,iq), qtestt )
     132            ENDDO
     133         ENDDO
     134      ENDDO
    129135
    130136      IF( alphax.NE.0. )   THEN
  • /LMDZ.3.3/trunk/libf/dyn3d/etat0_netcdf.F

    r20 r30  
    175175      phis(:,:) = 0.0
    176176      CALL startget(varname, iip1, jjp1, rlonv, rlatu, phis, 0.0)
    177       phis = phis * 9.81
    178177      !
    179178      varname = 'u'
  • /LMDZ.3.3/trunk/libf/dyn3d/startvar.F

    r20 r30  
    316316     . iml-1, jml, lon_in, lat_in,
    317317     . phis, relief, zstd, zsig, zgam, zthe, zpic, zval, tmp_int)
     318      phis = phis * 9.81
    318319    !
    319320      masque(:,:) = FLOAT(tmp_int(:,:))
  • /LMDZ.3.3/trunk/libf/phylmd/conflx.F

    r20 r30  
    6565      REAL zde_u(klon,klev)
    6666      REAL zde_d(klon,klev)
     67      REAL zmflxr(klon,klev+1)
     68      REAL zmflxs(klon,klev+1)
    6769cAA
    6870
     
    150152     .             rain, snow, kcbot, kctop, kdtop,
    151153     .             zmfu, zmfd, zen_u, zde_u, zen_d, zde_d,
    152      .             d_t_bis, d_q_bis, pmflxr, pmflxs)
     154     .             d_t_bis, d_q_bis, zmflxr, zmflxs)
    153155C
    154156cAA--------------------------------------------------------
     
    193195      ENDDO
    194196
    195 c
     197      DO k = 1, klev+1
     198      DO i = 1, klon
     199         pmflxr(i,klev+2-k)= zmflxr(i,k)
     200         pmflxs(i,klev+2-k)= zmflxs(i,k)
     201      ENDDO
     202      ENDDO
     203
    196204      RETURN
    197205      END
     
    15391547      zalsdcp = rlstt/RCPD
    15401548C
    1541 
    1542       DO i = 1, klon
    1543          zcond(i) = 0.0
    1544       ENDDO
    1545 
    15461549      DO 210 i =1, klon
    15471550      IF (ldflag(i)) THEN
  • /LMDZ.3.3/trunk/libf/phylmd/fisrtilp.F

    r20 r30  
    11      SUBROUTINE fisrtilp(dtime,paprs,pplay,t,q,
    2      s                   d_t, d_q, d_ql, rneb, radliq, rain, snow)
     2     s                   d_t, d_q, d_ql, rneb, radliq, rain, snow,
     3     s                   prfl, psfl)
    34c
    45      IMPLICIT none
     
    2829      REAL rain(klon) ! pluies (mm/s)
    2930      REAL snow(klon) ! neige (mm/s)
     31      REAL prfl(klon,klev+1) ! flux d'eau precipitante aux interfaces (kg/m2/s)
     32      REAL psfl(klon,klev+1) ! flux d'eau precipitante aux interfaces (kg/m2/s)
    3033c
    3134c Options du programme:
     
    103106c Initialiser les sorties:
    104107c
     108      DO k = 1, klev+1
     109      DO i = 1, klon
     110         prfl(i,k) = 0.0
     111         psfl(i,k) = 0.0
     112      ENDDO
     113      ENDDO
    105114      DO k = 1, klev
    106115      DO i = 1, klon
     
    268277         zrfl(i) = zrfl(i)+ MAX(zcond(i)-zoliq(i),0.0)
    269278     .                    * (paprs(i,k)-paprs(i,k+1))/(RG*dtime)
    270       ENDIF
    271       ENDDO
     279         IF (zt(i).LT.RTT) THEN
     280           psfl(i,k)=zrfl(i)
     281         ELSE
     282           prfl(i,k)=zrfl(i)
     283         ENDIF
     284      ENDIF
     285      ENDDO
     286
    272287c
    273288c Calculer les tendances de q et de t:
  • /LMDZ.3.3/trunk/libf/phylmd/fisrtilp_tr.F

    r20 r30  
    22     s                   d_t, d_q, d_ql, rneb, radliq, rain, snow,
    33     s                   pfrac_impa, pfrac_nucl, pfrac_1nucl,
    4      s                   frac_impa, frac_nucl )
     4     s                   frac_impa, frac_nucl,
     5     s                   prfl, psfl)
    56
    67c
     
    3233      REAL rain(klon) ! pluies (mm/s)
    3334      REAL snow(klon) ! neige (mm/s)
     35      REAL prfl(klon,klev+1) ! flux d'eau precipitante aux interfaces (kg/m2/s)
     36      REAL psfl(klon,klev+1) ! flux d'eau precipitante aux interfaces (kg/m2/s)
    3437cAA
    3538c Coeffients de fraction lessivee : pour OFF-LINE
     
    158161c Initialiser les sorties:
    159162c
     163      DO k = 1, klev+1
     164      DO i = 1, klon
     165         prfl(i,k) = 0.0
     166         psfl(i,k) = 0.0
     167      ENDDO
     168      ENDDO
     169
    160170      DO k = 1, klev
    161171      DO i = 1, klon
     
    335345         zrfl(i) = zrfl(i)+ MAX(zcond(i)-zoliq(i),0.0)
    336346     .                    * (paprs(i,k)-paprs(i,k+1))/(RG*dtime)
     347         IF (zt(i).LT.RTT) THEN
     348           psfl(i,k)=zrfl(i)
     349         ELSE
     350           prfl(i,k)=zrfl(i)
     351         ENDIF
    337352      ENDIF
    338353      ENDDO
  • /LMDZ.3.3/trunk/libf/phylmd/oasis.F

    r20 r30  
    813813      END
    814814
     815      SUBROUTINE locread
     816      print *, 'Attention dans oasis.F, locread est non defini'
     817      RETURN
     818      END
     819
     820      SUBROUTINE locwrite
     821      print *, 'Attention dans oasis.F, locwrite est non defini'
     822      RETURN
     823      END
     824
     825      SUBROUTINE pipe_model_define
     826      print*,'Attention dans oasis.F, pipe_model_define est non defini'
     827      RETURN
     828      END
     829
     830      SUBROUTINE pipe_model_stepi
     831      print*,'Attention dans oasis.F, pipe_model_stepi est non defini'
     832      RETURN
     833      END
     834
     835      SUBROUTINE pipe_model_recv
     836      print *, 'Attention dans oasis.F, pipe_model_recv est non defini'
     837      RETURN
     838
     839      SUBROUTINE pipe_model_send
     840      print *, 'Attention dans oasis.F, pipe_model_send est non defini'
     841      RETURN
     842      END
     843
     844
  • /LMDZ.3.3/trunk/libf/phylmd/physiq.F

    r20 r30  
    276276      REAL yv1(klon)            ! vents dans la premiere couche V
    277277      LOGICAL offline           ! Controle du stockage ds "physique"
    278       PARAMETER (offline=.TRUE.)
     278      PARAMETER (offline=.FALSE.)
    279279      REAL pfrac_impa(klon,klev)! Produits des coefs lessivage impaction
    280280      save pfrac_impa
     
    432432      INTEGER kcbot(klon), kctop(klon), kdtop(klon)
    433433      REAL pmflxr(klon,klev+1), pmflxs(klon,klev+1)
     434      REAL prfl(klon,klev+1), psfl(klon,klev+1)
    434435c
    435436      INTEGER ibas_con(klon), itop_con(klon)
     
    505506      REAL tabcntr0( length       )
    506507c
    507       INTEGER ndex(1)
     508      INTEGER ndex2d(iim*(jjm+1)),ndex3d(iim*(jjm+1)*klev)
    508509      REAL zx_tmp_fi2d(klon)
    509510      REAL zx_tmp_2d(iim,jjm+1), zx_tmp_3d(iim,jjm+1,klev)
     
    809810         CALL histend(nid_day)
    810811c
    811          ndex(1) = 0
    812 c
    813          i = NINT(zout/zsto)
    814          CALL gr_fi_ecrit(1,klon,iim,jjm+1,pphis,zx_tmp_2d)
    815          CALL histwrite(nid_day,"phis",i,zx_tmp_2d,iim*(jjm+1),ndex)
    816 c
    817          i = NINT(zout/zsto)
    818          CALL gr_fi_ecrit(1,klon,iim,jjm+1,paire,zx_tmp_2d)
    819          CALL histwrite(nid_day,"aire",i,zx_tmp_2d,iim*(jjm+1),ndex)
     812         ndex2d = 0
     813         ndex3d = 0
     814c
     815Cess         i = NINT(zout/zsto)
     816Cess         CALL gr_fi_ecrit(1,klon,iim,jjm+1,pphis,zx_tmp_2d)
     817Cess        CALL histwrite(nid_day,"phis",i,zx_tmp_2d,iim*(jjm+1),ndex2d)
     818c
     819Cess         i = NINT(zout/zsto)
     820Cess         CALL gr_fi_ecrit(1,klon,iim,jjm+1,paire,zx_tmp_2d)
     821Cess        CALL histwrite(nid_day,"aire",i,zx_tmp_2d,iim*(jjm+1),ndex2d)
    820822c
    821823      ENDIF ! fin de test sur ok_journe
     
    11561158         CALL histend(nid_mth)
    11571159c
    1158          ndex(1) = 0
    1159 c
    1160          i = NINT(zout/zsto)
    1161          CALL gr_fi_ecrit(1,klon,iim,jjm+1,pphis,zx_tmp_2d)
    1162          CALL histwrite(nid_mth,"phis",i,zx_tmp_2d,iim*(jjm+1),ndex)
     1160         ndex2d = 0
     1161         ndex3d = 0
     1162c
     1163Cess         i = NINT(zout/zsto)
     1164Cess         CALL gr_fi_ecrit(1,klon,iim,jjm+1,pphis,zx_tmp_2d)
     1165Cess        CALL histwrite(nid_mth,"phis",i,zx_tmp_2d,iim*(jjm+1),ndex2d)
    11631166C
    1164          i = NINT(zout/zsto)
    1165          CALL gr_fi_ecrit(1,klon,iim,jjm+1,paire,zx_tmp_2d)
    1166          CALL histwrite(nid_mth,"aire",i,zx_tmp_2d,iim*(jjm+1),ndex)
     1167Cess         i = NINT(zout/zsto)
     1168Cess         CALL gr_fi_ecrit(1,klon,iim,jjm+1,paire,zx_tmp_2d)
     1169Cess        CALL histwrite(nid_mth,"aire",i,zx_tmp_2d,iim*(jjm+1),ndex2d)
    11671170c
    11681171      ENDIF ! fin de test sur ok_mensuel
     
    12371240         CALL histend(nid_ins)
    12381241c
    1239          ndex(1) = 0
    1240 c
    1241          i = NINT(zout/zsto)
    1242          CALL gr_fi_ecrit(1,klon,iim,jjm+1,pphis,zx_tmp_2d)
    1243          CALL histwrite(nid_ins,"phis",i,zx_tmp_2d,iim*(jjm+1),ndex)
    1244 c
    1245          i = NINT(zout/zsto)
    1246          CALL gr_fi_ecrit(1,klon,iim,jjm+1,paire,zx_tmp_2d)
    1247          CALL histwrite(nid_ins,"aire",i,zx_tmp_2d,iim*(jjm+1),ndex)
     1242         ndex2d = 0
     1243         ndex3d = 0
     1244c
     1245Cess         i = NINT(zout/zsto)
     1246Cess         CALL gr_fi_ecrit(1,klon,iim,jjm+1,pphis,zx_tmp_2d)
     1247Cess        CALL histwrite(nid_ins,"phis",i,zx_tmp_2d,iim*(jjm+1),ndex2d)
     1248c
     1249Cess         i = NINT(zout/zsto)
     1250Cess         CALL gr_fi_ecrit(1,klon,iim,jjm+1,paire,zx_tmp_2d)
     1251Cess        CALL histwrite(nid_ins,"aire",i,zx_tmp_2d,iim*(jjm+1),ndex2d)
    12481252c
    12491253      ENDIF
     
    15531557     .           rain_lsc, snow_lsc,
    15541558     .           pfrac_impa, pfrac_nucl, pfrac_1nucl,
    1555      .           frac_impa, frac_nucl )
     1559     .           frac_impa, frac_nucl,
     1560     .           prfl, psfl)
    15561561      DO k = 1, klev
    15571562      DO i = 1, klon
     
    17951800C la physique s'applique
    17961801C
     1802       write(*,*) 'Phytrac= '
    17971803      call phytrac (rnpb,
    17981804     I                   debut,
     
    18061812     O                   tr_seri)
    18071813
     1814       write(*,*) 'OFFLINE= ', offline
    18081815      IF (offline) THEN
     1816       write(*,*) 'OFFLINE= ', offline
    18091817      call phystoke (
    18101818     I                   nlon,nlev,pdtphys,
     
    18431851      IF (ok_journe) THEN
    18441852c
    1845       ndex(1) = 0
     1853      ndex2d = 0
     1854      ndex3d = 0
    18461855c
    18471856c Champs 2D:
    18481857c
     1858         i = NINT(zout/zsto)
     1859         CALL gr_fi_ecrit(1,klon,iim,jjm+1,pphis,zx_tmp_2d)
     1860         CALL histwrite(nid_day,"phis",i,zx_tmp_2d,iim*(jjm+1),ndex2d)
     1861c
     1862         i = NINT(zout/zsto)
     1863         CALL gr_fi_ecrit(1,klon,iim,jjm+1,paire,zx_tmp_2d)
     1864         CALL histwrite(nid_day,"aire",i,zx_tmp_2d,iim*(jjm+1),ndex2d)
     1865C
    18491866      CALL gr_fi_ecrit(1, klon,iim,jjm+1, zxtsol,zx_tmp_2d)
    1850       CALL histwrite(nid_day,"tsol",itap,zx_tmp_2d,iim*(jjm+1),ndex)
     1867      CALL histwrite(nid_day,"tsol",itap,zx_tmp_2d,iim*(jjm+1),ndex2d)
    18511868c
    18521869      DO i = 1, klon
     
    18541871      ENDDO
    18551872      CALL gr_fi_ecrit(1, klon,iim,jjm+1, zx_tmp_fi2d,zx_tmp_2d)
    1856       CALL histwrite(nid_day,"psol",itap,zx_tmp_2d,iim*(jjm+1),ndex)
     1873      CALL histwrite(nid_day,"psol",itap,zx_tmp_2d,iim*(jjm+1),ndex2d)
    18571874c
    18581875      DO i = 1, klon
     
    18601877      ENDDO
    18611878      CALL gr_fi_ecrit(1, klon,iim,jjm+1, zx_tmp_fi2d,zx_tmp_2d)
    1862       CALL histwrite(nid_day,"rain",itap,zx_tmp_2d,iim*(jjm+1),ndex)
     1879      CALL histwrite(nid_day,"rain",itap,zx_tmp_2d,iim*(jjm+1),ndex2d)
    18631880c
    18641881      CALL gr_fi_ecrit(1, klon,iim,jjm+1, snow_fall,zx_tmp_2d)
    1865       CALL histwrite(nid_day,"snow",itap,zx_tmp_2d,iim*(jjm+1),ndex)
     1882      CALL histwrite(nid_day,"snow",itap,zx_tmp_2d,iim*(jjm+1),ndex2d)
    18661883c
    18671884      CALL gr_fi_ecrit(1, klon,iim,jjm+1, evap,zx_tmp_2d)
    1868       CALL histwrite(nid_day,"evap",itap,zx_tmp_2d,iim*(jjm+1),ndex)
     1885      CALL histwrite(nid_day,"evap",itap,zx_tmp_2d,iim*(jjm+1),ndex2d)
    18691886c
    18701887      CALL gr_fi_ecrit(1, klon,iim,jjm+1, topsw,zx_tmp_2d)
    1871       CALL histwrite(nid_day,"tops",itap,zx_tmp_2d,iim*(jjm+1),ndex)
     1888      CALL histwrite(nid_day,"tops",itap,zx_tmp_2d,iim*(jjm+1),ndex2d)
    18721889c
    18731890      CALL gr_fi_ecrit(1, klon,iim,jjm+1, toplw,zx_tmp_2d)
    1874       CALL histwrite(nid_day,"topl",itap,zx_tmp_2d,iim*(jjm+1),ndex)
     1891      CALL histwrite(nid_day,"topl",itap,zx_tmp_2d,iim*(jjm+1),ndex2d)
    18751892c
    18761893      CALL gr_fi_ecrit(1, klon,iim,jjm+1, solsw,zx_tmp_2d)
    1877       CALL histwrite(nid_day,"sols",itap,zx_tmp_2d,iim*(jjm+1),ndex)
     1894      CALL histwrite(nid_day,"sols",itap,zx_tmp_2d,iim*(jjm+1),ndex2d)
    18781895c
    18791896      CALL gr_fi_ecrit(1, klon,iim,jjm+1, sollw,zx_tmp_2d)
    1880       CALL histwrite(nid_day,"soll",itap,zx_tmp_2d,iim*(jjm+1),ndex)
     1897      CALL histwrite(nid_day,"soll",itap,zx_tmp_2d,iim*(jjm+1),ndex2d)
    18811898c
    18821899      CALL gr_fi_ecrit(1, klon,iim,jjm+1, bils,zx_tmp_2d)
    1883       CALL histwrite(nid_day,"bils",itap,zx_tmp_2d,iim*(jjm+1),ndex)
     1900      CALL histwrite(nid_day,"bils",itap,zx_tmp_2d,iim*(jjm+1),ndex2d)
    18841901c
    18851902      CALL gr_fi_ecrit(1, klon,iim,jjm+1, sens,zx_tmp_2d)
    1886       CALL histwrite(nid_day,"sens",itap,zx_tmp_2d,iim*(jjm+1),ndex)
     1903      CALL histwrite(nid_day,"sens",itap,zx_tmp_2d,iim*(jjm+1),ndex2d)
    18871904c
    18881905      CALL gr_fi_ecrit(1, klon,iim,jjm+1, fder,zx_tmp_2d)
    1889       CALL histwrite(nid_day,"fder",itap,zx_tmp_2d,iim*(jjm+1),ndex)
     1906      CALL histwrite(nid_day,"fder",itap,zx_tmp_2d,iim*(jjm+1),ndex2d)
    18901907c
    18911908      CALL gr_fi_ecrit(1, klon,iim,jjm+1, ruis,zx_tmp_2d)
    1892       CALL histwrite(nid_day,"ruis",itap,zx_tmp_2d,iim*(jjm+1),ndex)
     1909      CALL histwrite(nid_day,"ruis",itap,zx_tmp_2d,iim*(jjm+1),ndex2d)
    18931910c
    18941911      DO i = 1, klon
     
    18961913      ENDDO
    18971914      CALL gr_fi_ecrit(1, klon,iim,jjm+1, zx_tmp_fi2d,zx_tmp_2d)
    1898       CALL histwrite(nid_day,"frtu",itap,zx_tmp_2d,iim*(jjm+1),ndex)
     1915      CALL histwrite(nid_day,"frtu",itap,zx_tmp_2d,iim*(jjm+1),ndex2d)
    18991916c
    19001917      DO i = 1, klon
     
    19021919      ENDDO
    19031920      CALL gr_fi_ecrit(1, klon,iim,jjm+1, zx_tmp_fi2d,zx_tmp_2d)
    1904       CALL histwrite(nid_day,"frtv",itap,zx_tmp_2d,iim*(jjm+1),ndex)
     1921      CALL histwrite(nid_day,"frtv",itap,zx_tmp_2d,iim*(jjm+1),ndex2d)
    19051922c
    19061923      DO i = 1, klon
     
    19081925      ENDDO
    19091926      CALL gr_fi_ecrit(1, klon,iim,jjm+1, zx_tmp_fi2d,zx_tmp_2d)
    1910       CALL histwrite(nid_day,"sicf",itap,zx_tmp_2d,iim*(jjm+1),ndex)
     1927      CALL histwrite(nid_day,"sicf",itap,zx_tmp_2d,iim*(jjm+1),ndex2d)
    19111928c
    19121929      CALL gr_fi_ecrit(1, klon,iim,jjm+1, cldl,zx_tmp_2d)
    1913       CALL histwrite(nid_day,"cldl",itap,zx_tmp_2d,iim*(jjm+1),ndex)
     1930      CALL histwrite(nid_day,"cldl",itap,zx_tmp_2d,iim*(jjm+1),ndex2d)
    19141931c
    19151932      CALL gr_fi_ecrit(1, klon,iim,jjm+1, cldm,zx_tmp_2d)
    1916       CALL histwrite(nid_day,"cldm",itap,zx_tmp_2d,iim*(jjm+1),ndex)
     1933      CALL histwrite(nid_day,"cldm",itap,zx_tmp_2d,iim*(jjm+1),ndex2d)
    19171934c
    19181935      CALL gr_fi_ecrit(1, klon,iim,jjm+1, cldh,zx_tmp_2d)
    1919       CALL histwrite(nid_day,"cldh",itap,zx_tmp_2d,iim*(jjm+1),ndex)
     1936      CALL histwrite(nid_day,"cldh",itap,zx_tmp_2d,iim*(jjm+1),ndex2d)
    19201937c
    19211938      CALL gr_fi_ecrit(1, klon,iim,jjm+1, cldt,zx_tmp_2d)
    1922       CALL histwrite(nid_day,"cldt",itap,zx_tmp_2d,iim*(jjm+1),ndex)
     1939      CALL histwrite(nid_day,"cldt",itap,zx_tmp_2d,iim*(jjm+1),ndex2d)
    19231940c
    19241941      CALL gr_fi_ecrit(1, klon,iim,jjm+1, cldq,zx_tmp_2d)
    1925       CALL histwrite(nid_day,"cldq",itap,zx_tmp_2d,iim*(jjm+1),ndex)
     1942      CALL histwrite(nid_day,"cldq",itap,zx_tmp_2d,iim*(jjm+1),ndex2d)
    19261943c
    19271944c Champs 3D:
     
    19291946      CALL gr_fi_ecrit(klev,klon,iim,jjm+1, t_seri, zx_tmp_3d)
    19301947      CALL histwrite(nid_day,"temp",itap,zx_tmp_3d,
    1931      .                                   iim*(jjm+1)*klev,ndex)
     1948     .                                   iim*(jjm+1)*klev,ndex3d)
    19321949c
    19331950      CALL gr_fi_ecrit(klev,klon,iim,jjm+1, qx(1,1,ivap), zx_tmp_3d)
    19341951      CALL histwrite(nid_day,"ovap",itap,zx_tmp_3d,
    1935      .                                   iim*(jjm+1)*klev,ndex)
     1952     .                                   iim*(jjm+1)*klev,ndex3d)
    19361953c
    19371954      CALL gr_fi_ecrit(klev,klon,iim,jjm+1, zphi, zx_tmp_3d)
    19381955      CALL histwrite(nid_day,"geop",itap,zx_tmp_3d,
    1939      .                                   iim*(jjm+1)*klev,ndex)
     1956     .                                   iim*(jjm+1)*klev,ndex3d)
    19401957c
    19411958      CALL gr_fi_ecrit(klev,klon,iim,jjm+1, u_seri, zx_tmp_3d)
    19421959      CALL histwrite(nid_day,"vitu",itap,zx_tmp_3d,
    1943      .                                   iim*(jjm+1)*klev,ndex)
     1960     .                                   iim*(jjm+1)*klev,ndex3d)
    19441961c
    19451962      CALL gr_fi_ecrit(klev,klon,iim,jjm+1, v_seri, zx_tmp_3d)
    19461963      CALL histwrite(nid_day,"vitv",itap,zx_tmp_3d,
    1947      .                                   iim*(jjm+1)*klev,ndex)
     1964     .                                   iim*(jjm+1)*klev,ndex3d)
    19481965c
    19491966      CALL gr_fi_ecrit(klev,klon,iim,jjm+1, omega, zx_tmp_3d)
    19501967      CALL histwrite(nid_day,"vitw",itap,zx_tmp_3d,
    1951      .                                   iim*(jjm+1)*klev,ndex)
     1968     .                                   iim*(jjm+1)*klev,ndex3d)
    19521969c
    19531970      CALL gr_fi_ecrit(klev,klon,iim,jjm+1, pplay, zx_tmp_3d)
    19541971      CALL histwrite(nid_day,"pres",itap,zx_tmp_3d,
    1955      .                                   iim*(jjm+1)*klev,ndex)
    1956 c
    1957       if (ok_sync) call histsync
     1972     .                                   iim*(jjm+1)*klev,ndex3d)
     1973c
     1974      if (ok_sync) then
     1975        call histsync(nid_day)
     1976      endif
    19581977      ENDIF
    19591978C
    19601979      IF (ok_mensuel) THEN
    19611980c
    1962       ndex(1) = 0
     1981      ndex2d = 0
     1982      ndex3d = 0
    19631983c
    19641984c Champs 2D:
    19651985c
     1986         i = NINT(zout/zsto)
     1987         CALL gr_fi_ecrit(1,klon,iim,jjm+1,pphis,zx_tmp_2d)
     1988         CALL histwrite(nid_mth,"phis",i,zx_tmp_2d,iim*(jjm+1),ndex2d)
     1989C
     1990         i = NINT(zout/zsto)
     1991         CALL gr_fi_ecrit(1,klon,iim,jjm+1,paire,zx_tmp_2d)
     1992         CALL histwrite(nid_mth,"aire",i,zx_tmp_2d,iim*(jjm+1),ndex2d)
     1993
    19661994      CALL gr_fi_ecrit(1, klon,iim,jjm+1, zxtsol,zx_tmp_2d)
    1967       CALL histwrite(nid_mth,"tsol",itap,zx_tmp_2d,iim*(jjm+1),ndex)
     1995      CALL histwrite(nid_mth,"tsol",itap,zx_tmp_2d,iim*(jjm+1),ndex2d)
    19681996c
    19691997      DO i = 1, klon
     
    19711999      ENDDO
    19722000      CALL gr_fi_ecrit(1, klon,iim,jjm+1, zx_tmp_fi2d,zx_tmp_2d)
    1973       CALL histwrite(nid_mth,"psol",itap,zx_tmp_2d,iim*(jjm+1),ndex)
     2001      CALL histwrite(nid_mth,"psol",itap,zx_tmp_2d,iim*(jjm+1),ndex2d)
    19742002c
    19752003      CALL gr_fi_ecrit(1, klon,iim,jjm+1, zxqsol,zx_tmp_2d)
    1976       CALL histwrite(nid_mth,"qsol",itap,zx_tmp_2d,iim*(jjm+1),ndex)
     2004      CALL histwrite(nid_mth,"qsol",itap,zx_tmp_2d,iim*(jjm+1),ndex2d)
    19772005c
    19782006      DO i = 1, klon
     
    19802008      ENDDO
    19812009      CALL gr_fi_ecrit(1, klon,iim,jjm+1, zx_tmp_fi2d,zx_tmp_2d)
    1982       CALL histwrite(nid_mth,"rain",itap,zx_tmp_2d,iim*(jjm+1),ndex)
     2010      CALL histwrite(nid_mth,"rain",itap,zx_tmp_2d,iim*(jjm+1),ndex2d)
    19832011c
    19842012      DO i = 1, klon
     
    19862014      ENDDO
    19872015      CALL gr_fi_ecrit(1, klon,iim,jjm+1, zx_tmp_fi2d,zx_tmp_2d)
    1988       CALL histwrite(nid_mth,"plul",itap,zx_tmp_2d,iim*(jjm+1),ndex)
     2016      CALL histwrite(nid_mth,"plul",itap,zx_tmp_2d,iim*(jjm+1),ndex2d)
    19892017c
    19902018      DO i = 1, klon
     
    19922020      ENDDO
    19932021      CALL gr_fi_ecrit(1, klon,iim,jjm+1, zx_tmp_fi2d,zx_tmp_2d)
    1994       CALL histwrite(nid_mth,"pluc",itap,zx_tmp_2d,iim*(jjm+1),ndex)
     2022      CALL histwrite(nid_mth,"pluc",itap,zx_tmp_2d,iim*(jjm+1),ndex2d)
    19952023c
    19962024      CALL gr_fi_ecrit(1, klon,iim,jjm+1, snow_fall,zx_tmp_2d)
    1997       CALL histwrite(nid_mth,"snow",itap,zx_tmp_2d,iim*(jjm+1),ndex)
     2025      CALL histwrite(nid_mth,"snow",itap,zx_tmp_2d,iim*(jjm+1),ndex2d)
    19982026c
    19992027      CALL gr_fi_ecrit(1, klon,iim,jjm+1, agesno,zx_tmp_2d)
    2000       CALL histwrite(nid_mth,"ages",itap,zx_tmp_2d,iim*(jjm+1),ndex)
     2028      CALL histwrite(nid_mth,"ages",itap,zx_tmp_2d,iim*(jjm+1),ndex2d)
    20012029c
    20022030      CALL gr_fi_ecrit(1, klon,iim,jjm+1, evap,zx_tmp_2d)
    2003       CALL histwrite(nid_mth,"evap",itap,zx_tmp_2d,iim*(jjm+1),ndex)
     2031      CALL histwrite(nid_mth,"evap",itap,zx_tmp_2d,iim*(jjm+1),ndex2d)
    20042032c
    20052033      CALL gr_fi_ecrit(1, klon,iim,jjm+1, topsw,zx_tmp_2d)
    2006       CALL histwrite(nid_mth,"tops",itap,zx_tmp_2d,iim*(jjm+1),ndex)
     2034      CALL histwrite(nid_mth,"tops",itap,zx_tmp_2d,iim*(jjm+1),ndex2d)
    20072035c
    20082036      CALL gr_fi_ecrit(1, klon,iim,jjm+1, toplw,zx_tmp_2d)
    2009       CALL histwrite(nid_mth,"topl",itap,zx_tmp_2d,iim*(jjm+1),ndex)
     2037      CALL histwrite(nid_mth,"topl",itap,zx_tmp_2d,iim*(jjm+1),ndex2d)
    20102038c
    20112039      CALL gr_fi_ecrit(1, klon,iim,jjm+1, solsw,zx_tmp_2d)
    2012       CALL histwrite(nid_mth,"sols",itap,zx_tmp_2d,iim*(jjm+1),ndex)
     2040      CALL histwrite(nid_mth,"sols",itap,zx_tmp_2d,iim*(jjm+1),ndex2d)
    20132041c
    20142042      CALL gr_fi_ecrit(1, klon,iim,jjm+1, sollw,zx_tmp_2d)
    2015       CALL histwrite(nid_mth,"soll",itap,zx_tmp_2d,iim*(jjm+1),ndex)
     2043      CALL histwrite(nid_mth,"soll",itap,zx_tmp_2d,iim*(jjm+1),ndex2d)
    20162044c
    20172045      CALL gr_fi_ecrit(1, klon,iim,jjm+1, topsw0,zx_tmp_2d)
    2018       CALL histwrite(nid_mth,"tops0",itap,zx_tmp_2d,iim*(jjm+1),ndex)
     2046      CALL histwrite(nid_mth,"tops0",itap,zx_tmp_2d,iim*(jjm+1),ndex2d)
    20192047c
    20202048      CALL gr_fi_ecrit(1, klon,iim,jjm+1, toplw0,zx_tmp_2d)
    2021       CALL histwrite(nid_mth,"topl0",itap,zx_tmp_2d,iim*(jjm+1),ndex)
     2049      CALL histwrite(nid_mth,"topl0",itap,zx_tmp_2d,iim*(jjm+1),ndex2d)
    20222050c
    20232051      CALL gr_fi_ecrit(1, klon,iim,jjm+1, solsw0,zx_tmp_2d)
    2024       CALL histwrite(nid_mth,"sols0",itap,zx_tmp_2d,iim*(jjm+1),ndex)
     2052      CALL histwrite(nid_mth,"sols0",itap,zx_tmp_2d,iim*(jjm+1),ndex2d)
    20252053c
    20262054      CALL gr_fi_ecrit(1, klon,iim,jjm+1, sollw0,zx_tmp_2d)
    2027       CALL histwrite(nid_mth,"soll0",itap,zx_tmp_2d,iim*(jjm+1),ndex)
     2055      CALL histwrite(nid_mth,"soll0",itap,zx_tmp_2d,iim*(jjm+1),ndex2d)
    20282056c
    20292057      CALL gr_fi_ecrit(1, klon,iim,jjm+1, bils,zx_tmp_2d)
    2030       CALL histwrite(nid_mth,"bils",itap,zx_tmp_2d,iim*(jjm+1),ndex)
     2058      CALL histwrite(nid_mth,"bils",itap,zx_tmp_2d,iim*(jjm+1),ndex2d)
    20312059c
    20322060      CALL gr_fi_ecrit(1, klon,iim,jjm+1, sens,zx_tmp_2d)
    2033       CALL histwrite(nid_mth,"sens",itap,zx_tmp_2d,iim*(jjm+1),ndex)
     2061      CALL histwrite(nid_mth,"sens",itap,zx_tmp_2d,iim*(jjm+1),ndex2d)
    20342062c
    20352063      CALL gr_fi_ecrit(1, klon,iim,jjm+1, fder,zx_tmp_2d)
    2036       CALL histwrite(nid_mth,"fder",itap,zx_tmp_2d,iim*(jjm+1),ndex)
     2064      CALL histwrite(nid_mth,"fder",itap,zx_tmp_2d,iim*(jjm+1),ndex2d)
    20372065c
    20382066      CALL gr_fi_ecrit(1, klon,iim,jjm+1, ruis,zx_tmp_2d)
    2039       CALL histwrite(nid_mth,"ruis",itap,zx_tmp_2d,iim*(jjm+1),ndex)
     2067      CALL histwrite(nid_mth,"ruis",itap,zx_tmp_2d,iim*(jjm+1),ndex2d)
    20402068c
    20412069      DO i = 1, klon
     
    20432071      ENDDO
    20442072      CALL gr_fi_ecrit(1, klon,iim,jjm+1, zx_tmp_fi2d,zx_tmp_2d)
    2045       CALL histwrite(nid_mth,"frtu",itap,zx_tmp_2d,iim*(jjm+1),ndex)
     2073      CALL histwrite(nid_mth,"frtu",itap,zx_tmp_2d,iim*(jjm+1),ndex2d)
    20462074c
    20472075      DO i = 1, klon
     
    20492077      ENDDO
    20502078      CALL gr_fi_ecrit(1, klon,iim,jjm+1, zx_tmp_fi2d,zx_tmp_2d)
    2051       CALL histwrite(nid_mth,"frtv",itap,zx_tmp_2d,iim*(jjm+1),ndex)
     2079      CALL histwrite(nid_mth,"frtv",itap,zx_tmp_2d,iim*(jjm+1),ndex2d)
    20522080c
    20532081      DO i = 1, klon
     
    20552083      ENDDO
    20562084      CALL gr_fi_ecrit(1, klon,iim,jjm+1, zx_tmp_fi2d,zx_tmp_2d)
    2057       CALL histwrite(nid_mth,"sicf",itap,zx_tmp_2d,iim*(jjm+1),ndex)
     2085      CALL histwrite(nid_mth,"sicf",itap,zx_tmp_2d,iim*(jjm+1),ndex2d)
    20582086c
    20592087      CALL gr_fi_ecrit(1, klon,iim,jjm+1, albsol,zx_tmp_2d)
    2060       CALL histwrite(nid_mth,"albs",itap,zx_tmp_2d,iim*(jjm+1),ndex)
     2088      CALL histwrite(nid_mth,"albs",itap,zx_tmp_2d,iim*(jjm+1),ndex2d)
    20612089c
    20622090      CALL gr_fi_ecrit(1, klon,iim,jjm+1, cdragm,zx_tmp_2d)
    2063       CALL histwrite(nid_mth,"cdrm",itap,zx_tmp_2d,iim*(jjm+1),ndex)
     2091      CALL histwrite(nid_mth,"cdrm",itap,zx_tmp_2d,iim*(jjm+1),ndex2d)
    20642092c
    20652093      CALL gr_fi_ecrit(1, klon,iim,jjm+1, cdragh,zx_tmp_2d)
    2066       CALL histwrite(nid_mth,"cdrh",itap,zx_tmp_2d,iim*(jjm+1),ndex)
     2094      CALL histwrite(nid_mth,"cdrh",itap,zx_tmp_2d,iim*(jjm+1),ndex2d)
    20672095c
    20682096      CALL gr_fi_ecrit(1, klon,iim,jjm+1, cldl,zx_tmp_2d)
    2069       CALL histwrite(nid_mth,"cldl",itap,zx_tmp_2d,iim*(jjm+1),ndex)
     2097      CALL histwrite(nid_mth,"cldl",itap,zx_tmp_2d,iim*(jjm+1),ndex2d)
    20702098c
    20712099      CALL gr_fi_ecrit(1, klon,iim,jjm+1, cldm,zx_tmp_2d)
    2072       CALL histwrite(nid_mth,"cldm",itap,zx_tmp_2d,iim*(jjm+1),ndex)
     2100      CALL histwrite(nid_mth,"cldm",itap,zx_tmp_2d,iim*(jjm+1),ndex2d)
    20732101c
    20742102      CALL gr_fi_ecrit(1, klon,iim,jjm+1, cldh,zx_tmp_2d)
    2075       CALL histwrite(nid_mth,"cldh",itap,zx_tmp_2d,iim*(jjm+1),ndex)
     2103      CALL histwrite(nid_mth,"cldh",itap,zx_tmp_2d,iim*(jjm+1),ndex2d)
    20762104c
    20772105      CALL gr_fi_ecrit(1, klon,iim,jjm+1, cldt,zx_tmp_2d)
    2078       CALL histwrite(nid_mth,"cldt",itap,zx_tmp_2d,iim*(jjm+1),ndex)
     2106      CALL histwrite(nid_mth,"cldt",itap,zx_tmp_2d,iim*(jjm+1),ndex2d)
    20792107c
    20802108      CALL gr_fi_ecrit(1, klon,iim,jjm+1, cldq,zx_tmp_2d)
    2081       CALL histwrite(nid_mth,"cldq",itap,zx_tmp_2d,iim*(jjm+1),ndex)
     2109      CALL histwrite(nid_mth,"cldq",itap,zx_tmp_2d,iim*(jjm+1),ndex2d)
    20822110c
    20832111      CALL gr_fi_ecrit(1, klon,iim,jjm+1, ue,zx_tmp_2d)
    2084       CALL histwrite(nid_mth,"ue",itap,zx_tmp_2d,iim*(jjm+1),ndex)
     2112      CALL histwrite(nid_mth,"ue",itap,zx_tmp_2d,iim*(jjm+1),ndex2d)
    20852113c
    20862114      CALL gr_fi_ecrit(1, klon,iim,jjm+1, ve,zx_tmp_2d)
    2087       CALL histwrite(nid_mth,"ve",itap,zx_tmp_2d,iim*(jjm+1),ndex)
     2115      CALL histwrite(nid_mth,"ve",itap,zx_tmp_2d,iim*(jjm+1),ndex2d)
    20882116c
    20892117      CALL gr_fi_ecrit(1, klon,iim,jjm+1, uq,zx_tmp_2d)
    2090       CALL histwrite(nid_mth,"uq",itap,zx_tmp_2d,iim*(jjm+1),ndex)
     2118      CALL histwrite(nid_mth,"uq",itap,zx_tmp_2d,iim*(jjm+1),ndex2d)
    20912119c
    20922120      CALL gr_fi_ecrit(1, klon,iim,jjm+1, vq,zx_tmp_2d)
    2093       CALL histwrite(nid_mth,"vq",itap,zx_tmp_2d,iim*(jjm+1),ndex)
     2121      CALL histwrite(nid_mth,"vq",itap,zx_tmp_2d,iim*(jjm+1),ndex2d)
    20942122c
    20952123c Champs 3D:
     
    20972125      CALL gr_fi_ecrit(klev,klon,iim,jjm+1, t_seri, zx_tmp_3d)
    20982126      CALL histwrite(nid_mth,"temp",itap,zx_tmp_3d,
    2099      .                                   iim*(jjm+1)*klev,ndex)
     2127     .                                   iim*(jjm+1)*klev,ndex3d)
    21002128c
    21012129      CALL gr_fi_ecrit(klev,klon,iim,jjm+1, qx(1,1,ivap), zx_tmp_3d)
    21022130      CALL histwrite(nid_mth,"ovap",itap,zx_tmp_3d,
    2103      .                                   iim*(jjm+1)*klev,ndex)
     2131     .                                   iim*(jjm+1)*klev,ndex3d)
    21042132c
    21052133      CALL gr_fi_ecrit(klev,klon,iim,jjm+1, zphi, zx_tmp_3d)
    21062134      CALL histwrite(nid_mth,"geop",itap,zx_tmp_3d,
    2107      .                                   iim*(jjm+1)*klev,ndex)
     2135     .                                   iim*(jjm+1)*klev,ndex3d)
    21082136c
    21092137      CALL gr_fi_ecrit(klev,klon,iim,jjm+1, u_seri, zx_tmp_3d)
    21102138      CALL histwrite(nid_mth,"vitu",itap,zx_tmp_3d,
    2111      .                                   iim*(jjm+1)*klev,ndex)
     2139     .                                   iim*(jjm+1)*klev,ndex3d)
    21122140c
    21132141      CALL gr_fi_ecrit(klev,klon,iim,jjm+1, v_seri, zx_tmp_3d)
    21142142      CALL histwrite(nid_mth,"vitv",itap,zx_tmp_3d,
    2115      .                                   iim*(jjm+1)*klev,ndex)
     2143     .                                   iim*(jjm+1)*klev,ndex3d)
    21162144c
    21172145      CALL gr_fi_ecrit(klev,klon,iim,jjm+1, omega, zx_tmp_3d)
    21182146      CALL histwrite(nid_mth,"vitw",itap,zx_tmp_3d,
    2119      .                                   iim*(jjm+1)*klev,ndex)
     2147     .                                   iim*(jjm+1)*klev,ndex3d)
    21202148c
    21212149      CALL gr_fi_ecrit(klev,klon,iim,jjm+1, pplay, zx_tmp_3d)
    21222150      CALL histwrite(nid_mth,"pres",itap,zx_tmp_3d,
    2123      .                                   iim*(jjm+1)*klev,ndex)
     2151     .                                   iim*(jjm+1)*klev,ndex3d)
    21242152c
    21252153      CALL gr_fi_ecrit(klev,klon,iim,jjm+1, cldfra, zx_tmp_3d)
    21262154      CALL histwrite(nid_mth,"rneb",itap,zx_tmp_3d,
    2127      .                                   iim*(jjm+1)*klev,ndex)
     2155     .                                   iim*(jjm+1)*klev,ndex3d)
    21282156c
    21292157      CALL gr_fi_ecrit(klev,klon,iim,jjm+1, zx_rh, zx_tmp_3d)
    21302158      CALL histwrite(nid_mth,"rhum",itap,zx_tmp_3d,
    2131      .                                   iim*(jjm+1)*klev,ndex)
     2159     .                                   iim*(jjm+1)*klev,ndex3d)
    21322160c
    21332161      CALL gr_fi_ecrit(klev,klon,iim,jjm+1, cldliq, zx_tmp_3d)
    21342162      CALL histwrite(nid_mth,"oliq",itap,zx_tmp_3d,
    2135      .                                   iim*(jjm+1)*klev,ndex)
     2163     .                                   iim*(jjm+1)*klev,ndex3d)
    21362164c
    21372165      CALL gr_fi_ecrit(klev,klon,iim,jjm+1, d_t_dyn, zx_tmp_3d)
    21382166      CALL histwrite(nid_mth,"dtdyn",itap,zx_tmp_3d,
    2139      .                                   iim*(jjm+1)*klev,ndex)
     2167     .                                   iim*(jjm+1)*klev,ndex3d)
    21402168c
    21412169      CALL gr_fi_ecrit(klev,klon,iim,jjm+1, d_qx_dyn(1,1,ivap),
    21422170     .                 zx_tmp_3d)
    21432171      CALL histwrite(nid_mth,"dqdyn",itap,zx_tmp_3d,
    2144      .                                   iim*(jjm+1)*klev,ndex)
     2172     .                                   iim*(jjm+1)*klev,ndex3d)
    21452173c
    21462174      CALL gr_fi_ecrit(klev,klon,iim,jjm+1, d_t_con, zx_tmp_3d)
    21472175      CALL histwrite(nid_mth,"dtcon",itap,zx_tmp_3d,
    2148      .                                   iim*(jjm+1)*klev,ndex)
     2176     .                                   iim*(jjm+1)*klev,ndex3d)
    21492177c
    21502178      CALL gr_fi_ecrit(klev,klon,iim,jjm+1, d_q_con, zx_tmp_3d)
    21512179      CALL histwrite(nid_mth,"dqcon",itap,zx_tmp_3d,
    2152      .                                   iim*(jjm+1)*klev,ndex)
     2180     .                                   iim*(jjm+1)*klev,ndex3d)
    21532181c
    21542182      CALL gr_fi_ecrit(klev,klon,iim,jjm+1, d_t_lsc, zx_tmp_3d)
    21552183      CALL histwrite(nid_mth,"dtlsc",itap,zx_tmp_3d,
    2156      .                                   iim*(jjm+1)*klev,ndex)
     2184     .                                   iim*(jjm+1)*klev,ndex3d)
    21572185c
    21582186      CALL gr_fi_ecrit(klev,klon,iim,jjm+1, d_q_lsc, zx_tmp_3d)
    21592187      CALL histwrite(nid_mth,"dqlsc",itap,zx_tmp_3d,
    2160      .                                   iim*(jjm+1)*klev,ndex)
     2188     .                                   iim*(jjm+1)*klev,ndex3d)
    21612189c
    21622190      CALL gr_fi_ecrit(klev,klon,iim,jjm+1, d_t_vdf, zx_tmp_3d)
    21632191      CALL histwrite(nid_mth,"dtvdf",itap,zx_tmp_3d,
    2164      .                                   iim*(jjm+1)*klev,ndex)
     2192     .                                   iim*(jjm+1)*klev,ndex3d)
    21652193c
    21662194      CALL gr_fi_ecrit(klev,klon,iim,jjm+1, d_q_vdf, zx_tmp_3d)
    21672195      CALL histwrite(nid_mth,"dqvdf",itap,zx_tmp_3d,
    2168      .                                   iim*(jjm+1)*klev,ndex)
     2196     .                                   iim*(jjm+1)*klev,ndex3d)
    21692197c
    21702198      CALL gr_fi_ecrit(klev,klon,iim,jjm+1, d_t_eva, zx_tmp_3d)
    21712199      CALL histwrite(nid_mth,"dteva",itap,zx_tmp_3d,
    2172      .                                   iim*(jjm+1)*klev,ndex)
     2200     .                                   iim*(jjm+1)*klev,ndex3d)
    21732201c
    21742202      CALL gr_fi_ecrit(klev,klon,iim,jjm+1, d_q_eva, zx_tmp_3d)
    21752203      CALL histwrite(nid_mth,"dqeva",itap,zx_tmp_3d,
    2176      .                                   iim*(jjm+1)*klev,ndex)
     2204     .                                   iim*(jjm+1)*klev,ndex3d)
    21772205c
    21782206C      CALL gr_fi_ecrit(klev,klon,iim,jjm+1, d_t_ajs, zx_tmp_3d)
    21792207C      CALL histwrite(nid_mth,"dtajs",itap,zx_tmp_3d,
    2180 C    .                                   iim*(jjm+1)*klev,ndex)
     2208C    .                                   iim*(jjm+1)*klev,ndex3d)
    21812209c
    21822210C      CALL gr_fi_ecrit(klev,klon,iim,jjm+1, d_q_ajs, zx_tmp_3d)
    21832211C      CALL histwrite(nid_mth,"dqajs",itap,zx_tmp_3d,
    2184 C     .                                   iim*(jjm+1)*klev,ndex)
     2212C     .                                   iim*(jjm+1)*klev,ndex3d)
    21852213c
    21862214      CALL gr_fi_ecrit(klev,klon,iim,jjm+1, heat, zx_tmp_3d)
    21872215      CALL histwrite(nid_mth,"dtswr",itap,zx_tmp_3d,
    2188      .                                   iim*(jjm+1)*klev,ndex)
     2216     .                                   iim*(jjm+1)*klev,ndex3d)
    21892217c
    21902218      CALL gr_fi_ecrit(klev,klon,iim,jjm+1, heat0, zx_tmp_3d)
    21912219      CALL histwrite(nid_mth,"dtsw0",itap,zx_tmp_3d,
    2192      .                                   iim*(jjm+1)*klev,ndex)
     2220     .                                   iim*(jjm+1)*klev,ndex3d)
    21932221c
    21942222      CALL gr_fi_ecrit(klev,klon,iim,jjm+1, cool, zx_tmp_3d)
    21952223      CALL histwrite(nid_mth,"dtlwr",itap,zx_tmp_3d,
    2196      .                                   iim*(jjm+1)*klev,ndex)
     2224     .                                   iim*(jjm+1)*klev,ndex3d)
    21972225c
    21982226      CALL gr_fi_ecrit(klev,klon,iim,jjm+1, cool0, zx_tmp_3d)
    21992227      CALL histwrite(nid_mth,"dtlw0",itap,zx_tmp_3d,
    2200      .                                   iim*(jjm+1)*klev,ndex)
     2228     .                                   iim*(jjm+1)*klev,ndex3d)
    22012229c
    22022230      CALL gr_fi_ecrit(klev,klon,iim,jjm+1, d_u_vdf, zx_tmp_3d)
    22032231      CALL histwrite(nid_mth,"duvdf",itap,zx_tmp_3d,
    2204      .                                   iim*(jjm+1)*klev,ndex)
     2232     .                                   iim*(jjm+1)*klev,ndex3d)
    22052233c
    22062234      CALL gr_fi_ecrit(klev,klon,iim,jjm+1, d_v_vdf, zx_tmp_3d)
    22072235      CALL histwrite(nid_mth,"dvvdf",itap,zx_tmp_3d,
    2208      .                                   iim*(jjm+1)*klev,ndex)
     2236     .                                   iim*(jjm+1)*klev,ndex3d)
    22092237c
    22102238      IF (ok_orodr) THEN
    22112239      CALL gr_fi_ecrit(klev,klon,iim,jjm+1, d_u_oro, zx_tmp_3d)
    22122240      CALL histwrite(nid_mth,"duoro",itap,zx_tmp_3d,
    2213      .                                   iim*(jjm+1)*klev,ndex)
     2241     .                                   iim*(jjm+1)*klev,ndex3d)
    22142242c
    22152243      CALL gr_fi_ecrit(klev,klon,iim,jjm+1, d_v_oro, zx_tmp_3d)
    22162244      CALL histwrite(nid_mth,"dvoro",itap,zx_tmp_3d,
    2217      .                                   iim*(jjm+1)*klev,ndex)
     2245     .                                   iim*(jjm+1)*klev,ndex3d)
    22182246c
    22192247      ENDIF
     
    22222250      CALL gr_fi_ecrit(klev,klon,iim,jjm+1, d_u_lif, zx_tmp_3d)
    22232251      CALL histwrite(nid_mth,"dulif",itap,zx_tmp_3d,
    2224      .                                   iim*(jjm+1)*klev,ndex)
     2252     .                                   iim*(jjm+1)*klev,ndex3d)
    22252253c
    22262254      CALL gr_fi_ecrit(klev,klon,iim,jjm+1, d_v_lif, zx_tmp_3d)
    22272255      CALL histwrite(nid_mth,"dvlif",itap,zx_tmp_3d,
    2228      .                                   iim*(jjm+1)*klev,ndex)
     2256     .                                   iim*(jjm+1)*klev,ndex3d)
    22292257      ENDIF
    22302258C
    22312259      CALL gr_fi_ecrit(klev,klon,iim,jjm+1, wo, zx_tmp_3d)
    22322260      CALL histwrite(nid_mth,"ozone",itap,zx_tmp_3d,
    2233      .                                   iim*(jjm+1)*klev,ndex)
     2261     .                                   iim*(jjm+1)*klev,ndex3d)
    22342262c
    22352263      IF (nqmax.GE.3) THEN
     
    22392267         WRITE(str2,'(i2.2)') iq
    22402268         CALL histwrite(nid_mth,"trac"//str2,itap,zx_tmp_3d,
    2241      .                                   iim*(jjm+1)*klev,ndex)
     2269     .                                   iim*(jjm+1)*klev,ndex3d)
    22422270      ELSE
    22432271         PRINT*, "Trop de traceurs"
     
    22472275      ENDIF
    22482276c
    2249       if (ok_sync) call histsync
     2277      if (ok_sync) then
     2278        call histsync(nid_mth)
     2279      endif
    22502280      ENDIF
    22512281c
    22522282      IF (ok_instan) THEN
    22532283c
    2254       ndex(1) = 0
     2284      ndex2d = 0
     2285      ndex3d = 0
    22552286c
    22562287c Champs 2D:
    22572288c
     2289         i = NINT(zout/zsto)
     2290         CALL gr_fi_ecrit(1,klon,iim,jjm+1,pphis,zx_tmp_2d)
     2291         CALL histwrite(nid_ins,"phis",i,zx_tmp_2d,iim*(jjm+1),ndex2d)
     2292c
     2293         i = NINT(zout/zsto)
     2294         CALL gr_fi_ecrit(1,klon,iim,jjm+1,paire,zx_tmp_2d)
     2295         CALL histwrite(nid_ins,"aire",i,zx_tmp_2d,iim*(jjm+1),ndex2d)
     2296
    22582297      DO i = 1, klon
    22592298         zx_tmp_fi2d(i) = paprs(i,1)
    22602299      ENDDO
    22612300      CALL gr_fi_ecrit(1, klon,iim,jjm+1, zx_tmp_fi2d,zx_tmp_2d)
    2262       CALL histwrite(nid_ins,"psol",itap,zx_tmp_2d,iim*(jjm+1),ndex)
     2301      CALL histwrite(nid_ins,"psol",itap,zx_tmp_2d,iim*(jjm+1),ndex2d)
    22632302c
    22642303      CALL gr_fi_ecrit(1, klon,iim,jjm+1, toplw,zx_tmp_2d)
    2265       CALL histwrite(nid_ins,"topl",itap,zx_tmp_2d,iim*(jjm+1),ndex)
     2304      CALL histwrite(nid_ins,"topl",itap,zx_tmp_2d,iim*(jjm+1),ndex2d)
    22662305c
    22672306c Champs 3D:
     
    22692308      CALL gr_fi_ecrit(klev,klon,iim,jjm+1, t_seri, zx_tmp_3d)
    22702309      CALL histwrite(nid_ins,"temp",itap,zx_tmp_3d,
    2271      .                                   iim*(jjm+1)*klev,ndex)
     2310     .                                   iim*(jjm+1)*klev,ndex3d)
    22722311c
    22732312      CALL gr_fi_ecrit(klev,klon,iim,jjm+1, u_seri, zx_tmp_3d)
    22742313      CALL histwrite(nid_ins,"vitu",itap,zx_tmp_3d,
    2275      .                                   iim*(jjm+1)*klev,ndex)
     2314     .                                   iim*(jjm+1)*klev,ndex3d)
    22762315c
    22772316      CALL gr_fi_ecrit(klev,klon,iim,jjm+1, v_seri, zx_tmp_3d)
    22782317      CALL histwrite(nid_ins,"vitv",itap,zx_tmp_3d,
    2279      .                                   iim*(jjm+1)*klev,ndex)
     2318     .                                   iim*(jjm+1)*klev,ndex3d)
    22802319c
    22812320      CALL gr_fi_ecrit(klev,klon,iim,jjm+1, zphi, zx_tmp_3d)
    22822321      CALL histwrite(nid_ins,"geop",itap,zx_tmp_3d,
    2283      .                                   iim*(jjm+1)*klev,ndex)
     2322     .                                   iim*(jjm+1)*klev,ndex3d)
    22842323c
    22852324      CALL gr_fi_ecrit(klev,klon,iim,jjm+1, pplay, zx_tmp_3d)
    22862325      CALL histwrite(nid_ins,"pres",itap,zx_tmp_3d,
    2287      .                                   iim*(jjm+1)*klev,ndex)
    2288 c
    2289       if (ok_sync) call histsync
     2326     .                                   iim*(jjm+1)*klev,ndex3d)
     2327c
     2328      if (ok_sync) then
     2329        call histsync(nid_ins)
     2330      endif
    22902331      ENDIF
    22912332c
  • /LMDZ.3.3/trunk/makegcm

    r20 r30  
    162162else if $NEC then
    163163   set optim90=' -C hopt -float0 -ew -R4 -L nostdout '
    164    set optim90=' -C hopt -float0 -eabw -P static -R5 -ftrace -pi auto line=500 -Wf,-O,extendreorder,-pvctl,fullmsg,vchg,noverrchk,assume,loopcnt=300000,vwork=stack,-L,summary,transform'
     164   set optim90=' -C hopt -float0 -eabw -P static -R5 -pi auto line=500 -Wf,-O,extendreorder,-pvctl,fullmsg,vchg,noverrchk,assume,loopcnt=300000,vwork=stack,-L,summary,transform'
    165165   set optim="$optim90"
    166166   set opt_link=" -L$IOIPSLDIR -lioipsl  -L$NCDFLIB -lnetcdf "
Note: See TracChangeset for help on using the changeset viewer.