Changeset 506 for LMDZ.3.3


Ignore:
Timestamp:
Mar 24, 2004, 9:43:54 AM (20 years ago)
Author:
lmdzadmin
Message:

IM: ajout lev_hist(hf,day,mth) niveaux output definis dans physiq.def et

variables ENSEMBLES + rearrangement

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

Legend:

Unmodified
Added
Removed
  • LMDZ.3.3/branches/rel-LF/libf/phylmd/ini_histday.h

    r486 r506  
    11      IF (ok_journe) THEN
     2c
     3       IF(region.EQ.'3d') THEN
     4         zsto = dtime
     5c        zout = dtime * FLOAT(ecrit_day)
     6c        zsto1= dtime * FLOAT(ecrit_day)
     7         zout = dtime * REAL(ecrit_day)
     8         zsto1= dtime * REAL(ecrit_day)
     9       ELSEIF(region.EQ.'1d') THEN
     10         zsto = dtime
     11c        zout = dtime
     12         zout = dtime *4.
     13       ENDIF
    214c
    315         idayref = day_ref
     
    1325         ENDDO
    1426         CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlat,zx_lat)
     27         write(*,*)'zx_lon = ',zx_lon(:,1)
     28         write(*,*)'zx_lat = ',zx_lat(1,:)
    1529         CALL histbeg("histday", iim,zx_lon(:,1), jjmp1,zx_lat(1,:),
    16      .                 1,iim,1,jjmp1, itau_phy, zjulian, dtime,
     30c071103
     31c    .                 1,iim,1,jjmp1,
     32     .                 imin_debut,nbpti,
     33     .                 jmin_debut,nbptj,
     34c071103
     35     .                 itau_phy, zjulian, dtime,
    1736     .                 nhori, nid_day)
    1837         write(*,*)'Journee ', itau_phy, zjulian
    1938         CALL histvert(nid_day, "presnivs", "Vertical levels", "mb",
    2039     .                 klev, presnivs, nvert)
    21 c        call histvert(nid_day, 'sig_s', 'Niveaux sigma','-',
    22 c    .              klev, znivsig, nvert)
    23 c
    24          zsto = dtime
    25          zout = dtime * FLOAT(ecrit_day)
    26 C Essai writephys
    27 c        nom_fichier = 'histday1'
    28 c        call writephy_ini(fid_day,nom_fichier,klon,iim,jjmp1,klev,
    29 c    .                     rlon,rlat, presnivs,
    30 c    .                     zjulian, dtime)
    31 c        call writephy_def(prof2d_on, fid_day, "once", zsto, zout, 0)
    32 c        call writephy_def(prof3d_on, fid_day, "once", zsto, zout,
    33 c    .                                                         klev)
    34 c        call writephy_def(prof2d_av, fid_day, "ave(X)", zsto, zout, 0)
    35 c        call writephy_def(prof3d_av, fid_day, "ave(X)", zsto, zout,
    36 c    .                                                         klev)
    37  
     40c
     41       IF(lev_histday.GE.1) THEN
    3842c
    3943         CALL histdef(nid_day, "phis", "Surface geop. height", "-",
     
    4549     .                "once", zsto,zout)
    4650c
     51         CALL histdef(nid_day, "contfracATM","% sfce ter+lic ","-",
     52     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     53     .                "once", zsto,zout)
     54c
     55         CALL histdef(nid_day, "contfracOR","% sfce terre OR", "-",
     56     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     57     .                "once", zsto,zout)
     58c
    4759c Champs 2D:
    4860c
     
    5163     .                "ave(X)", zsto,zout)
    5264c
    53 c
    5465         CALL histdef(nid_day, "t2m", "Temperature 2m", "K",
    5566     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    5667     .                "ave(X)", zsto,zout)
    5768c
    58          CALL histdef(nid_day, "q2m", "Specific humidity", "Kg/Kg",
    59      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    60      .                "ave(X)", zsto,zout)
    61 c
    62          CALL histdef(nid_day, "u10m", "Vent zonal 10m", "m/s",
    63      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    64      .                "ave(X)", zsto,zout)
    65 c
    66          CALL histdef(nid_day, "v10m", "Vent meridien 10m", "m/s",
    67      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    68      .                "ave(X)", zsto,zout)
    69 c
    70          CALL histdef(nid_day, "psol", "Surface Pressure", "Pa",
    71      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    72      .                "ave(X)", zsto,zout)
    73 c
    74          CALL histdef(nid_day, "precip","Precipitation Totale liq+sol"
    75      .                , "kg/(s*m2)",
    76      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    77      .                "ave(X)", zsto,zout)
    78 c
    79          CALL histdef(nid_day, "snow", "Snow fall", "kg/(s*m2)",
    80      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    81      .                "ave(X)", zsto,zout)
    82 c
    83          CALL histdef(nid_day, "snow_mass", "Snow Mass", "kg/m2",
    84      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    85      .                "ave(X)", zsto,zout)
    86 c
    87          CALL histdef(nid_day, "evap", "Evaporation", "kg/(s*m2)",
    88      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    89      .                "ave(X)", zsto,zout)
    90 c
    91          CALL histdef(nid_day, "tops", "Solar rad. at TOA", "W/m2",
    92      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    93      .                "ave(X)", zsto,zout)
    94 c
    95          CALL histdef(nid_day, "topl", "IR rad. at TOA", "W/m2",
    96      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    97      .                "ave(X)", zsto,zout)
    98 c
    99          CALL histdef(nid_day, "sols", "Net Solar rad. at surf.",
    100      .                "W/m2",
    101      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    102      .                "ave(X)", zsto,zout)
    103 c
    104          CALL histdef(nid_day, "soll", "Net IR rad. at surface", "W/m2",
    105      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    106      .                "ave(X)", zsto,zout)
    107 c
    108          CALL histdef(nid_day, "solldown", "Down. IR rad. at surface",
    109      .                "W/m2", iim,jjmp1,nhori, 1,1,1, -99, 32,
    110      .                "ave(X)", zsto,zout)
    111 c
    112          CALL histdef(nid_day, "bils", "Surf. total heat flux", "W/m2",
    113      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    114      .                "ave(X)", zsto,zout)
    115 c
    116          CALL histdef(nid_day, "sens", "Sensible heat flux", "W/m2",
    117      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    118      .                "ave(X)", zsto,zout)
    119 c
    120          CALL histdef(nid_day, "fder", "Heat flux derivation", "W/m2",
    121      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    122      .                "ave(X)", zsto,zout)
    123 c
    124 c        CALL histdef(nid_day, "frtu", "Zonal wind stress", "Pa",
    125 c    .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    126 c    .                "ave(X)", zsto,zout)
    127 c
    128 c        CALL histdef(nid_day, "frtv", "Meridional wind stress", "Pa",
    129 c    .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    130 c    .                "ave(X)", zsto,zout)
    131 c
    132 c        CALL histdef(nid_day, "sicf", "Sea-ice fraction", "-",
    133 c    .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    134 c    .                "ave(X)", zsto,zout)
    135 c
    136          CALL histdef(nid_day, "cldl", "Low-level cloudiness", "-",
    137      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    138      .                "ave(X)", zsto,zout)
    139 c
    140          CALL histdef(nid_day, "cldm", "Mid-level cloudiness", "-",
    141      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    142      .                "ave(X)", zsto,zout)
    143 c
    144          CALL histdef(nid_day, "cldh", "High-level cloudiness", "-",
    145      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    146      .                "ave(X)", zsto,zout)
    147 c
    148          CALL histdef(nid_day, "cldt", "Total cloudiness", "-",
    149      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    150      .                "ave(X)", zsto,zout)
    151 c
    152          CALL histdef(nid_day, "cldq", "Cloud liquid water path", "-",
    153      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    154      .                "ave(X)", zsto,zout)
    155 c
    156          CALL histdef(nid_day, "SWupTOA", "SWup at TOA","W/m2",
    157      .                iim,jjmp1,nhori, 1,1,1,-99,
    158      .                32, "ave(X)", zsto,zout)
    159 c
    160          CALL histdef(nid_day, "SWupSFC", "SWup at surface","W/m2",
    161      .                iim,jjmp1,nhori, 1,1,1,-99,
    162      .                32, "ave(X)", zsto,zout)
    163 c
    164          CALL histdef(nid_day, "SWdnTOA", "SWdn at TOA","W/m2",
    165      .                iim,jjmp1,nhori, 1,1,1,-99,
    166      .                32, "ave(X)", zsto,zout)
    167 c
    168          CALL histdef(nid_day, "SWdnSFC", "SWdn at surface","W/m2",
    169      .                iim,jjmp1,nhori, 1,1,1,-99,
    170      .                32, "ave(X)", zsto,zout)
    171 c
    172          CALL histdef(nid_day, "SWupTOAclr",
    173      .                "SWup clear sky at TOA","W/m2",
    174      .                iim,jjmp1,nhori, 1,1,1,-99,
    175      .                32, "ave(X)", zsto,zout)
    176 
    177          CALL histdef(nid_day, "SWupSFCclr",
    178      .                "SWup clear sky at surface","W/m2",
    179      .                iim,jjmp1,nhori, 1,1,1,-99,
    180      .                32, "ave(X)", zsto,zout)
    181 
    182          CALL histdef(nid_day, "SWdnTOAclr",
    183      .                "SWdn clear sky at TOA","W/m2",
    184      .                iim,jjmp1,nhori, 1,1,1,-99,
    185      .                32, "ave(X)", zsto,zout)
    186 
    187          CALL histdef(nid_day, "SWdnSFCclr",
    188      .                "SWdn clear sky at surface","W/m2",
    189      .                iim,jjmp1,nhori, 1,1,1,-99,
    190      .                32, "ave(X)", zsto,zout)
    191 cccIM   
    192          CALL histdef(nid_day, "prw", "Precipitable water", "kg/m2",
    193      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    194      .                "ave(X)", zsto,zout)
    195 c
    196 c  Champs dynamiques sur niveaux de pression
    197 
    198          CALL histdef(nid_day, "u850", "Zonal wind 850mb", "m/s",
    199      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    200      .                "ave(X)", zsto,zout)
    201 
    202          CALL histdef(nid_day, "v850", "Meridional wind 850mb", "m/s",
    203      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    204      .                "ave(X)", zsto,zout)
    205 c
    206          CALL histdef(nid_day, "u500", "Zonal wind 500mb", "m/s",
    207      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    208      .                "ave(X)", zsto,zout)
    209 
    210          CALL histdef(nid_day, "v500", "Meridional wind 500mb", "m/s",
    211      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    212      .                "ave(X)", zsto,zout)
    213 
    214          CALL histdef(nid_day, "u200", "Zonal wind 200mb", "m/s",
    215      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    216      .                "ave(X)", zsto,zout)
    217 
    218          CALL histdef(nid_day, "v200", "Meridional wind 200mb", "m/s",
    219      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    220      .                "ave(X)", zsto,zout)
    221 
    222          CALL histdef(nid_day,"phi500", "Geopotentiel à 500mb", "m2/s2",
    223      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    224      .                "ave(X)", zsto,zout)
    225 
    226          CALL histdef(nid_day, "slp", "Sea Level Pressure", "Pa",
    227      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    228      .                "ave(X)", zsto,zout)
    229 
    230          CALL histdef(nid_day, "cape_max", "CAPE max.",
    231      .                "J/Kg",
    232      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    233      .                capemaxcels, zsto,zout)
    234 
    235 
    236 c=================================================================
    237 c   CI DESSOUS, SORTIES A UTILISER EN DEBUG
    238 c=================================================================
    239       if ( lev_histday.gt.1 ) then
    240 
    24169c Champs retires momentannéement en attendant un hypothetique
    24270c debugage
     
    25280     .                t2maxcels, zsto,zout)
    25381c
    254 c=================================================================
    255 c=================================================================
    256 c=================================================================
     82         CALL histdef(nid_day, "plul", "Large-scale Precip.",
     83     .   "kg/(s*m2)",
     84     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     85     .                "ave(X)", zsto,zout)
     86c
     87         CALL histdef(nid_day, "pluc", "Convective Precip.",
     88     .   "kg/(s*m2)",
     89     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     90     .                "ave(X)", zsto,zout)
     91c
     92         CALL histdef(nid_day, "snowl", "Solid Large-scale Precip.",
     93     .   "kg/(s*m2)",
     94     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     95     .                "ave(X)", zsto,zout)
     96c
     97         IF(1.EQ.0) THEN !snowc=0.
     98         CALL histdef(nid_day, "snowc", "Solid Convective Precip.",
     99     .   "kg/(s*m2)",
     100     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     101     .                "ave(X)", zsto,zout)
     102         ENDIF !snowc=0.
     103c
     104         CALL histdef(nid_day, "flat", "Latent heat flux", "W/m2",
     105     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     106     .                "ave(X)", zsto,zout)
     107c
     108         CALL histdef(nid_day, "sicf", "Sea-ice fraction", "-",
     109     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     110     .                "inst(X)", zsto1,zout)
     111c
     112         CALL histdef(nid_day, "q2m", "Specific humidity", "kg/kg",
     113     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     114     .                "ave(X)", zsto,zout)
     115c
     116         CALL histdef(nid_day, "u10m", "Vent zonal 10m", "m/s",
     117     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     118     .                "ave(X)", zsto,zout)
     119c
     120         CALL histdef(nid_day, "v10m", "Vent meridien 10m", "m/s",
     121     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     122     .                "ave(X)", zsto,zout)
     123c
     124         CALL histdef(nid_day, "wind10m","10-m wind speed","m/s",
     125     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     126     .                "ave(X)", zsto,zout)
     127c
     128         CALL histdef(nid_day, "wind10max", "10-m wind speed max.",
     129     .                "m/s",
     130     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     131     .                t2maxcels, zsto,zout)
     132c
     133         CALL histdef(nid_day, "psol", "Surface Pressure", "Pa",
     134     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     135     .                "ave(X)", zsto,zout)
     136c
     137         CALL histdef(nid_day, "precip","Precipitation Totale liq+sol"
     138     .                , "kg/(s*m2)",
     139     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     140     .                "ave(X)", zsto,zout)
     141c
     142         CALL histdef(nid_day, "snowf", "Snow fall", "kg/(s*m2)",
     143     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     144     .                "ave(X)", zsto,zout)
     145c
     146         CALL histdef(nid_day, "snow_mass", "Snow Mass", "kg/m2",
     147     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     148     .                "ave(X)", zsto,zout)
     149c
     150         CALL histdef(nid_day, "evap", "Evaporation", "kg/(s*m2)",
     151     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     152     .                "ave(X)", zsto,zout)
     153c
     154         CALL histdef(nid_day, "tops", "Solar rad. at TOA", "W/m2",
     155     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     156     .                "ave(X)", zsto,zout)
     157c
     158         CALL histdef(nid_day, "topl", "IR rad. at TOA", "W/m2",
     159     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     160     .                "ave(X)", zsto,zout)
     161c
     162         CALL histdef(nid_day, "sols", "Net Solar rad. at surf.",
     163     .                "W/m2",
     164     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     165     .                "ave(X)", zsto,zout)
     166c
     167         CALL histdef(nid_day, "soll", "Net IR rad. at surface", "W/m2",
     168     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     169     .                "ave(X)", zsto,zout)
     170c
     171         CALL histdef(nid_day, "cldl", "Low-level cloudiness", "-",
     172     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     173     .                "ave(X)", zsto,zout)
     174c
     175         CALL histdef(nid_day, "cldm", "Mid-level cloudiness", "-",
     176     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     177     .                "ave(X)", zsto,zout)
     178c
     179         CALL histdef(nid_day, "cldh", "High-level cloudiness", "-",
     180     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     181     .                "ave(X)", zsto,zout)
     182c
     183         CALL histdef(nid_day, "cldt", "Total cloudiness", "-",
     184     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     185     .                "ave(X)", zsto,zout)
     186c
     187         CALL histdef(nid_day, "cldq", "Cloud liquid water path",
     188     .                "kg/m2",
     189     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     190     .                "ave(X)", zsto,zout)
     191c
     192         CALL histdef(nid_day, "prw", "Precipitable water", "kg/m2",
     193     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     194     .                "ave(X)", zsto,zout)
     195c
     196c  Champs dynamiques sur niveaux de pression
     197         DO k=1, nlevENS
     198c
     199          CALL histdef(nid_day, "u"//clev(k),
     200     .                 "Zonal wind"//clev(k)//"mb","m/s",
     201     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     202     .                "ave(X)", zsto,zout)
     203c
     204          CALL histdef(nid_day, "v"//clev(k),
     205     .                 "Meridional wind"//clev(k)//"mb","m/s",
     206     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     207     .                "ave(X)", zsto,zout)
     208c
     209         ENDDO !nlevENS
     210c
     211         CALL histdef(nid_day, "w500", "Verical wind 500mb", "m/s",
     212     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     213     .                "ave(X)", zsto,zout)
     214c
     215         CALL histdef(nid_day,"phi500", "Geopotentiel a 500mb","m2/s2",
     216     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     217     .                "ave(X)", zsto,zout)
     218c
     219         CALL histdef(nid_day, "slp", "Sea Level Pressure", "Pa",
     220     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     221     .                "ave(X)", zsto,zout)
     222c
     223         CALL histdef(nid_day, "cape_max", "CAPE max.",
     224     .                "J/kg",
     225     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     226     .                capemaxcels, zsto,zout)
     227c
     228         CALL histdef(nid_day, "solldown", "Down. IR rad. at surface",
     229     .                "W/m2", iim,jjmp1,nhori, 1,1,1, -99, 32,
     230     .                "ave(X)", zsto,zout)
     231c
     232         CALL histdef(nid_day, "sens", "Sensible heat flux", "W/m2",
     233     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     234     .                "ave(X)", zsto,zout)
     235c
     236         CALL histdef(nid_day, "SWdnSFC", "SWdn at surface","W/m2",
     237     .                iim,jjmp1,nhori, 1,1,1,-99,
     238     .                32, "ave(X)", zsto,zout)
     239c
     240      ENDIF !lev_histday.GE.1
     241c
     242      IF (lev_histday.GE.2) THEN
     243c
     244         CALL histdef(nid_day, "bils", "Surf. total heat flux", "W/m2",
     245     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     246     .                "ave(X)", zsto,zout)
     247c
     248         CALL histdef(nid_day, "fder", "Heat flux derivation", "W/m2/K",
     249     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     250     .                "ave(X)", zsto,zout)
     251c
     252      ENDIF !lev_histday.GE.2
     253c=================================================================
     254      IF(lev_histday.GE.3) THEN
     255c=================================================================
     256c   INITIALISATION DES CHAMPS 3D
     257c=================================================================
     258c=================================================================
     259c=================================================================
     260c Champs 3D:
     261c
     262         CALL histdef(nid_day, "temp", "Air temperature", "K",
     263     .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
     264     .                "ave(X)", zsto,zout)
     265c
     266         CALL histdef(nid_day, "ovap", "Specific humidity", "kg/kg",
     267     .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
     268     .                "ave(X)", zsto,zout)
     269c
     270         CALL histdef(nid_day, "geop", "Geopotential height", "m",
     271     .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
     272     .                "ave(X)", zsto,zout)
     273c
     274         CALL histdef(nid_day, "vitu", "Zonal wind", "m/s",
     275     .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
     276     .                "ave(X)", zsto,zout)
     277c
     278         CALL histdef(nid_day, "vitv", "Meridional wind", "m/s",
     279     .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
     280     .                "ave(X)", zsto,zout)
     281c
     282         CALL histdef(nid_day, "vitw", "Vertical wind", "m/s",
     283     .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
     284     .                "ave(X)", zsto,zout)
     285c
     286         CALL histdef(nid_day, "pres", "Air pressure", "Pa",
     287     .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
     288     .                "ave(X)", zsto,zout)
     289c
     290c=================================================================
     291c   FIN INITIALISATION DES CHAMPS 3D
     292c=================================================================
     293      ENDIF !  lev_histday.GE.3
     294c
     295      IF (lev_histday.GE.4) THEN
     296c=================================================================
     297c
    257298c   INITIALISATION DES CHAMPS SUR LES SOUS SURFACES
    258 c=================================================================
     299c
     300c=================================================================
     301c
     302         CALL histdef(nid_day, "SWupTOA", "SWup at TOA","W/m2",
     303     .                iim,jjmp1,nhori, 1,1,1,-99,
     304     .                32, "ave(X)", zsto,zout)
     305c
     306         CALL histdef(nid_day, "SWupSFC", "SWup at surface","W/m2",
     307     .                iim,jjmp1,nhori, 1,1,1,-99,
     308     .                32, "ave(X)", zsto,zout)
     309c
     310         CALL histdef(nid_day, "SWdnTOA", "SWdn at TOA","W/m2",
     311     .                iim,jjmp1,nhori, 1,1,1,-99,
     312     .                32, "ave(X)", zsto,zout)
     313c
     314         CALL histdef(nid_day, "SWupTOAclr",
     315     .                "SWup clear sky at TOA","W/m2",
     316     .                iim,jjmp1,nhori, 1,1,1,-99,
     317     .                32, "ave(X)", zsto,zout)
    259318
     319         CALL histdef(nid_day, "SWupSFCclr",
     320     .                "SWup clear sky at surface","W/m2",
     321     .                iim,jjmp1,nhori, 1,1,1,-99,
     322     .                32, "ave(X)", zsto,zout)
     323
     324         CALL histdef(nid_day, "SWdnTOAclr",
     325     .                "SWdn clear sky at TOA","W/m2",
     326     .                iim,jjmp1,nhori, 1,1,1,-99,
     327     .                32, "ave(X)", zsto,zout)
     328
     329         CALL histdef(nid_day, "SWdnSFCclr",
     330     .                "SWdn clear sky at surface","W/m2",
     331     .                iim,jjmp1,nhori, 1,1,1,-99,
     332     .                32, "ave(X)", zsto,zout)
     333c
     334c=================================================================
     335c=================================================================
     336c=================================================================
     337c   INITIALISATION DES CHAMPS SUR LES SOUS SURFACES
     338c=================================================================
     339c
    260340         CALL histdef(nid_day, "tter", "Surface Temperature", "K",
    261341     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     
    273353     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    274354     .                "ave(X)", zsto,zout)
    275 c
    276 cccIM
    277355c
    278356         CALL histdef(nid_day, "t2mter", "Temp.terre 2m", "K",
     
    334412     .                "ave(X)", zsto,zout)
    335413c
    336 c
    337 CXXX PB flux pour chaque sous surface
    338 C
    339414         DO nsrf = 1, nbsrf
    340415C
     
    378453     $         iim,jjmp1,nhori, 1,1,1, -99, 32,
    379454     $         "ave(X)", zsto,zout)
    380 
    381 CXXX
     455C
    382456         END DO
    383            
    384 c=================================================================
    385 c   FIN DES CHAMPS SUR LES SOUS SURFACES
    386 c=================================================================
    387 c=================================================================
    388 c   FIN INITIALISATION DES CHAMPS 3D
    389 c=================================================================
    390 
    391 c Champs 3D:
    392 c
    393          CALL histdef(nid_day, "temp", "Air temperature", "K",
    394      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    395      .                "ave(X)", zsto,zout)
    396 c
    397          CALL histdef(nid_day, "ovap", "Specific humidity", "Kg/Kg",
    398      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    399      .                "ave(X)", zsto,zout)
    400 c
    401          CALL histdef(nid_day, "geop", "Geopotential height", "m",
    402      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    403      .                "ave(X)", zsto,zout)
    404 c
    405          CALL histdef(nid_day, "vitu", "Zonal wind", "m/s",
    406      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    407      .                "ave(X)", zsto,zout)
    408 c
    409          CALL histdef(nid_day, "vitv", "Meridional wind", "m/s",
    410      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    411      .                "ave(X)", zsto,zout)
    412 c
    413          CALL histdef(nid_day, "vitw", "Vertical wind", "m/s",
    414      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    415      .                "ave(X)", zsto,zout)
    416 c
    417          CALL histdef(nid_day, "pres", "Air pressure", "Pa",
    418      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    419      .                "ave(X)", zsto,zout)
    420 c
    421 c
    422 c=================================================================
    423 c   FIN INITIALISATION DES CHAMPS 3D
    424 c=================================================================
    425 
    426 
    427 c=================================================================
    428 c=================================================================
    429       endif !  lev_histday.gt.1
    430 c=================================================================
    431 
     457C           
     458c=================================================================
     459c
     460c   FIN INITIALISATION DES CHAMPS SUR LES SOUS SURFACES
     461c
     462c=================================================================
     463      ENDIF !lev_histday.GE.4
     464c=================================================================
     465c
    432466         CALL histend(nid_day)
    433467c
  • LMDZ.3.3/branches/rel-LF/libf/phylmd/ini_histhf.h

    r467 r506  
    22      IF (ok_hf) THEN
    33c
    4          PRINT*, 'La frequence de sortie instant. est de ', ecrit_hf
    5 
    6 cccIM    CALL ymds2ju(anne_ini, 1, 1, 0.0, zjulian)
     4       IF(region.EQ.'3d') THEN
     5c
     6        zout = dtime * REAL(NINT(86400./dtime*ecrit_hf))
     7        zsto = zout
     8        zsto1 = dtime
     9        PRINT*, 'La frequence de sortie instant. est de ', ecrit_hf
     10c
     11       ELSEIF(region.EQ.'1d') THEN
     12c
     13c   pour les champs instantannes, il faut mettre la meme valeur pour
     14c   zout et tsto.
     15c   dtime est passe par ailleurs a histbeg
     16         zsto = dtime
     17c        zout = dtime
     18         zout = dtime *4.
     19       ENDIF
     20       print*,'zout,zsto=',zout,zsto
     21cIM cf LF
    722         idayref = day_ref
    823         CALL ymds2ju(annee_ref, 1, idayref, 0.0, zjulian)
     24
     25cccIM    CALL ymds2ju(anne_ini, 1, 1, 0.0, zjulian)
     26c        CALL ymds2ju(annee_ref, 1, 1, 0.0, zjulian)
     27c        zjulian = zjulian + day_ini
     28cIM cf LF
    929
    1030c
     
    1939cccIM      CALL histbeg("histhf", iim,zx_lon, jjmp1,zx_lat,
    2040         CALL histbeg("histhf", iim,zx_lon(:,1), jjmp1,zx_lat(1,:),
    21      .                 1,iim,1,jjmp1, itau_phy, zjulian, dtime,
     41cIM cf LF    .                 1,iim,1,jjmp1, 0, zjulian, dtime,
     42c071103
     43c    .                 1,iim,1,jjmp1,
     44     .                 imin_debut,nbpti,
     45     .                 jmin_debut,nbptj,
     46c071103
     47     .                 itau_phy, zjulian, dtime,
    2248     .                 nhori, nid_hf)
    2349
    2450         CALL histvert(nid_hf, "presnivs", "Vertical levels", "mb",
    2551     .                 klev, presnivs, nvert)
    26          zsto = dtime
    27 
    28 c   pour les champs instantannes, il faut mettre la meme valeur pour
    29 c   zout et tsto.
    30 c   dtime est passe par ailleurs a histbeg
    31 
    32          zout = dtime * REAL(NINT(86400./dtime*ecrit_hf))
    33          zsto = zout
    34          print*,'zout,zsto=',zout,zsto
    35 
     52c
     53
     54      IF(lev_histhf.GE.1) THEN
    3655c
    3756c        CALL histdef(nid_hf, "phis", "Surface geop. height", "-",
     
    4362c    .                "once", zsto,zout)
    4463c
     64         CALL histdef(nid_hf, "aireTER","Grid area CONT","-",
     65     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     66     .                "once", zsto,zout)
     67c
     68         CALL histdef(nid_hf, "contfracATM","% sfce ter+lic ","-",
     69     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     70     .                "once", zsto,zout)
     71c
     72         CALL histdef(nid_hf, "contfracOR","% sfce terre OR", "-",
     73     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     74     .                "once", zsto,zout)
     75c
    4576c Champs 2D:
    4677c
    47          CALL histdef(nid_hf, "tsol", "Surface Temperature", "K",
     78         CALL histdef(nid_hf, "t2m", "Temperature 2m", "K",
    4879     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     80     .                "inst(X)", zsto,zout)
     81c
     82         CALL histdef(nid_hf, "q2m", "Specific humidity", "kg/kg",
     83     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    4984     .                "inst(X)", zsto,zout)
    5085c
     
    5590         print*,'ATTENTION METTRE AVE(X) POUR LES PRECIPS'
    5691
    57          CALL histdef(nid_hf, "rain", "Precipitation", "mm/d",
     92         CALL histdef(nid_hf, "rain", "Precipitation", "kg/m^2s",
    5893     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    59      .                "inst(X)", zsto,zout)
    60 c
    61          CALL histdef(nid_hf, "u850", "Zonal wind 850mb", "m/s",
    62      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    63      .                "inst(X)", zsto,zout)
    64 
    65          CALL histdef(nid_hf, "v850", "Meridional wind 850mb", "m/s",
    66      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    67      .                "inst(X)", zsto,zout)
    68 c
    69          CALL histdef(nid_hf, "u500", "Zonal wind 500mb", "m/s",
    70      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    71      .                "inst(X)", zsto,zout)
    72 
    73          CALL histdef(nid_hf, "v500", "Meridional wind 500mb", "m/s",
    74      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    75      .                "inst(X)", zsto,zout)
    76 
    77          CALL histdef(nid_hf, "u200", "Zonal wind 200mb", "m/s",
    78      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    79      .                "inst(X)", zsto,zout)
    80 
    81          CALL histdef(nid_hf, "v200", "Meridional wind 200mb", "m/s",
    82      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    83      .                "inst(X)", zsto,zout)
    84 
    85          CALL histdef(nid_hf, "phi500", "Geopotentiel a 500mb", "m2/s2",
    86      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    87      .                "inst(X)", zsto,zout)
    88 
    89 cIM cf FH
    90          CALL histdef(nid_hf,"u1","Zonal wind at 1st layer", "m/s",
    91      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    92      .                "inst(X)", zsto,zout)
    93 
    94          CALL histdef(nid_hf,"v1","Meridional wind at 1st layer",
    95      .                "m/s",iim,jjmp1,nhori, 1,1,1, -99, 32,
    96      .                "inst(X)", zsto,zout)
    97  
     94     .                "ave(X)", zsto1,zout)
     95c
     96cIM ENSEMBLES BEG
     97c
     98         CALL histdef(nid_hf, "tsol", "Surface Temperature", "K",
     99     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     100     .                "inst(X)", zsto,zout)
     101c
     102         CALL histdef(nid_hf, "slp", "Sea Level Pressure", "Pa",
     103     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     104     .                "inst(X)", zsto,zout)
     105c
     106c
     107         CALL histdef(nid_hf, "u10m", "Vent zonal 10m", "m/s",
     108     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     109     .                "inst(X)", zsto,zout)
     110c
     111         CALL histdef(nid_hf, "v10m", "Vent meridien 10m", "m/s",
     112     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     113     .                "inst(X)", zsto,zout)
     114c
     115         CALL histdef(nid_hf, "wind10m","10-m wind speed","m/s",
     116     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     117     .                "inst(X)", zsto,zout)
     118c
     119         DO k=1, nlevENS
     120          IF(clev(k).EQ."500") THEN
     121          CALL histdef(nid_hf, "phi"//clev(k),
     122     .                "Geopotential"//clev(k)//"mb", "m2/s2",
     123     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     124     .                "inst(X)", zsto,zout)
     125          ENDIF !clev(k).EQ."500"
     126         ENDDO !k=1, nlevENS
     127c
     128      ENDIF !lev_histhf.GE.1
     129c
     130      IF(lev_histhf.GE.2) THEN
     131c
     132         CALL histdef(nid_hf, "cldt", "Total cloudiness", "-",
     133     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     134     .                "ave(X)", zsto1,zout)
     135c
     136c
     137         CALL histdef(nid_hf, "SWdownOR",
     138     .                "Sfce incident SW radiation OR", "W/m^2",
     139     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     140     .                "ave(X)", zsto1,zout)
     141c
     142         CALL histdef(nid_hf, "LWdownOR",
     143     .                "Sfce incident LW radiation OR", "W/m^2",
     144     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     145     .                "ave(X)", zsto1,zout)
     146      ENDIF !lev_histhf.GE.2
     147c
     148cIM ENSEMBLES END
     149c
     150      IF(lev_histhf.GE.3) THEN
     151c
     152         DO k=1, nlevENS
     153c
     154          CALL histdef(nid_hf, "t"//clev(k),
     155     .                 "Temperature"//clev(k)//"mb","K",
     156     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     157     .                "inst(X)", zsto,zout)
     158c
     159          IF(clev(k).NE."500") THEN
     160          CALL histdef(nid_hf, "phi"//clev(k),
     161     .                "Geopotential"//clev(k)//"mb", "m2/s2",
     162     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     163     .                "inst(X)", zsto,zout)
     164          ENDIF
     165c
     166          CALL histdef(nid_hf, "q"//clev(k),
     167     .                 "Specific humidity"//clev(k)//"mb","kg/kg",
     168     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     169     .                "inst(X)", zsto,zout)
     170c
     171         IF(1.EQ.0) THEN
     172         CALL histdef(nid_hf, "rh"//clev(k),
     173     .                 "Relative humidity"//clev(k)//"mb", "%",
     174     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     175     .                "inst(X)", zsto,zout)
     176         ENDIF
     177c
     178          CALL histdef(nid_hf, "u"//clev(k),
     179     .                 "Zonal wind"//clev(k)//"mb","m/s",
     180     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     181     .                "inst(X)", zsto,zout)
     182c
     183          CALL histdef(nid_hf, "v"//clev(k),
     184     .                 "Meridional wind"//clev(k)//"mb","m/s",
     185     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     186     .                "inst(X)", zsto,zout)
     187c
     188         ENDDO !nlevENS
     189         IF(1.EQ.0) THEN
    98190         CALL histdef(nid_hf, "cdrm", " Momentum drag coef.", "-",
    99191     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    100192     .                "inst(X)", zsto,zout)
    101 
     193c
    102194         CALL histdef(nid_hf, "cdrh", "Heat drag coef.", "-",
    103195     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    104196     .                "inst(X)", zsto,zout)
    105  
     197         ENDIF !(1.EQ.0) THEN
     198c
     199      ENDIF !lev_histhf.GE.3
     200c
     201      IF(lev_histhf.GE.4) THEN
     202#define histhf3d
     203#ifdef histhf3d
     204#include "ini_histhf3d.h"
     205#endif
     206      ENDIF !lev_histhf.GE.4
     207c
     208c#define histhf3d
     209c#ifdef histhf3d
     210c#include "ini_histhf3d.h"
     211c#endif
    106212c
    107213         CALL histend(nid_hf)
    108 
     214c
    109215      endif ! ok_hf
  • LMDZ.3.3/branches/rel-LF/libf/phylmd/ini_histins.h

    r451 r506  
    11      IF (ok_instan) THEN
     2c
     3        IF(region.EQ.'3d') THEN
     4          zsto = dtime * ecrit_ins
     5          zout = dtime * ecrit_ins
     6        ELSEIF(REGION.eq.'1d') THEN
     7         zsto = dtime
     8c        zout = dtime
     9         zout = dtime *4.
     10        ENDIF
    211c
    312         idayref = day_ref
     
    1423         CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlat,zx_lat)
    1524         CALL histbeg("histins", iim,zx_lon(:,1), jjmp1,zx_lat(1,:),
    16      .                 1,iim,1,jjmp1, itau_phy, zjulian, dtime,
     25c071103
     26c    .                 1,iim,1,jjmp1,
     27     .                 imin_debut,nbpti,
     28     .                 jmin_debut,nbptj,
     29c071103
     30     .                 itau_phy, zjulian, dtime,
    1731     .                 nhori, nid_ins)
    1832         write(*,*)'Inst ', itau_phy, zjulian
     
    2337c
    2438c
    25          zsto = dtime * ecrit_ins
    26          zout = dtime * ecrit_ins
    27 C
    2839         CALL histdef(nid_ins, "phis", "Surface geop. height", "-",
    2940     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
  • LMDZ.3.3/branches/rel-LF/libf/phylmd/ini_histmth.h

    r486 r506  
    11      IF (ok_mensuel) THEN
     2c
     3        IF(region.EQ.'3d') THEN
     4         zsto = dtime
     5         zout = dtime * ecrit_mth
     6c
     7c zsto1: pour des valeurs "instantannees" mensuelles
     8         zsto1 = dtime * ecrit_mth
     9c zsto2: pour des flux radiatifs calcules tous les 2 heures
     10         zsto2 = dtime * radpas
     11         PRINT*,' zsto,zsto1,zsto2,zout=',zsto, zsto1, zsto2,zout
     12        ELSEIF(region.EQ.'1d') THEN
     13          zsto = dtime
     14c         zout = dtime
     15          zout = dtime *4.
     16        ENDIF
    217c
    318         idayref = day_ref
     
    1429         CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlat,zx_lat)
    1530         CALL histbeg("histmth.nc", iim,zx_lon(:,1), jjmp1,zx_lat(1,:),
    16      .                 1,iim,1,jjmp1, itau_phy, zjulian, dtime,
     31c071103
     32c    .                 1,iim,1,jjmp1,
     33     .                 imin_debut,nbpti,
     34     .                 jmin_debut,nbptj,
     35c071103
     36     .                 itau_phy, zjulian, dtime,
    1737     .                 nhori, nid_mth)
    1838         write(*,*)'Mensuel ', itau_phy, zjulian
     
    2242c    .              klev, znivsig, nvert)
    2343c
    24          zsto = dtime
    25          zout = dtime * ecrit_mth
    26 c
     44c
     45      IF(lev_histmth.GE.1) THEN
    2746         CALL histdef(nid_mth, "phis", "Surface geop. height", "-",
    2847     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     
    3352     .                "once",  zsto,zout)
    3453c
     54           call histdef(nid_mth, "pourc_"//clnsurf(is_ter),
     55     $         "Fraction "//clnsurf(is_ter), "W/m2", 
     56     $         iim,jjmp1,nhori, 1,1,1, -99, 32,
     57     $         "once", zsto,zout)
     58c
    3559c Champs 2D:
    3660c
     
    4670     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    4771     .                "ave(X)", zsto,zout)
    48 c
     72c ENSEMBLES BEG
     73         CALL histdef(nid_mth, "t2m_min", "Temp. 2m min.",
     74     .                "K",
     75     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     76     .                t2mincels, zsto,zout)
     77c
     78         CALL histdef(nid_mth, "t2m_max", "Temp. 2m max.",
     79     .                "K",
     80     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     81     .                t2maxcels, zsto,zout)
     82c
     83c        CALL histdef(nid_mth, "tsoil", "Sfce soil Temperature",
     84c    .                "K",
     85c    .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     86c    .                "ave(X)", zsto,zout)
     87c
     88         CALL histdef(nid_mth, "wind10m","10-m wind speed","m/s",
     89     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     90     .                "ave(X)", zsto,zout)
     91c
     92         CALL histdef(nid_mth, "sicf", "Sea-ice fraction", "-",
     93     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     94     .                "ave(X)", zsto,zout)
     95
     96c
     97c ENSEMBLES END
    4998         CALL histdef(nid_mth, "q2m", "Specific humidity 2m", "Kg/Kg",
    5099     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     
    58107     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    59108     .                "ave(X)", zsto,zout)
    60 c
    61109c
    62110         CALL histdef(nid_mth, "psol", "Surface Pressure", "Pa",
     
    74122      endif
    75123c
     124         CALL histdef(nid_mth, "ndayrain",
     125     .                "Number of day with rain (liq+sol)", "-",
     126     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     127     .                "inst(X)", zsto1,zout)
     128c
    76129         CALL histdef(nid_mth, "precip", "Precipitation Totale liq+sol",
    77      .                "kg/(s*m2)",
     130     .                "Kg/(s*m2)",
    78131     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    79132     .                "ave(X)", zsto,zout)
    80133c
    81134         CALL histdef(nid_mth, "plul", "Large-scale Precip.",
    82      .   "kg/(s*m2)",
     135     .   "Kg/(s*m2)",
    83136     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    84137     .                "ave(X)", zsto,zout)
    85138c
    86139         CALL histdef(nid_mth, "pluc", "Convective Precip.",
    87      .   "kg/(s*m2)",
    88      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    89      .                "ave(X)", zsto,zout)
    90 c
    91          CALL histdef(nid_mth, "snow", "Snow fall", "kg/(s*m2)",
    92      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    93      .                "ave(X)", zsto,zout)
    94 c
    95          CALL histdef(nid_mth, "snow_mass", "Snow Mass", "kg/m2",
    96      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    97      .                "ave(X)", zsto,zout)
    98 c
    99          CALL histdef(nid_mth, "evap", "Evaporation", "kg/(s*m2)",
     140     .   "Kg/(s*m2)",
     141     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     142     .                "ave(X)", zsto,zout)
     143c
     144         CALL histdef(nid_mth, "snow", "Snow fall", "Kg/(s*m2)",
     145     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     146     .                "ave(X)", zsto,zout)
     147c
     148         CALL histdef(nid_mth, "snow_mass", "Snow Mass", "Kg/m2",
     149     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     150     .                "ave(X)", zsto,zout)
     151c
     152cIM: 071003 evap(Kg/m2/s) ==> evap(mm/day)
     153        CALL histdef(nid_mth, "evap", "Evaporation", "kg/(s*m2)",
     154c       CALL histdef(nid_mth, "evap", "Evaporation", "mm/day",
    100155     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    101156     .                "ave(X)", zsto,zout)
     
    105160     .                "ave(X)", zsto,zout)
    106161c
     162         CALL histdef(nid_mth, "tops0", "Solar rad. at TOA", "W/m2",
     163     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     164     .                "ave(X)", zsto,zout)
     165c
    107166         CALL histdef(nid_mth, "topl", "IR rad. at TOA", "W/m2",
    108167     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    109168     .                "ave(X)", zsto,zout)
    110169c
     170         CALL histdef(nid_mth, "topl0", "IR rad. at TOA", "W/m2",
     171     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     172     .                "ave(X)", zsto,zout)
     173c
     174         CALL histdef(nid_mth, "SWupTOA", "SWup at TOA","W/m2",
     175     .                iim,jjmp1,nhori, 1,1,1,-99,
     176     .                32, "ave(X)", zsto2,zout)
     177c
     178         CALL histdef(nid_mth, "SWupTOAclr",
     179     .                "SWup clear sky at TOA","W/m2",
     180     .                iim,jjmp1,nhori, 1,1,1,-99,
     181     .                32, "ave(X)", zsto2,zout)
     182c
     183         CALL histdef(nid_mth, "SWdnTOA", "SWdn at TOA","W/m2",
     184     .                iim,jjmp1,nhori, 1,1,1,-99,
     185     .                32, "ave(X)", zsto2,zout)
     186c
     187         CALL histdef(nid_mth, "SWdnTOAclr",
     188     .                "SWdn clear sky at TOA","W/m2",
     189     .                iim,jjmp1,nhori, 1,1,1,-99,
     190     .                32, "ave(X)", zsto2,zout)
     191c
     192         CALL histdef(nid_mth, "SWup200", "SWup at 200hPa","W/m2",
     193     .                iim,jjmp1,nhori, 1,1,1,-99,
     194     .                32, "ave(X)", zsto2,zout)
     195c
     196         CALL histdef(nid_mth, "SWup200clr",
     197     .                "SWup clear sky at 200hPa","W/m2",
     198     .                iim,jjmp1,nhori, 1,1,1,-99,
     199     .                32, "ave(X)", zsto2,zout)
     200c
     201         CALL histdef(nid_mth, "SWdn200", "SWdn at 200hPa","W/m2",
     202     .                iim,jjmp1,nhori, 1,1,1,-99,
     203     .                32, "ave(X)", zsto2,zout)
     204c
     205         CALL histdef(nid_mth, "SWdn200clr",
     206     .                "SWdn clear sky at 200hPa","W/m2",
     207     .                iim,jjmp1,nhori, 1,1,1,-99,
     208     .                32, "ave(X)", zsto2,zout)
     209c
     210         CALL histdef(nid_mth, "LWup200", "LWup at 200hPa","W/m2",
     211     .                iim,jjmp1,nhori, 1,1,1,-99,
     212     .                32, "ave(X)", zsto2,zout)
     213c
     214         CALL histdef(nid_mth, "LWup200clr",
     215     .                "LWup clear sky at 200hPa","W/m2",
     216     .                iim,jjmp1,nhori, 1,1,1,-99,
     217     .                32, "ave(X)", zsto2,zout)
     218c
     219         CALL histdef(nid_mth, "LWdn200", "LWdn at 200hPa","W/m2",
     220     .                iim,jjmp1,nhori, 1,1,1,-99,
     221     .                32, "ave(X)", zsto2,zout)
     222c
     223         CALL histdef(nid_mth, "LWdn200clr",
     224     .                "LWdn clear sky at 200hPa","W/m2",
     225     .                iim,jjmp1,nhori, 1,1,1,-99,
     226     .                32, "ave(X)", zsto2,zout)
     227c
    111228         CALL histdef(nid_mth, "sols", "Solar rad. at surf.", "W/m2",
    112229     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    113230     .                "ave(X)", zsto,zout)
    114231c
     232         CALL histdef(nid_mth, "sols0", "Solar rad. at surf.", "W/m2",
     233     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     234     .                "ave(X)", zsto,zout)
     235c
    115236         CALL histdef(nid_mth, "soll", "IR rad. at surface", "W/m2",
    116237     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    117238     .                "ave(X)", zsto,zout)
    118 cIM: 071003
     239c
     240         CALL histdef(nid_mth, "soll0", "IR rad. at surface", "W/m2",
     241     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     242     .                "ave(X)", zsto,zout)
     243c
     244         CALL histdef(nid_mth, "SWupSFC", "SWup at surface","W/m2",
     245     .                iim,jjmp1,nhori, 1,1,1,-99,
     246     .                32, "ave(X)", zsto2,zout)
     247c
     248         CALL histdef(nid_mth, "SWupSFCclr",
     249     .                "SWup clear sky at surface","W/m2",
     250     .                iim,jjmp1,nhori, 1,1,1,-99,
     251     .                32, "ave(X)", zsto2,zout)
     252c
     253         CALL histdef(nid_mth, "SWdnSFC", "SWdn at surface","W/m2",
     254     .                iim,jjmp1,nhori, 1,1,1,-99,
     255     .                32, "ave(X)", zsto2,zout)
     256c
     257         CALL histdef(nid_mth, "SWdnSFCclr",
     258     .                "SWdn clear sky at surface","W/m2",
     259     .                iim,jjmp1,nhori, 1,1,1,-99,
     260     .                32, "ave(X)", zsto2,zout)
     261c
     262         CALL histdef(nid_mth,"LWupSFC","Upwd. IR rad. at surface",
     263     .                "W/m2", iim,jjmp1,nhori, 1,1,1, -99, 32,
     264     .                "ave(X)", zsto2,zout)
     265c
    119266         CALL histdef(nid_mth,"LWdnSFC","Down. IR rad. at surface",
    120267     .                "W/m2", iim,jjmp1,nhori, 1,1,1, -99, 32,
    121      .                "ave(X)", zsto,zout)
    122 cIM: 071003
    123          CALL histdef(nid_mth,"LWupSFC","Upwd. IR rad. at surface",
     268     .                "ave(X)", zsto2,zout)
     269c
     270         CALL histdef(nid_mth,"LWupSFCclr",
     271     .                "CS Upwd. IR rad. at surface",
    124272     .                "W/m2", iim,jjmp1,nhori, 1,1,1, -99, 32,
    125      .                "ave(X)", zsto,zout)
    126 c
    127          CALL histdef(nid_mth, "tops0", "Solar rad. at TOA", "W/m2",
    128      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    129      .                "ave(X)", zsto,zout)
    130 c
    131          CALL histdef(nid_mth, "topl0", "IR rad. at TOA", "W/m2",
    132      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    133      .                "ave(X)", zsto,zout)
    134 c
    135          CALL histdef(nid_mth, "sols0", "Solar rad. at surf.", "W/m2",
    136      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    137      .                "ave(X)", zsto,zout)
    138 c
    139          CALL histdef(nid_mth, "soll0", "IR rad. at surface", "W/m2",
    140      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    141      .                "ave(X)", zsto,zout)
     273     .                "ave(X)", zsto2,zout)
     274c
     275         CALL histdef(nid_mth,"LWdnSFCclr",
     276     .                "Down. CS IR rad. at surface",
     277     .                "W/m2", iim,jjmp1,nhori, 1,1,1, -99, 32,
     278     .                "ave(X)", zsto2,zout)
    142279c
    143280         CALL histdef(nid_mth, "bils", "Surf. total heat flux", "W/m2",
     
    166303c
    167304         CALL histdef(nid_mth, "fqcalving","Ice Calving",
    168      .                "kg/m2/s",iim,jjmp1,nhori, 1,1,1, -99, 32,
    169      .                "ave(X)", zsto,zout)
    170 c
     305     .                "Kg/m2/s",iim,jjmp1,nhori, 1,1,1, -99, 32,
     306     .                "ave(X)", zsto,zout)
     307cIM: 171003
     308         DO nsrf = 1, nbsrf
     309           call histdef(nid_mth, "taux_"//clnsurf(nsrf),
     310     $         "Zonal wind stress"//clnsurf(nsrf), "Pa", 
     311     $         iim,jjmp1,nhori, 1,1,1, -99, 32,
     312     $         "ave(X)", zsto,zout)
     313
     314           call histdef(nid_mth, "tauy_"//clnsurf(nsrf),
     315     $         "Meridional xind stress "//clnsurf(nsrf), "Pa", 
     316     $         iim,jjmp1,nhori, 1,1,1, -99, 32,
     317     $         "ave(X)", zsto,zout)
     318         ENDDO
     319cIM: 171003
     320c
     321cIM       if ( lev_histday.gt.1 ) then
    171322         DO nsrf = 1, nbsrf
    172323C
     324          IF(nsrf.GT.1) THEN
    173325           call histdef(nid_mth, "pourc_"//clnsurf(nsrf),
    174326     $         "Fraction "//clnsurf(nsrf), "W/m2", 
    175327     $         iim,jjmp1,nhori, 1,1,1, -99, 32,
    176328     $         "ave(X)", zsto,zout)
     329          ENDIF !nsrf.GT.1
    177330C
    178331           call histdef(nid_mth, "tsol_"//clnsurf(nsrf),
     
    194347     $         "LW "//clnsurf(nsrf), "W/m2",
    195348     $         iim,jjmp1,nhori, 1,1,1, -99, 32,
    196      $         "ave(X)", zsto,zout)
     349     $         "ave(X)", zsto2,zout)
    197350c
    198351           call histdef(nid_mth, "fsw_"//clnsurf(nsrf),
    199352     $         "SW "//clnsurf(nsrf), "W/m2",
    200353     $         iim,jjmp1,nhori, 1,1,1, -99, 32,
    201      $         "ave(X)", zsto,zout)
     354     $         "ave(X)", zsto2,zout)
    202355C
    203356           call histdef(nid_mth, "wbils_"//clnsurf(nsrf),
     
    206359     $         "ave(X)", zsto,zout)
    207360C
    208            call histdef(nid_mth, "taux_"//clnsurf(nsrf),
    209      $         "Zonal wind stress"//clnsurf(nsrf), "Pa", 
    210      $         iim,jjmp1,nhori, 1,1,1, -99, 32,
    211      $         "ave(X)", zsto,zout)
    212 
    213            call histdef(nid_mth, "tauy_"//clnsurf(nsrf),
    214      $         "Meridional xind stress "//clnsurf(nsrf), "Pa", 
    215      $         iim,jjmp1,nhori, 1,1,1, -99, 32,
    216      $         "ave(X)", zsto,zout)
     361         END DO
     362cIM         endif !lev_histday
     363c
     364         CALL histdef(nid_mth, "cdrm", "Momentum drag coef.", "-",
     365     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     366     .                "ave(X)", zsto,zout)
     367c
     368         CALL histdef(nid_mth, "cdrh", "Heat drag coef.", "-",
     369     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     370     .                "ave(X)", zsto,zout)
     371c
     372         CALL histdef(nid_mth, "cldl", "Low-level cloudiness", "-",
     373     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     374     .                "ave(X)", zsto,zout)
     375c
     376         CALL histdef(nid_mth, "cldm", "Mid-level cloudiness", "-",
     377     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     378     .                "ave(X)", zsto,zout)
     379c
     380         CALL histdef(nid_mth, "cldh", "High-level cloudiness", "-",
     381     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     382     .                "ave(X)", zsto,zout)
     383c
     384         CALL histdef(nid_mth, "cldt", "Total cloudiness", "-",
     385     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     386     .                "ave(X)", zsto,zout)
     387c
     388         CALL histdef(nid_mth,"cldq","Cloud liquid water path","Kg/m2",
     389     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     390     .                "ave(X)", zsto,zout)
     391cIM: 071003
     392         CALL histdef(nid_mth,"lwp","Cloud water path","Kg/m2",
     393     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     394     .                "ave(X)", zsto,zout)
     395c
     396         CALL histdef(nid_mth,"iwp","Cloud ice water path","Kg/m2",
     397     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     398     .                "ave(X)", zsto,zout)
     399cIM: 071003
     400c
     401         CALL histdef(nid_mth, "ue", "Zonal energy transport", "-",
     402     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     403     .                "ave(X)", zsto,zout)
     404c
     405         CALL histdef(nid_mth, "ve", "Merid energy transport", "-",
     406     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     407     .                "ave(X)", zsto,zout)
     408c
     409         CALL histdef(nid_mth, "uq", "Zonal humidity transport", "-",
     410     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     411     .                "ave(X)", zsto,zout)
     412c
     413         CALL histdef(nid_mth, "vq", "Merid humidity transport", "-",
     414     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     415     .                "ave(X)", zsto,zout)
     416cKE43
     417      IF(iflag_con.GE.3) THEN ! sb
     418c
     419         CALL histdef(nid_mth, "cape", "Conv avlbl pot ener", "J/Kg",
     420     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     421     .                "ave(X)", zsto,zout)
     422c
     423         CALL histdef(nid_mth, "pbase", "Cld base pressure", "hPa",
     424     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     425     .                "ave(X)", zsto,zout)
     426c
     427         CALL histdef(nid_mth, "ptop", "Cld top pressure", "hPa",
     428     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     429     .                "ave(X)", zsto,zout)
     430c
     431         CALL histdef(nid_mth, "fbase", "Cld base mass flux", "Kg/m2/s",
     432     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     433     .                "ave(X)", zsto,zout)
     434c
     435         CALL histdef(nid_mth, "prw", "Precipitable water", "Kg/m2",
     436     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     437     .                "ave(X)", zsto,zout)
     438c
     439      ENDIF !iflag_con .GE. 3
     440c34EK
     441c
     442c Champs interpolles sur des niveaux de pression
     443         DO k=1, nlevENS
     444          CALL histdef(nid_mth, "u"//clev(k),
     445     .                 "Zonal wind"//clev(k)//"mb","m/s",
     446     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     447     .                "ave(X)", zsto,zout)
     448c
     449          CALL histdef(nid_mth, "v"//clev(k),
     450     .                 "Meridional wind"//clev(k)//"mb","m/s",
     451     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     452     .                "ave(X)", zsto,zout)
     453c
     454          CALL histdef(nid_mth, "w"//clev(k),
     455     .                 "Vertical wind"//clev(k)//"mb","m/s",
     456     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     457     .                "ave(X)", zsto,zout)
     458c
     459          CALL histdef(nid_mth, "phi"//clev(k),
     460     .                 "Geopotential"//clev(k)//"mb","m2/s2",
     461     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     462     .                "ave(X)", zsto,zout)
     463c
     464         ENDDO
     465      ENDIF !lev_histmth.GE.1
     466c
     467      IF(lev_histmth.GE.2) THEN
     468c
     469c Champs 3D:
     470c
     471c
     472         CALL histdef(nid_mth,"lwcon","Cloud water content","Kg/Kg",
     473     .                iim,jjmp1,nhori, klev,1,klev, nvert, 32,
     474     .                "ave(X)", zsto,zout)
     475c
     476         CALL histdef(nid_mth,"iwcon","Cloud ice water content","Kg/Kg",
     477     .                iim,jjmp1,nhori, klev,1,klev, nvert, 32,
     478     .                "ave(X)", zsto,zout)
     479c
     480         CALL histdef(nid_mth, "temp", "Air temperature", "K",
     481     .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
     482     .                "ave(X)", zsto,zout)
     483c
     484         CALL histdef(nid_mth, "ovap", "Specific humidity", "Kg/Kg",
     485     .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
     486     .                "ave(X)", zsto,zout)
     487c
     488c        CALL histdef(nid_mth,"wvap","Water vapor mixing ratio","Kg/Kg",
     489c    .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
     490c    .                "ave(X)", zsto,zout)
     491c
     492         CALL histdef(nid_mth, "geop", "Geopotential height", "m",
     493     .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
     494     .                "ave(X)", zsto,zout)
     495c
     496         CALL histdef(nid_mth, "vitu", "Zonal wind", "m/s",
     497     .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
     498     .                "ave(X)", zsto,zout)
     499c
     500         CALL histdef(nid_mth, "vitv", "Meridional wind", "m/s",
     501     .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
     502     .                "ave(X)", zsto,zout)
     503c
     504         CALL histdef(nid_mth, "vitw", "Vertical wind", "m/s",
     505     .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
     506     .                "ave(X)", zsto,zout)
     507c
     508         CALL histdef(nid_mth, "pres", "Air pressure", "Pa",
     509     .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
     510     .                "ave(X)", zsto,zout)
     511c
     512        CALL histdef(nid_mth, "rneb", "Cloud fraction", "-",
     513     .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
     514     .                "ave(X)", zsto,zout)
     515c
     516         CALL histdef(nid_mth, "rnebcon", "Convective Cloud Fraction"
     517     .                , "-",
     518     .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
     519     .                "ave(X)", zsto,zout)
     520c
     521         CALL histdef(nid_mth, "rhum", "Relative humidity", "-",
     522     .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
     523     .                "ave(X)", zsto,zout)
     524c
     525         CALL histdef(nid_mth, "ozone", "Ozone concentration", "-",
     526     .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
     527     .                "ave(X)", zsto,zout)
     528c
     529         CALL histdef(nid_mth, "upwd", "saturated updraft", "Kg/m2/s",
     530     .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
     531     .                "ave(X)", zsto,zout)
     532c
     533         CALL histdef(nid_mth, "dtphy", "Physics dT", "K/s",
     534     .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
     535     .                "ave(X)", zsto,zout)
     536c
     537         CALL histdef(nid_mth, "dqphy", "Physics dQ", "Kg/Kg/s",
     538     .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
     539     .                "ave(X)", zsto,zout)
     540c
     541c#define histmthNMC
     542c#ifdef histmthNMC
     543c#include "ini_histmthNMC.h"
     544c#endif
     545c
     546      ENDIF !lev_histmth.GE.2
     547c
     548      IF(lev_histmth.GE.3) THEN
     549c
     550        DO nsrf=1, nbsrf
    217551c
    218552           call histdef(nid_mth, "albe_"//clnsurf(nsrf),
     
    229563     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    230564     .                "ave(X)", zsto,zout)
    231 
    232          END DO
    233 C
    234 c        CALL histdef(nid_mth, "sicf", "Sea-ice fraction", "-",
    235 c    .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    236 c    .                "ave(X)", zsto,zout)
     565c
     566         ENDDO !nsrf=1, nbsrf
    237567c
    238568         CALL histdef(nid_mth, "albs", "Surface albedo", "-",
     
    243573     .                "ave(X)", zsto,zout)
    244574c
    245          CALL histdef(nid_mth, "cdrm", "Momentum drag coef.", "-",
    246      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    247      .                "ave(X)", zsto,zout)
    248 c
    249          CALL histdef(nid_mth, "cdrh", "Heat drag coef.", "-",
    250      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    251      .                "ave(X)", zsto,zout)
    252 c
    253          CALL histdef(nid_mth, "cldl", "Low-level cloudiness", "-",
    254      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    255      .                "ave(X)", zsto,zout)
    256 c
    257          CALL histdef(nid_mth, "cldm", "Mid-level cloudiness", "-",
    258      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    259      .                "ave(X)", zsto,zout)
    260 c
    261          CALL histdef(nid_mth, "cldh", "High-level cloudiness", "-",
    262      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    263      .                "ave(X)", zsto,zout)
    264 c
    265          CALL histdef(nid_mth, "cldt", "Total cloudiness", "-",
    266      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    267      .                "ave(X)", zsto,zout)
    268 c
    269          CALL histdef(nid_mth,"cldq","Cloud liquid water path","Kg/m2",
    270      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    271      .                "ave(X)", zsto,zout)
    272 cIM: 071003
    273          CALL histdef(nid_mth,"lwp","Cloud water path","Kg/m2",
    274      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    275      .                "ave(X)", zsto,zout)
    276 c
    277          CALL histdef(nid_mth,"iwp","Cloud ice water path","Kg/m2",
    278      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    279      .                "ave(X)", zsto,zout)
    280 cIM: 071003
    281          CALL histdef(nid_mth,"lwcon","Cloud water content","Kg/Kg",
    282      .                iim,jjmp1,nhori, klev,1,klev, nvert, 32,
    283      .                "ave(X)", zsto,zout)
    284 c
    285          CALL histdef(nid_mth,"iwcon","Cloud ice water content","Kg/Kg",
    286      .                iim,jjmp1,nhori, klev,1,klev, nvert, 32,
    287      .                "ave(X)", zsto,zout)
    288 c
    289          CALL histdef(nid_mth, "ue", "Zonal energy transport", "-",
    290      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    291      .                "ave(X)", zsto,zout)
    292 c
    293          CALL histdef(nid_mth, "ve", "Merid energy transport", "-",
    294      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    295      .                "ave(X)", zsto,zout)
    296 c
    297          CALL histdef(nid_mth, "uq", "Zonal humidity transport", "-",
    298      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    299      .                "ave(X)", zsto,zout)
    300 c
    301          CALL histdef(nid_mth, "vq", "Merid humidity transport", "-",
    302      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    303      .                "ave(X)", zsto,zout)
    304 cKE43
    305       IF (iflag_con .GE. 3) THEN ! sb
    306 c
    307          CALL histdef(nid_mth, "cape", "Conv avlbl pot ener", "J/Kg",
    308      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    309      .                "ave(X)", zsto,zout)
    310 c
    311          CALL histdef(nid_mth, "pbase", "Cld base pressure", "hPa",
    312      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    313      .                "ave(X)", zsto,zout)
    314 c
    315          CALL histdef(nid_mth, "ptop", "Cld top pressure", "hPa",
    316      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    317      .                "ave(X)", zsto,zout)
    318 c
    319          CALL histdef(nid_mth, "fbase", "Cld base mass flux", "Kg/m2/s",
    320      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    321      .                "ave(X)", zsto,zout)
    322 c
    323 c
    324          CALL histdef(nid_mth, "upwd", "saturated updraft", "Kg/m2/s",
     575      ENDIF !lev_histmth.GE.3
     576c
     577      IF(lev_histmth.GE.4) THEN
     578c
     579         CALL histdef(nid_mth, "clwcon",
     580     .                "Convective Cloud Liquid water content"
     581     .                , "Kg/Kg",
     582     .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
     583     .                "ave(X)", zsto,zout)
     584c
     585         CALL histdef(nid_mth,"Ma","undilute adiab updraft","Kg/m2/s",
    325586     .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    326587     .                "ave(X)", zsto,zout)
     
    331592c
    332593         CALL histdef(nid_mth, "dnwd0", "unsat. downdraft", "Kg/m2/s",
    333      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    334      .                "ave(X)", zsto,zout)
    335 c
    336          CALL histdef(nid_mth,"Ma","undilute adiab updraft","Kg/m2/s",
    337      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    338      .                "ave(X)", zsto,zout)
    339 c
    340          CALL histdef(nid_mth, "prw", "Precipitable water", "kg/m2",
    341      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    342      .                "ave(X)", zsto,zout)
    343 c
    344       ENDIF
    345 c34EK
    346 c
    347 c Champs 3D:
    348 c
    349          CALL histdef(nid_mth, "temp", "Air temperature", "K",
    350      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    351      .                "ave(X)", zsto,zout)
    352 c
    353          CALL histdef(nid_mth, "ovap", "Specific humidity", "Kg/Kg",
    354      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    355      .                "ave(X)", zsto,zout)
    356 cIM: 071003
    357          CALL histdef(nid_mth,"wvap","Water vapor mixing ratio","Kg/Kg",
    358      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    359      .                "ave(X)", zsto,zout)
    360 c
    361          CALL histdef(nid_mth, "geop", "Geopotential height", "m",
    362      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    363      .                "ave(X)", zsto,zout)
    364 c
    365          CALL histdef(nid_mth, "vitu", "Zonal wind", "m/s",
    366      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    367      .                "ave(X)", zsto,zout)
    368 c
    369          CALL histdef(nid_mth, "vitv", "Meridional wind", "m/s",
    370      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    371      .                "ave(X)", zsto,zout)
    372 c
    373          CALL histdef(nid_mth, "vitw", "Vertical wind", "m/s",
    374      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    375      .                "ave(X)", zsto,zout)
    376 c
    377          CALL histdef(nid_mth, "pres", "Air pressure", "Pa",
    378      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    379      .                "ave(X)", zsto,zout)
    380 c
    381          CALL histdef(nid_mth, "rneb", "Cloud fraction", "-",
    382      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    383      .                "ave(X)", zsto,zout)
    384 c
    385          CALL histdef(nid_mth, "rnebcon", "Convective Cloud Fraction"
    386      .                , "-",
    387      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    388      .                "ave(X)", zsto,zout)
    389 c
    390          CALL histdef(nid_mth, "rhum", "Relative humidity", "-",
    391      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    392      .                "ave(X)", zsto,zout)
    393 c
    394          CALL histdef(nid_mth, "clwcon", "Cloud Liquid water content"
    395      .                , "kg/kg",
    396      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    397      .                "ave(X)", zsto,zout)
    398 c
    399          CALL histdef(nid_mth, "oliq", "Liquid water content", "kg/kg",
    400      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    401      .                "ave(X)", zsto,zout)
    402 c
    403          CALL histdef(nid_mth, "dtphy", "Physics dT", "K/s",
    404594     .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    405595     .                "ave(X)", zsto,zout)
     
    519709         ENDIF
    520710C
    521          CALL histdef(nid_mth, "ozone", "Ozone concentration", "-",
    522      .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
    523      .                "ave(X)", zsto,zout)
    524 c
    525711         if (nqmax.GE.3) THEN
    526712         DO iq=1,nqmax-2
     
    537723         ENDIF
    538724c
    539          CALL histdef(nid_mth, "SWupTOA", "SWup at TOA","W/m2",
    540      .                iim,jjmp1,nhori, 1,1,1,-99,
    541      .                32, "ave(X)", zsto,zout)
    542 c
    543          CALL histdef(nid_mth, "SWupSFC", "SWup at surface","W/m2",
    544      .                iim,jjmp1,nhori, 1,1,1,-99,
    545      .                32, "ave(X)", zsto,zout)
    546 c
    547          CALL histdef(nid_mth, "SWdnTOA", "SWdn at TOA","W/m2",
    548      .                iim,jjmp1,nhori, 1,1,1,-99,
    549      .                32, "ave(X)", zsto,zout)
    550 c
    551          CALL histdef(nid_mth, "SWdnSFC", "SWdn at surface","W/m2",
    552      .                iim,jjmp1,nhori, 1,1,1,-99,
    553      .                32, "ave(X)", zsto,zout)
    554 c
    555          CALL histdef(nid_mth, "SWupTOAclr",
    556      .                "SWup clear sky at TOA","W/m2",
    557      .                iim,jjmp1,nhori, 1,1,1,-99,
    558      .                32, "ave(X)", zsto,zout)
    559 c
    560          CALL histdef(nid_mth, "SWupSFCclr",
    561      .                "SWup clear sky at surface","W/m2",
    562      .                iim,jjmp1,nhori, 1,1,1,-99,
    563      .                32, "ave(X)", zsto,zout)
    564 c
    565          CALL histdef(nid_mth, "SWdnTOAclr",
    566      .                "SWdn clear sky at TOA","W/m2",
    567      .                iim,jjmp1,nhori, 1,1,1,-99,
    568      .                32, "ave(X)", zsto,zout)
    569 c
    570          CALL histdef(nid_mth, "SWdnSFCclr",
    571      .                "SWdn clear sky at surface","W/m2",
    572      .                iim,jjmp1,nhori, 1,1,1,-99,
    573      .                32, "ave(X)", zsto,zout)
    574 
    575 c Champs interpolles sur des niveaux de pression
    576 
    577          CALL histdef(nid_mth, "u850", "Zonal wind 850mb", "m/s",
    578      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    579      .                "ave(X)", zsto,zout)
    580 
    581          CALL histdef(nid_mth, "v850", "Meridional wind 850mb", "m/s",
    582      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    583      .                "ave(X)", zsto,zout)
    584 c
    585          CALL histdef(nid_mth, "u500", "Zonal wind 500mb", "m/s",
    586      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    587      .                "ave(X)", zsto,zout)
    588 
    589          CALL histdef(nid_mth, "v500", "Meridional wind 500mb", "m/s",
    590      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    591      .                "ave(X)", zsto,zout)
    592 
    593          CALL histdef(nid_mth, "u200", "Zonal wind 200mb", "m/s",
    594      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    595      .                "ave(X)", zsto,zout)
    596 
    597          CALL histdef(nid_mth, "v200", "Meridional wind 200mb", "m/s",
    598      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    599      .                "ave(X)", zsto,zout)
    600 
    601          CALL histdef(nid_mth, "phi500","Geopotentiel à 500mb","m2/s2",
    602      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    603      .                "ave(X)", zsto,zout)
    604 
    605          CALL histdef(nid_mth, "w500", "Vertical wind 500mb", "Pa/s",
    606      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    607      .                "ave(X)", zsto,zout)
     725      ENDIF !lev_histmth.GE.4
    608726c
    609727         CALL histend(nid_mth)
  • LMDZ.3.3/branches/rel-LF/libf/phylmd/write_histday.h

    r467 r506  
    1212         i = NINT(zout/zsto)
    1313         CALL gr_fi_ecrit(1,klon,iim,jjmp1,pphis,zx_tmp_2d)
     14c
     15      IF(lev_histday.GE.1) THEN
     16c
    1417       CALL histwrite(nid_day,"phis",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    1518         varname = 'phis'
    1619         vartitle= 'Surface geop. height'
    1720         varunits= '-'
    18 c        call writephy(fid_day,prof2d_on,varname,pphis,vartitle,
    19 c    .                                                    varunits)
    2021c
    2122         i = NINT(zout/zsto)
     
    2526         vartitle= 'Grid area'
    2627         varunits= '-'
    27 c        call writephy(fid_day,prof2d_on,varname,paire,vartitle,
    28 c    .                                                    varunits)
    29 C
     28c
     29      DO i=1, klon
     30       zx_tmp_fi2d(i)=pctsrf(i,is_ter)+pctsrf(i,is_lic)
     31      ENDDO
     32c
     33      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d)
     34      CALL histwrite(nid_day,"contfracATM",itau_w,
     35     $      zx_tmp_2d,iim*jjmp1,ndex2d)
     36c
     37      CALL gr_fi_ecrit(1,klon,iim,jjmp1,pctsrf_new(:,is_ter),zx_tmp_2d)
     38      CALL histwrite(nid_day,"contfracOR",itau_w,
     39     $      zx_tmp_2d,iim*jjmp1,ndex2d)
     40c
    3041      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxtsol,zx_tmp_2d)
    3142      CALL histwrite(nid_day,"tsol",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    32 c     call writephy(fid_day,prof2d_av,'tsol',zxtsol,
    33 c    .              'Surface Temperature','K')
    34 c
    35 C
    3643C
    3744      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zt2m,zx_tmp_2d)
    3845      CALL histwrite(nid_day,"t2m",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    3946c
     47c   En attendant un eventuel debugage.
     48
     49      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zt2m,zx_tmp_2d)
     50      CALL histwrite(nid_day,"t2m_min",itau_w,zx_tmp_2d,
     51     .               iim*jjmp1,ndex2d)
     52c
     53      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zt2m,zx_tmp_2d)
     54      CALL histwrite(nid_day,"t2m_max",itau_w,zx_tmp_2d,
     55     .               iim*jjmp1,ndex2d)
     56c
     57      DO i = 1, klon
     58         zx_tmp_fi2d(i) = rain_lsc(i) + snow_lsc(i)
     59      ENDDO
     60      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
     61      CALL histwrite(nid_day,"plul",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     62c
     63      DO i = 1, klon
     64         zx_tmp_fi2d(i) = rain_con(i) + snow_con(i)
     65      ENDDO
     66      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
     67      CALL histwrite(nid_day,"pluc",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     68c
     69      CALL gr_fi_ecrit(1, klon,iim,jjmp1, snow_lsc,zx_tmp_2d)
     70      CALL histwrite(nid_day,"snowl",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     71c
     72      IF(1.EQ.0) THEN
     73      CALL gr_fi_ecrit(1, klon,iim,jjmp1, snow_con,zx_tmp_2d)
     74      CALL histwrite(nid_day,"snowc",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     75      ENDIF
     76c
     77      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxfluxlat,zx_tmp_2d)
     78      CALL histwrite(nid_day,"flat",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     79c
     80      DO i = 1, klon
     81         zx_tmp_fi2d(i) = pctsrf(i,is_sic)
     82      ENDDO
     83c
     84      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
     85      CALL histwrite(nid_day,"sicf",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     86c
    4087      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zq2m,zx_tmp_2d)
    4188      CALL histwrite(nid_day,"q2m",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     
    4996     .               ndex2d)
    5097c
    51       DO i = 1, klon
     98      DO i=1, klon
     99       zx_tmp_fi2d(i)=SQRT(zu10m(i)*zu10m(i)+zv10m(i)*zv10m(i))
     100      ENDDO
     101      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
     102      CALL histwrite(nid_day,"wind10m",itau_w,zx_tmp_2d,
     103     $     iim*jjmp1,ndex2d)
     104c
     105      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
     106      CALL histwrite(nid_day,"wind10max",itau_w,zx_tmp_2d,
     107     .               iim*jjmp1,ndex2d)
     108c
     109      DO i=1, klon
    52110         zx_tmp_fi2d(i) = paprs(i,1)
    53111      ENDDO
    54112      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
    55113      CALL histwrite(nid_day,"psol",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    56 c Essai writephys
    57       varname = 'psol'
    58       vartitle= 'pression au sol'
    59       varunits= 'hPa'
    60 c     call writephy(fid_day,prof2d_av,varname,zx_tmp_fi2d,vartitle,
    61 c    .                                                    varunits)
    62 c
    63       DO i = 1, klon
     114c
     115      DO i=1, klon
    64116         zx_tmp_fi2d(i) = (rain_fall(i) + snow_fall(i))
    65117      ENDDO
    66118      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
    67119      CALL histwrite(nid_day,"precip",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    68 c     call writephy(fid_day,prof2d_av,'rain',zx_tmp_fi2d,
    69 c    .              'Precipitation','mm/day')
    70 
    71 
    72120c
    73121      CALL gr_fi_ecrit(1, klon,iim,jjmp1, snow_fall,zx_tmp_2d)
    74       CALL histwrite(nid_day,"snow",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    75 c     call writephy(fid_day,prof2d_av,'snow',snow_fall,
    76 c    .              'Snow','mm/day')
     122      CALL histwrite(nid_day,"snowf",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    77123c
    78124      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxsnow,zx_tmp_2d)
    79125      CALL histwrite(nid_day,"snow_mass",itau_w,zx_tmp_2d,iim*jjmp1,
    80126     .               ndex2d)
    81 c     call writephy(fid_day,prof2d_av,'snow_mass',zxsnow,
    82 c    .              'Snow cover','mm')
    83127c
    84128      CALL gr_fi_ecrit(1, klon,iim,jjmp1, evap,zx_tmp_2d)
    85129      CALL histwrite(nid_day,"evap",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    86 c     call writephy(fid_day,prof2d_av,'evap',evap,
    87 c    .              'Evaporation','mm/day')
    88130c
    89131      CALL gr_fi_ecrit(1, klon,iim,jjmp1, topsw,zx_tmp_2d)
    90132      CALL histwrite(nid_day,"tops",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    91 c     call writephy(fid_day,prof2d_av,'tops',topsw,
    92 c    .              'Solar rad. at TOA','W/m2')
    93133c
    94134      CALL gr_fi_ecrit(1, klon,iim,jjmp1, toplw,zx_tmp_2d)
    95135      CALL histwrite(nid_day,"topl",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    96 c     call writephy(fid_day,prof2d_av,'topl',toplw,
    97 c    .              'IR rad. at TOA','W/m2')
    98136c
    99137      CALL gr_fi_ecrit(1, klon,iim,jjmp1, solsw,zx_tmp_2d)
    100138      CALL histwrite(nid_day,"sols",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    101 c     call writephy(fid_day,prof2d_av,'sols',solsw,
    102 c    .              'Solar rad. at surf.','W/m2')
    103139c
    104140      CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollw,zx_tmp_2d)
    105141      CALL histwrite(nid_day,"soll",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    106 c     call writephy(fid_day,prof2d_av,'soll',sollw,
    107 c    .              'IR rad. at surface','W/m2')
     142c
     143      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldl,zx_tmp_2d)
     144      CALL histwrite(nid_day,"cldl",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     145c
     146      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldm,zx_tmp_2d)
     147      CALL histwrite(nid_day,"cldm",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     148c
     149      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldh,zx_tmp_2d)
     150      CALL histwrite(nid_day,"cldh",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     151c
     152      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldt,zx_tmp_2d)
     153      CALL histwrite(nid_day,"cldt",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     154c
     155      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldq,zx_tmp_2d)
     156      CALL histwrite(nid_day,"cldq",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     157c
     158      CALL gr_fi_ecrit(1, klon,iim,jjmp1, prw,zx_tmp_2d)
     159      CALL histwrite(nid_day,"prw",itau_w,zx_tmp_2d,
     160     .               iim*jjmp1,ndex2d)
     161
     162c   Ecriture de champs dynamiques sur des niveaux de pression
     163      DO k=1, nlevENS
     164c
     165        CALL gr_fi_ecrit(1, klon,iim,jjmp1, ulev(:,k),zx_tmp_2d)
     166        CALL histwrite(nid_day,"u"//clev(k),itau_w,zx_tmp_2d,
     167     $       iim*jjmp1,ndex2d)
     168c
     169        CALL gr_fi_ecrit(1, klon,iim,jjmp1, vlev(:,k),zx_tmp_2d)
     170        CALL histwrite(nid_day,"v"//clev(k),itau_w,zx_tmp_2d,
     171     $       iim*jjmp1,ndex2d)
     172c
     173      ENDDO !nlevENS
     174c
     175      DO k=1, nlevENS
     176      IF(clev(k).EQ."500") THEN
     177c
     178      CALL gr_fi_ecrit(1, klon,iim,jjmp1, wlev(:,indENS(k)),zx_tmp_2d)
     179      CALL histwrite(nid_day,"w500",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     180c
     181c     DO i=1, klon
     182c     print*,' ind, phi 500hPa',i,indENS(k),philev(:,indENS(k))
     183c     print*,' ind, phi 500hPa',i,indENS(k)
     184c     ENDDO
     185c
     186cBAD  CALL gr_fi_ecrit(1, klon,iim,jjmp1, philev(:,indENS(k)),zx_tmp_2d)
     187      CALL gr_fi_ecrit(1, klon,iim,jjmp1, philev(:,k),zx_tmp_2d)
     188      CALL histwrite(nid_day,"phi500",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     189c
     190      ENDIF !clev(k).EQ.500
     191      ENDDO !k=1, nlevENS
     192c
     193      CALL gr_fi_ecrit(1, klon,iim,jjmp1, slp,zx_tmp_2d)
     194      CALL histwrite(nid_day,"slp",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     195
     196      CALL gr_fi_ecrit(1,klon,iim,jjmp1,cape,zx_tmp_2d)
     197      CALL histwrite(nid_day,"cape_max",itau_w,zx_tmp_2d,
     198     .               iim*jjmp1,ndex2d)
    108199c
    109200      CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollwdown,zx_tmp_2d)
    110201      CALL histwrite(nid_day,"solldown",itau_w,zx_tmp_2d,iim*jjmp1,
    111202     .               ndex2d)
    112 c     call writephy(fid_day,prof2d_av,'solldown',sollwdown,
    113 c    .              'Down. IR rad. at surface','W/m2')
     203c
     204      DO i=1, klon
     205        zx_tmp_fi2d(i)=-1*sens(i)
     206      ENDDO
     207      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
     208      CALL histwrite(nid_day,"sens",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     209c
     210      zx_tmp_fi2d(1 : klon) = swdn(1 : klon, 1)
     211
     212      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
     213      CALL histwrite(nid_day, "SWdnSFC",itau_w,zx_tmp_2d,
     214     .                               iim*jjmp1,ndex2d)
     215c
     216      ENDIF !lev_histday.GE.1
     217c
     218      IF(lev_histday.GE.2) THEN
    114219c
    115220      CALL gr_fi_ecrit(1, klon,iim,jjmp1, bils,zx_tmp_2d)
    116221      CALL histwrite(nid_day,"bils",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    117 c     call writephy(fid_day,prof2d_av,'bils',bils,
    118 c    .              'Surf. total heat flux','W/m2')
    119 c
    120       CALL gr_fi_ecrit(1, klon,iim,jjmp1, sens,zx_tmp_2d)
    121       CALL histwrite(nid_day,"sens",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    122 c     call writephy(fid_day,prof2d_av,'sens',sens,
    123 c    .              'Sensible heat flux','W/m2')
    124222c
    125223      CALL gr_fi_ecrit(1, klon,iim,jjmp1, fder,zx_tmp_2d)
    126224      CALL histwrite(nid_day,"fder",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    127 c     call writephy(fid_day,prof2d_av,'fder',fder,
    128 c    .              'Heat flux derivation','W/m2')
    129 c
    130 c
    131 cXXX      DO i = 1, klon
    132 cXXX         zx_tmp_fi2d(i) = pctsrf(i,is_sic)
    133 cXXX      ENDDO
    134 cXXX      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
    135 cXXX      CALL histwrite(nid_day,"sicf",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    136 c
    137       CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldl,zx_tmp_2d)
    138       CALL histwrite(nid_day,"cldl",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    139 c     call writephy(fid_day,prof2d_av,'cldl',cldl,
    140 c    .              'Low-level cloudiness','-')
    141 c
    142       CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldm,zx_tmp_2d)
    143       CALL histwrite(nid_day,"cldm",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    144 c     call writephy(fid_day,prof2d_av,'cldm',cldm,
    145 c    .              'Mid-level cloudiness','-')
    146 c
    147       CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldh,zx_tmp_2d)
    148       CALL histwrite(nid_day,"cldh",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    149 c     call writephy(fid_day,prof2d_av,'cldh',cldh,
    150 c    .              'High-level cloudiness','-')
    151 c
    152       CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldt,zx_tmp_2d)
    153       CALL histwrite(nid_day,"cldt",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    154 c     call writephy(fid_day,prof2d_av,'cldt',cldt,
    155 c    .              'Total cloudiness','-')
    156 c
    157       CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldq,zx_tmp_2d)
    158       CALL histwrite(nid_day,"cldq",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    159 c     call writephy(fid_day,prof2d_av,'cldq',cldq,
    160 c    .              'Cloud liquid water path','-')
    161 c
    162 c     zx_tmp_fi2d(1 : klon) = ZFSUP( 1 : klon, klevp1)
    163       zx_tmp_fi2d(1 : klon) = swup( 1 : klon, 2 )
    164 
     225c
     226      ENDIF !lev_histday.GE.2
     227c
     228      IF(lev_histday.GE.3) THEN
     229c=================================================================
     230c   ECRITURE DES CHAMPS 3D
     231c=================================================================
     232
     233c
     234c Champs 3D:
     235c
     236      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, t_seri, zx_tmp_3d)
     237      CALL histwrite(nid_day,"temp",itau_w,zx_tmp_3d,
     238     .                                   iim*jjmp1*klev,ndex3d)
     239c
     240      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, qx(1,1,ivap), zx_tmp_3d)
     241      CALL histwrite(nid_day,"ovap",itau_w,zx_tmp_3d,
     242     .                                   iim*jjmp1*klev,ndex3d)
     243c
     244      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zphi, zx_tmp_3d)
     245      CALL histwrite(nid_day,"geop",itau_w,zx_tmp_3d,
     246     .                                   iim*jjmp1*klev,ndex3d)
     247c
     248      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, u_seri, zx_tmp_3d)
     249      CALL histwrite(nid_day,"vitu",itau_w,zx_tmp_3d,
     250     .                                   iim*jjmp1*klev,ndex3d)
     251c
     252      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, v_seri, zx_tmp_3d)
     253      CALL histwrite(nid_day,"vitv",itau_w,zx_tmp_3d,
     254     .                                   iim*jjmp1*klev,ndex3d)
     255c
     256      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, omega, zx_tmp_3d)
     257      CALL histwrite(nid_day,"vitw",itau_w,zx_tmp_3d,
     258     .                                   iim*jjmp1*klev,ndex3d)
     259c
     260      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, pplay, zx_tmp_3d)
     261      CALL histwrite(nid_day,"pres",itau_w,zx_tmp_3d,
     262     .                                   iim*jjmp1*klev,ndex3d)
     263c
     264      ENDIF !lev_histday.GE.3
     265c=================================================================
     266c   FIN ECRITURE DES CHAMPS 3D
     267c=================================================================
     268      IF(lev_histday.ge.4) THEN
     269c=================================================================
     270c
     271c   ECRITURE DES CHAMPS SUR LES SOUS SURFACES
     272c
     273c=================================================================
     274      zx_tmp_fi2d(1 : klon) = swup( 1 : klon, klevp1 )
    165275      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
    166276      CALL histwrite(nid_day, "SWupTOA",itau_w,zx_tmp_2d,
    167277     .                               iim*jjmp1,ndex2d)
    168278c
    169 c      zx_tmp_fi2d(1 : klon) = ZFSUP( 1 : klon, 1)
    170279      zx_tmp_fi2d(1 : klon) = swup( 1 : klon, 1 )
    171 
    172280      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
    173281      CALL histwrite(nid_day, "SWupSFC",itau_w,zx_tmp_2d,
    174282     .                               iim*jjmp1,ndex2d)
    175283c
    176 c      zx_tmp_fi2d(1 : klon) = ZFSDN( 1 : klon, klevp1)
    177       zx_tmp_fi2d(1 : klon) = swdn( 1 : klon, 2 )
    178 
     284      zx_tmp_fi2d(1 : klon) = swdn( 1 : klon, klevp1 )
    179285      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
    180286      CALL histwrite(nid_day, "SWdnTOA",itau_w,zx_tmp_2d,
    181287     .                               iim*jjmp1,ndex2d)
    182288c
    183 c      zx_tmp_fi2d(1 : klon) = ZFSDN( 1 : klon, 1)
    184       zx_tmp_fi2d(1 : klon) = swdn( 1 : klon, 1 )
    185 
    186       CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
    187       CALL histwrite(nid_day, "SWdnSFC",itau_w,zx_tmp_2d,
    188      .                               iim*jjmp1,ndex2d)
    189 
    190 c      zx_tmp_fi2d(1 : klon) = ZFSUP0( 1 : klon, klevp1)
    191       zx_tmp_fi2d(1 : klon) = swup0( 1 : klon, 2 )
    192 
     289      zx_tmp_fi2d(1 : klon) = swup0( 1 : klon, klevp1 )
    193290      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
    194291      CALL histwrite(nid_day, "SWupTOAclr",itau_w,zx_tmp_2d,
    195292     .                               iim*jjmp1,ndex2d)
    196 
    197 c      zx_tmp_fi2d(1 : klon) = ZFSUP0( 1 : klon, 1)
     293c
    198294      zx_tmp_fi2d(1 : klon) = swup0( 1 : klon, 1 )
    199 
    200295      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
    201296      CALL histwrite(nid_day, "SWupSFCclr",itau_w,zx_tmp_2d,
    202297     .                               iim*jjmp1,ndex2d)
    203  
    204 c      zx_tmp_fi2d(1 : klon) = ZFSDN0( 1 : klon, klevp1)
    205       zx_tmp_fi2d(1 : klon) = swdn0( 1 : klon, 2 )
    206 
     298c
     299      zx_tmp_fi2d(1 : klon) = swdn0( 1 : klon, klevp1 )
    207300      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
    208301      CALL histwrite(nid_day, "SWdnTOAclr",itau_w,zx_tmp_2d,
    209302     .                               iim*jjmp1,ndex2d)
    210  
    211 c      zx_tmp_fi2d(1 : klon) = ZFSDN0( 1 : klon, 1)
     303c
    212304      zx_tmp_fi2d(1 : klon) = swdn0( 1 : klon, 1 )
    213 
    214305      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
    215306      CALL histwrite(nid_day, "SWdnSFCclr",itau_w,zx_tmp_2d,
    216307     .                               iim*jjmp1,ndex2d)
    217 cIM
    218       CALL gr_fi_ecrit(1, klon,iim,jjmp1, prw,zx_tmp_2d)
    219       CALL histwrite(nid_day,"prw",itau_w,zx_tmp_2d,
    220      .               iim*jjmp1,ndex2d)
    221 
    222 c   Ecriture de champs dynamiques sur des niveaux de pression
    223 
    224       CALL gr_fi_ecrit(1, klon,iim,jjmp1, u850,zx_tmp_2d)
    225       CALL histwrite(nid_day,"u850",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    226 
    227       CALL gr_fi_ecrit(1, klon,iim,jjmp1, v850,zx_tmp_2d)
    228       CALL histwrite(nid_day,"v850",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    229 
    230       CALL gr_fi_ecrit(1, klon,iim,jjmp1, u500,zx_tmp_2d)
    231       CALL histwrite(nid_day,"u500",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    232 
    233       CALL gr_fi_ecrit(1, klon,iim,jjmp1, v500,zx_tmp_2d)
    234       CALL histwrite(nid_day,"v500",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    235 
    236       CALL gr_fi_ecrit(1, klon,iim,jjmp1, u200,zx_tmp_2d)
    237       CALL histwrite(nid_day,"u200",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    238 
    239       CALL gr_fi_ecrit(1, klon,iim,jjmp1, v200,zx_tmp_2d)
    240       CALL histwrite(nid_day,"v200",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    241 
    242       CALL gr_fi_ecrit(1, klon,iim,jjmp1, phi500,zx_tmp_2d)
    243       CALL histwrite(nid_day,"phi500",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    244 
    245       CALL gr_fi_ecrit(1, klon,iim,jjmp1, slp,zx_tmp_2d)
    246       CALL histwrite(nid_day,"slp",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    247 
    248       CALL gr_fi_ecrit(1,klon,iim,jjmp1,cape,zx_tmp_2d)
    249       CALL histwrite(nid_day,"cape_max",itau_w,zx_tmp_2d,
    250      .               iim*jjmp1,ndex2d)
    251 
    252 
    253 c
    254 c=================================================================
    255 c   CI DESSOUS, SORTIES A UTILISER EN DEBUG
    256 c=================================================================
    257       if ( lev_histday.gt.1 ) then
    258 
    259 c   En attendant un eventuel debugage.
    260 
    261       CALL gr_fi_ecrit(1,klon,iim,jjmp1,zt2m,zx_tmp_2d)
    262       CALL histwrite(nid_day,"t2m_min",itau_w,zx_tmp_2d,
    263      .               iim*jjmp1,ndex2d)
    264 c
    265       CALL gr_fi_ecrit(1,klon,iim,jjmp1,zt2m,zx_tmp_2d)
    266       CALL histwrite(nid_day,"t2m_max",itau_w,zx_tmp_2d,
    267      .               iim*jjmp1,ndex2d)
    268 c
    269 c=================================================================
    270 c=================================================================
    271 c=================================================================
    272 c   ECRITURE DES CHAMPS SUR LES SOUS SURFACES
    273 c=================================================================
    274 
     308c
    275309      zx_tmp_fi2d(1 : klon) = ftsol(1 : klon, is_ter)
    276310      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d ,zx_tmp_2d)
    277311      CALL histwrite(nid_day,"tter",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    278 c     call writephy(fid_day,prof2d_av,'tter',ftsol(1 : klon, is_ter),
    279 c    .              'Surface Temperature','K')
    280 C
     312c
    281313      zx_tmp_fi2d(1 : klon) = ftsol(1 : klon, is_lic)
    282314      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
    283315      CALL histwrite(nid_day,"tlic",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    284 c     call writephy(fid_day,prof2d_av,'tlic',ftsol(1 : klon, is_lic),
    285 c    .              'Surface Temperature','K')
    286 C
     316c
    287317      zx_tmp_fi2d(1 : klon) = ftsol(1 : klon, is_oce)
    288318      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
    289319      CALL histwrite(nid_day,"toce",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    290 c     call writephy(fid_day,prof2d_av,'toce',ftsol(1 : klon, is_oce),
    291 c    .              'Surface Temperature','K')
    292 C
     320c
    293321      zx_tmp_fi2d(1 : klon) = ftsol(1 : klon, is_sic)
    294322      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
    295323      CALL histwrite(nid_day,"tsic",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    296 c     call writephy(fid_day,prof2d_av,'tsic',ftsol(1 : klon, is_sic),
    297 c    .              'Surface Temperature','K')
    298 C
    299 cccIM
     324c
    300325      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d)
    301326      CALL histwrite(nid_day,"t2mter",itau_w,zx_tmp_2d,iim*jjmp1,
     
    368393C
    369394      DO nsrf = 1, nbsrf
    370 CXXX
     395C
    371396        zx_tmp_fi2d(1 : klon) = pctsrf( 1 : klon, nsrf)
    372397        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
    373398        CALL histwrite(nid_day,"pourc_"//clnsurf(nsrf),itau_w,
    374399     $      zx_tmp_2d,iim*jjmp1,ndex2d)
    375 c       call writephy(fid_day,prof2d_av,'pourc_'//clnsurf(nsrf),
    376 c    .                pctsrf( 1 : klon, nsrf),
    377 c    .                'Fraction'//clnsurf(nsrf),'-')
    378400C
    379401        zx_tmp_fi2d(1 : klon) = ftsol( 1 : klon, nsrf)
     
    381403        CALL histwrite(nid_day,"tsol_"//clnsurf(nsrf),itau_w,
    382404     $      zx_tmp_2d,iim*jjmp1,ndex2d)
    383 c       call writephy(fid_day,prof2d_av,'tsol_'//clnsurf(nsrf),
    384 c    .                ftsol( 1 : klon, nsrf),
    385 c    .                'Surf. Temp'//clnsurf(nsrf),'K')
    386405C
    387406        zx_tmp_fi2d(1 : klon) = fluxt( 1 : klon, 1, nsrf)
     
    389408        CALL histwrite(nid_day,"sens_"//clnsurf(nsrf),itau_w,
    390409     $      zx_tmp_2d,iim*jjmp1,ndex2d)
    391 c       call writephy(fid_day,prof2d_av,'sens_'//clnsurf(nsrf),
    392 c    .                fluxt( 1 : klon, 1, nsrf),
    393 c    .                'Sensible heat flux '//clnsurf(nsrf),'W/m2')
    394410
    395411        zx_tmp_fi2d(1 : klon) = fluxlat( 1 : klon, nsrf)
     
    397413        CALL histwrite(nid_day,"lat_"//clnsurf(nsrf),itau_w,
    398414     $      zx_tmp_2d,iim*jjmp1,ndex2d)
    399 c       call writephy(fid_day,prof2d_av,'lat_'//clnsurf(nsrf),
    400 c    .                fluxlat( 1 : klon, nsrf),
    401 c    .                'Latent heat flux '//clnsurf(nsrf),'W/m2')
    402415C
    403416        zx_tmp_fi2d(1 : klon) = fluxu( 1 : klon, 1, nsrf)
     
    405418        CALL histwrite(nid_day,"taux_"//clnsurf(nsrf),itau_w,
    406419     $      zx_tmp_2d,iim*jjmp1,ndex2d)
    407 c       call writephy(fid_day,prof2d_av,'taux_'//clnsurf(nsrf),
    408 c    .                fluxu( 1 : klon, 1, nsrf),
    409 c    .                'Zonal wind stress '//clnsurf(nsrf),'Pa')
    410420C     
    411421        zx_tmp_fi2d(1 : klon) = fluxv( 1 : klon, 1, nsrf)
     
    413423        CALL histwrite(nid_day,"tauy_"//clnsurf(nsrf),itau_w,
    414424     $      zx_tmp_2d,iim*jjmp1,ndex2d)
    415 c       call writephy(fid_day,prof2d_av,'tauy_'//clnsurf(nsrf),
    416 c    .                fluxv( 1 : klon, 1, nsrf),
    417 c    .                'Meridional wind stress '//clnsurf(nsrf),'Pa')
    418425C
    419426        zx_tmp_fi2d(1 : klon) = falbe( 1 : klon, nsrf)
     
    421428        CALL histwrite(nid_day,"albe_"//clnsurf(nsrf),itau_w,
    422429     $      zx_tmp_2d,iim*jjmp1,ndex2d)
    423 c       call writephy(fid_day,prof2d_av,'albe_'//clnsurf(nsrf),
    424 c    .                falbe( 1 : klon, nsrf),
    425 c    .                'Albedo surf. SW'//clnsurf(nsrf),'-')
    426 c       call writephy(fid_day,prof2d_av,'alblw_'//clnsurf(nsrf),
    427 c    .                falblw( 1 : klon, nsrf),
    428 c    .                'Albedo surf. LW'//clnsurf(nsrf),'-')
    429430C
    430431        zx_tmp_fi2d(1 : klon) = frugs( 1 : klon, nsrf)
     
    432433        CALL histwrite(nid_day,"rugs_"//clnsurf(nsrf),itau_w,
    433434     $      zx_tmp_2d,iim*jjmp1,ndex2d)
    434 c       call writephy(fid_day,prof2d_av,'rugs_'//clnsurf(nsrf),
    435 c    .                frugs( 1 : klon, nsrf),
    436 c    .                'Rugosity '//clnsurf(nsrf),' - ')
    437435C
    438436      END DO 
     
    440438c   FIN ECRITURE DES CHAMPS SUR LES SOUS SURFACES
    441439c=================================================================
    442 
    443 c=================================================================
    444 c   ECRITURE DES CHAMPS 3D
    445 c=================================================================
    446 
    447 c
    448 c Champs 3D:
    449 c
    450       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, t_seri, zx_tmp_3d)
    451       CALL histwrite(nid_day,"temp",itau_w,zx_tmp_3d,
    452      .                                   iim*jjmp1*klev,ndex3d)
    453 c Essai writephys
    454       varname = 'temp'
    455       vartitle= 'temperature 3D'
    456       varunits= 'K'
    457 c     call writephy(fid_day,prof3d_av,varname,t_seri,vartitle,varunits)
    458 c
    459       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, qx(1,1,ivap), zx_tmp_3d)
    460       CALL histwrite(nid_day,"ovap",itau_w,zx_tmp_3d,
    461      .                                   iim*jjmp1*klev,ndex3d)
    462 c     call writephy(fid_day,prof3d_av,'ovap',qx(1,1,ivap),
    463 c    .              'Specific humidity','Kg/Kg')
    464 c
    465       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zphi, zx_tmp_3d)
    466       CALL histwrite(nid_day,"geop",itau_w,zx_tmp_3d,
    467      .                                   iim*jjmp1*klev,ndex3d)
    468 c     call writephy(fid_day,prof3d_av,'geop',zphi,
    469 c    .              'Geopotential height','m')
    470 c
    471       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, u_seri, zx_tmp_3d)
    472       CALL histwrite(nid_day,"vitu",itau_w,zx_tmp_3d,
    473      .                                   iim*jjmp1*klev,ndex3d)
    474 c     call writephy(fid_day,prof3d_av,'vitu',u_seri,
    475 c    .              'Zonal wind','m/s')
    476 c
    477       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, v_seri, zx_tmp_3d)
    478       CALL histwrite(nid_day,"vitv",itau_w,zx_tmp_3d,
    479      .                                   iim*jjmp1*klev,ndex3d)
    480 c     call writephy(fid_day,prof3d_av,'vitv',v_seri,
    481 c    .              'Meridional wind','m/s')
    482 c
    483       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, omega, zx_tmp_3d)
    484       CALL histwrite(nid_day,"vitw",itau_w,zx_tmp_3d,
    485      .                                   iim*jjmp1*klev,ndex3d)
    486 c     call writephy(fid_day,prof3d_av,'vitw',omega,
    487 c    .              'Vertical wind','m/s')
    488 c
    489       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, pplay, zx_tmp_3d)
    490       CALL histwrite(nid_day,"pres",itau_w,zx_tmp_3d,
    491      .                                   iim*jjmp1*klev,ndex3d)
    492 c     call writephy(fid_day,prof3d_av,'pres',pplay,
    493 c    .              'Air pressure','Pa')
    494 cccIM
    495 
    496 c=================================================================
    497 c   FIN ECRITURE DES CHAMPS 3D
    498 c=================================================================
    499 
    500 c=================================================================
    501 c=================================================================
    502       endif !  lev_histday.gt.1
    503 c=================================================================
    504 
    505 
     440      ENDIF !lev_histday.GE.4
     441c
     442c=================================================================
     443c=================================================================
     444c=================================================================
     445c
    506446      if (ok_sync) then
    507 c       call writephy_sync(fid_day)
    508447        call histsync(nid_day)
    509448      endif
  • LMDZ.3.3/branches/rel-LF/libf/phylmd/write_histhf.h

    r486 r506  
    33c   Comprendre comment marche el i=nint(zout/zsto)
    44c
    5 c$$$      print*,'ACRITURE HF !!! ACRITURE HF !!! ACRITURE HF !!! '
     5c     print*,'ACRITURE HF !!! ACRITURE HF !!! ACRITURE HF !!! '
    66      ndex2d = 0
    77      ndex3d = 0
    8 
    9       itau_w =  itau_phy + itap
    108c
     9      zsto = dtime
     10      zout = dtime * ecrit_hf
     11      itau_w = itau_phy + itap
     12c
     13      IF(lev_histhf.GE.1) THEN
    1114c
    1215c     i = NINT(zout/zsto)
     
    1821c     CALL histwrite(nid_hf,"aire",i,zx_tmp_2d,iim*jjmp1,ndex2d)
    1922C
    20       CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxtsol,zx_tmp_2d)
    21       CALL histwrite(nid_hf,"tsol",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     23      CALL gr_fi_ecrit(1, klon,iim,jjmp1, paire_ter, zx_tmp_2d)
     24      CALL histwrite(nid_hf,"aireTER",itau_w,
     25     $      zx_tmp_2d,iim*jjmp1,ndex2d)
     26c
     27      DO i=1, klon
     28       zx_tmp_fi2d(i)=pctsrf(i,is_ter)+pctsrf(i,is_lic)
     29      ENDDO
     30c
     31      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d)
     32      CALL histwrite(nid_hf,"contfracATM",itau_w,
     33     $      zx_tmp_2d,iim*jjmp1,ndex2d)
     34c
     35      CALL gr_fi_ecrit(1,klon,iim,jjmp1,pctsrf_new(:,is_ter),zx_tmp_2d)
     36      CALL histwrite(nid_hf,"contfracOR",itau_w,
     37     $      zx_tmp_2d,iim*jjmp1,ndex2d)
     38c
     39      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zt2m,zx_tmp_2d)
     40      CALL histwrite(nid_hf,"t2m",itau_w,zx_tmp_2d,iim*jjmp1,
     41     .               ndex2d)
     42c
     43      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zq2m,zx_tmp_2d)
     44      CALL histwrite(nid_hf,"q2m",itau_w,zx_tmp_2d,iim*jjmp1,
     45     .               ndex2d)
    2246c
    2347      DO i = 1, klon
     
    2549      ENDDO
    2650      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
    27       CALL histwrite(nid_hf,"psol",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     51      CALL histwrite(nid_hf,"psol",itau_w,zx_tmp_2d,iim*jjmp1,
     52     .               ndex2d)
    2853c
    2954      DO i = 1, klon
     
    3257      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
    3358      CALL histwrite(nid_hf,"rain",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    34 
    35       CALL gr_fi_ecrit(1, klon,iim,jjmp1, u850,zx_tmp_2d)
    36       CALL histwrite(nid_hf,"u850",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    37 
    38       CALL gr_fi_ecrit(1, klon,iim,jjmp1, v850,zx_tmp_2d)
    39       CALL histwrite(nid_hf,"v850",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    40 
    41       CALL gr_fi_ecrit(1, klon,iim,jjmp1, u500,zx_tmp_2d)
    42       CALL histwrite(nid_hf,"u500",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    43 
    44       CALL gr_fi_ecrit(1, klon,iim,jjmp1, v500,zx_tmp_2d)
    45       CALL histwrite(nid_hf,"v500",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    46 
    47       CALL gr_fi_ecrit(1, klon,iim,jjmp1, u200,zx_tmp_2d)
    48       CALL histwrite(nid_hf,"u200",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    49 
    50       CALL gr_fi_ecrit(1, klon,iim,jjmp1, v200,zx_tmp_2d)
    51       CALL histwrite(nid_hf,"v200",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    52 
    53       CALL gr_fi_ecrit(1, klon,iim,jjmp1, phi500,zx_tmp_2d)
    54       CALL histwrite(nid_hf,"phi500",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    55 
    56 cIM cf FH
    57       CALL gr_fi_ecrit(1, klon,iim,jjmp1, u_seri(:,1),zx_tmp_2d)
    58       CALL histwrite(nid_hf,"u1",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    5959c
    60       CALL gr_fi_ecrit(1, klon,iim,jjmp1, v_seri(:,1),zx_tmp_2d)
    61       CALL histwrite(nid_hf,"v1",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     60c ENSEMBLES BEG
     61      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxtsol,zx_tmp_2d)
     62      CALL histwrite(nid_hf,"tsol",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    6263c
     64      CALL gr_fi_ecrit(1, klon,iim,jjmp1, slp,zx_tmp_2d)
     65      CALL histwrite(nid_hf,"slp",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     66c
     67      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zu10m,zx_tmp_2d)
     68      CALL histwrite(nid_hf,"u10m",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     69c
     70      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zv10m,zx_tmp_2d)
     71      CALL histwrite(nid_hf,"v10m",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     72c
     73      DO i=1, klon
     74       zx_tmp_fi2d(i)=SQRT(zu10m(i)*zu10m(i)+zv10m(i)*zv10m(i))
     75      ENDDO
     76      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
     77      CALL histwrite(nid_hf,"wind10m",itau_w,zx_tmp_2d,
     78     $     iim*jjmp1,ndex2d)
     79c
     80      DO k=1, nlevENS
     81      IF(clev(k).EQ."500") THEN
     82      CALL gr_fi_ecrit(1, klon,iim,jjmp1, philev(:,k),zx_tmp_2d)
     83      CALL histwrite(nid_hf,"phi"//clev(k),itau_w,zx_tmp_2d,
     84     $       iim*jjmp1,ndex2d)
     85      ENDIF !clev(k).EQ."500"
     86      ENDDO
     87c
     88      ENDIF !lev_histhf.GE.1
     89c
     90      IF(lev_histhf.GE.2) THEN
     91c
     92      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldt,zx_tmp_2d)
     93      CALL histwrite(nid_hf,"cldt",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     94c
     95      zx_tmp_fi2d(1 : klon) = fsolsw( 1 : klon, is_ter)
     96      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
     97      CALL histwrite(nid_hf,"SWdownOR",itau_w,
     98     $     zx_tmp_2d,iim*jjmp1,ndex2d)
     99c
     100      CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollwdown,zx_tmp_2d)
     101      CALL histwrite(nid_hf,"LWdownOR",itau_w,zx_tmp_2d,iim*jjmp1,
     102     $     ndex2d)
     103c
     104c
     105      ENDIF !lev_histhf.GE.2
     106c
     107      IF(lev_histhf.GE.3) THEN
     108c
     109      DO k=1, nlevENS
     110c
     111      CALL gr_fi_ecrit(1, klon,iim,jjmp1, tlev(:,k),zx_tmp_2d)
     112      CALL histwrite(nid_hf,"t"//clev(k),itau_w,zx_tmp_2d,
     113     $       iim*jjmp1,ndex2d)
     114c
     115      IF(clev(k).NE."500") THEN !clev(k).NE."500"
     116      CALL gr_fi_ecrit(1, klon,iim,jjmp1, philev(:,k),zx_tmp_2d)
     117      CALL histwrite(nid_hf,"phi"//clev(k),itau_w,zx_tmp_2d,
     118     $       iim*jjmp1,ndex2d)
     119      ENDIF !clev(k).NE."500"
     120c
     121      CALL gr_fi_ecrit(1, klon,iim,jjmp1, qlev(:,k),zx_tmp_2d)
     122      CALL histwrite(nid_hf,"q"//clev(k),itau_w,zx_tmp_2d,
     123     $       iim*jjmp1,ndex2d)
     124c
     125      IF(1.EQ.0) THEN
     126      CALL gr_fi_ecrit(1, klon,iim,jjmp1, rhlev(:,k),zx_tmp_2d)
     127      CALL histwrite(nid_hf,"rh"//clev(k),itau_w,zx_tmp_2d,
     128     $       iim*jjmp1,ndex2d)
     129      ENDIF !1.EQ.0
     130c
     131      CALL gr_fi_ecrit(1, klon,iim,jjmp1, ulev(:,k),zx_tmp_2d)
     132      CALL histwrite(nid_hf,"u"//clev(k),itau_w,zx_tmp_2d,
     133     $       iim*jjmp1,ndex2d)
     134c
     135      CALL gr_fi_ecrit(1, klon,iim,jjmp1, vlev(:,k),zx_tmp_2d)
     136      CALL histwrite(nid_hf,"v"//clev(k),itau_w,zx_tmp_2d,
     137     $       iim*jjmp1,ndex2d)
     138c
     139      ENDDO !nlevENS
     140c
     141      IF(1.EQ.0) THEN
    63142      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cdragm,zx_tmp_2d)
    64143      CALL histwrite(nid_hf,"cdrm",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     
    66145      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cdragh,zx_tmp_2d)
    67146      CALL histwrite(nid_hf,"cdrh",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    68 
     147      ENDIF !(1.EQ.0) THEN
     148c
     149      ENDIF !lev_histhf.GE.3
     150c
     151      IF(lev_histhf.GE.4) THEN
     152c
     153#define histhf3d
     154#ifdef histhf3d
     155#include "write_histhf3d.h"
     156#endif
     157c
     158      ENDIF !lev_histhf.GE.4
     159c
    69160      if (ok_sync) then
    70161        call histsync(nid_hf)
  • LMDZ.3.3/branches/rel-LF/libf/phylmd/write_histins.h

    r418 r506  
    8585      CALL histwrite(nid_ins,"bils",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    8686c
    87       CALL gr_fi_ecrit(1, klon,iim,jjmp1, sens,zx_tmp_2d)
     87      zx_tmp_fi2d(1:klon)=-1*sens(1:klon)
     88c     CALL gr_fi_ecrit(1, klon,iim,jjmp1, sens,zx_tmp_2d)
     89      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
    8890      CALL histwrite(nid_ins,"sens",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    8991c
  • LMDZ.3.3/branches/rel-LF/libf/phylmd/write_histmth.h

    r486 r506  
    33      ndex2d = 0
    44      ndex3d = 0
    5 c
    6 c Champs 2D:
    7 c
     5
    86         zsto = dtime
    97         zout = dtime * ecrit_mth
     
    119
    1210      i = NINT(zout/zsto)
     11c
     12      IF(lev_histmth.GE.1) THEN
     13c
     14c Champs 2D:
     15c
    1316      CALL gr_fi_ecrit(1,klon,iim,jjmp1,pphis,zx_tmp_2d)
    1417      CALL histwrite(nid_mth,"phis",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     
    1720      CALL gr_fi_ecrit(1,klon,iim,jjmp1,paire,zx_tmp_2d)
    1821      CALL histwrite(nid_mth,"aire",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    19 
     22c
     23      zx_tmp_fi2d(1 : klon) = pctsrf( 1 : klon, is_ter)
     24      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
     25      CALL histwrite(nid_mth,"pourc_"//clnsurf(is_ter),itau_w,
     26     $      zx_tmp_2d,iim*jjmp1,ndex2d)
     27c
    2028      CALL gr_fi_ecrit(1, klon,iim,jjmp1, slp,zx_tmp_2d)
    2129      CALL histwrite(nid_mth,"slp",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     
    2735      CALL histwrite(nid_mth,"t2m",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    2836c
     37c ENSEMBLES BEG
     38      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zt2m,zx_tmp_2d)
     39      CALL histwrite(nid_mth,"t2m_min",itau_w,zx_tmp_2d,
     40     .               iim*jjmp1,ndex2d)
     41c
     42      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zt2m,zx_tmp_2d)
     43      CALL histwrite(nid_mth,"t2m_max",itau_w,zx_tmp_2d,
     44     .               iim*jjmp1,ndex2d)
     45c
     46c     CALL gr_fi_ecrit(1,klon,iim,jjmp1,ftsoil(:,1,is_ter),zx_tmp_2d)
     47c     CALL gr_fi_ecrit(1,klon,iim,jjmp1,ftsol(:,is_ter),zx_tmp_2d)
     48c     CALL gr_fi_ecrit(1,klon,iim,jjmp1,ztsol,zx_tmp_2d)
     49c     CALL histwrite(nid_mth,"tsoil",itau_w,zx_tmp_2d,
     50c    .               iim*jjmp1,ndex2d)
     51c
     52      DO i=1, klon
     53       zx_tmp_fi2d(i)=SQRT(zu10m(i)*zu10m(i)+zv10m(i)*zv10m(i))
     54      ENDDO
     55      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
     56      CALL histwrite(nid_mth,"wind10m",itau_w,zx_tmp_2d,
     57     $     iim*jjmp1,ndex2d)
     58c
     59      DO i = 1, klon
     60         zx_tmp_fi2d(i) = pctsrf(i,is_sic)
     61      ENDDO
     62      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
     63      CALL histwrite(nid_mth,"sicf",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     64c
     65c     CALL gr_fi_ecrit(klev,klon,iim,jjmp1, t_seri, zx_tmp_3d)
     66c     CALL histwrite(nid_mth,"temp",itau_w,zx_tmp_3d,
     67c    .                                   iim*jjmp1*klev,ndex3d)
     68c
     69c ENSEMBLES END
     70c
    2971      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zq2m,zx_tmp_2d)
    3072      CALL histwrite(nid_mth,"q2m",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     
    5799      CALL histwrite(nid_mth,"precip",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    58100c
     101      CALL gr_fi_ecrit(1, klon,iim,jjmp1, nday_rain,zx_tmp_2d)
     102      CALL histwrite(nid_mth,"ndayrain",itau_w,zx_tmp_2d,
     103     $               iim*jjmp1,ndex2d)
     104c
    59105      DO i = 1, klon
    60106         zx_tmp_fi2d(i) = rain_lsc(i) + snow_lsc(i)
     
    77123c
    78124cIM: 071003
    79       zx_tmp_fi2d(1:klon)=evap(1:klon)*86400.
    80       CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
     125c     zx_tmp_fi2d(1:klon)=evap(1:klon)*86400.
     126c     CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
     127      CALL gr_fi_ecrit(1, klon,iim,jjmp1, evap,zx_tmp_2d)
    81128      CALL histwrite(nid_mth,"evap",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    82129c
     
    84131      CALL histwrite(nid_mth,"tops",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    85132c
     133      CALL gr_fi_ecrit(1, klon,iim,jjmp1, topsw0,zx_tmp_2d)
     134      CALL histwrite(nid_mth,"tops0",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     135c
    86136      CALL gr_fi_ecrit(1, klon,iim,jjmp1, toplw,zx_tmp_2d)
    87137      CALL histwrite(nid_mth,"topl",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    88138c
     139      CALL gr_fi_ecrit(1, klon,iim,jjmp1, toplw0,zx_tmp_2d)
     140      CALL histwrite(nid_mth,"topl0",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     141c
     142c     zx_tmp_fi2d(1 : klon) = ZFSUP( 1 : klon, klevp1)
     143cIM 080304   zx_tmp_fi2d(1 : klon) = swup ( 1 : klon, 2 )
     144      zx_tmp_fi2d(1 : klon) = swup ( 1 : klon, klevp1 )
     145      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
     146      CALL histwrite(nid_mth, "SWupTOA",itau_w,zx_tmp_2d,
     147     .                               iim*jjmp1,ndex2d)
     148c
     149c
     150c      zx_tmp_fi2d(1 : klon) = ZFSUP0( 1 : klon, klevp1)
     151cIM 080304   zx_tmp_fi2d(1 : klon) = swup0 ( 1 : klon, 2 )
     152      zx_tmp_fi2d(1 : klon) = swup0 ( 1 : klon, klevp1 )
     153      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
     154      CALL histwrite(nid_mth, "SWupTOAclr",itau_w,zx_tmp_2d,
     155     .                               iim*jjmp1,ndex2d)
     156c
     157c      zx_tmp_fi2d(1 : klon) = ZFSDN( 1 : klon, klevp1)
     158cIM 080304   zx_tmp_fi2d(1 : klon) = swdn ( 1 : klon, 2 )
     159      zx_tmp_fi2d(1 : klon) = swdn ( 1 : klon, klevp1 )
     160      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
     161      CALL histwrite(nid_mth, "SWdnTOA",itau_w,zx_tmp_2d,
     162     .                               iim*jjmp1,ndex2d)
     163c
     164c      zx_tmp_fi2d(1 : klon) = ZFSDN0( 1 : klon, klevp1)
     165cIM 080304   zx_tmp_fi2d(1 : klon) = swdn0 ( 1 : klon, 2 )
     166      zx_tmp_fi2d(1 : klon) = swdn0 ( 1 : klon, klevp1 )
     167      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
     168      CALL histwrite(nid_mth, "SWdnTOAclr",itau_w,zx_tmp_2d,
     169     .                               iim*jjmp1,ndex2d)
     170c
     171      CALL gr_fi_ecrit(1, klon,iim,jjmp1, SWup200,zx_tmp_2d)
     172      CALL histwrite(nid_mth,"SWup200",itau_w,zx_tmp_2d,
     173     $     iim*jjmp1,ndex2d)
     174c
     175      CALL gr_fi_ecrit(1, klon,iim,jjmp1, SWup200clr,zx_tmp_2d)
     176      CALL histwrite(nid_mth,"SWup200clr",itau_w,zx_tmp_2d,
     177     $     iim*jjmp1,ndex2d)
     178c
     179      CALL gr_fi_ecrit(1, klon,iim,jjmp1, SWdn200,zx_tmp_2d)
     180      CALL histwrite(nid_mth,"SWdn200",itau_w,zx_tmp_2d,
     181     $     iim*jjmp1,ndex2d)
     182c
     183      CALL gr_fi_ecrit(1, klon,iim,jjmp1, SWdn200clr,zx_tmp_2d)
     184      CALL histwrite(nid_mth,"SWdn200clr",itau_w,zx_tmp_2d,
     185     $     iim*jjmp1,ndex2d)
     186c
     187      CALL gr_fi_ecrit(1, klon,iim,jjmp1, LWup200,zx_tmp_2d)
     188      CALL histwrite(nid_mth,"LWup200",itau_w,zx_tmp_2d,
     189     $     iim*jjmp1,ndex2d)
     190c
     191      CALL gr_fi_ecrit(1, klon,iim,jjmp1, LWup200clr,zx_tmp_2d)
     192      CALL histwrite(nid_mth,"LWup200clr",itau_w,zx_tmp_2d,
     193     $     iim*jjmp1,ndex2d)
     194c
     195      zx_tmp_fi2d(1:klon)=-1*LWdn200(1:klon)
     196      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
     197      CALL histwrite(nid_mth,"LWdn200",itau_w,zx_tmp_2d,
     198     $     iim*jjmp1,ndex2d)
     199c
     200      zx_tmp_fi2d(1:klon)=-1*LWdn200clr(1:klon)
     201      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
     202      CALL histwrite(nid_mth,"LWdn200clr",itau_w,zx_tmp_2d,
     203     $     iim*jjmp1,ndex2d)
     204c
     205c200 END
    89206      CALL gr_fi_ecrit(1, klon,iim,jjmp1, solsw,zx_tmp_2d)
    90207      CALL histwrite(nid_mth,"sols",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    91208c
     209      CALL gr_fi_ecrit(1, klon,iim,jjmp1, solsw0,zx_tmp_2d)
     210      CALL histwrite(nid_mth,"sols0",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     211c
    92212      CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollw,zx_tmp_2d)
    93213      CALL histwrite(nid_mth,"soll",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    94214c
    95       CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollwdown,zx_tmp_2d)
    96       CALL histwrite(nid_mth,"LWdnSFC",itau_w,zx_tmp_2d,iim*jjmp1,
    97      .               ndex2d)
    98 cIM: 071003
     215      CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollw0,zx_tmp_2d)
     216      CALL histwrite(nid_mth,"soll0",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     217c
     218c      zx_tmp_fi2d(1 : klon) = ZFSUP( 1 : klon, 1)
     219      zx_tmp_fi2d(1 : klon) = swup ( 1 : klon, 1 )
     220      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
     221      CALL histwrite(nid_mth, "SWupSFC",itau_w,zx_tmp_2d,
     222     .                               iim*jjmp1,ndex2d)
     223c
     224c      zx_tmp_fi2d(1 : klon) = ZFSUP0( 1 : klon, 1)
     225      zx_tmp_fi2d(1 : klon) = swup0 ( 1 : klon, 1 )
     226      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
     227      CALL histwrite(nid_mth, "SWupSFCclr",itau_w,zx_tmp_2d,
     228     .                               iim*jjmp1,ndex2d)
     229c
     230c      zx_tmp_fi2d(1 : klon) = ZFSDN( 1 : klon, 1)
     231      zx_tmp_fi2d(1 : klon) = swdn ( 1 : klon, 1 )
     232      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
     233      CALL histwrite(nid_mth, "SWdnSFC",itau_w,zx_tmp_2d,
     234     .                               iim*jjmp1,ndex2d)
     235c
     236c      zx_tmp_fi2d(1 : klon) = ZFSDN0( 1 : klon, 1)
     237      zx_tmp_fi2d(1 : klon) = swdn0 ( 1 : klon, 1 )
     238      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
     239      CALL histwrite(nid_mth, "SWdnSFCclr",itau_w,zx_tmp_2d,
     240     .                               iim*jjmp1,ndex2d)
     241c
    99242      zx_tmp_fi2d(1:klon)=sollw(1:klon)+sollwdown(1:klon)
    100243      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d)
    101244      CALL histwrite(nid_mth,"LWupSFC",itau_w,zx_tmp_2d,iim*jjmp1,
    102245     .               ndex2d)
    103 cLWupSFC
    104       CALL gr_fi_ecrit(1, klon,iim,jjmp1, topsw0,zx_tmp_2d)
    105       CALL histwrite(nid_mth,"tops0",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    106 c
    107       CALL gr_fi_ecrit(1, klon,iim,jjmp1, toplw0,zx_tmp_2d)
    108       CALL histwrite(nid_mth,"topl0",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    109 c
    110       CALL gr_fi_ecrit(1, klon,iim,jjmp1, solsw0,zx_tmp_2d)
    111       CALL histwrite(nid_mth,"sols0",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    112 c
    113       CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollw0,zx_tmp_2d)
    114       CALL histwrite(nid_mth,"soll0",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     246c
     247      zx_tmp_fi2d(1:klon)=sollw0(1:klon)+sollwdownclr(1:klon)
     248      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d)
     249      CALL histwrite(nid_mth,"LWupSFCclr",itau_w,zx_tmp_2d,iim*jjmp1,
     250     .               ndex2d)
     251c
     252      CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollwdown,zx_tmp_2d)
     253      CALL histwrite(nid_mth,"LWdnSFC",itau_w,zx_tmp_2d,iim*jjmp1,
     254     .               ndex2d)
     255c
     256      DO i=1, klon
     257       sollwdownclr(i)=lwdn0(i,1)
     258      ENDDO !i=1, klon
     259c
     260      CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollwdownclr,zx_tmp_2d)
     261      CALL histwrite(nid_mth,"LWdnSFCclr",itau_w,zx_tmp_2d,
     262     $               iim*jjmp1,ndex2d)
    115263c
    116264      CALL gr_fi_ecrit(1, klon,iim,jjmp1, bils,zx_tmp_2d)
    117265      CALL histwrite(nid_mth,"bils",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    118266c
    119       CALL gr_fi_ecrit(1, klon,iim,jjmp1, sens,zx_tmp_2d)
     267      zx_tmp_fi2d(1:klon)=-1*sens(1:klon)
     268c     CALL gr_fi_ecrit(1, klon,iim,jjmp1, sens,zx_tmp_2d)
     269      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
    120270      CALL histwrite(nid_mth,"sens",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    121271c
     
    144294       CALL histwrite(nid_mth,"fqcalving",itau_w,zx_tmp_2d,iim*jjmp1,
    145295     $                ndex2d)
    146 c
    147 
    148       DO nsrf = 1, nbsrf
    149 CYYY
    150         zx_tmp_fi2d(1 : klon) = pctsrf( 1 : klon, nsrf)
    151         CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
    152         CALL histwrite(nid_mth,"pourc_"//clnsurf(nsrf),itau_w,
    153      $      zx_tmp_2d,iim*jjmp1,ndex2d)
    154 C
    155         zx_tmp_fi2d(1 : klon) = ftsol( 1 : klon, nsrf)
    156         CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
    157         CALL histwrite(nid_mth,"tsol_"//clnsurf(nsrf),itau_w,
    158      $      zx_tmp_2d,iim*jjmp1,ndex2d)
    159 C
    160         zx_tmp_fi2d(1 : klon) = fluxt( 1 : klon, 1, nsrf)
    161         CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
    162         CALL histwrite(nid_mth,"sens_"//clnsurf(nsrf),itau_w,
    163      $      zx_tmp_2d,iim*jjmp1,ndex2d)
    164 C
    165         zx_tmp_fi2d(1 : klon) = fluxlat( 1 : klon, nsrf)
    166         CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
    167         CALL histwrite(nid_mth,"lat_"//clnsurf(nsrf),itau_w,
    168      $      zx_tmp_2d,iim*jjmp1,ndex2d)
    169 C
    170         zx_tmp_fi2d(1 : klon) = fsollw( 1 : klon, nsrf)
    171         CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
    172         CALL histwrite(nid_mth,"flw_"//clnsurf(nsrf),itau_w,
    173      $      zx_tmp_2d,iim*jjmp1,ndex2d)
    174 c
    175         zx_tmp_fi2d(1 : klon) = fsolsw( 1 : klon, nsrf)
    176         CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
    177         CALL histwrite(nid_mth,"fsw_"//clnsurf(nsrf),itau_w,
    178      $      zx_tmp_2d,iim*jjmp1,ndex2d)
    179 C
    180         zx_tmp_fi2d(1 : klon) = wfbils( 1 : klon, nsrf)
    181         CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
    182         CALL histwrite(nid_mth,"wbils_"//clnsurf(nsrf),itau_w,
    183      $      zx_tmp_2d,iim*jjmp1,ndex2d)
    184 C
     296cIM: 171003
     297       DO nsrf = 1, nbsrf
    185298        zx_tmp_fi2d(1 : klon) = fluxu( 1 : klon, 1, nsrf)
    186299        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
     
    192305        CALL histwrite(nid_mth,"tauy_"//clnsurf(nsrf),itau_w,
    193306     $      zx_tmp_2d,iim*jjmp1,ndex2d)
     307       ENDDO
     308cIM: 171003
     309c
     310cIM      if ( lev_histday.gt.1 ) then
     311      DO nsrf = 1, nbsrf
     312CYYY
     313       IF(nsrf.GT.1) THEN
     314        zx_tmp_fi2d(1 : klon) = pctsrf( 1 : klon, nsrf)
     315        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
     316        CALL histwrite(nid_mth,"pourc_"//clnsurf(nsrf),itau_w,
     317     $      zx_tmp_2d,iim*jjmp1,ndex2d)
     318       ENDIF !nsrf.GT.1
    194319C
     320        zx_tmp_fi2d(1 : klon) = ftsol( 1 : klon, nsrf)
     321        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
     322        CALL histwrite(nid_mth,"tsol_"//clnsurf(nsrf),itau_w,
     323     $      zx_tmp_2d,iim*jjmp1,ndex2d)
     324C
     325        zx_tmp_fi2d(1 : klon) = fluxt( 1 : klon, 1, nsrf)
     326        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
     327        CALL histwrite(nid_mth,"sens_"//clnsurf(nsrf),itau_w,
     328     $      zx_tmp_2d,iim*jjmp1,ndex2d)
     329C
     330        zx_tmp_fi2d(1 : klon) = fluxlat( 1 : klon, nsrf)
     331        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
     332        CALL histwrite(nid_mth,"lat_"//clnsurf(nsrf),itau_w,
     333     $      zx_tmp_2d,iim*jjmp1,ndex2d)
     334C
     335        zx_tmp_fi2d(1 : klon) = fsollw( 1 : klon, nsrf)
     336        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
     337        CALL histwrite(nid_mth,"flw_"//clnsurf(nsrf),itau_w,
     338     $      zx_tmp_2d,iim*jjmp1,ndex2d)
     339c
     340        zx_tmp_fi2d(1 : klon) = fsolsw( 1 : klon, nsrf)
     341        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
     342        CALL histwrite(nid_mth,"fsw_"//clnsurf(nsrf),itau_w,
     343     $      zx_tmp_2d,iim*jjmp1,ndex2d)
     344C
     345        zx_tmp_fi2d(1 : klon) = wfbils( 1 : klon, nsrf)
     346        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
     347        CALL histwrite(nid_mth,"wbils_"//clnsurf(nsrf),itau_w,
     348     $      zx_tmp_2d,iim*jjmp1,ndex2d)
     349C
     350
     351      END DO 
     352cIM      endif !lev_histday
     353
     354c
     355      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cdragm,zx_tmp_2d)
     356      CALL histwrite(nid_mth,"cdrm",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     357c
     358      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cdragh,zx_tmp_2d)
     359      CALL histwrite(nid_mth,"cdrh",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     360c
     361      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldl,zx_tmp_2d)
     362      CALL histwrite(nid_mth,"cldl",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     363c
     364      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldm,zx_tmp_2d)
     365      CALL histwrite(nid_mth,"cldm",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     366c
     367      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldh,zx_tmp_2d)
     368      CALL histwrite(nid_mth,"cldh",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     369c
     370      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldt,zx_tmp_2d)
     371      CALL histwrite(nid_mth,"cldt",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     372c
     373      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldq,zx_tmp_2d)
     374      CALL histwrite(nid_mth,"cldq",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     375c
     376      zx_tmp_fi2d(1:klon) = flwp(1:klon)
     377      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
     378      CALL histwrite(nid_mth,"lwp",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     379c
     380      zx_tmp_fi2d(1:klon) = fiwp(1:klon)
     381      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
     382      CALL histwrite(nid_mth,"iwp",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     383c
     384      CALL gr_fi_ecrit(1, klon,iim,jjmp1, ue,zx_tmp_2d)
     385      CALL histwrite(nid_mth,"ue",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     386c
     387      CALL gr_fi_ecrit(1, klon,iim,jjmp1, ve,zx_tmp_2d)
     388      CALL histwrite(nid_mth,"ve",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     389c
     390      CALL gr_fi_ecrit(1, klon,iim,jjmp1, uq,zx_tmp_2d)
     391      CALL histwrite(nid_mth,"uq",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     392c
     393      CALL gr_fi_ecrit(1, klon,iim,jjmp1, vq,zx_tmp_2d)
     394      CALL histwrite(nid_mth,"vq",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     395cKE43
     396      IF (iflag_con.GE.3) THEN ! sb
     397c
     398      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cape,zx_tmp_2d)
     399      CALL histwrite(nid_mth,"cape",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     400c
     401      CALL gr_fi_ecrit(1, klon,iim,jjmp1,pbase,zx_tmp_2d)
     402      CALL histwrite(nid_mth,"pbase",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     403c
     404      CALL gr_fi_ecrit(1, klon,iim,jjmp1,ema_pct,zx_tmp_2d)
     405      CALL histwrite(nid_mth,"ptop",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     406c
     407      CALL gr_fi_ecrit(1, klon,iim,jjmp1,ema_cbmf,zx_tmp_2d)
     408      CALL histwrite(nid_mth,"fbase",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     409c
     410c34EK
     411c
     412      CALL gr_fi_ecrit(1, klon,iim,jjmp1, prw,zx_tmp_2d)
     413      CALL histwrite(nid_mth,"prw",itau_w,zx_tmp_2d,
     414     .               iim*jjmp1,ndex2d)
     415c
     416      ENDIF !iflag_con.GE.3
     417c
     418c
     419c
     420c  Champs interpolles sur des niveaux de pression
     421      DO k=1, nlevENS
     422c
     423        CALL gr_fi_ecrit(1, klon,iim,jjmp1, ulev(:,k),zx_tmp_2d)
     424        CALL histwrite(nid_mth,"u"//clev(k),itau_w,zx_tmp_2d,
     425     $       iim*jjmp1,ndex2d)
     426c
     427        CALL gr_fi_ecrit(1, klon,iim,jjmp1, vlev(:,k),zx_tmp_2d)
     428        CALL histwrite(nid_mth,"v"//clev(k),itau_w,zx_tmp_2d,
     429     $       iim*jjmp1,ndex2d)
     430c
     431      CALL gr_fi_ecrit(1, klon,iim,jjmp1, wlev(:,k),zx_tmp_2d)
     432      CALL histwrite(nid_mth,"w"//clev(k),itau_w,zx_tmp_2d,
     433     $     iim*jjmp1,ndex2d)
     434c
     435      CALL gr_fi_ecrit(1, klon,iim,jjmp1, philev(:,k),zx_tmp_2d)
     436      CALL histwrite(nid_mth,"phi"//clev(k),itau_w,zx_tmp_2d,
     437     $     iim*jjmp1,ndex2d)
     438c
     439      ENDDO !nlevENS
     440      ENDIF !lev_histmth.GE.1
     441c
     442      IF(lev_histmth.GE.2) THEN
     443c
     444c Champs 3D:
     445C
     446c
     447      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, flwc,zx_tmp_3d)
     448      CALL histwrite(nid_mth,"lwcon",itau_w,zx_tmp_3d,
     449     .               iim*jjmp1*klev,ndex3d)
     450c
     451      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, fiwc,zx_tmp_3d)
     452      CALL histwrite(nid_mth,"iwcon",itau_w,zx_tmp_3d,
     453     .               iim*jjmp1*klev,ndex3d)
     454c
     455      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, t_seri, zx_tmp_3d)
     456      CALL histwrite(nid_mth,"temp",itau_w,zx_tmp_3d,
     457     .                                   iim*jjmp1*klev,ndex3d)
     458c
     459c#ifdef histmthNMC
     460c#include "write_histmthNMC.h"
     461c#endif
     462c
     463      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, qx(1,1,ivap), zx_tmp_3d)
     464      CALL histwrite(nid_mth,"ovap",itau_w,zx_tmp_3d,
     465     .                                   iim*jjmp1*klev,ndex3d)
     466c
     467cIM: 071003
     468c     zx_tmp_fi3d(1:klon,1:klev)=qx(1:klon,1:klev,ivap)/
     469c    .                         (1-qx(1:klon,1:klev,ivap))
     470c     CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zx_tmp_fi3d, zx_tmp_3d)
     471c     CALL histwrite(nid_mth,"wvap",itau_w,zx_tmp_3d,
     472c    .                                   iim*jjmp1*klev,ndex3d)
     473c
     474      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zphi, zx_tmp_3d)
     475      CALL histwrite(nid_mth,"geop",itau_w,zx_tmp_3d,
     476     .                                   iim*jjmp1*klev,ndex3d)
     477c
     478      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, u_seri, zx_tmp_3d)
     479      CALL histwrite(nid_mth,"vitu",itau_w,zx_tmp_3d,
     480     .                                   iim*jjmp1*klev,ndex3d)
     481c
     482      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, v_seri, zx_tmp_3d)
     483      CALL histwrite(nid_mth,"vitv",itau_w,zx_tmp_3d,
     484     .                                   iim*jjmp1*klev,ndex3d)
     485c
     486      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, omega, zx_tmp_3d)
     487      CALL histwrite(nid_mth,"vitw",itau_w,zx_tmp_3d,
     488     .                                   iim*jjmp1*klev,ndex3d)
     489c
     490      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, pplay, zx_tmp_3d)
     491      CALL histwrite(nid_mth,"pres",itau_w,zx_tmp_3d,
     492     .                                   iim*jjmp1*klev,ndex3d)
     493c
     494      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, cldfra, zx_tmp_3d)
     495      CALL histwrite(nid_mth,"rneb",itau_w,zx_tmp_3d,
     496     .                                   iim*jjmp1*klev,ndex3d)
     497c
     498      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, rnebcon, zx_tmp_3d)
     499      CALL histwrite(nid_mth,"rnebcon",itau_w,zx_tmp_3d,
     500     .                                   iim*jjmp1*klev,ndex3d)
     501c
     502      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zx_rh, zx_tmp_3d)
     503      CALL histwrite(nid_mth,"rhum",itau_w,zx_tmp_3d,
     504     .                                   iim*jjmp1*klev,ndex3d)
     505c
     506      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, wo, zx_tmp_3d)
     507      CALL histwrite(nid_mth,"ozone",itau_w,zx_tmp_3d,
     508     .                                   iim*jjmp1*klev,ndex3d)
     509c
     510cIM 22.03.04 BEG
     511      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_t, zx_tmp_3d)
     512      CALL histwrite(nid_mth,"dtphy",itau_w,zx_tmp_3d,
     513     .                                   iim*jjmp1*klev,ndex3d)
     514c
     515      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_qx(:,:,ivap),
     516     .                 zx_tmp_3d)
     517      CALL histwrite(nid_mth,"dqphy",itau_w,zx_tmp_3d,
     518     .                                   iim*jjmp1*klev,ndex3d)
     519cIM 22.03.04 END
     520c
     521      ENDIF !lev_histmth.GE.2
     522c
     523      IF(lev_histmth.GE.3) THEN
     524c
     525       DO nsrf=1, nbsrf
     526c
    195527        zx_tmp_fi2d(1 : klon) = falbe( 1 : klon, nsrf)
    196528        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
     
    207539      CALL histwrite(nid_mth,"ages_"//clnsurf(nsrf),itau_w
    208540     $    ,zx_tmp_2d,iim*jjmp1,ndex2d)
    209 
    210       END DO 
    211 cXXX      DO i = 1, klon
    212 cXXX         zx_tmp_fi2d(i) = pctsrf(i,is_sic)
    213 cXXX      ENDDO
    214 cXXX      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
    215 cXXX      CALL histwrite(nid_mth,"sicf",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     541c
     542      ENDDO !nsrf=1, nbsrf
    216543c
    217544      CALL gr_fi_ecrit(1, klon,iim,jjmp1, albsol,zx_tmp_2d)
    218545      CALL histwrite(nid_mth,"albs",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     546c
    219547      CALL gr_fi_ecrit(1, klon,iim,jjmp1, albsollw,zx_tmp_2d)
    220548      CALL histwrite(nid_mth,"albslw",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    221549c
    222       CALL gr_fi_ecrit(1, klon,iim,jjmp1, cdragm,zx_tmp_2d)
    223       CALL histwrite(nid_mth,"cdrm",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    224 c
    225       CALL gr_fi_ecrit(1, klon,iim,jjmp1, cdragh,zx_tmp_2d)
    226       CALL histwrite(nid_mth,"cdrh",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    227 c
    228       CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldl,zx_tmp_2d)
    229       CALL histwrite(nid_mth,"cldl",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    230 c
    231       CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldm,zx_tmp_2d)
    232       CALL histwrite(nid_mth,"cldm",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    233 c
    234       CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldh,zx_tmp_2d)
    235       CALL histwrite(nid_mth,"cldh",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    236 c
    237       CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldt,zx_tmp_2d)
    238       CALL histwrite(nid_mth,"cldt",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    239 c
    240       CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldq,zx_tmp_2d)
    241       CALL histwrite(nid_mth,"cldq",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    242 c
    243       zx_tmp_fi2d(1:klon) = flwp(1:klon)
    244       CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
    245       CALL histwrite(nid_mth,"lwp",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    246 c
    247       zx_tmp_fi2d(1:klon) = fiwp(1:klon)
    248       CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
    249       CALL histwrite(nid_mth,"iwp",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    250 c
    251       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, flwc,zx_tmp_3d)
    252       CALL histwrite(nid_mth,"lwcon",itau_w,zx_tmp_3d,
    253      .               iim*jjmp1*klev,ndex3d)
    254 c
    255       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, fiwc,zx_tmp_3d)
    256       CALL histwrite(nid_mth,"iwcon",itau_w,zx_tmp_3d,
    257      .               iim*jjmp1*klev,ndex3d)
    258 c
    259       CALL gr_fi_ecrit(1, klon,iim,jjmp1, ue,zx_tmp_2d)
    260       CALL histwrite(nid_mth,"ue",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    261 c
    262       CALL gr_fi_ecrit(1, klon,iim,jjmp1, ve,zx_tmp_2d)
    263       CALL histwrite(nid_mth,"ve",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    264 c
    265       CALL gr_fi_ecrit(1, klon,iim,jjmp1, uq,zx_tmp_2d)
    266       CALL histwrite(nid_mth,"uq",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    267 c
    268       CALL gr_fi_ecrit(1, klon,iim,jjmp1, vq,zx_tmp_2d)
    269       CALL histwrite(nid_mth,"vq",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    270 cKE43
    271       IF (iflag_con .GE. 3) THEN ! sb
    272 c
    273       CALL gr_fi_ecrit(1, klon,iim,jjmp1, cape,zx_tmp_2d)
    274       CALL histwrite(nid_mth,"cape",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    275 c
    276       CALL gr_fi_ecrit(1, klon,iim,jjmp1,pbase,zx_tmp_2d)
    277       CALL histwrite(nid_mth,"pbase",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    278 c
    279       CALL gr_fi_ecrit(1, klon,iim,jjmp1,ema_pct,zx_tmp_2d)
    280       CALL histwrite(nid_mth,"ptop",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    281 c
    282       CALL gr_fi_ecrit(1, klon,iim,jjmp1,ema_cbmf,zx_tmp_2d)
    283       CALL histwrite(nid_mth,"fbase",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     550      ENDIF !lev_histmth.GE.3
     551c
     552c
     553      IF(lev_histmth.GE.4) THEN
     554c
     555      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, clwcon0, zx_tmp_3d)
     556      CALL histwrite(nid_mth,"clwcon",itau_w,zx_tmp_3d,
     557     .                                   iim*jjmp1*klev,ndex3d)
     558c
     559      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, Ma, zx_tmp_3d)
     560      CALL histwrite(nid_mth,"Ma",itau_w,zx_tmp_3d,
     561     .                                   iim*jjmp1*klev,ndex3d)
    284562c
    285563      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, upwd, zx_tmp_3d)
     
    295573     .                                   iim*jjmp1*klev,ndex3d)
    296574c
    297       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, Ma, zx_tmp_3d)
    298       CALL histwrite(nid_mth,"Ma",itau_w,zx_tmp_3d,
    299      .                                   iim*jjmp1*klev,ndex3d)
    300 c
    301       CALL gr_fi_ecrit(1, klon,iim,jjmp1, prw,zx_tmp_2d)
    302       CALL histwrite(nid_mth,"prw",itau_w,zx_tmp_2d,
    303      .               iim*jjmp1,ndex2d)
    304 c
    305       ENDIF
    306 c34EK
    307 c
    308 c Champs 3D:
    309 C
    310       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, t_seri, zx_tmp_3d)
    311       CALL histwrite(nid_mth,"temp",itau_w,zx_tmp_3d,
    312      .                                   iim*jjmp1*klev,ndex3d)
    313 c
    314       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, qx(1,1,ivap), zx_tmp_3d)
    315       CALL histwrite(nid_mth,"ovap",itau_w,zx_tmp_3d,
    316      .                                   iim*jjmp1*klev,ndex3d)
    317 cIM: 071003
    318       zx_tmp_fi3d(1:klon,1:klev)=qx(1:klon,1:klev,ivap)/
    319      .                         (1-qx(1:klon,1:klev,ivap))
    320       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zx_tmp_fi3d, zx_tmp_3d)
    321       CALL histwrite(nid_mth,"wvap",itau_w,zx_tmp_3d,
    322      .                                   iim*jjmp1*klev,ndex3d)
    323 c
    324       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zphi, zx_tmp_3d)
    325       CALL histwrite(nid_mth,"geop",itau_w,zx_tmp_3d,
    326      .                                   iim*jjmp1*klev,ndex3d)
    327 c
    328       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, u_seri, zx_tmp_3d)
    329       CALL histwrite(nid_mth,"vitu",itau_w,zx_tmp_3d,
    330      .                                   iim*jjmp1*klev,ndex3d)
    331 c
    332       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, v_seri, zx_tmp_3d)
    333       CALL histwrite(nid_mth,"vitv",itau_w,zx_tmp_3d,
    334      .                                   iim*jjmp1*klev,ndex3d)
    335 c
    336       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, omega, zx_tmp_3d)
    337       CALL histwrite(nid_mth,"vitw",itau_w,zx_tmp_3d,
    338      .                                   iim*jjmp1*klev,ndex3d)
    339 c
    340       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, pplay, zx_tmp_3d)
    341       CALL histwrite(nid_mth,"pres",itau_w,zx_tmp_3d,
    342      .                                   iim*jjmp1*klev,ndex3d)
    343 c
    344       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, cldfra, zx_tmp_3d)
    345       CALL histwrite(nid_mth,"rneb",itau_w,zx_tmp_3d,
    346      .                                   iim*jjmp1*klev,ndex3d)
    347 c
    348       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, rnebcon, zx_tmp_3d)
    349       CALL histwrite(nid_mth,"rnebcon",itau_w,zx_tmp_3d,
    350      .                                   iim*jjmp1*klev,ndex3d)
    351 c
    352       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zx_rh, zx_tmp_3d)
    353       CALL histwrite(nid_mth,"rhum",itau_w,zx_tmp_3d,
    354      .                                   iim*jjmp1*klev,ndex3d)
    355 c
    356       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, clwcon0, zx_tmp_3d)
    357       CALL histwrite(nid_mth,"clwcon",itau_w,zx_tmp_3d,
    358      .                                   iim*jjmp1*klev,ndex3d)
    359 c
    360       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, cldliq, zx_tmp_3d)
    361       CALL histwrite(nid_mth,"oliq",itau_w,zx_tmp_3d,
    362      .                                   iim*jjmp1*klev,ndex3d)
    363 c
    364       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_t, zx_tmp_3d)
    365       CALL histwrite(nid_mth,"dtphy",itau_w,zx_tmp_3d,
    366      .                                   iim*jjmp1*klev,ndex3d)
    367575c
    368576      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_t_dyn, zx_tmp_3d)
     
    504712      ENDIF
    505713C
    506       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, wo, zx_tmp_3d)
    507       CALL histwrite(nid_mth,"ozone",itau_w,zx_tmp_3d,
    508      .                                   iim*jjmp1*klev,ndex3d)
    509 c
    510714      IF (nqmax.GE.3) THEN
    511715      DO iq=1,nqmax-2
     
    522726      ENDIF
    523727c
    524 c     zx_tmp_fi2d(1 : klon) = ZFSUP( 1 : klon, klevp1)
    525       zx_tmp_fi2d(1 : klon) = swup ( 1 : klon, 2 )
    526       CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
    527       CALL histwrite(nid_mth, "SWupTOA",itau_w,zx_tmp_2d,
    528      .                               iim*jjmp1,ndex2d)
    529 c
    530 c      zx_tmp_fi2d(1 : klon) = ZFSUP( 1 : klon, 1)
    531       zx_tmp_fi2d(1 : klon) = swup ( 1 : klon, 1 )
    532       CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
    533       CALL histwrite(nid_mth, "SWupSFC",itau_w,zx_tmp_2d,
    534      .                               iim*jjmp1,ndex2d)
    535 c
    536 c      zx_tmp_fi2d(1 : klon) = ZFSDN( 1 : klon, klevp1)
    537       zx_tmp_fi2d(1 : klon) = swdn ( 1 : klon, 2 )
    538       CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
    539       CALL histwrite(nid_mth, "SWdnTOA",itau_w,zx_tmp_2d,
    540      .                               iim*jjmp1,ndex2d)
    541 c
    542 c      zx_tmp_fi2d(1 : klon) = ZFSDN( 1 : klon, 1)
    543       zx_tmp_fi2d(1 : klon) = swdn ( 1 : klon, 1 )
    544       CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
    545       CALL histwrite(nid_mth, "SWdnSFC",itau_w,zx_tmp_2d,
    546      .                               iim*jjmp1,ndex2d)
    547 c
    548 c      zx_tmp_fi2d(1 : klon) = ZFSUP0( 1 : klon, klevp1)
    549       zx_tmp_fi2d(1 : klon) = swup0 ( 1 : klon, 2 )
    550       CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
    551       CALL histwrite(nid_mth, "SWupTOAclr",itau_w,zx_tmp_2d,
    552      .                               iim*jjmp1,ndex2d)
    553 c
    554 c      zx_tmp_fi2d(1 : klon) = ZFSUP0( 1 : klon, 1)
    555       zx_tmp_fi2d(1 : klon) = swup0 ( 1 : klon, 1 )
    556       CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
    557       CALL histwrite(nid_mth, "SWupSFCclr",itau_w,zx_tmp_2d,
    558      .                               iim*jjmp1,ndex2d)
    559 c
    560 c      zx_tmp_fi2d(1 : klon) = ZFSDN0( 1 : klon, klevp1)
    561       zx_tmp_fi2d(1 : klon) = swdn0 ( 1 : klon, 2 )
    562       CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
    563       CALL histwrite(nid_mth, "SWdnTOAclr",itau_w,zx_tmp_2d,
    564      .                               iim*jjmp1,ndex2d)
    565 c
    566 c      zx_tmp_fi2d(1 : klon) = ZFSDN0( 1 : klon, 1)
    567       zx_tmp_fi2d(1 : klon) = swdn0 ( 1 : klon, 1 )
    568       CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
    569       CALL histwrite(nid_mth, "SWdnSFCclr",itau_w,zx_tmp_2d,
    570      .                               iim*jjmp1,ndex2d)
    571 c
    572 c  Champs interpolles sur des niveaux de pression
    573 
    574       CALL gr_fi_ecrit(1, klon,iim,jjmp1, u850,zx_tmp_2d)
    575       CALL histwrite(nid_mth,"u850",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    576 
    577       CALL gr_fi_ecrit(1, klon,iim,jjmp1, v850,zx_tmp_2d)
    578       CALL histwrite(nid_mth,"v850",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    579 
    580       CALL gr_fi_ecrit(1, klon,iim,jjmp1, u500,zx_tmp_2d)
    581       CALL histwrite(nid_mth,"u500",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    582 
    583       CALL gr_fi_ecrit(1, klon,iim,jjmp1, v500,zx_tmp_2d)
    584       CALL histwrite(nid_mth,"v500",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    585 
    586       CALL gr_fi_ecrit(1, klon,iim,jjmp1, u200,zx_tmp_2d)
    587       CALL histwrite(nid_mth,"u200",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    588 
    589       CALL gr_fi_ecrit(1, klon,iim,jjmp1, v200,zx_tmp_2d)
    590       CALL histwrite(nid_mth,"v200",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    591 
    592       CALL gr_fi_ecrit(1, klon,iim,jjmp1, phi500,zx_tmp_2d)
    593       CALL histwrite(nid_mth,"phi500",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    594 
    595       CALL gr_fi_ecrit(1, klon,iim,jjmp1, w500,zx_tmp_2d)
    596       CALL histwrite(nid_mth,"w500",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     728      ENDIF !lev_histmth.GE.4
    597729c
    598730      if (ok_sync) then
Note: See TracChangeset for help on using the changeset viewer.