Ignore:
Timestamp:
Oct 15, 2002, 5:09:25 PM (22 years ago)
Author:
lmdzadmin
Message:
  • KE vectorise
  • nouvelles sorties: haute frequence,

rajout diagnostiques pres du sol,
fichiers include pour les sorties,
sorties des flux shortwave au sommet et a la surface

pour l'albedo,

sorties sur niveaux de pression

SB/JLD/FH
IM/LF

File:
1 edited

Legend:

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

    r395 r411  
    22c $Header$
    33c
    4       SUBROUTINE physiq (nlon,nlev,nqmax  ,
     4      SUBROUTINE physiq (nlon,nlev,nqmax,
    55     .            debut,lafin,rjourvrai,rjour_ecri,gmtime,pdtphys,
    66     .            paprs,pplay,pphi,pphis,paire,presnivs,clesphy0,
     
    6767#include "control.h"
    6868#include "temps.h"
     69c======================================================================
     70      LOGICAL ok_cvl  ! pour activer le nouveau driver pour convection KE
     71      PARAMETER (ok_cvl=.TRUE.)
     72      LOGICAL ok_gust ! pour activer l'effet des gust sur flux surface
     73      PARAMETER (ok_gust=.FALSE.)
    6974c======================================================================
    7075      LOGICAL check ! Verifier la conservation du modele en eau
     
    183188      REAL d_ps(klon)
    184189
     190cccIM
     191      INTEGER klevp1
     192      PARAMETER(klevp1=klev+1)
     193#include "raddim.h"
     194      REAL*8 ZFSUP(KDLON,KFLEV+1)
     195      REAL*8 ZFSDN(KDLON,KFLEV+1)
     196      REAL*8 ZFSUP0(KDLON,KFLEV+1)
     197      REAL*8 ZFSDN0(KDLON,KFLEV+1)
     198
     199cccIM cf. FH
     200      real u850(klon),v850(klon),u200(klon),v200(klon)
     201      real u500(klon),v500(klon),phi500(klon)
     202
     203      logical ok_hf
     204      real ecrit_hf
     205      integer nid_hf
     206      save ok_hf, ecrit_hf, nid_hf       
     207
     208c  QUESTION : noms de variables ?
     209
     210#define histhf
     211#ifdef histhf
     212      data ok_hf,ecrit_hf/.true.,0.25/
     213#else
     214      data ok_hf/.false./
     215#endif
     216
    185217      INTEGER        longcles
    186218      PARAMETER    ( longcles = 20 )
     
    308340      REAL Ma(klon,klev)        ! undilute upward mass flux
    309341      SAVE Ma
     342      REAL qcondc(klon,klev)    ! in-cld water content from convect
     343      SAVE qcondc
    310344      REAL ema_work1(klon, klev), ema_work2(klon, klev)
    311345      SAVE ema_work1, ema_work2
    312346      REAL wdn(klon), tdn(klon), qdn(klon)
     347
     348      REAL wd(klon) ! sb
     349      SAVE wd       ! sb
     350
    313351c Variables locales pour la couche limite (al1):
    314352c
     
    424462      REAL cldemi(klon,klev)  ! emissivite infrarouge
    425463c
    426 C§§§ PB
     464CXXX PB
    427465      REAL fluxq(klon,klev, nbsrf)   ! flux turbulent d'humidite
    428466      REAL fluxt(klon,klev, nbsrf)   ! flux turbulent de chaleur
     
    434472      REAL zxfluxu(klon, klev)
    435473      REAL zxfluxv(klon, klev)
    436 C§§§
     474CXXX
    437475      REAL heat(klon,klev)    ! chauffage solaire
    438476      REAL heat0(klon,klev)   ! chauffage solaire ciel clair
     
    447485      SAVE  heat,cool,albpla,topsw,toplw,solsw,sollw,sollwdown
    448486      SAVE  topsw0,toplw0,solsw0,sollw0, heat0, cool0
     487cccIM
     488      SAVE  ZFSUP,ZFSDN,ZFSUP0,ZFSDN0
     489
    449490      INTEGER itaprad
    450491      SAVE itaprad
     
    621662      character*20 varunits
    622663C     Variables liees au bilan d'energie et d'enthalpi
    623       INTEGER   if_ebil ! level for energy conserv. dignostics
    624       SAVE      if_ebil
    625664      REAL ztsol(klon)
    626665      REAL      h_vcol_tot, h_dair_tot, h_qw_tot, h_ql_tot
     
    637676      SAVE      ip_ebil
    638677      DATA      ip_ebil/2/
     678      INTEGER   if_ebil ! level for energy conserv. dignostics
     679      SAVE      if_ebil
     680c+jld ec_conser
     681      REAL d_t_ec(klon,klev)    ! tendance du a la conersion Ec -> E thermique
     682      REAL ZRCPD
     683c-jld ec_conser
     684cIM
     685      REAL t2m(klon,nbsrf), q2m(klon,nbsrf)
     686      REAL u10m(klon,nbsrf), v10m(klon,nbsrf)
     687      REAL zt2m(klon), zq2m(klon)
     688      REAL zu10m(klon), zv10m(klon)
     689      CHARACTER*40 t2mincels, t2maxcels
    639690c
    640691c Declaration des constantes et des fonctions thermodynamiques
     
    731782         ENDIF
    732783         PRINT*, "Clef pour la convection, iflag_con=", iflag_con
     784         PRINT*, "Clef pour le driver de la convection, ok_cvl=", ok_cvl
    733785c
    734786cKE43
     
    778830ccc         ecrit_ins = NINT(86400./dtime *0.5)  ! 2 fois par jour
    779831ccc         ecrit_ins = NINT(86400./dtime *0.25)  ! 4 fois par jour
     832         ecrit_ins = NINT(86400./dtime/48.)  ! a chaque pas de temps ==> PB. dans time_counter pour 1mois
    780833         ecrit_ins = NINT(86400./dtime/12.)  ! toutes les deux heures
    781          ecrit_ins = NINT(86400./dtime/48.)  ! a chaque pas de temps
    782834         IF (ok_instan) THEN
    783835         PRINT*, 'La frequence de sortie instant. est de ', ecrit_ins
     
    803855c
    804856c
    805 c Gestion calendrier
    806 
    807 c
    808       IF (ok_journe) THEN
    809 c
    810          idayref = day_ref
    811          CALL ymds2ju(annee_ref, 1, idayref, 0.0, zjulian)
    812 c
    813          CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlon,zx_lon)
    814          DO i = 1, iim
    815             zx_lon(i,1) = rlon(i+1)
    816             zx_lon(i,jjmp1) = rlon(i+1)
    817          ENDDO
    818          DO ll=1,klev
    819             znivsig(ll)=float(ll)
    820          ENDDO
    821          CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlat,zx_lat)
    822          write(*,*)'zx_lon = ',zx_lon(:,1)
    823          write(*,*)'zx_lat = ',zx_lat(1,:)
    824          CALL histbeg("histday", iim,zx_lon(:,1), jjmp1,zx_lat(1,:),
    825      .                 1,iim,1,jjmp1, itau_phy, zjulian, dtime,
    826      .                 nhori, nid_day)
    827          write(*,*)'Journee ', itau_phy, zjulian
    828          CALL histvert(nid_day, "presnivs", "Vertical levels", "mb",
    829      .                 klev, presnivs, nvert)
    830 c        call histvert(nid_day, 'sig_s', 'Niveaux sigma','-',
    831 c    .              klev, znivsig, nvert)
    832 c
    833          zsto = dtime
    834          zout = dtime * FLOAT(ecrit_day)
    835 C Essai writephys
    836 c        nom_fichier = 'histday1'
    837 c        call writephy_ini(fid_day,nom_fichier,klon,iim,jjmp1,klev,
    838 c    .                     rlon,rlat, presnivs,
    839 c    .                     zjulian, dtime)
    840 c        call writephy_def(prof2d_on, fid_day, "once", zsto, zout, 0)
    841 c        call writephy_def(prof3d_on, fid_day, "once", zsto, zout,
    842 c    .                                                         klev)
    843 c        call writephy_def(prof2d_av, fid_day, "ave(X)", zsto, zout, 0)
    844 c        call writephy_def(prof3d_av, fid_day, "ave(X)", zsto, zout,
    845 c    .                                                         klev)
    846  
    847 c
    848          CALL histdef(nid_day, "phis", "Surface geop. height", "-",
    849      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    850      .                "once", zsto,zout)
    851 c
    852          CALL histdef(nid_day, "aire", "Grid area", "-",
    853      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    854      .                "once", zsto,zout)
    855 c
    856 c Champs 2D:
    857 c
    858          CALL histdef(nid_day, "tsol", "Surface Temperature", "K",
    859      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    860      .                "ave(X)", zsto,zout)
    861 c
    862          CALL histdef(nid_day, "tter", "Surface Temperature", "K",
    863      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    864      .                "ave(X)", zsto,zout)
    865 c
    866          CALL histdef(nid_day, "tlic", "Surface Temperature", "K",
    867      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    868      .                "ave(X)", zsto,zout)
    869 c
    870          CALL histdef(nid_day, "toce", "Surface Temperature", "K",
    871      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    872      .                "ave(X)", zsto,zout)
    873 c
    874          CALL histdef(nid_day, "tsic", "Surface Temperature", "K",
    875      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    876      .                "ave(X)", zsto,zout)
    877 c
    878          CALL histdef(nid_day, "psol", "Surface Pressure", "Pa",
    879      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    880      .                "ave(X)", zsto,zout)
    881 c
    882          CALL histdef(nid_day, "precip","Precipitation Totale liq+sol"
    883      .                , "kg/s",
    884      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    885      .                "ave(X)", zsto,zout)
    886 c
    887          CALL histdef(nid_day, "snow", "Snow fall", "kg/s",
    888      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    889      .                "ave(X)", zsto,zout)
    890 c
    891          CALL histdef(nid_day, "snow_mass", "Snow Mass", "kg/m2",
    892      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    893      .                "ave(X)", zsto,zout)
    894 c
    895          CALL histdef(nid_day, "evap", "Evaporation", "kg/s",
    896      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    897      .                "ave(X)", zsto,zout)
    898 c
    899          CALL histdef(nid_day, "tops", "Solar rad. at TOA", "W/m2",
    900      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    901      .                "ave(X)", zsto,zout)
    902 c
    903          CALL histdef(nid_day, "topl", "IR rad. at TOA", "W/m2",
    904      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    905      .                "ave(X)", zsto,zout)
    906 c
    907          CALL histdef(nid_day, "sols", "Net Solar rad. at surf.",
    908      .                "W/m2",
    909      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    910      .                "ave(X)", zsto,zout)
    911 c
    912          CALL histdef(nid_day, "soll", "Net IR rad. at surface", "W/m2",
    913      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    914      .                "ave(X)", zsto,zout)
    915 c
    916          CALL histdef(nid_day, "solldown", "Down. IR rad. at surface",
    917      .                "W/m2", iim,jjmp1,nhori, 1,1,1, -99, 32,
    918      .                "ave(X)", zsto,zout)
    919 c
    920          CALL histdef(nid_day, "bils", "Surf. total heat flux", "W/m2",
    921      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    922      .                "ave(X)", zsto,zout)
    923 c
    924          CALL histdef(nid_day, "sens", "Sensible heat flux", "W/m2",
    925      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    926      .                "ave(X)", zsto,zout)
    927 c
    928          CALL histdef(nid_day, "fder", "Heat flux derivation", "W/m2",
    929      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    930      .                "ave(X)", zsto,zout)
    931 c
    932          CALL histdef(nid_day, "frtu", "Zonal wind stress", "Pa",
    933      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    934      .                "ave(X)", zsto,zout)
    935 c
    936          CALL histdef(nid_day, "frtv", "Meridional wind stress", "Pa",
    937      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    938      .                "ave(X)", zsto,zout)
    939 c
    940 C §§§ PB flux pour chauqe sous surface
    941 C
    942          DO nsrf = 1, nbsrf
    943 C
    944            call histdef(nid_day, "pourc_"//clnsurf(nsrf),
    945      $         "Fraction"//clnsurf(nsrf), "W/m2", 
    946      $         iim,jjmp1,nhori, 1,1,1, -99, 32,
    947      $         "ave(X)", zsto,zout)
    948 C
    949            call histdef(nid_day, "tsol_"//clnsurf(nsrf),
    950      $         "Fraction"//clnsurf(nsrf), "W/m2", 
    951      $         iim,jjmp1,nhori, 1,1,1, -99, 32,
    952      $         "ave(X)", zsto,zout)
    953 C
    954            call histdef(nid_day, "sens_"//clnsurf(nsrf),
    955      $         "Sensible heat flux "//clnsurf(nsrf), "W/m2", 
    956      $         iim,jjmp1,nhori, 1,1,1, -99, 32,
    957      $         "ave(X)", zsto,zout)
    958 c
    959            call histdef(nid_day, "lat_"//clnsurf(nsrf),
    960      $         "Latent heat flux "//clnsurf(nsrf), "W/m2", 
    961      $         iim,jjmp1,nhori, 1,1,1, -99, 32,
    962      $         "ave(X)", zsto,zout)
    963 C
    964            call histdef(nid_day, "taux_"//clnsurf(nsrf),
    965      $         "Zonal wind stress"//clnsurf(nsrf),"Pa",
    966      $         iim,jjmp1,nhori, 1,1,1, -99, 32,
    967      $         "ave(X)", zsto,zout)
    968 
    969            call histdef(nid_day, "tauy_"//clnsurf(nsrf),
    970      $         "Meridional xind stress "//clnsurf(nsrf), "Pa", 
    971      $         iim,jjmp1,nhori, 1,1,1, -99, 32,
    972      $         "ave(X)", zsto,zout)
    973 C
    974            call histdef(nid_day, "albe_"//clnsurf(nsrf),
    975      $         "Albedo surf. "//clnsurf(nsrf), "W/m2", 
    976      $         iim,jjmp1,nhori, 1,1,1, -99, 32,
    977      $         "ave(X)", zsto,zout)
    978 C
    979            call histdef(nid_day, "rugs_"//clnsurf(nsrf),
    980      $         "Latent heat flux "//clnsurf(nsrf), "W/m2", 
    981      $         iim,jjmp1,nhori, 1,1,1, -99, 32,
    982      $         "ave(X)", zsto,zout)
    983 
    984 C§§§
    985          END DO
    986            
    987          CALL histdef(nid_day, "sicf", "Sea-ice fraction", "-",
    988      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    989      .                "ave(X)", zsto,zout)
    990 c
    991          CALL histdef(nid_day, "cldl", "Low-level cloudiness", "-",
    992      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    993      .                "ave(X)", zsto,zout)
    994 c
    995          CALL histdef(nid_day, "cldm", "Mid-level cloudiness", "-",
    996      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    997      .                "ave(X)", zsto,zout)
    998 c
    999          CALL histdef(nid_day, "cldh", "High-level cloudiness", "-",
    1000      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1001      .                "ave(X)", zsto,zout)
    1002 c
    1003          CALL histdef(nid_day, "cldt", "Total cloudiness", "-",
    1004      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1005      .                "ave(X)", zsto,zout)
    1006 c
    1007          CALL histdef(nid_day, "cldq", "Cloud liquid water path", "-",
    1008      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1009      .                "ave(X)", zsto,zout)
    1010 c
    1011 c Champs 3D:
    1012 c
    1013          CALL histdef(nid_day, "temp", "Air temperature", "K",
    1014      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    1015      .                "ave(X)", zsto,zout)
    1016 c
    1017          CALL histdef(nid_day, "ovap", "Specific humidity", "Kg/Kg",
    1018      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    1019      .                "ave(X)", zsto,zout)
    1020 c
    1021          CALL histdef(nid_day, "geop", "Geopotential height", "m",
    1022      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    1023      .                "ave(X)", zsto,zout)
    1024 c
    1025          CALL histdef(nid_day, "vitu", "Zonal wind", "m/s",
    1026      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    1027      .                "ave(X)", zsto,zout)
    1028 c
    1029          CALL histdef(nid_day, "vitv", "Meridional wind", "m/s",
    1030      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    1031      .                "ave(X)", zsto,zout)
    1032 c
    1033          CALL histdef(nid_day, "vitw", "Vertical wind", "m/s",
    1034      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    1035      .                "ave(X)", zsto,zout)
    1036 c
    1037          CALL histdef(nid_day, "pres", "Air pressure", "Pa",
    1038      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    1039      .                "ave(X)", zsto,zout)
    1040 c
    1041          CALL histend(nid_day)
    1042 c
    1043          ndex2d = 0
    1044          ndex3d = 0
    1045 c
    1046       ENDIF ! fin de test sur ok_journe
    1047 c
    1048       IF (ok_mensuel) THEN
    1049 c
    1050          idayref = day_ref
    1051          CALL ymds2ju(annee_ref, 1, idayref, 0.0, zjulian)
    1052 c
    1053          CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlon,zx_lon)
    1054          DO i = 1, iim
    1055             zx_lon(i,1) = rlon(i+1)
    1056             zx_lon(i,jjmp1) = rlon(i+1)
    1057          ENDDO
    1058          DO ll=1,klev
    1059             znivsig(ll)=float(ll)
    1060          ENDDO
    1061          CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlat,zx_lat)
    1062          CALL histbeg("histmth.nc", iim,zx_lon(:,1), jjmp1,zx_lat(1,:),
    1063      .                 1,iim,1,jjmp1, itau_phy, zjulian, dtime,
    1064      .                 nhori, nid_mth)
    1065          write(*,*)'Mensuel ', itau_phy, zjulian
    1066          CALL histvert(nid_mth, "presnivs", "Vertical levels", "mb",
    1067      .                 klev, presnivs, nvert)
    1068 c        call histvert(nid_mth, 'sig_s', 'Niveaux sigma','-',
    1069 c    .              klev, znivsig, nvert)
    1070 c
    1071          zsto = dtime
    1072          zout = dtime * ecrit_mth
    1073 c
    1074          CALL histdef(nid_mth, "phis", "Surface geop. height", "-",
    1075      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1076      .                "once",  zsto,zout)
    1077 c
    1078          CALL histdef(nid_mth, "aire", "Grid area", "-",
    1079      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1080      .                "once",  zsto,zout)
    1081 c
    1082 c Champs 2D:
    1083 c
    1084          CALL histdef(nid_mth, "tsol", "Surface Temperature", "K",
    1085      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1086      .                "ave(X)", zsto,zout)
    1087 c
    1088          CALL histdef(nid_mth, "psol", "Surface Pressure", "Pa",
    1089      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1090      .                "ave(X)", zsto,zout)
    1091 c
    1092          CALL histdef(nid_mth, "qsol", "Surface humidity", "mm",
    1093      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1094      .                "ave(X)", zsto,zout)
    1095 c
    1096          CALL histdef(nid_mth, "precip", "Precipitation Totale liq+sol",
    1097      .                "kg/s",
    1098      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1099      .                "ave(X)", zsto,zout)
    1100 c
    1101          CALL histdef(nid_mth, "plul", "Large-scale Precip.", "kg/s",
    1102      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1103      .                "ave(X)", zsto,zout)
    1104 c
    1105          CALL histdef(nid_mth, "pluc", "Convective Precip.", "kg/s",
    1106      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1107      .                "ave(X)", zsto,zout)
    1108 c
    1109          CALL histdef(nid_mth, "snow", "Snow fall", "kg/s",
    1110      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1111      .                "ave(X)", zsto,zout)
    1112 c
    1113          CALL histdef(nid_mth, "snow_mass", "Snow Mass", "kg/m2",
    1114      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1115      .                "ave(X)", zsto,zout)
    1116 c
    1117          CALL histdef(nid_mth, "evap", "Evaporation", "kg/s",
    1118      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1119      .                "ave(X)", zsto,zout)
    1120 c
    1121          CALL histdef(nid_mth, "tops", "Solar rad. at TOA", "W/m2",
    1122      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1123      .                "ave(X)", zsto,zout)
    1124 c
    1125          CALL histdef(nid_mth, "topl", "IR rad. at TOA", "W/m2",
    1126      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1127      .                "ave(X)", zsto,zout)
    1128 c
    1129          CALL histdef(nid_mth, "sols", "Solar rad. at surf.", "W/m2",
    1130      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1131      .                "ave(X)", zsto,zout)
    1132 c
    1133          CALL histdef(nid_mth, "soll", "IR rad. at surface", "W/m2",
    1134      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1135      .                "ave(X)", zsto,zout)
    1136 c
    1137          CALL histdef(nid_mth, "solldown", "Down. IR rad. at surface",
    1138      .                "W/m2", iim,jjmp1,nhori, 1,1,1, -99, 32,
    1139      .                "ave(X)", zsto,zout)
    1140 c
    1141          CALL histdef(nid_mth, "tops0", "Solar rad. at TOA", "W/m2",
    1142      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1143      .                "ave(X)", zsto,zout)
    1144 c
    1145          CALL histdef(nid_mth, "topl0", "IR rad. at TOA", "W/m2",
    1146      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1147      .                "ave(X)", zsto,zout)
    1148 c
    1149          CALL histdef(nid_mth, "sols0", "Solar rad. at surf.", "W/m2",
    1150      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1151      .                "ave(X)", zsto,zout)
    1152 c
    1153          CALL histdef(nid_mth, "soll0", "IR rad. at surface", "W/m2",
    1154      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1155      .                "ave(X)", zsto,zout)
    1156 c
    1157          CALL histdef(nid_mth, "bils", "Surf. total heat flux", "W/m2",
    1158      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1159      .                "ave(X)", zsto,zout)
    1160 c
    1161          CALL histdef(nid_mth, "sens", "Sensible heat flux", "W/m2",
    1162      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1163      .                "ave(X)", zsto,zout)
    1164 c
    1165          CALL histdef(nid_mth, "fder", "Heat flux derivation", "W/m2",
    1166      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1167      .                "ave(X)", zsto,zout)
    1168 c
    1169          CALL histdef(nid_mth, "frtu", "Zonal wind stress", "Pa",
    1170      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1171      .                "ave(X)", zsto,zout)
    1172 c
    1173          CALL histdef(nid_mth, "frtv", "Meridional wind stress", "Pa",
    1174      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1175      .                "ave(X)", zsto,zout)
    1176 c
    1177          DO nsrf = 1, nbsrf
    1178 C
    1179            call histdef(nid_mth, "pourc_"//clnsurf(nsrf),
    1180      $         "Fraction "//clnsurf(nsrf), "W/m2", 
    1181      $         iim,jjmp1,nhori, 1,1,1, -99, 32,
    1182      $         "ave(X)", zsto,zout)
    1183 C
    1184            call histdef(nid_mth, "tsol_"//clnsurf(nsrf),
    1185      $         "Fraction "//clnsurf(nsrf), "W/m2", 
    1186      $         iim,jjmp1,nhori, 1,1,1, -99, 32,
    1187      $         "ave(X)", zsto,zout)
    1188 C
    1189            call histdef(nid_mth, "sens_"//clnsurf(nsrf),
    1190      $         "Sensible heat flux "//clnsurf(nsrf), "W/m2", 
    1191      $         iim,jjmp1,nhori, 1,1,1, -99, 32,
    1192      $         "ave(X)", zsto,zout)
    1193 c
    1194            call histdef(nid_mth, "lat_"//clnsurf(nsrf),
    1195      $         "Latent heat flux "//clnsurf(nsrf), "W/m2", 
    1196      $         iim,jjmp1,nhori, 1,1,1, -99, 32,
    1197      $         "ave(X)", zsto,zout)
    1198 C
    1199            call histdef(nid_mth, "taux_"//clnsurf(nsrf),
    1200      $         "Zonal wind stress"//clnsurf(nsrf), "Pa", 
    1201      $         iim,jjmp1,nhori, 1,1,1, -99, 32,
    1202      $         "ave(X)", zsto,zout)
    1203 
    1204            call histdef(nid_mth, "tauy_"//clnsurf(nsrf),
    1205      $         "Meridional xind stress "//clnsurf(nsrf), "Pa", 
    1206      $         iim,jjmp1,nhori, 1,1,1, -99, 32,
    1207      $         "ave(X)", zsto,zout)
    1208 c
    1209            call histdef(nid_mth, "albe_"//clnsurf(nsrf),
    1210      $         "Albedo surf. "//clnsurf(nsrf), "W/m2", 
    1211      $         iim,jjmp1,nhori, 1,1,1, -99, 32,
    1212      $         "ave(X)", zsto,zout)
    1213 c
    1214            call histdef(nid_mth, "rugs_"//clnsurf(nsrf),
    1215      $         "Latent heat flux "//clnsurf(nsrf), "W/m2", 
    1216      $         iim,jjmp1,nhori, 1,1,1, -99, 32,
    1217      $         "ave(X)", zsto,zout)
    1218 c
    1219          CALL histdef(nid_mth, "ages_"//clnsurf(nsrf), "Snow age","day",
    1220      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1221      .                "ave(X)", zsto,zout)
    1222 
    1223          END DO
    1224 C
    1225          CALL histdef(nid_mth, "sicf", "Sea-ice fraction", "-",
    1226      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1227      .                "ave(X)", zsto,zout)
    1228 c
    1229          CALL histdef(nid_mth, "albs", "Surface albedo", "-",
    1230      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1231      .                "ave(X)", zsto,zout)
    1232          CALL histdef(nid_mth, "albslw", "Surface albedo LW", "-",
    1233      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1234      .                "ave(X)", zsto,zout)
    1235 c
    1236          CALL histdef(nid_mth, "cdrm", "Momentum drag coef.", "-",
    1237      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1238      .                "ave(X)", zsto,zout)
    1239 c
    1240          CALL histdef(nid_mth, "cdrh", "Heat drag coef.", "-",
    1241      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1242      .                "ave(X)", zsto,zout)
    1243 c
    1244          CALL histdef(nid_mth, "cldl", "Low-level cloudiness", "-",
    1245      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1246      .                "ave(X)", zsto,zout)
    1247 c
    1248          CALL histdef(nid_mth, "cldm", "Mid-level cloudiness", "-",
    1249      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1250      .                "ave(X)", zsto,zout)
    1251 c
    1252          CALL histdef(nid_mth, "cldh", "High-level cloudiness", "-",
    1253      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1254      .                "ave(X)", zsto,zout)
    1255 c
    1256          CALL histdef(nid_mth, "cldt", "Total cloudiness", "-",
    1257      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1258      .                "ave(X)", zsto,zout)
    1259 c
    1260          CALL histdef(nid_mth, "cldq", "Cloud liquid water path", "-",
    1261      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1262      .                "ave(X)", zsto,zout)
    1263 c
    1264          CALL histdef(nid_mth, "ue", "Zonal energy transport", "-",
    1265      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1266      .                "ave(X)", zsto,zout)
    1267 c
    1268          CALL histdef(nid_mth, "ve", "Merid energy transport", "-",
    1269      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1270      .                "ave(X)", zsto,zout)
    1271 c
    1272          CALL histdef(nid_mth, "uq", "Zonal humidity transport", "-",
    1273      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1274      .                "ave(X)", zsto,zout)
    1275 c
    1276          CALL histdef(nid_mth, "vq", "Merid humidity transport", "-",
    1277      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1278      .                "ave(X)", zsto,zout)
    1279 cKE43
    1280       IF (iflag_con .GE. 3) THEN ! sb
    1281 c
    1282          CALL histdef(nid_mth, "cape", "Conv avlbl pot ener", "J/Kg",
    1283      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1284      .                "ave(X)", zsto,zout)
    1285 c
    1286          CALL histdef(nid_mth, "pbase", "Cld base pressure", "hPa",
    1287      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1288      .                "ave(X)", zsto,zout)
    1289 c
    1290          CALL histdef(nid_mth, "ptop", "Cld top pressure", "hPa",
    1291      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1292      .                "ave(X)", zsto,zout)
    1293 c
    1294          CALL histdef(nid_mth, "fbase", "Cld base mass flux", "Kg/m2/s",
    1295      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1296      .                "ave(X)", zsto,zout)
    1297 c
    1298 c
    1299       ENDIF
    1300 c34EK
    1301 c
    1302 c Champs 3D:
    1303 c
    1304          CALL histdef(nid_mth, "temp", "Air temperature", "K",
    1305      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    1306      .                "ave(X)", zsto,zout)
    1307 c
    1308          CALL histdef(nid_mth, "ovap", "Specific humidity", "Kg/Kg",
    1309      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    1310      .                "ave(X)", zsto,zout)
    1311 c
    1312          CALL histdef(nid_mth, "geop", "Geopotential height", "m",
    1313      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    1314      .                "ave(X)", zsto,zout)
    1315 c
    1316          CALL histdef(nid_mth, "vitu", "Zonal wind", "m/s",
    1317      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    1318      .                "ave(X)", zsto,zout)
    1319 c
    1320          CALL histdef(nid_mth, "vitv", "Meridional wind", "m/s",
    1321      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    1322      .                "ave(X)", zsto,zout)
    1323 c
    1324          CALL histdef(nid_mth, "vitw", "Vertical wind", "m/s",
    1325      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    1326      .                "ave(X)", zsto,zout)
    1327 c
    1328          CALL histdef(nid_mth, "pres", "Air pressure", "Pa",
    1329      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    1330      .                "ave(X)", zsto,zout)
    1331 c
    1332          CALL histdef(nid_mth, "rneb", "Cloud fraction", "-",
    1333      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    1334      .                "ave(X)", zsto,zout)
    1335 c
    1336          CALL histdef(nid_mth, "rhum", "Relative humidity", "-",
    1337      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    1338      .                "ave(X)", zsto,zout)
    1339 c
    1340          CALL histdef(nid_mth, "clwcon", "Cloud Liquid water content"
    1341      .                , "kg/kg",
    1342      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    1343      .                "ave(X)", zsto,zout)
    1344 c
    1345          CALL histdef(nid_mth, "oliq", "Liquid water content", "kg/kg",
    1346      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    1347      .                "ave(X)", zsto,zout)
    1348 c
    1349          CALL histdef(nid_mth, "dtdyn", "Dynamics dT", "K/s",
    1350      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    1351      .                "ave(X)", zsto,zout)
    1352 c
    1353          CALL histdef(nid_mth, "dqdyn", "Dynamics dQ", "Kg/Kg/s",
    1354      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    1355      .                "ave(X)", zsto,zout)
    1356 c
    1357          CALL histdef(nid_mth, "dtcon", "Convection dT", "K/s",
    1358      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    1359      .                "ave(X)", zsto,zout)
    1360 c
    1361          CALL histdef(nid_mth, "ducon", "Convection du", "m/s2",
    1362      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    1363      .                "ave(X)", zsto,zout)
    1364 c
    1365          CALL histdef(nid_mth, "dqcon", "Convection dQ", "Kg/Kg/s",
    1366      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    1367      .                "ave(X)", zsto,zout)
    1368 c
    1369          CALL histdef(nid_mth, "dtlsc", "Condensation dT", "K/s",
    1370      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    1371      .                "ave(X)", zsto,zout)
    1372 c
    1373          CALL histdef(nid_mth, "dqlsc", "Condensation dQ", "Kg/Kg/s",
    1374      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    1375      .                "ave(X)", zsto,zout)
    1376 c
    1377          CALL histdef(nid_mth, "dtvdf", "Boundary-layer dT", "K/s",
    1378      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    1379      .                "ave(X)", zsto,zout)
    1380 c
    1381          CALL histdef(nid_mth, "dqvdf", "Boundary-layer dQ", "Kg/Kg/s",
    1382      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    1383      .                "ave(X)", zsto,zout)
    1384 c
    1385          CALL histdef(nid_mth, "dteva", "Reevaporation dT", "K/s",
    1386      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    1387      .                "ave(X)", zsto,zout)
    1388 c
    1389          CALL histdef(nid_mth, "dqeva", "Reevaporation dQ", "Kg/Kg/s",
    1390      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    1391      .                "ave(X)", zsto,zout)
    1392 
    1393          CALL histdef(nid_mth, "ptconv", "POINTS CONVECTIFS"," ",
    1394      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    1395      .                "ave(X)", zsto,zout)
    1396 
    1397          CALL histdef(nid_mth, "ratqs", "RATQS"," ",
    1398      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    1399      .                "ave(X)", zsto,zout)
    1400 
    1401 c
    1402          CALL histdef(nid_mth, "dtajs", "Dry adjust. dT", "K/s",
    1403      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    1404      .                "ave(X)", zsto,zout)
    1405 
    1406          CALL histdef(nid_mth, "dqajs", "Dry adjust. dQ", "Kg/Kg/s",
    1407      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    1408      .                "ave(X)", zsto,zout)
    1409 c
    1410          CALL histdef(nid_mth, "dtswr", "SW radiation dT", "K/s",
    1411      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    1412      .                "ave(X)", zsto,zout)
    1413 c
    1414          CALL histdef(nid_mth, "dtsw0", "SW radiation dT", "K/s",
    1415      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    1416      .                "ave(X)", zsto,zout)
    1417 c
    1418          CALL histdef(nid_mth, "dtlwr", "LW radiation dT", "K/s",
    1419      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    1420      .                "ave(X)", zsto,zout)
    1421 c
    1422          CALL histdef(nid_mth, "dtlw0", "LW radiation dT", "K/s",
    1423      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    1424      .                "ave(X)", zsto,zout)
    1425 c
    1426          CALL histdef(nid_mth, "duvdf", "Boundary-layer dU", "m/s2",
    1427      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    1428      .                "ave(X)", zsto,zout)
    1429 c
    1430          CALL histdef(nid_mth, "dvvdf", "Boundary-layer dV", "m/s2",
    1431      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    1432      .                "ave(X)", zsto,zout)
    1433 c
    1434          IF (ok_orodr) THEN
    1435          CALL histdef(nid_mth, "duoro", "Orography dU", "m/s2",
    1436      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    1437      .                "ave(X)", zsto,zout)
    1438 c
    1439          CALL histdef(nid_mth, "dvoro", "Orography dV", "m/s2",
    1440      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    1441      .                "ave(X)", zsto,zout)
    1442 c
    1443          ENDIF
    1444 C
    1445          IF (ok_orolf) THEN
    1446          CALL histdef(nid_mth, "dulif", "Orography dU", "m/s2",
    1447      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    1448      .                "ave(X)", zsto,zout)
    1449 c
    1450          CALL histdef(nid_mth, "dvlif", "Orography dV", "m/s2",
    1451      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    1452      .                "ave(X)", zsto,zout)
    1453          ENDIF
    1454 C
    1455          CALL histdef(nid_mth, "ozone", "Ozone concentration", "-",
    1456      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    1457      .                "ave(X)", zsto,zout)
    1458 c
    1459          if (nqmax.GE.3) THEN
    1460          DO iq=1,nqmax-2
    1461          IF (iq.LE.99) THEN
    1462          WRITE(str2,'(i2.2)') iq
    1463          CALL histdef(nid_mth, "trac"//str2, "Tracer No."//str2, "-",
    1464      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    1465      .                "ave(X)", zsto,zout)
    1466          ELSE
    1467          PRINT*, "Trop de traceurs"
    1468          CALL abort
    1469          ENDIF
    1470          ENDDO
    1471          ENDIF
    1472 c
    1473 cKE43
    1474       IF (iflag_con.GE.3) THEN ! (sb)
    1475 c
    1476          CALL histdef(nid_mth, "upwd", "saturated updraft", "Kg/m2/s",
    1477      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    1478      .                "ave(X)", zsto,zout)
    1479 c
    1480          CALL histdef(nid_mth, "dnwd", "saturated downdraft","Kg/m2/s",
    1481      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    1482      .                "ave(X)", zsto,zout)
    1483 c
    1484          CALL histdef(nid_mth, "dnwd0", "unsat. downdraft", "Kg/m2/s",
    1485      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    1486      .                "ave(X)", zsto,zout)
    1487 c
    1488          CALL histdef(nid_mth,"Ma","undilute adiab updraft","Kg/m2/s",
    1489      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    1490      .                "ave(X)", zsto,zout)
    1491 c
    1492 c
    1493       ENDIF
    1494 c34EK
    1495          CALL histend(nid_mth)
    1496 c
    1497          ndex2d = 0
    1498          ndex3d = 0
    1499 c
    1500       ENDIF ! fin de test sur ok_mensuel
    1501 c
    1502 c
    1503       IF (ok_instan) THEN
    1504 c
    1505          idayref = day_ref
    1506          CALL ymds2ju(annee_ref, 1, idayref, 0.0, zjulian)
    1507 c
    1508          CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlon,zx_lon)
    1509          DO i = 1, iim
    1510             zx_lon(i,1) = rlon(i+1)
    1511             zx_lon(i,jjmp1) = rlon(i+1)
    1512          ENDDO
    1513          DO ll=1,klev
    1514             znivsig(ll)=float(ll)
    1515          ENDDO
    1516          CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlat,zx_lat)
    1517          CALL histbeg("histins", iim,zx_lon(:,1), jjmp1,zx_lat(1,:),
    1518      .                 1,iim,1,jjmp1, itau_phy, zjulian, dtime,
    1519      .                 nhori, nid_ins)
    1520          write(*,*)'Inst ', itau_phy, zjulian
    1521          CALL histvert(nid_ins, "presnivs", "Vertical levels", "mb",
    1522      .                 klev, presnivs, nvert)
    1523 c        call histvert(nid_ins, 'sig_s', 'Niveaux sigma','-',
    1524 c    .              klev, znivsig, nvert)
    1525 c
    1526 c
    1527          zsto = dtime * ecrit_ins
    1528          zout = dtime * ecrit_ins
    1529 C
    1530          CALL histdef(nid_ins, "phis", "Surface geop. height", "-",
    1531      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1532      .                "once", zsto,zout)
    1533 c
    1534          CALL histdef(nid_ins, "aire", "Grid area", "-",
    1535      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1536      .                "once", zsto,zout)
    1537 c
    1538 c Champs 2D:
    1539 c
    1540         CALL histdef(nid_ins, "tsol", "Surface Temperature", "K",
    1541      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1542      .                "inst(X)", zsto,zout)
    1543 c
    1544         CALL histdef(nid_ins, "psol", "Surface Pressure", "Pa",
    1545      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1546      .                "inst(X)", zsto,zout)
    1547 c
    1548          CALL histdef(nid_ins, "plul", "Large-scale Precip.", "mm/day",
    1549      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1550      .                "inst(X)", zsto,zout)
    1551 c
    1552          CALL histdef(nid_ins, "pluc", "Convective Precip.", "mm/day",
    1553      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1554      .                "inst(X)", zsto,zout)
    1555 
    1556         CALL histdef(nid_ins, "qsol", "Surface humidity", "mm",
    1557      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1558      .                "inst(X)", zsto,zout)
    1559 c
    1560          CALL histdef(nid_ins, "cdrm", "Momentum drag coef.", "-",
    1561      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1562      .                "inst(X)", zsto,zout)
    1563 c
    1564          CALL histdef(nid_ins, "cdrh", "Heat drag coef.", "-",
    1565      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1566      .                "inst(X)", zsto,zout)
    1567 c
    1568          CALL histdef(nid_ins, "precip", "Precipitation Totale liq+sol",
    1569      .                "kg/s",
    1570      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1571      .                "inst(X)", zsto,zout)
    1572 c
    1573          CALL histdef(nid_ins, "snow", "Snow fall", "kg/s",
    1574      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1575      .                "inst(X)", zsto,zout)
    1576 c
    1577          CALL histdef(nid_ins, "snow_mass", "Snow Mass", "kg/m2",
    1578      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1579      .                "inst(X)", zsto,zout)
    1580 c
    1581          CALL histdef(nid_ins, "topl", "OLR", "W/m2",
    1582      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1583      .                "inst(X)", zsto,zout)
    1584 c
    1585          CALL histdef(nid_ins, "evap", "Evaporation", "kg/s",
    1586      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1587      .                "inst(X)", zsto,zout)
    1588 c
    1589          CALL histdef(nid_ins, "sols", "Solar rad. at surf.", "W/m2",
    1590      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1591      .                "inst(X)", zsto,zout)
    1592 c
    1593          CALL histdef(nid_ins, "soll", "IR rad. at surface", "W/m2",
    1594      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1595      .                "inst(X)", zsto,zout)
    1596 c
    1597          CALL histdef(nid_ins, "solldown", "Down. IR rad. at surface",
    1598      .                "W/m2", iim,jjmp1,nhori, 1,1,1, -99, 32,
    1599      .                "inst(X)", zsto,zout)
    1600 c
    1601          CALL histdef(nid_ins, "bils", "Surf. total heat flux", "W/m2",
    1602      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1603      .                "inst(X)", zsto,zout)
    1604 c
    1605          CALL histdef(nid_ins, "sens", "Sensible heat flux", "W/m2",
    1606      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1607      .                "inst(X)", zsto,zout)
    1608 c
    1609          CALL histdef(nid_ins, "fder", "Heat flux derivation", "W/m2",
    1610      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1611      .                "inst(X)", zsto,zout)
    1612 c
    1613       CALL histdef(nid_ins, "dtsvdfo", "Boundary-layer dTs(o)", "K/s",
    1614      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1615      .                "inst(X)", zsto,zout)
    1616 c
    1617       CALL histdef(nid_ins, "dtsvdft", "Boundary-layer dTs(t)", "K/s",
    1618      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1619      .                "inst(X)", zsto,zout)
    1620 c
    1621       CALL histdef(nid_ins, "dtsvdfg", "Boundary-layer dTs(g)", "K/s",
    1622      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1623      .                "inst(X)", zsto,zout)
    1624 c
    1625       CALL histdef(nid_ins, "dtsvdfi", "Boundary-layer dTs(g)", "K/s",
    1626      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1627      .                "inst(X)", zsto,zout)
    1628 
    1629          DO nsrf = 1, nbsrf
    1630 C
    1631            call histdef(nid_ins, "pourc_"//clnsurf(nsrf),
    1632      $         "Fraction"//clnsurf(nsrf), "W/m2", 
    1633      $         iim,jjmp1,nhori, 1,1,1, -99, 32,
    1634      $         "inst(X)", zsto,zout)
    1635 
    1636            call histdef(nid_ins, "sens_"//clnsurf(nsrf),
    1637      $         "Sensible heat flux "//clnsurf(nsrf), "W/m2", 
    1638      $         iim,jjmp1,nhori, 1,1,1, -99, 32,
    1639      $         "inst(X)", zsto,zout)
    1640 c
    1641            call histdef(nid_ins, "tsol_"//clnsurf(nsrf),
    1642      $         "Surface Temperature"//clnsurf(nsrf), "W/m2", 
    1643      $         iim,jjmp1,nhori, 1,1,1, -99, 32,
    1644      $         "inst(X)", zsto,zout)
    1645 c
    1646            call histdef(nid_ins, "lat_"//clnsurf(nsrf),
    1647      $         "Latent heat flux "//clnsurf(nsrf), "W/m2", 
    1648      $         iim,jjmp1,nhori, 1,1,1, -99, 32,
    1649      $         "inst(X)", zsto,zout)
    1650 C
    1651            call histdef(nid_ins, "taux_"//clnsurf(nsrf),
    1652      $         "Zonal wind stress"//clnsurf(nsrf),"Pa",
    1653      $         iim,jjmp1,nhori, 1,1,1, -99, 32,
    1654      $         "inst(X)", zsto,zout)
    1655 
    1656            call histdef(nid_ins, "tauy_"//clnsurf(nsrf),
    1657      $         "Meridional xind stress "//clnsurf(nsrf), "Pa", 
    1658      $         iim,jjmp1,nhori, 1,1,1, -99, 32,
    1659      $         "inst(X)", zsto,zout)
    1660 c
    1661            call histdef(nid_ins, "albe_"//clnsurf(nsrf),
    1662      $         "Albedo "//clnsurf(nsrf), "-", 
    1663      $         iim,jjmp1,nhori, 1,1,1, -99, 32,
    1664      $         "inst(X)", zsto,zout)
    1665 c
    1666            call histdef(nid_ins, "rugs_"//clnsurf(nsrf),
    1667      $         "rugosite "//clnsurf(nsrf), "-", 
    1668      $         iim,jjmp1,nhori, 1,1,1, -99, 32,
    1669      $         "inst(X)", zsto,zout)
    1670 C§§§
    1671          END DO
    1672          CALL histdef(nid_ins, "rugs", "rugosity", "-",
    1673      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1674      .                "inst(X)", zsto,zout)
    1675 
    1676 c
    1677          CALL histdef(nid_ins, "albs", "Surface albedo", "-",
    1678      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1679      .                "inst(X)", zsto,zout)
    1680          CALL histdef(nid_ins, "albslw", "Surface albedo LW", "-",
    1681      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    1682      .                "inst(X)", zsto,zout)
    1683 c
    1684 c
    1685 c Champs 3D:
    1686 c
    1687          CALL histdef(nid_ins, "temp", "Temperature", "K",
    1688      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    1689      .                "inst(X)", zsto,zout)
    1690 c
    1691          CALL histdef(nid_ins, "vitu", "Zonal wind", "m/s",
    1692      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    1693      .                "inst(X)", zsto,zout)
    1694 c
    1695          CALL histdef(nid_ins, "vitv", "Merid wind", "m/s",
    1696      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    1697      .                "inst(X)", zsto,zout)
    1698 c
    1699          CALL histdef(nid_ins, "geop", "Geopotential height", "m",
    1700      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    1701      .                "inst(X)", zsto,zout)
    1702 c
    1703          CALL histdef(nid_ins, "pres", "Air pressure", "Pa",
    1704      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    1705      .                "inst(X)", zsto,zout)
    1706 c
    1707          CALL histdef(nid_ins, "dtvdf", "Boundary-layer dT", "K/s",
    1708      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    1709      .                "inst(X)", zsto,zout)
    1710 c
    1711          CALL histdef(nid_ins, "dqvdf", "Boundary-layer dQ", "Kg/Kg/s",
    1712      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    1713      .                "inst(X)", zsto,zout)
    1714 c
    1715 
    1716          CALL histend(nid_ins)
    1717 c
    1718          ndex2d = 0
    1719          ndex3d = 0
    1720 c
    1721       ENDIF
    1722 
    1723 c$$$PB Positionner date0 pour initialisation de ORCHIDEE
     857cccIM
     858      t2mincels = 't_min(X)'
     859      t2maxcels = 't_max(X)'
     860
     861cccIM cf. FH
     862c
     863c=============================================================
     864c   Initialisation des sorties
     865c=============================================================
     866#ifdef histhf
     867#include "ini_histhf.h"
     868#endif
     869
     870#include "ini_histday.h"
     871#include "ini_histmth.h"
     872#include "ini_histins.h"
     873
     874cXXXPB Positionner date0 pour initialisation de ORCHIDEE
    1724875      date0 = zjulian
    1725876C      date0 = day_ini
     
    18801031      IF (if_ebil.ge.2) THEN
    18811032        ztit='after reevap'
    1882         CALL diagetpq(paire,ztit,ip_ebil,2,2,dtime
     1033        CALL diagetpq(paire,ztit,ip_ebil,2,1,dtime
    18831034     e      , t_seri,q_seri,ql_seri,qs_seri,u_seri,v_seri,paprs,pplay
    18841035     s      , d_h_vcol, d_qt, d_qw, d_ql, d_qs, d_ec)
     
    19401091     s            fluxt,fluxq,fluxu,fluxv,cdragh,cdragm,
    19411092     s            dsens, devap,
    1942      s            ycoefh,yu1,yv1)
    1943 
    1944 c
    1945 C§§§ PB
    1946 C§§§ Incrementation des flux
    1947 C§§
     1093     s            ycoefh,yu1,yv1, t2m, q2m, u10m, v10m)
     1094c
     1095CXXX PB
     1096CXXX Incrementation des flux
     1097CXXX
    19481098      zxfluxt=0.
    19491099      zxfluxq=0.
     
    19991149         zxtsol(i) = 0.0
    20001150         zxfluxlat(i) = 0.0
     1151cccIM
     1152         zt2m(i) = 0.0
     1153         zq2m(i) = 0.0
     1154         zu10m(i) = 0.0
     1155         zv10m(i) = 0.0
     1156c
    20011157         IF ( abs( pctsrf(i, is_ter) + pctsrf(i, is_lic) +
    20021158     $       pctsrf(i, is_oce) + pctsrf(i, is_sic)  - 1.) .GT. EPSFRA)
     
    20081164      DO nsrf = 1, nbsrf
    20091165        DO i = 1, klon
    2010 c$$$      IF (pctsrf(i,nsrf) .GE. EPSFRA) THEN
     1166c        IF (pctsrf(i,nsrf) .GE. EPSFRA) THEN
    20111167            ftsol(i,nsrf) = ftsol(i,nsrf) + d_ts(i,nsrf)
    20121168            zxtsol(i) = zxtsol(i) + ftsol(i,nsrf)*pctsrf(i,nsrf)
    20131169            zxfluxlat(i) = zxfluxlat(i) + fluxlat(i,nsrf)*pctsrf(i,nsrf)
    2014 c$$$      ENDIF
     1170cccIM
     1171            zt2m(i) = zt2m(i) + t2m(i,nsrf)*pctsrf(i,nsrf)
     1172            zq2m(i) = zq2m(i) + q2m(i,nsrf)*pctsrf(i,nsrf)
     1173            zu10m(i) = zu10m(i) + u10m(i,nsrf)*pctsrf(i,nsrf)
     1174            zv10m(i) = zv10m(i) + v10m(i,nsrf)*pctsrf(i,nsrf)
     1175c        ENDIF
    20151176        ENDDO
    20161177      ENDDO
     
    20221183        DO i = 1, klon
    20231184          IF (pctsrf(i,nsrf) .LT. epsfra) ftsol(i,nsrf) = zxtsol(i)
     1185cccIM
     1186          IF (pctsrf(i,nsrf) .LT. epsfra) t2m(i,nsrf) = zt2m(i)
     1187          IF (pctsrf(i,nsrf) .LT. epsfra) q2m(i,nsrf) = zq2m(i)
     1188          IF (pctsrf(i,nsrf) .LT. epsfra) u10m(i,nsrf) = zu10m(i)
     1189          IF (pctsrf(i,nsrf) .LT. epsfra) v10m(i,nsrf) = zv10m(i)
    20241190        ENDDO
    20251191      ENDDO
    2026 
     1192c
    20271193c
    20281194c Calculer la derive du flux infrarouge
    20291195c
    2030 c$$$      DO nsrf = 1, nbsrf
    2031       DO i = 1, klon
    2032 c$$$        IF (pctsrf(i,nsrf) .GE. EPSFRA) THEN
     1196cXXX      DO nsrf = 1, nbsrf
     1197      DO i = 1, klon
     1198cXXX        IF (pctsrf(i,nsrf) .GE. EPSFRA) THEN
    20331199            dlw(i) = - 4.0*RSIGMA*zxtsol(i)**3
    2034 c$$$     .          *(ftsol(i,nsrf)-zxtsol(i))
    2035 c$$$     .          *pctsrf(i,nsrf)
    2036 c$$$        ENDIF
    2037 c$$$      ENDDO
     1200cXXX     .          *(ftsol(i,nsrf)-zxtsol(i))
     1201cXXX     .          *pctsrf(i,nsrf)
     1202cXXX        ENDIF
     1203cXXX      ENDDO
    20381204      ENDDO
    20391205c
     
    20891255              ntra = 1
    20901256          endif
     1257c
     1258c sb, oct02:
     1259c Schema de convection modularise et vectorise:
     1260c (driver commun aux versions 3 et 4)
     1261c
     1262          IF (ok_cvl) THEN ! new driver for convectL
     1263
     1264          CALL concvl (iflag_con,
     1265     .        dtime,paprs,pplay,t_seri,q_seri,
     1266     .        u_seri,v_seri,tr_seri,nbtr,
     1267     .        ema_work1,ema_work2,
     1268     .        d_t_con,d_q_con,d_u_con,d_v_con,d_tr,
     1269     .        rain_con, snow_con, ibas_con, itop_con,
     1270     .        upwd,dnwd,dnwd0,
     1271     .        Ma,cape,tvp,iflagctrl,
     1272     .        pbase,bbase,dtvpdt1,dtvpdq1,dplcldt,dplcldr,qcondc,wd)
     1273
     1274          ELSE ! ok_cvl
     1275
    20911276          if (iflag_con.eq.4) then ! vectorise
    20921277          CALL conemav (dtime,paprs,pplay,t_seri,q_seri,
     
    20991284     .        Ma,cape,tvp,iflagctrl,
    21001285     .        pbase,bbase,dtvpdt1,dtvpdq1,dplcldt,dplcldr)
     1286
     1287           do i = 1, klon
     1288            wd(i)=0.0
     1289             do k = 1, klev
     1290               qcondc(i)=0.0
     1291             enddo
     1292           enddo
    21011293
    21021294          else
     
    21151307     .        ,clwcon0)
    21161308          print*,'Apres conema3 '
     1309
     1310           IF (.NOT. ok_gust) THEN
     1311           do i = 1, klon
     1312            wd(i)=0.0
     1313           enddo
     1314           ENDIF
    21171315
    21181316c Calculer l'humidite relative pour diagnostique
     
    21381336      ENDDO
    21391337
    2140 c   calcul des propriétés des nuages convectifs
     1338c   calcul des proprietes des nuages convectifs
    21411339             clwcon0(:,:)=fact_cldcon*clwcon0(:,:)
    21421340             call clouds_gno
     
    21441342
    21451343          endif
     1344
     1345          ENDIF ! ok_cvl
     1346
    21461347          DO i = 1, klon
    21471348            ema_pcb(i)  = pbase(i)
     
    24791680     s             topsw,toplw,solsw,sollw,
    24801681     s             sollwdown,
    2481      s             topsw0,toplw0,solsw0,sollw0)
     1682cccIMs             topsw0,toplw0,solsw0,sollw0)
     1683     s             topsw0,toplw0,solsw0,sollw0,
     1684     s             ZFSUP,ZFSDN,ZFSUP0,ZFSDN0)
    24821685      itaprad = 0
    24831686      ENDIF
     
    25241727c Si une sous-fraction n'existe pas, elle prend la valeur moyenne
    25251728c
    2526 c$$$      DO nsrf = 1, nbsrf
    2527 c$$$      DO i = 1, klon
    2528 c$$$         IF (pctsrf(i,nsrf).LT.epsfra) THEN
    2529 c$$$            fqsol(i,nsrf) = zxqsol(i)
    2530 c$$$            fsnow(i,nsrf) = zxsnow(i)
    2531 c$$$         ENDIF
    2532 c$$$      ENDDO
    2533 c$$$      ENDDO
     1729cXXX      DO nsrf = 1, nbsrf
     1730cXXX      DO i = 1, klon
     1731cXXX         IF (pctsrf(i,nsrf).LT.epsfra) THEN
     1732cXXX            fqsol(i,nsrf) = zxqsol(i)
     1733cXXX            fsnow(i,nsrf) = zxsnow(i)
     1734cXXX         ENDIF
     1735cXXX      ENDDO
     1736cXXX      ENDDO
    25341737c
    25351738c Calculer le bilan du sol et la derive de temperature (couplage)
     
    26281831      IF (iflag_con.GE.3) THEN
    26291832c           on ajoute les tendances calculees par KE43
    2630 c$$$ OM on onhibe la convection sur les traceurs
     1833cXXX OM on onhibe la convection sur les traceurs
    26311834        DO iq=1, nqmax-2 ! Sandrine a -3 ???
    2632 c$$$ OM on inhibe la convection sur les traceur
    2633 c$$$        DO k = 1, nlev
    2634 c$$$        DO i = 1, klon
    2635 c$$$          tr_seri(i,k,iq) = tr_seri(i,k,iq) + d_tr(i,k,iq)
    2636 c$$$        ENDDO
    2637 c$$$        ENDDO
     1835cXXX OM on inhibe la convection sur les traceur
     1836cXXX        DO k = 1, nlev
     1837cXXX        DO i = 1, klon
     1838cXXX          tr_seri(i,k,iq) = tr_seri(i,k,iq) + d_tr(i,k,iq)
     1839cXXX        ENDDO
     1840cXXX        ENDDO
    26381841        WRITE(iqn,'(i2.2)') iq
    26391842        CALL minmaxqfi(tr_seri(1,1,iq),0.,1.e33,'couche lim iq='//iqn)
     
    26801883c
    26811884c
     1885c+jld ec_conser
     1886      DO k = 1, klev
     1887      DO i = 1, klon
     1888        ZRCPD = RCPD*(1.0+RVTMP2*q_seri(i,k))
     1889        d_t_ec(i,k)=0.5/ZRCPD
     1890     $      *(u(i,k)**2+v(i,k)**2-u_seri(i,k)**2-v_seri(i,k)**2)
     1891        t_seri(i,k)=t_seri(i,k)+d_t_ec(i,k)
     1892        d_t_ec(i,k) = d_t_ec(i,k)/dtime
     1893       END DO
     1894      END DO
     1895c-jld ec_conser
    26821896      IF (if_ebil.ge.1) THEN
    26831897        ztit='after physic'
     
    26991913      END IF
    27001914C
    2701       IF (ok_journe) THEN
    2702 c
    2703       ndex2d = 0
    2704       ndex3d = 0
    2705 c
    2706 c Champs 2D:
    2707 c
    2708          zsto = dtime
    2709          zout = dtime * FLOAT(ecrit_day)
    2710          itau_w = itau_phy + itap
    2711 
    2712          i = NINT(zout/zsto)
    2713          CALL gr_fi_ecrit(1,klon,iim,jjmp1,pphis,zx_tmp_2d)
    2714        CALL histwrite(nid_day,"phis",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    2715          varname = 'phis'
    2716          vartitle= 'Surface geop. height'
    2717          varunits= '-'
    2718 c        call writephy(fid_day,prof2d_on,varname,pphis,vartitle,
    2719 c    .                                                    varunits)
    2720 c
    2721          i = NINT(zout/zsto)
    2722          CALL gr_fi_ecrit(1,klon,iim,jjmp1,paire,zx_tmp_2d)
    2723        CALL histwrite(nid_day,"aire",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    2724          varname = 'aire'
    2725          vartitle= 'Grid area'
    2726          varunits= '-'
    2727 c        call writephy(fid_day,prof2d_on,varname,paire,vartitle,
    2728 c    .                                                    varunits)
    2729 C
    2730       CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxtsol,zx_tmp_2d)
    2731       CALL histwrite(nid_day,"tsol",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    2732 c     call writephy(fid_day,prof2d_av,'tsol',zxtsol,
    2733 c    .              'Surface Temperature','K')
    2734 c
    2735 C
    2736       zx_tmp_fi2d(1 : klon) = ftsol(1 : klon, is_ter)
    2737       CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d ,zx_tmp_2d)
    2738       CALL histwrite(nid_day,"tter",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    2739 c     call writephy(fid_day,prof2d_av,'tter',ftsol(1 : klon, is_ter),
    2740 c    .              'Surface Temperature','K')
    2741 C
    2742       zx_tmp_fi2d(1 : klon) = ftsol(1 : klon, is_lic)
    2743       CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
    2744       CALL histwrite(nid_day,"tlic",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    2745 c     call writephy(fid_day,prof2d_av,'tlic',ftsol(1 : klon, is_lic),
    2746 c    .              'Surface Temperature','K')
    2747 C
    2748       zx_tmp_fi2d(1 : klon) = ftsol(1 : klon, is_oce)
    2749       CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
    2750       CALL histwrite(nid_day,"toce",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    2751 c     call writephy(fid_day,prof2d_av,'toce',ftsol(1 : klon, is_oce),
    2752 c    .              'Surface Temperature','K')
    2753 C
    2754       zx_tmp_fi2d(1 : klon) = ftsol(1 : klon, is_sic)
    2755       CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
    2756       CALL histwrite(nid_day,"tsic",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    2757 c     call writephy(fid_day,prof2d_av,'tsic',ftsol(1 : klon, is_sic),
    2758 c    .              'Surface Temperature','K')
    2759 C
    2760       DO i = 1, klon
    2761          zx_tmp_fi2d(i) = paprs(i,1)
    2762       ENDDO
    2763       CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
    2764       CALL histwrite(nid_day,"psol",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    2765 c Essai writephys
    2766       varname = 'psol'
    2767       vartitle= 'pression au sol'
    2768       varunits= 'hPa'
    2769 c     call writephy(fid_day,prof2d_av,varname,zx_tmp_fi2d,vartitle,
    2770 c    .                                                    varunits)
    2771 c
    2772       DO i = 1, klon
    2773          zx_tmp_fi2d(i) = (rain_fall(i) + snow_fall(i))
    2774       ENDDO
    2775       CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
    2776       CALL histwrite(nid_day,"precip",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    2777 c     call writephy(fid_day,prof2d_av,'rain',zx_tmp_fi2d,
    2778 c    .              'Precipitation','mm/day')
    2779 
    2780 
    2781 c
    2782       CALL gr_fi_ecrit(1, klon,iim,jjmp1, snow_fall,zx_tmp_2d)
    2783       CALL histwrite(nid_day,"snow",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    2784 c     call writephy(fid_day,prof2d_av,'snow',snow_fall,
    2785 c    .              'Snow','mm/day')
    2786 c
    2787       CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxsnow,zx_tmp_2d)
    2788       CALL histwrite(nid_day,"snow_mass",itau_w,zx_tmp_2d,iim*jjmp1,
    2789      .               ndex2d)
    2790 c     call writephy(fid_day,prof2d_av,'snow_mass',zxsnow,
    2791 c    .              'Snow cover','mm')
    2792 c
    2793       CALL gr_fi_ecrit(1, klon,iim,jjmp1, evap,zx_tmp_2d)
    2794       CALL histwrite(nid_day,"evap",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    2795 c     call writephy(fid_day,prof2d_av,'evap',evap,
    2796 c    .              'Evaporation','mm/day')
    2797 c
    2798       CALL gr_fi_ecrit(1, klon,iim,jjmp1, topsw,zx_tmp_2d)
    2799       CALL histwrite(nid_day,"tops",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    2800 c     call writephy(fid_day,prof2d_av,'tops',topsw,
    2801 c    .              'Solar rad. at TOA','W/m2')
    2802 c
    2803       CALL gr_fi_ecrit(1, klon,iim,jjmp1, toplw,zx_tmp_2d)
    2804       CALL histwrite(nid_day,"topl",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    2805 c     call writephy(fid_day,prof2d_av,'topl',toplw,
    2806 c    .              'IR rad. at TOA','W/m2')
    2807 c
    2808       CALL gr_fi_ecrit(1, klon,iim,jjmp1, solsw,zx_tmp_2d)
    2809       CALL histwrite(nid_day,"sols",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    2810 c     call writephy(fid_day,prof2d_av,'sols',solsw,
    2811 c    .              'Solar rad. at surf.','W/m2')
    2812 c
    2813       CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollw,zx_tmp_2d)
    2814       CALL histwrite(nid_day,"soll",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    2815 c     call writephy(fid_day,prof2d_av,'soll',sollw,
    2816 c    .              'IR rad. at surface','W/m2')
    2817 c
    2818       CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollwdown,zx_tmp_2d)
    2819       CALL histwrite(nid_day,"solldown",itau_w,zx_tmp_2d,iim*jjmp1,
    2820      .               ndex2d)
    2821 c     call writephy(fid_day,prof2d_av,'solldown',sollwdown,
    2822 c    .              'Down. IR rad. at surface','W/m2')
    2823 c
    2824       CALL gr_fi_ecrit(1, klon,iim,jjmp1, bils,zx_tmp_2d)
    2825       CALL histwrite(nid_day,"bils",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    2826 c     call writephy(fid_day,prof2d_av,'bils',bils,
    2827 c    .              'Surf. total heat flux','W/m2')
    2828 c
    2829       CALL gr_fi_ecrit(1, klon,iim,jjmp1, sens,zx_tmp_2d)
    2830       CALL histwrite(nid_day,"sens",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    2831 c     call writephy(fid_day,prof2d_av,'sens',sens,
    2832 c    .              'Sensible heat flux','W/m2')
    2833 c
    2834       CALL gr_fi_ecrit(1, klon,iim,jjmp1, fder,zx_tmp_2d)
    2835       CALL histwrite(nid_day,"fder",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    2836 c     call writephy(fid_day,prof2d_av,'fder',fder,
    2837 c    .              'Heat flux derivation','W/m2')
    2838 c
    2839 c
    2840       DO nsrf = 1, nbsrf
    2841 C§§§
    2842         zx_tmp_fi2d(1 : klon) = pctsrf( 1 : klon, nsrf)
    2843         CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
    2844         CALL histwrite(nid_day,"pourc_"//clnsurf(nsrf),itau_w,
    2845      $      zx_tmp_2d,iim*jjmp1,ndex2d)
    2846 c       call writephy(fid_day,prof2d_av,'pourc_'//clnsurf(nsrf),
    2847 c    .                pctsrf( 1 : klon, nsrf),
    2848 c    .                'Fraction'//clnsurf(nsrf),'-')
    2849 C
    2850         zx_tmp_fi2d(1 : klon) = ftsol( 1 : klon, nsrf)
    2851         CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
    2852         CALL histwrite(nid_day,"tsol_"//clnsurf(nsrf),itau_w,
    2853      $      zx_tmp_2d,iim*jjmp1,ndex2d)
    2854 c       call writephy(fid_day,prof2d_av,'tsol_'//clnsurf(nsrf),
    2855 c    .                ftsol( 1 : klon, nsrf),
    2856 c    .                'Surf. Temp'//clnsurf(nsrf),'K')
    2857 C
    2858         zx_tmp_fi2d(1 : klon) = fluxt( 1 : klon, 1, nsrf)
    2859         CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
    2860         CALL histwrite(nid_day,"sens_"//clnsurf(nsrf),itau_w,
    2861      $      zx_tmp_2d,iim*jjmp1,ndex2d)
    2862 c       call writephy(fid_day,prof2d_av,'sens_'//clnsurf(nsrf),
    2863 c    .                fluxt( 1 : klon, 1, nsrf),
    2864 c    .                'Sensible heat flux '//clnsurf(nsrf),'W/m2')
    2865 
    2866         zx_tmp_fi2d(1 : klon) = fluxlat( 1 : klon, nsrf)
    2867         CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
    2868         CALL histwrite(nid_day,"lat_"//clnsurf(nsrf),itau_w,
    2869      $      zx_tmp_2d,iim*jjmp1,ndex2d)
    2870 c       call writephy(fid_day,prof2d_av,'lat_'//clnsurf(nsrf),
    2871 c    .                fluxlat( 1 : klon, nsrf),
    2872 c    .                'Latent heat flux '//clnsurf(nsrf),'W/m2')
    2873 C
    2874         zx_tmp_fi2d(1 : klon) = fluxu( 1 : klon, 1, nsrf)
    2875         CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
    2876         CALL histwrite(nid_day,"taux_"//clnsurf(nsrf),itau_w,
    2877      $      zx_tmp_2d,iim*jjmp1,ndex2d)
    2878 c       call writephy(fid_day,prof2d_av,'taux_'//clnsurf(nsrf),
    2879 c    .                fluxu( 1 : klon, 1, nsrf),
    2880 c    .                'Zonal wind stress '//clnsurf(nsrf),'Pa')
    2881 C     
    2882         zx_tmp_fi2d(1 : klon) = fluxv( 1 : klon, 1, nsrf)
    2883         CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
    2884         CALL histwrite(nid_day,"tauy_"//clnsurf(nsrf),itau_w,
    2885      $      zx_tmp_2d,iim*jjmp1,ndex2d)
    2886 c       call writephy(fid_day,prof2d_av,'tauy_'//clnsurf(nsrf),
    2887 c    .                fluxv( 1 : klon, 1, nsrf),
    2888 c    .                'Meridional wind stress '//clnsurf(nsrf),'Pa')
    2889 C
    2890         zx_tmp_fi2d(1 : klon) = falbe( 1 : klon, nsrf)
    2891         CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
    2892         CALL histwrite(nid_day,"albe_"//clnsurf(nsrf),itau_w,
    2893      $      zx_tmp_2d,iim*jjmp1,ndex2d)
    2894 c       call writephy(fid_day,prof2d_av,'albe_'//clnsurf(nsrf),
    2895 c    .                falbe( 1 : klon, nsrf),
    2896 c    .                'Albedo surf. SW'//clnsurf(nsrf),'-')
    2897 c       call writephy(fid_day,prof2d_av,'alblw_'//clnsurf(nsrf),
    2898 c    .                falblw( 1 : klon, nsrf),
    2899 c    .                'Albedo surf. LW'//clnsurf(nsrf),'-')
    2900 C
    2901         zx_tmp_fi2d(1 : klon) = frugs( 1 : klon, nsrf)
    2902         CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
    2903         CALL histwrite(nid_day,"rugs_"//clnsurf(nsrf),itau_w,
    2904      $      zx_tmp_2d,iim*jjmp1,ndex2d)
    2905 c       call writephy(fid_day,prof2d_av,'rugs_'//clnsurf(nsrf),
    2906 c    .                frugs( 1 : klon, nsrf),
    2907 c    .                'Rugosity '//clnsurf(nsrf),' - ')
    2908 C
    2909       END DO 
    2910 C
    2911 c$$$      DO i = 1, klon
    2912 c$$$         zx_tmp_fi2d(i) = pctsrf(i,is_sic)
    2913 c$$$      ENDDO
    2914 c$$$      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
    2915 c$$$      CALL histwrite(nid_day,"sicf",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    2916 c
    2917       CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldl,zx_tmp_2d)
    2918       CALL histwrite(nid_day,"cldl",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    2919 c     call writephy(fid_day,prof2d_av,'cldl',cldl,
    2920 c    .              'Low-level cloudiness','-')
    2921 c
    2922       CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldm,zx_tmp_2d)
    2923       CALL histwrite(nid_day,"cldm",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    2924 c     call writephy(fid_day,prof2d_av,'cldm',cldm,
    2925 c    .              'Mid-level cloudiness','-')
    2926 c
    2927       CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldh,zx_tmp_2d)
    2928       CALL histwrite(nid_day,"cldh",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    2929 c     call writephy(fid_day,prof2d_av,'cldh',cldh,
    2930 c    .              'High-level cloudiness','-')
    2931 c
    2932       CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldt,zx_tmp_2d)
    2933       CALL histwrite(nid_day,"cldt",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    2934 c     call writephy(fid_day,prof2d_av,'cldt',cldt,
    2935 c    .              'Total cloudiness','-')
    2936 c
    2937       CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldq,zx_tmp_2d)
    2938       CALL histwrite(nid_day,"cldq",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    2939 c     call writephy(fid_day,prof2d_av,'cldq',cldq,
    2940 c    .              'Cloud liquid water path','-')
    2941 c
    2942 c Champs 3D:
    2943 c
    2944       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, t_seri, zx_tmp_3d)
    2945       CALL histwrite(nid_day,"temp",itau_w,zx_tmp_3d,
    2946      .                                   iim*jjmp1*klev,ndex3d)
    2947 c Essai writephys
    2948       varname = 'temp'
    2949       vartitle= 'temperature 3D'
    2950       varunits= 'K'
    2951 c     call writephy(fid_day,prof3d_av,varname,t_seri,vartitle,varunits)
    2952 c
    2953       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, qx(1,1,ivap), zx_tmp_3d)
    2954       CALL histwrite(nid_day,"ovap",itau_w,zx_tmp_3d,
    2955      .                                   iim*jjmp1*klev,ndex3d)
    2956 c     call writephy(fid_day,prof3d_av,'ovap',qx(1,1,ivap),
    2957 c    .              'Specific humidity','Kg/Kg')
    2958 c
    2959       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zphi, zx_tmp_3d)
    2960       CALL histwrite(nid_day,"geop",itau_w,zx_tmp_3d,
    2961      .                                   iim*jjmp1*klev,ndex3d)
    2962 c     call writephy(fid_day,prof3d_av,'geop',zphi,
    2963 c    .              'Geopotential height','m')
    2964 c
    2965       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, u_seri, zx_tmp_3d)
    2966       CALL histwrite(nid_day,"vitu",itau_w,zx_tmp_3d,
    2967      .                                   iim*jjmp1*klev,ndex3d)
    2968 c     call writephy(fid_day,prof3d_av,'vitu',u_seri,
    2969 c    .              'Zonal wind','m/s')
    2970 c
    2971       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, v_seri, zx_tmp_3d)
    2972       CALL histwrite(nid_day,"vitv",itau_w,zx_tmp_3d,
    2973      .                                   iim*jjmp1*klev,ndex3d)
    2974 c     call writephy(fid_day,prof3d_av,'vitv',v_seri,
    2975 c    .              'Meridional wind','m/s')
    2976 c
    2977       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, omega, zx_tmp_3d)
    2978       CALL histwrite(nid_day,"vitw",itau_w,zx_tmp_3d,
    2979      .                                   iim*jjmp1*klev,ndex3d)
    2980 c     call writephy(fid_day,prof3d_av,'vitw',omega,
    2981 c    .              'Vertical wind','m/s')
    2982 c
    2983       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, pplay, zx_tmp_3d)
    2984       CALL histwrite(nid_day,"pres",itau_w,zx_tmp_3d,
    2985      .                                   iim*jjmp1*klev,ndex3d)
    2986 c     call writephy(fid_day,prof3d_av,'pres',pplay,
    2987 c    .              'Air pressure','Pa')
    2988 
    2989 c
    2990       if (ok_sync) then
    2991 c       call writephy_sync(fid_day)
    2992         call histsync(nid_day)
    2993       endif
    2994       ENDIF
    2995 C
    2996       IF (ok_mensuel) THEN
    2997 c
    2998       ndex2d = 0
    2999       ndex3d = 0
    3000 c
    3001 c Champs 2D:
    3002 c
    3003          zsto = dtime
    3004          zout = dtime * ecrit_mth
    3005          itau_w = itau_phy + itap
    3006 
    3007       i = NINT(zout/zsto)
    3008       CALL gr_fi_ecrit(1,klon,iim,jjmp1,pphis,zx_tmp_2d)
    3009       CALL histwrite(nid_mth,"phis",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    3010 C
    3011       i = NINT(zout/zsto)
    3012       CALL gr_fi_ecrit(1,klon,iim,jjmp1,paire,zx_tmp_2d)
    3013       CALL histwrite(nid_mth,"aire",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    3014 
    3015       CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxtsol,zx_tmp_2d)
    3016       CALL histwrite(nid_mth,"tsol",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    3017 c
    3018       DO i = 1, klon
    3019          zx_tmp_fi2d(i) = paprs(i,1)
    3020       ENDDO
    3021       CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
    3022       CALL histwrite(nid_mth,"psol",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    3023 c
    3024       CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxqsol,zx_tmp_2d)
    3025       CALL histwrite(nid_mth,"qsol",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    3026 c
    3027       DO i = 1, klon
    3028          zx_tmp_fi2d(i) = rain_fall(i) + snow_fall(i)
    3029       ENDDO
    3030       CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
    3031       CALL histwrite(nid_mth,"precip",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    3032 c
    3033       DO i = 1, klon
    3034          zx_tmp_fi2d(i) = rain_lsc(i) + snow_lsc(i)
    3035       ENDDO
    3036       CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
    3037       CALL histwrite(nid_mth,"plul",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    3038 c
    3039       DO i = 1, klon
    3040          zx_tmp_fi2d(i) = rain_con(i) + snow_con(i)
    3041       ENDDO
    3042       CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
    3043       CALL histwrite(nid_mth,"pluc",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    3044 c
    3045       CALL gr_fi_ecrit(1, klon,iim,jjmp1, snow_fall,zx_tmp_2d)
    3046       CALL histwrite(nid_mth,"snow",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    3047 c
    3048       CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxsnow,zx_tmp_2d)
    3049       CALL histwrite(nid_mth,"snow_mass",itau_w,zx_tmp_2d,iim*jjmp1,
    3050      .               ndex2d)
    3051 c
    3052       CALL gr_fi_ecrit(1, klon,iim,jjmp1, evap,zx_tmp_2d)
    3053       CALL histwrite(nid_mth,"evap",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    3054 c
    3055       CALL gr_fi_ecrit(1, klon,iim,jjmp1, topsw,zx_tmp_2d)
    3056       CALL histwrite(nid_mth,"tops",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    3057 c
    3058       CALL gr_fi_ecrit(1, klon,iim,jjmp1, toplw,zx_tmp_2d)
    3059       CALL histwrite(nid_mth,"topl",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    3060 c
    3061       CALL gr_fi_ecrit(1, klon,iim,jjmp1, solsw,zx_tmp_2d)
    3062       CALL histwrite(nid_mth,"sols",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    3063 c
    3064       CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollw,zx_tmp_2d)
    3065       CALL histwrite(nid_mth,"soll",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    3066 c
    3067       CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollwdown,zx_tmp_2d)
    3068       CALL histwrite(nid_mth,"solldown",itau_w,zx_tmp_2d,iim*jjmp1,
    3069      .               ndex2d)
    3070 c
    3071       CALL gr_fi_ecrit(1, klon,iim,jjmp1, topsw0,zx_tmp_2d)
    3072       CALL histwrite(nid_mth,"tops0",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    3073 c
    3074       CALL gr_fi_ecrit(1, klon,iim,jjmp1, toplw0,zx_tmp_2d)
    3075       CALL histwrite(nid_mth,"topl0",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    3076 c
    3077       CALL gr_fi_ecrit(1, klon,iim,jjmp1, solsw0,zx_tmp_2d)
    3078       CALL histwrite(nid_mth,"sols0",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    3079 c
    3080       CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollw0,zx_tmp_2d)
    3081       CALL histwrite(nid_mth,"soll0",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    3082 c
    3083       CALL gr_fi_ecrit(1, klon,iim,jjmp1, bils,zx_tmp_2d)
    3084       CALL histwrite(nid_mth,"bils",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    3085 c
    3086       CALL gr_fi_ecrit(1, klon,iim,jjmp1, sens,zx_tmp_2d)
    3087       CALL histwrite(nid_mth,"sens",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    3088 c
    3089       CALL gr_fi_ecrit(1, klon,iim,jjmp1, fder,zx_tmp_2d)
    3090       CALL histwrite(nid_mth,"fder",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    3091 c
    3092 c
    3093 c      DO i = 1, klon
    3094 c         zx_tmp_fi2d(i) = fluxu(i,1)
    3095 c      ENDDO
    3096 c      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
    3097 c      CALL histwrite(nid_mth,"frtu",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    3098 c
    3099 c      DO i = 1, klon
    3100 c         zx_tmp_fi2d(i) = fluxv(i,1)
    3101 c      ENDDO
    3102 c      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
    3103 c      CALL histwrite(nid_mth,"frtv",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    3104 c
    3105       DO nsrf = 1, nbsrf
    3106 C§§§
    3107         zx_tmp_fi2d(1 : klon) = pctsrf( 1 : klon, nsrf)
    3108         CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
    3109         CALL histwrite(nid_mth,"pourc_"//clnsurf(nsrf),itau_w,
    3110      $      zx_tmp_2d,iim*jjmp1,ndex2d)
    3111 C
    3112         zx_tmp_fi2d(1 : klon) = ftsol( 1 : klon, nsrf)
    3113         CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
    3114         CALL histwrite(nid_mth,"tsol_"//clnsurf(nsrf),itau_w,
    3115      $      zx_tmp_2d,iim*jjmp1,ndex2d)
    3116 C
    3117         zx_tmp_fi2d(1 : klon) = fluxt( 1 : klon, 1, nsrf)
    3118         CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
    3119         CALL histwrite(nid_mth,"sens_"//clnsurf(nsrf),itau_w,
    3120      $      zx_tmp_2d,iim*jjmp1,ndex2d)
    3121 C
    3122         zx_tmp_fi2d(1 : klon) = fluxlat( 1 : klon, nsrf)
    3123         CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
    3124         CALL histwrite(nid_mth,"lat_"//clnsurf(nsrf),itau_w,
    3125      $      zx_tmp_2d,iim*jjmp1,ndex2d)
    3126 C
    3127         zx_tmp_fi2d(1 : klon) = fluxu( 1 : klon, 1, nsrf)
    3128         CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
    3129         CALL histwrite(nid_mth,"taux_"//clnsurf(nsrf),itau_w,
    3130      $      zx_tmp_2d,iim*jjmp1,ndex2d)
    3131 C     
    3132         zx_tmp_fi2d(1 : klon) = fluxv( 1 : klon, 1, nsrf)
    3133         CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
    3134         CALL histwrite(nid_mth,"tauy_"//clnsurf(nsrf),itau_w,
    3135      $      zx_tmp_2d,iim*jjmp1,ndex2d)
    3136 C
    3137         zx_tmp_fi2d(1 : klon) = falbe( 1 : klon, nsrf)
    3138         CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
    3139         CALL histwrite(nid_mth,"albe_"//clnsurf(nsrf),itau_w,
    3140      $      zx_tmp_2d,iim*jjmp1,ndex2d)
    3141 C
    3142         zx_tmp_fi2d(1 : klon) = frugs( 1 : klon, nsrf)
    3143         CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
    3144         CALL histwrite(nid_mth,"rugs_"//clnsurf(nsrf),itau_w,
    3145      $      zx_tmp_2d,iim*jjmp1,ndex2d)
    3146 c
    3147       zx_tmp_fi2d(1 : klon) = agesno( 1 : klon, nsrf)
    3148       CALL gr_fi_ecrit(1, klon,iim,jjmp1, agesno,zx_tmp_2d)
    3149       CALL histwrite(nid_mth,"ages_"//clnsurf(nsrf),itau_w
    3150      $    ,zx_tmp_2d,iim*jjmp1,ndex2d)
    3151 
    3152       END DO 
    3153 c$$$      DO i = 1, klon
    3154 c$$$         zx_tmp_fi2d(i) = pctsrf(i,is_sic)
    3155 c$$$      ENDDO
    3156 c$$$      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
    3157 c$$$      CALL histwrite(nid_mth,"sicf",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    3158 c
    3159       CALL gr_fi_ecrit(1, klon,iim,jjmp1, albsol,zx_tmp_2d)
    3160       CALL histwrite(nid_mth,"albs",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    3161       CALL gr_fi_ecrit(1, klon,iim,jjmp1, albsollw,zx_tmp_2d)
    3162       CALL histwrite(nid_mth,"albslw",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    3163 c
    3164       CALL gr_fi_ecrit(1, klon,iim,jjmp1, cdragm,zx_tmp_2d)
    3165       CALL histwrite(nid_mth,"cdrm",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    3166 c
    3167       CALL gr_fi_ecrit(1, klon,iim,jjmp1, cdragh,zx_tmp_2d)
    3168       CALL histwrite(nid_mth,"cdrh",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    3169 c
    3170       CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldl,zx_tmp_2d)
    3171       CALL histwrite(nid_mth,"cldl",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    3172 c
    3173       CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldm,zx_tmp_2d)
    3174       CALL histwrite(nid_mth,"cldm",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    3175 c
    3176       CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldh,zx_tmp_2d)
    3177       CALL histwrite(nid_mth,"cldh",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    3178 c
    3179       CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldt,zx_tmp_2d)
    3180       CALL histwrite(nid_mth,"cldt",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    3181 c
    3182       CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldq,zx_tmp_2d)
    3183       CALL histwrite(nid_mth,"cldq",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    3184 c
    3185       CALL gr_fi_ecrit(1, klon,iim,jjmp1, ue,zx_tmp_2d)
    3186       CALL histwrite(nid_mth,"ue",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    3187 c
    3188       CALL gr_fi_ecrit(1, klon,iim,jjmp1, ve,zx_tmp_2d)
    3189       CALL histwrite(nid_mth,"ve",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    3190 c
    3191       CALL gr_fi_ecrit(1, klon,iim,jjmp1, uq,zx_tmp_2d)
    3192       CALL histwrite(nid_mth,"uq",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    3193 c
    3194       CALL gr_fi_ecrit(1, klon,iim,jjmp1, vq,zx_tmp_2d)
    3195       CALL histwrite(nid_mth,"vq",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    3196 cKE43
    3197       IF (iflag_con .GE. 3) THEN ! sb
    3198 c
    3199       CALL gr_fi_ecrit(1, klon,iim,jjmp1, cape,zx_tmp_2d)
    3200       CALL histwrite(nid_mth,"cape",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    3201 c
    3202       CALL gr_fi_ecrit(1, klon,iim,jjmp1,pbase,zx_tmp_2d)
    3203       CALL histwrite(nid_mth,"pbase",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    3204 c
    3205       CALL gr_fi_ecrit(1, klon,iim,jjmp1,ema_pct,zx_tmp_2d)
    3206       CALL histwrite(nid_mth,"ptop",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    3207 c
    3208       CALL gr_fi_ecrit(1, klon,iim,jjmp1,ema_cbmf,zx_tmp_2d)
    3209       CALL histwrite(nid_mth,"fbase",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    3210 c
    3211 c
    3212       ENDIF
    3213 c34EK
    3214 c
    3215 c Champs 3D:
    3216 C
    3217       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, t_seri, zx_tmp_3d)
    3218       CALL histwrite(nid_mth,"temp",itau_w,zx_tmp_3d,
    3219      .                                   iim*jjmp1*klev,ndex3d)
    3220 c
    3221       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, qx(1,1,ivap), zx_tmp_3d)
    3222       CALL histwrite(nid_mth,"ovap",itau_w,zx_tmp_3d,
    3223      .                                   iim*jjmp1*klev,ndex3d)
    3224 c
    3225       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zphi, zx_tmp_3d)
    3226       CALL histwrite(nid_mth,"geop",itau_w,zx_tmp_3d,
    3227      .                                   iim*jjmp1*klev,ndex3d)
    3228 c
    3229       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, u_seri, zx_tmp_3d)
    3230       CALL histwrite(nid_mth,"vitu",itau_w,zx_tmp_3d,
    3231      .                                   iim*jjmp1*klev,ndex3d)
    3232 c
    3233       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, v_seri, zx_tmp_3d)
    3234       CALL histwrite(nid_mth,"vitv",itau_w,zx_tmp_3d,
    3235      .                                   iim*jjmp1*klev,ndex3d)
    3236 c
    3237       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, omega, zx_tmp_3d)
    3238       CALL histwrite(nid_mth,"vitw",itau_w,zx_tmp_3d,
    3239      .                                   iim*jjmp1*klev,ndex3d)
    3240 c
    3241       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, pplay, zx_tmp_3d)
    3242       CALL histwrite(nid_mth,"pres",itau_w,zx_tmp_3d,
    3243      .                                   iim*jjmp1*klev,ndex3d)
    3244 c
    3245       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, cldfra, zx_tmp_3d)
    3246       CALL histwrite(nid_mth,"rneb",itau_w,zx_tmp_3d,
    3247      .                                   iim*jjmp1*klev,ndex3d)
    3248 c
    3249       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zx_rh, zx_tmp_3d)
    3250       CALL histwrite(nid_mth,"rhum",itau_w,zx_tmp_3d,
    3251      .                                   iim*jjmp1*klev,ndex3d)
    3252 c
    3253       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, cldliq, zx_tmp_3d)
    3254       CALL histwrite(nid_mth,"oliq",itau_w,zx_tmp_3d,
    3255      .                                   iim*jjmp1*klev,ndex3d)
    3256 c
    3257       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, clwcon0, zx_tmp_3d)
    3258       CALL histwrite(nid_mth,"clwcon",itau_w,zx_tmp_3d,
    3259      .                                   iim*jjmp1*klev,ndex3d)
    3260 c
    3261       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_t_dyn, zx_tmp_3d)
    3262       CALL histwrite(nid_mth,"dtdyn",itau_w,zx_tmp_3d,
    3263      .                                   iim*jjmp1*klev,ndex3d)
    3264 c
    3265       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_q_dyn, zx_tmp_3d)
    3266       CALL histwrite(nid_mth,"dqdyn",itau_w,zx_tmp_3d,
    3267      .                                   iim*jjmp1*klev,ndex3d)
    3268 c
    3269       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_t_con, zx_tmp_3d)
    3270       CALL histwrite(nid_mth,"dtcon",itau_w,zx_tmp_3d,
    3271      .                                   iim*jjmp1*klev,ndex3d)
    3272 c
    3273       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_q_con, zx_tmp_3d)
    3274       CALL histwrite(nid_mth,"dqcon",itau_w,zx_tmp_3d,
    3275      .                                   iim*jjmp1*klev,ndex3d)
    3276 c
    3277       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_t_lsc, zx_tmp_3d)
    3278       CALL histwrite(nid_mth,"dtlsc",itau_w,zx_tmp_3d,
    3279      .                                   iim*jjmp1*klev,ndex3d)
    3280 c
    3281       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_q_lsc, zx_tmp_3d)
    3282       CALL histwrite(nid_mth,"dqlsc",itau_w,zx_tmp_3d,
    3283      .                                   iim*jjmp1*klev,ndex3d)
    3284 c
    3285       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_t_vdf, zx_tmp_3d)
    3286       CALL histwrite(nid_mth,"dtvdf",itau_w,zx_tmp_3d,
    3287      .                                   iim*jjmp1*klev,ndex3d)
    3288 c
    3289       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_q_vdf, zx_tmp_3d)
    3290       CALL histwrite(nid_mth,"dqvdf",itau_w,zx_tmp_3d,
    3291      .                                   iim*jjmp1*klev,ndex3d)
    3292 c
    3293       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_t_eva, zx_tmp_3d)
    3294       CALL histwrite(nid_mth,"dteva",itau_w,zx_tmp_3d,
    3295      .                                   iim*jjmp1*klev,ndex3d)
    3296 c
    3297       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_q_eva, zx_tmp_3d)
    3298       CALL histwrite(nid_mth,"dqeva",itau_w,zx_tmp_3d,
    3299      .                                   iim*jjmp1*klev,ndex3d)
    3300 c
    3301       zpt_conv = 0.
    3302       where (ptconv) zpt_conv = 1.
    3303       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zpt_conv, zx_tmp_3d)
    3304       CALL histwrite(nid_mth,"ptconv",itau_w,zx_tmp_3d,
    3305      .                                   iim*(jjmp1)*klev,ndex3d)
    3306 c
    3307       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, ratqs, zx_tmp_3d)
    3308       CALL histwrite(nid_mth,"ratqs",itau_w,zx_tmp_3d,
    3309      .                                   iim*(jjmp1)*klev,ndex3d)
    3310 c
    3311       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_t_ajs, zx_tmp_3d)
    3312       CALL histwrite(nid_mth,"dtajs",itau_w,zx_tmp_3d,
    3313      .                                   iim*jjmp1*klev,ndex3d)
    3314 c
    3315       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_q_ajs, zx_tmp_3d)
    3316       CALL histwrite(nid_mth,"dqajs",itau_w,zx_tmp_3d,
    3317      .                                   iim*jjmp1*klev,ndex3d)
    3318 c
    3319       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, heat, zx_tmp_3d)
    3320       CALL histwrite(nid_mth,"dtswr",itau_w,zx_tmp_3d,
    3321      .                                   iim*jjmp1*klev,ndex3d)
    3322 c
    3323       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, heat0, zx_tmp_3d)
    3324       CALL histwrite(nid_mth,"dtsw0",itau_w,zx_tmp_3d,
    3325      .                                   iim*jjmp1*klev,ndex3d)
    3326 c
    3327       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, cool, zx_tmp_3d)
    3328       CALL histwrite(nid_mth,"dtlwr",itau_w,zx_tmp_3d,
    3329      .                                   iim*jjmp1*klev,ndex3d)
    3330 c
    3331       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, cool0, zx_tmp_3d)
    3332       CALL histwrite(nid_mth,"dtlw0",itau_w,zx_tmp_3d,
    3333      .                                   iim*jjmp1*klev,ndex3d)
    3334 c
    3335       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_u_vdf, zx_tmp_3d)
    3336       CALL histwrite(nid_mth,"duvdf",itau_w,zx_tmp_3d,
    3337      .                                   iim*jjmp1*klev,ndex3d)
    3338 c
    3339       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_v_vdf, zx_tmp_3d)
    3340       CALL histwrite(nid_mth,"dvvdf",itau_w,zx_tmp_3d,
    3341      .                                   iim*jjmp1*klev,ndex3d)
    3342 c
    3343       IF (ok_orodr) THEN
    3344       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_u_oro, zx_tmp_3d)
    3345       CALL histwrite(nid_mth,"duoro",itau_w,zx_tmp_3d,
    3346      .                                   iim*jjmp1*klev,ndex3d)
    3347 c
    3348       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_v_oro, zx_tmp_3d)
    3349       CALL histwrite(nid_mth,"dvoro",itau_w,zx_tmp_3d,
    3350      .                                   iim*jjmp1*klev,ndex3d)
    3351 c
    3352       ENDIF
    3353 C
    3354       IF (ok_orolf) THEN
    3355       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_u_lif, zx_tmp_3d)
    3356       CALL histwrite(nid_mth,"dulif",itau_w,zx_tmp_3d,
    3357      .                                   iim*jjmp1*klev,ndex3d)
    3358 c
    3359       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_v_lif, zx_tmp_3d)
    3360       CALL histwrite(nid_mth,"dvlif",itau_w,zx_tmp_3d,
    3361      .                                   iim*jjmp1*klev,ndex3d)
    3362       ENDIF
    3363 C
    3364       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, wo, zx_tmp_3d)
    3365       CALL histwrite(nid_mth,"ozone",itau_w,zx_tmp_3d,
    3366      .                                   iim*jjmp1*klev,ndex3d)
    3367 c
    3368       IF (nqmax.GE.3) THEN
    3369       DO iq=1,nqmax-2
    3370       IF (iq.LE.99) THEN
    3371          CALL gr_fi_ecrit(klev,klon,iim,jjmp1, qx(1,1,iq+2), zx_tmp_3d)
    3372          WRITE(str2,'(i2.2)') iq
    3373          CALL histwrite(nid_mth,"trac"//str2,itau_w,zx_tmp_3d,
    3374      .                                   iim*jjmp1*klev,ndex3d)
    3375       ELSE
    3376          PRINT*, "Trop de traceurs"
    3377          CALL abort
    3378       ENDIF
    3379       ENDDO
    3380       ENDIF
    3381 cKE43
    3382       IF (iflag_con.GE.3) THEN ! (sb)
    3383 c
    3384       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, upwd, zx_tmp_3d)
    3385       CALL histwrite(nid_mth,"upwd",itau_w,zx_tmp_3d,
    3386      .                                   iim*jjmp1*klev,ndex3d)
    3387 c
    3388       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, dnwd, zx_tmp_3d)
    3389       CALL histwrite(nid_mth,"dnwd",itau_w,zx_tmp_3d,
    3390      .                                   iim*jjmp1*klev,ndex3d)
    3391 c
    3392       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, dnwd0, zx_tmp_3d)
    3393       CALL histwrite(nid_mth,"dnwd0",itau_w,zx_tmp_3d,
    3394      .                                   iim*jjmp1*klev,ndex3d)
    3395 c
    3396       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, Ma, zx_tmp_3d)
    3397       CALL histwrite(nid_mth,"Ma",itau_w,zx_tmp_3d,
    3398      .                                   iim*jjmp1*klev,ndex3d)
    3399 c
    3400 c
    3401       ENDIF
    3402 c34EK
    3403 c
    3404       if (ok_sync) then
    3405         call histsync(nid_mth)
    3406       endif
    3407       ENDIF
    3408 c
    3409       IF (ok_instan) THEN
    3410 c
    3411       ndex2d = 0
    3412       ndex3d = 0
    3413 c
    3414 c Champs 2D:
    3415 c
    3416          zsto = dtime * ecrit_ins
    3417          zout = dtime * ecrit_ins
    3418          itau_w = itau_phy + itap
    3419 
    3420          i = NINT(zout/zsto)
    3421       CALL gr_fi_ecrit(1,klon,iim,jjmp1,pphis,zx_tmp_2d)
    3422       CALL histwrite(nid_ins,"phis",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    3423 c
    3424          i = NINT(zout/zsto)
    3425       CALL gr_fi_ecrit(1,klon,iim,jjmp1,paire,zx_tmp_2d)
    3426       CALL histwrite(nid_ins,"aire",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    3427 
    3428       DO i = 1, klon
    3429          zx_tmp_fi2d(i) = paprs(i,1)
    3430       ENDDO
    3431       CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
    3432       CALL histwrite(nid_ins,"psol",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    3433 c
    3434       DO i = 1, klon
    3435          zx_tmp_fi2d(i) = rain_fall(i) + snow_fall(i)
    3436       ENDDO
    3437       CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
    3438       CALL histwrite(nid_ins,"precip",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    3439 c
    3440       DO i = 1, klon
    3441          zx_tmp_fi2d(i) = rain_lsc(i) + snow_lsc(i)
    3442       ENDDO
    3443       CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
    3444       CALL histwrite(nid_ins,"plul",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    3445 c
    3446       DO i = 1, klon
    3447          zx_tmp_fi2d(i) = rain_con(i) + snow_con(i)
    3448       ENDDO
    3449       CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
    3450       CALL histwrite(nid_ins,"pluc",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    3451 
    3452       CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxtsol,zx_tmp_2d)
    3453       CALL histwrite(nid_ins,"tsol",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    3454 c
    3455       CALL gr_fi_ecrit(1, klon,iim,jjmp1, snow_fall,zx_tmp_2d)
    3456       CALL histwrite(nid_ins,"snow",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    3457 
    3458       CALL gr_fi_ecrit(1, klon,iim,jjmp1, cdragm,zx_tmp_2d)
    3459       CALL histwrite(nid_ins,"cdrm",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    3460 c
    3461       CALL gr_fi_ecrit(1, klon,iim,jjmp1, cdragh,zx_tmp_2d)
    3462       CALL histwrite(nid_ins,"cdrh",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    3463 c
    3464       CALL gr_fi_ecrit(1, klon,iim,jjmp1, toplw,zx_tmp_2d)
    3465       CALL histwrite(nid_ins,"topl",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    3466 c
    3467       CALL gr_fi_ecrit(1, klon,iim,jjmp1, evap,zx_tmp_2d)
    3468       CALL histwrite(nid_ins,"evap",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    3469 c
    3470       CALL gr_fi_ecrit(1, klon,iim,jjmp1, solsw,zx_tmp_2d)
    3471       CALL histwrite(nid_ins,"sols",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    3472 c
    3473       CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollw,zx_tmp_2d)
    3474       CALL histwrite(nid_ins,"soll",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    3475 c
    3476       CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollwdown,zx_tmp_2d)
    3477       CALL histwrite(nid_ins,"solldown",itau_w,zx_tmp_2d,iim*jjmp1,
    3478      .                ndex2d)
    3479 c
    3480       CALL gr_fi_ecrit(1, klon,iim,jjmp1, bils,zx_tmp_2d)
    3481       CALL histwrite(nid_ins,"bils",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    3482 c
    3483       CALL gr_fi_ecrit(1, klon,iim,jjmp1, sens,zx_tmp_2d)
    3484       CALL histwrite(nid_ins,"sens",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    3485 c
    3486       CALL gr_fi_ecrit(1, klon,iim,jjmp1, fder,zx_tmp_2d)
    3487       CALL histwrite(nid_ins,"fder",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    3488 c
    3489       CALL gr_fi_ecrit(1, klon,iim,jjmp1, d_ts(1,is_oce),zx_tmp_2d)
    3490       CALL histwrite(nid_ins,"dtsvdfo",itau_w,zx_tmp_2d,iim*jjmp1,
    3491      .               ndex2d)
    3492 c
    3493       CALL gr_fi_ecrit(1, klon,iim,jjmp1, d_ts(1,is_ter),zx_tmp_2d)
    3494       CALL histwrite(nid_ins,"dtsvdft",itau_w,zx_tmp_2d,iim*jjmp1,
    3495      .               ndex2d)
    3496 c
    3497       CALL gr_fi_ecrit(1, klon,iim,jjmp1, d_ts(1,is_lic),zx_tmp_2d)
    3498       CALL histwrite(nid_ins,"dtsvdfg",itau_w,zx_tmp_2d,iim*jjmp1,
    3499      .               ndex2d)
    3500 c
    3501       CALL gr_fi_ecrit(1, klon,iim,jjmp1, d_ts(1,is_sic),zx_tmp_2d)
    3502       CALL histwrite(nid_ins,"dtsvdfi",itau_w,zx_tmp_2d,iim*jjmp1,
    3503      .               ndex2d)
    3504 
    3505       DO nsrf = 1, nbsrf
    3506 C§§§
    3507         zx_tmp_fi2d(1 : klon) = pctsrf( 1 : klon, nsrf)
    3508         CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
    3509         CALL histwrite(nid_ins,"pourc_"//clnsurf(nsrf),itau_w,
    3510      $      zx_tmp_2d,iim*jjmp1,ndex2d)
    3511 C
    3512         zx_tmp_fi2d(1 : klon) = fluxt( 1 : klon, 1, nsrf)
    3513         CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
    3514         CALL histwrite(nid_ins,"sens_"//clnsurf(nsrf),itau_w,
    3515      $      zx_tmp_2d,iim*jjmp1,ndex2d)
    3516 C
    3517         zx_tmp_fi2d(1 : klon) = fluxlat( 1 : klon, nsrf)
    3518         CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
    3519         CALL histwrite(nid_ins,"lat_"//clnsurf(nsrf),itau_w,
    3520      $      zx_tmp_2d,iim*jjmp1,ndex2d)
    3521 C
    3522         zx_tmp_fi2d(1 : klon) = ftsol( 1 : klon, nsrf)
    3523         CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
    3524         CALL histwrite(nid_ins,"tsol_"//clnsurf(nsrf),itau_w,
    3525      $      zx_tmp_2d,iim*jjmp1,ndex2d)
    3526 C
    3527         zx_tmp_fi2d(1 : klon) = fluxu( 1 : klon, 1, nsrf)
    3528         CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
    3529         CALL histwrite(nid_ins,"taux_"//clnsurf(nsrf),itau_w,
    3530      $      zx_tmp_2d,iim*jjmp1,ndex2d)
    3531 C     
    3532         zx_tmp_fi2d(1 : klon) = fluxv( 1 : klon, 1, nsrf)
    3533         CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
    3534         CALL histwrite(nid_ins,"tauy_"//clnsurf(nsrf),itau_w,
    3535      $      zx_tmp_2d,iim*jjmp1,ndex2d)
    3536 C
    3537         zx_tmp_fi2d(1 : klon) = frugs( 1 : klon, nsrf)
    3538         CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
    3539         CALL histwrite(nid_ins,"rugs_"//clnsurf(nsrf),itau_w,
    3540      $      zx_tmp_2d,iim*jjmp1,ndex2d)
    3541 C
    3542         zx_tmp_fi2d(1 : klon) = falbe( 1 : klon, nsrf)
    3543         CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
    3544         CALL histwrite(nid_ins,"albe_"//clnsurf(nsrf),itau_w,
    3545      $      zx_tmp_2d,iim*jjmp1,ndex2d)
    3546 C
    3547       END DO 
    3548       CALL gr_fi_ecrit(1, klon,iim,jjmp1, albsol,zx_tmp_2d)
    3549       CALL histwrite(nid_ins,"albs",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    3550       CALL gr_fi_ecrit(1, klon,iim,jjmp1, albsollw,zx_tmp_2d)
    3551       CALL histwrite(nid_ins,"albslw",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    3552 c
    3553       CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxsnow,zx_tmp_2d)
    3554       CALL histwrite(nid_ins,"snow_mass",itau_w,zx_tmp_2d,iim*jjmp1,
    3555      .               ndex2d)
    3556 c
    3557       CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxrugs,zx_tmp_2d)
    3558       CALL histwrite(nid_ins,"rugs",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    3559 c
    3560 c Champs 3D:
    3561 c
    3562       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, t_seri, zx_tmp_3d)
    3563       CALL histwrite(nid_ins,"temp",itau_w,zx_tmp_3d,
    3564      .                                   iim*jjmp1*klev,ndex3d)
    3565 c
    3566       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, u_seri, zx_tmp_3d)
    3567       CALL histwrite(nid_ins,"vitu",itau_w,zx_tmp_3d,
    3568      .                                   iim*jjmp1*klev,ndex3d)
    3569 c
    3570       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, v_seri, zx_tmp_3d)
    3571       CALL histwrite(nid_ins,"vitv",itau_w,zx_tmp_3d,
    3572      .                                   iim*jjmp1*klev,ndex3d)
    3573 c
    3574       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zphi, zx_tmp_3d)
    3575       CALL histwrite(nid_ins,"geop",itau_w,zx_tmp_3d,
    3576      .                                   iim*jjmp1*klev,ndex3d)
    3577 c
    3578       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, pplay, zx_tmp_3d)
    3579       CALL histwrite(nid_ins,"pres",itau_w,zx_tmp_3d,
    3580      .                                   iim*jjmp1*klev,ndex3d)
    3581 c
    3582       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_t_vdf, zx_tmp_3d)
    3583       CALL histwrite(nid_ins,"dtvdf",itau_w,zx_tmp_3d,
    3584      .                                   iim*jjmp1*klev,ndex3d)
    3585 c
    3586       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_q_vdf, zx_tmp_3d)
    3587       CALL histwrite(nid_ins,"dqvdf",itau_w,zx_tmp_3d,
    3588      .                                   iim*jjmp1*klev,ndex3d)
    3589 
    3590 c
    3591       if (ok_sync) then
    3592         call histsync(nid_ins)
    3593       endif
    3594       ENDIF
    3595 c
    3596 c
    3597 c Ecrire la bande regionale (binaire grads)
    3598       IF (ok_region .AND. mod(itap,ecrit_reg).eq.0) THEN
    3599          CALL ecriregs(84,zxtsol)
    3600          CALL ecriregs(84,paprs(1,1))
    3601          CALL ecriregs(84,topsw)
    3602          CALL ecriregs(84,toplw)
    3603          CALL ecriregs(84,solsw)
    3604          CALL ecriregs(84,sollw)
    3605          CALL ecriregs(84,rain_fall)
    3606          CALL ecriregs(84,snow_fall)
    3607          CALL ecriregs(84,evap)
    3608          CALL ecriregs(84,sens)
    3609          CALL ecriregs(84,bils)
    3610          CALL ecriregs(84,pctsrf(1,is_sic))
    3611          CALL ecriregs(84,zxfluxu(1,1))
    3612          CALL ecriregs(84,zxfluxv(1,1))
    3613          CALL ecriregs(84,ue)
    3614          CALL ecriregs(84,ve)
    3615          CALL ecriregs(84,uq)
    3616          CALL ecriregs(84,vq)
    3617 c
    3618          CALL ecrirega(84,u_seri)
    3619          CALL ecrirega(84,v_seri)
    3620          CALL ecrirega(84,omega)
    3621          CALL ecrirega(84,t_seri)
    3622          CALL ecrirega(84,zphi)
    3623          CALL ecrirega(84,q_seri)
    3624          CALL ecrirega(84,cldfra)
    3625          CALL ecrirega(84,cldliq)
    3626          CALL ecrirega(84,pplay)
    3627 
    3628 
    3629 cc         CALL ecrirega(84,d_t_dyn)
    3630 cc         CALL ecrirega(84,d_q_dyn)
    3631 cc         CALL ecrirega(84,heat)
    3632 cc         CALL ecrirega(84,cool)
    3633 cc         CALL ecrirega(84,d_t_con)
    3634 cc         CALL ecrirega(84,d_q_con)
    3635 cc         CALL ecrirega(84,d_t_lsc)
    3636 cc         CALL ecrirega(84,d_q_lsc)
    3637       ENDIF
     1915cccIM cf. FH
     1916c=======================================================================
     1917c   SORTIES
     1918c=======================================================================
     1919
     1920c   Interpollation sur quelques niveaux de pression
     1921c   -----------------------------------------------
     1922
     1923      call plevel(klon,klev,.true. ,pplay,85000.,u_seri,u850)
     1924      call plevel(klon,klev,.false.,pplay,85000.,v_seri,v850)
     1925      call plevel(klon,klev,.true. ,pplay,50000.,u_seri,u500)
     1926      call plevel(klon,klev,.false.,pplay,50000.,v_seri,v500)
     1927      call plevel(klon,klev,.true. ,pplay,20000.,u_seri,u200)
     1928      call plevel(klon,klev,.false.,pplay,20000.,v_seri,v200)
     1929      call plevel(klon,klev,.true. ,pplay,50000.,zphi,phi500)
     1930
     1931c=============================================================
     1932c   Ecriture des sorties
     1933c=============================================================
     1934
     1935#ifdef histhf
     1936#include "write_histhf.h"
     1937#endif
     1938
     1939#include "write_histday.h"
     1940#include "write_histmth.h"
     1941#include "write_histins.h"
     1942
     1943c=============================================================
    36381944c
    36391945c Convertir les incrementations en tendances
Note: See TracChangeset for help on using the changeset viewer.