Ignore:
Timestamp:
May 25, 2005, 3:10:09 PM (20 years ago)
Author:
Laurent Fairhead
Message:

Synchronisation avec tous les diagnostiques de Ionela IM
Inclusion du slab ocean IM
LF

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ4/trunk/libf/phylmd/ini_histhf.h

    r590 r644  
    55      IF (ok_hf) THEN
    66c
    7         zout = dtime * REAL(NINT(86400./dtime*ecrit_hf))
    8         zsto = zout
    9         zsto1 = dtime
    10         PRINT*, 'La frequence de sortie instant. est de ', ecrit_hf
     7       zstohf = dtime * FLOAT(ecrit_hf)
     8       zstophy = dtime
     9       zstoday = dtime * FLOAT(ecrit_day)
     10       zout = dtime * FLOAT(ecrit_hf)
    1111c
    1212         idayref = day_ref
     
    2121
    2222         CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlat,zx_lat)
    23 
    24 cccIM      CALL histbeg("histhf", iim,zx_lon, jjmp1,zx_lat,
    2523         CALL histbeg("histhf", iim,zx_lon(:,1), jjmp1,zx_lat(1,:),
    2624     .                 1,iim,1,jjmp1, itau_phy, zjulian, dtime,
     
    2826
    2927         CALL histvert(nid_hf, "presnivs", "Vertical levels", "mb",
    30      .                 klev, presnivs, nvert)
    31 c
    32 
     28     .                 klev, presnivs/100., nvert)
     29c
     30
     31      IF(type_run.EQ."CLIM".OR.type_run.EQ."ENSP") THEN
     32c
    3333      IF(lev_histhf.GE.1) THEN
    3434c
    35 c        CALL histdef(nid_hf, "phis", "Surface geop. height", "-",
    36 c    .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    37 c    .                "once", zsto,zout)
    38 c
    39 c        CALL histdef(nid_hf, "aire", "Grid area", "-",
    40 c    .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    41 c    .                "once", zsto,zout)
    42 c
    4335         CALL histdef(nid_hf, "aireTER","Grid area CONT","-",
    4436     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    45      .                "once", zsto,zout)
     37     .                "once", zstohf,zout)
    4638c
    4739         CALL histdef(nid_hf, "contfracATM","% sfce ter+lic ","-",
    4840     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    49      .                "once", zsto,zout)
     41     .                "once", zstohf,zout)
    5042c
    5143         CALL histdef(nid_hf, "contfracOR","% sfce terre OR", "-",
    5244     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    53      .                "once", zsto,zout)
     45     .                "once", zstohf,zout)
    5446c
    5547c Champs 2D:
     
    5749         CALL histdef(nid_hf, "t2m", "Temperature 2m", "K",
    5850     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    59      .                "inst(X)", zsto,zout)
     51     .                "inst(X)", zstohf,zout)
    6052c
    6153         CALL histdef(nid_hf, "q2m", "Specific humidity", "kg/kg",
    6254     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    63      .                "inst(X)", zsto,zout)
     55     .                "inst(X)", zstohf,zout)
    6456c
    6557         CALL histdef(nid_hf, "psol", "Surface Pressure", "Pa",
    6658     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    67      .                "inst(X)", zsto,zout)
    68 c
    69          print*,'ATTENTION METTRE AVE(X) POUR LES PRECIPS'
    70 
    71          CALL histdef(nid_hf, "rain", "Precipitation", "kg/m^2s",
     59     .                "inst(X)", zstohf,zout)
     60c
     61         CALL histdef(nid_hf, "precip", "Precipitation", "kg/(s*m2)",
    7262     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    73      .                "ave(X)", zsto1,zout)
     63     .                "ave(X)", zstophy,zout)
    7464c
    7565cIM ENSEMBLES BEG
    76 c
    7766         CALL histdef(nid_hf, "tsol", "Surface Temperature", "K",
    7867     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    79      .                "inst(X)", zsto,zout)
     68     .                "inst(X)", zstohf,zout)
    8069c
    8170         CALL histdef(nid_hf, "slp", "Sea Level Pressure", "Pa",
    8271     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    83      .                "inst(X)", zsto,zout)
    84 c
     72     .                "inst(X)", zstohf,zout)
    8573c
    8674         CALL histdef(nid_hf, "u10m", "Vent zonal 10m", "m/s",
    8775     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    88      .                "inst(X)", zsto,zout)
     76     .                "inst(X)", zstohf,zout)
    8977c
    9078         CALL histdef(nid_hf, "v10m", "Vent meridien 10m", "m/s",
    9179     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    92      .                "inst(X)", zsto,zout)
     80     .                "inst(X)", zstohf,zout)
    9381c
    9482         CALL histdef(nid_hf, "wind10m","10-m wind speed","m/s",
    9583     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    96      .                "inst(X)", zsto,zout)
    97 c
    98          DO k=1, nlevENS
    99           IF(clev(k).EQ."500") THEN
    100           CALL histdef(nid_hf, "phi"//clev(k),
    101      .                "Geopotential"//clev(k)//"mb", "m2/s2",
    102      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    103      .                "inst(X)", zsto,zout)
    104           ENDIF !clev(k).EQ."500"
    105          ENDDO !k=1, nlevENS
     84     .                "inst(X)", zstohf,zout)
     85c
     86         DO k=1, nlevSTD
     87c
     88c        bb=clevSTD(k)
     89c
     90         IF(k.GE.2.AND.k.LE.12) bb2=clevSTD(k)
     91         IF(k.GE.13.AND.k.LE.17) bb3=clevSTD(k)
     92c
     93c        IF(k.GE.2) THEN
     94c         aa=clevSTD(k)
     95c         bb=aa(1:lnblnk1(aa))
     96c        ENDIF
     97c
     98          IF(bb2.EQ."500") THEN
     99          CALL histdef(nid_hf, "phi"//bb2,
     100     .                "Geopotential "//bb2//"mb", "m",
     101     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     102     .                "inst(X)", zstohf,zout)
     103          ENDIF !bb2.EQ."500"
     104         ENDDO !k=1, nlevSTD
    106105c
    107106      ENDIF !lev_histhf.GE.1
     
    109108      IF(lev_histhf.GE.2) THEN
    110109c
    111          CALL histdef(nid_hf, "cldt", "Total cloudiness", "-",
    112      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    113      .                "ave(X)", zsto1,zout)
    114 c
    115 c -- LOOP
     110         CALL histdef(nid_hf, "cldt", "Total cloudiness", "%",
     111     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     112     .                "ave(X)", zstophy,zout)
     113c
     114         CALL histdef(nid_hf, "SWnetOR",
     115     .                "Sfce net SW radiation OR", "W/m2",
     116     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     117     .                "ave(X)", zstophy,zout)
     118c
    116119         CALL histdef(nid_hf, "SWdownOR",
    117      .                "Sfce incident SW down radiation OR", "W/m^2",
    118      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    119      .                "ave(X)", zsto1,zout)
    120 c
    121          CALL histdef(nid_hf, "SWnetOR",
    122      .                "Sfce incident SW net radiation OR", "W/m^2",
    123      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    124      .                "ave(X)", zsto1,zout)
    125 c -- LOOP
     120     .                "Sfce incident SW radiation OR", "W/m2",
     121     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     122     .                "ave(X)", zstophy,zout)
    126123c
    127124         CALL histdef(nid_hf, "LWdownOR",
    128      .                "Sfce incident LW radiation OR", "W/m^2",
    129      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    130      .                "ave(X)", zsto1,zout)
     125     .                "Sfce incident LW radiation OR", "W/m2",
     126     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     127     .                "ave(X)", zstophy,zout)
    131128      ENDIF !lev_histhf.GE.2
    132129c
     
    135132      IF(lev_histhf.GE.3) THEN
    136133c
    137          DO k=1, nlevENS
    138 c
    139           CALL histdef(nid_hf, "t"//clev(k),
    140      .                 "Temperature"//clev(k)//"mb","K",
    141      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    142      .                "inst(X)", zsto,zout)
    143 c
    144           IF(clev(k).NE."500") THEN
    145           CALL histdef(nid_hf, "phi"//clev(k),
    146      .                "Geopotential"//clev(k)//"mb", "m2/s2",
    147      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    148      .                "inst(X)", zsto,zout)
     134         DO k=1, nlevSTD
     135c
     136c        bb=clevSTD(k)
     137c
     138c        IF(k.GE.2) THEN
     139         IF(k.GE.2.AND.k.LE.12) bb2=clevSTD(k)
     140         IF(k.GE.13.AND.k.LE.17) bb3=clevSTD(k)
     141c         aa=clevSTD(k)
     142c         bb=aa(1:lnblnk1(aa))
     143c        ENDIF
     144c
     145         IF(bb2.EQ."850".or.bb2.EQ."700".OR.
     146     $      bb2.EQ."500".or.bb2.EQ."200") THEN
     147c
     148          CALL histdef(nid_hf, "t"//bb2,
     149     .                 "Temperature "//bb2//"mb","K",
     150     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     151     .                "inst(X)", zstohf,zout)
     152c
     153          IF(bb2.NE."500") THEN
     154          CALL histdef(nid_hf, "phi"//bb2,
     155     .                "Geopotential "//bb2//"mb", "m",
     156     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     157     .                "inst(X)", zstohf,zout)
    149158          ENDIF
    150159c
    151           CALL histdef(nid_hf, "q"//clev(k),
    152      .                 "Specific humidity"//clev(k)//"mb","kg/kg",
    153      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    154      .                "inst(X)", zsto,zout)
    155 c
    156          IF(1.EQ.0) THEN
    157          CALL histdef(nid_hf, "rh"//clev(k),
    158      .                 "Relative humidity"//clev(k)//"mb", "%",
    159      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    160      .                "inst(X)", zsto,zout)
    161          ENDIF
    162 c
    163           CALL histdef(nid_hf, "u"//clev(k),
    164      .                 "Zonal wind"//clev(k)//"mb","m/s",
    165      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    166      .                "inst(X)", zsto,zout)
    167 c
    168           CALL histdef(nid_hf, "v"//clev(k),
    169      .                 "Meridional wind"//clev(k)//"mb","m/s",
    170      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    171      .                "inst(X)", zsto,zout)
    172 c
    173          ENDDO !nlevENS
    174          IF(1.EQ.0) THEN
    175          CALL histdef(nid_hf, "cdrm", " Momentum drag coef.", "-",
    176      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    177      .                "inst(X)", zsto,zout)
    178 c
    179          CALL histdef(nid_hf, "cdrh", "Heat drag coef.", "-",
    180      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    181      .                "inst(X)", zsto,zout)
    182          ENDIF !(1.EQ.0) THEN
     160          CALL histdef(nid_hf, "q"//bb2,
     161     .                 "Specific humidity "//bb2//"mb","kg/kg",
     162     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     163     .                "inst(X)", zstohf,zout)
     164c
     165          CALL histdef(nid_hf, "u"//bb2,
     166     .                 "Zonal wind "//bb2//"mb","m/s",
     167     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     168     .                "inst(X)", zstohf,zout)
     169c
     170          CALL histdef(nid_hf, "v"//bb2,
     171     .                 "Meridional wind "//bb2//"mb","m/s",
     172     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     173     .                "inst(X)", zstohf,zout)
     174c
     175         ENDIF !IF(bb2.EQ."850".or.bb2.EQ."700".OR.
     176c
     177         ENDDO !nlevSTD
    183178c
    184179      ENDIF !lev_histhf.GE.3
    185180c
    186181      IF(lev_histhf.GE.4) THEN
     182c
     183cIM sorties hf 3D
     184c
     185#undef histhf3d
    187186#define histhf3d
    188187#ifdef histhf3d
     
    191190      ENDIF !lev_histhf.GE.4
    192191c
    193 c#define histhf3d
    194 c#ifdef histhf3d
    195 c#include "ini_histhf3d.h"
    196 c#endif
    197 c
    198          CALL histend(nid_hf)
    199 c
    200       endif ! ok_hf
     192      ELSE IF(type_run.EQ."AMIP".OR.type_run.EQ."CFMI") THEN
     193c
     194      IF(lev_histhf.GE.1) THEN
     195c
     196        DO k=1, nlevSTD
     197c
     198c
     199c        bb=clevSTD(k)
     200c
     201c        IF(k.GE.2) THEN
     202         IF(k.GE.2.AND.k.LE.12) bb2=clevSTD(k)
     203         IF(k.GE.13.AND.k.LE.17) bb3=clevSTD(k)
     204c         aa=clevSTD(k)
     205c         bb=aa(1:lnblnk1(aa))
     206c        ENDIF
     207c
     208         IF(bb2.EQ."850".or.bb2.EQ."200") THEN
     209c
     210          CALL histdef(nid_hf, "u"//bb2,
     211     .                 "Zonal wind "//bb2//"mb","m/s",
     212     .         iim,jjmp1,nhori, 1,1,1, -99, 32,
     213     .         "inst(X)", zstohf,zstohf)
     214c
     215          CALL histdef(nid_hf, "v"//bb2,
     216     .                 "Meridional wind "//bb2//"mb","m/s",
     217     .         iim,jjmp1,nhori, 1,1,1, -99, 32,
     218     .         "inst(X)", zstohf,zstohf)
     219c
     220         ENDIF !bb2.EQ."850".or.bb2.EQ."200"
     221        ENDDO !k=1, nlevSTD
     222c
     223        CALL histdef(nid_hf, "topl",
     224     .       "Outgoing longwave radiation", "W/m2",
     225     .       iim,jjmp1,nhori, 1,1,1, -99, 32,
     226     .       "ave(X)", zstophy,zout)
     227c
     228        CALL histdef(nid_hf, "precip","Total precipitation rate",
     229     .       "kg/(s*m2)",iim,jjmp1,nhori, 1,1,1, -99, 32,
     230     .       "ave(X)", zstophy,zout)
     231c
     232        CALL histdef(nid_hf, "slp",
     233     .       "Mean sea-level pressure", "Pa",
     234     .       iim,jjmp1,nhori, 1,1,1, -99, 32,
     235     .       "inst(X)", zstohf,zout)
     236c
     237cIM 280504 BEG
     238      ENDIF !(lev_histhf.GE.1) THEN
     239c
     240      IF(lev_histhf.GE.2) THEN
     241c
     242        DO k=1, nlevSTD
     243c
     244c        bb=clevSTD(k)
     245c
     246c        IF(k.GE.2) THEN
     247         IF(k.GE.2.AND.k.LE.12) bb2=clevSTD(k)
     248         IF(k.GE.13.AND.k.LE.17) bb3=clevSTD(k)
     249c         aa=clevSTD(k)
     250c         bb=aa(1:lnblnk1(aa))
     251c        ENDIF
     252c
     253         IF(bb2.EQ."850".OR.bb2.EQ."500") THEN
     254c
     255          CALL histdef(nid_hf, "t"//bb2,
     256     .                 "Temperature "//bb2//"mb","K",
     257     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     258     .                "inst(X)", zstohf,zstohf)
     259c
     260          CALL histdef(nid_hf, "q"//bb2,
     261     .                 "Specific humidity "//bb2//"mb","kg/kg",
     262     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     263     .                "inst(X)", zstohf,zstohf)
     264c
     265         ENDIF !bb2
     266c
     267         IF(bb2.EQ."500") THEN
     268c
     269          CALL histdef(nid_hf, "phi"//bb2,
     270     .                "Geopotential "//bb2//"mb", "m",
     271     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     272     .                "inst(X)", zstohf,zstohf)
     273c
     274          CALL histdef(nid_hf, "w"//bb2,
     275     .                 "Vertical motion "//bb2//"mb","Pa/s",
     276     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     277     .                "inst(X)", zstohf,zstohf)
     278         ENDIF !bb2.EQ."500"
     279c
     280         IF(bb3.EQ."50") THEN
     281c
     282          CALL histdef(nid_hf, "t"//bb3,
     283     .                 "Temperature "//bb3//"mb","K",
     284     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     285     .                "inst(X)", zstohf,zstohf)
     286c
     287          CALL histdef(nid_hf, "u"//bb3,
     288     .                 "Zonal wind "//bb3//"mb","m/s",
     289     .         iim,jjmp1,nhori, 1,1,1, -99, 32,
     290     .         "inst(X)", zstohf,zstohf)
     291c
     292          CALL histdef(nid_hf, "v"//bb3,
     293     .                 "Meridional wind "//bb3//"mb","m/s",
     294     .         iim,jjmp1,nhori, 1,1,1, -99, 32,
     295     .         "inst(X)", zstohf,zstohf)
     296c
     297         ENDIF !bb3
     298c
     299        ENDDO !k=1, nlevSTD
     300c
     301        CALL histdef(nid_hf, "u10m", "Vent zonal 10m", "m/s",
     302     .               iim,jjmp1,nhori, 1,1,1, -99, 32,
     303     .               "inst(X)", zstohf,zout)
     304c
     305        CALL histdef(nid_hf, "v10m", "Vent meridien 10m", "m/s",
     306     .               iim,jjmp1,nhori, 1,1,1, -99, 32,
     307     .               "inst(X)", zstohf,zout)
     308c
     309        CALL histdef(nid_hf, "t2m", "Temperature 2m", "K",
     310     .               iim,jjmp1,nhori, 1,1,1, -99, 32,
     311     .               "inst(X)", zstohf,zout)
     312c
     313        CALL histdef(nid_hf, "q2m", "Specific humidity", "kg/kg",
     314     .               iim,jjmp1,nhori, 1,1,1, -99, 32,
     315     .               "inst(X)", zstohf,zout)
     316c
     317        CALL histdef(nid_hf, "psol", "Surface Pressure", "Pa",
     318     .               iim,jjmp1,nhori, 1,1,1, -99, 32,
     319     .               "inst(X)", zstohf,zout)
     320c
     321        CALL histdef(nid_hf, "cldt", "Total cloudiness", "%",
     322     .               iim,jjmp1,nhori, 1,1,1, -99, 32,
     323     .               "ave(X)", zstohf,zout)
     324c
     325        CALL histdef(nid_hf, "taux",
     326     $         "Zonal wind stress","Pa",
     327     $         iim,jjmp1,nhori, 1,1,1, -99, 32,
     328     $         "ave(X)", zstohf,zout)
     329c
     330        CALL histdef(nid_hf, "tauy",
     331     $         "Meridional wind stress ", "Pa",
     332     $         iim,jjmp1,nhori, 1,1,1, -99, 32,
     333     $         "ave(X)", zstohf,zout)
     334c
     335        CALL histdef(nid_hf, "prw", "Precipitable water", "kg/m2",
     336     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     337cIM 090904  .                "ave(X)", zstohf,zout)
     338     .                "ave(X)", zstophy,zout)
     339c
     340        CALL histdef(nid_hf, "sens", "Sensible heat flux", "W/m2",
     341     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     342cIM 090904  .                "ave(X)", zstohf,zout)
     343     .                "ave(X)", zstophy,zout)
     344c
     345        CALL histdef(nid_hf, "flat", "Latent heat flux", "W/m2",
     346     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     347     .                "ave(X)", zstohf,zout)
     348c
     349c       CALL histdef(nid_hf, "snow_mass", "Snow Mass", "kg/m2",
     350c    .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     351c    .                "ave(X)", zstohf,zout)
     352c
     353        CALL histdef(nid_hf, "SWdnSFC", "SWdn at surface","W/m2",
     354     .                iim,jjmp1,nhori, 1,1,1,-99,
     355     .                32, "ave(X)", zstohf,zout)
     356c
     357        CALL histdef(nid_hf, "SWupSFC", "SWup at surface","W/m2",
     358     .                iim,jjmp1,nhori, 1,1,1,-99,
     359     .                32, "ave(X)", zstohf,zout)
     360c
     361        CALL histdef(nid_hf,"LWdnSFC","Down. IR rad. at surface",
     362     .                "W/m2", iim,jjmp1,nhori, 1,1,1, -99, 32,
     363     .                "ave(X)", zstohf,zout)
     364c
     365        CALL histdef(nid_hf,"LWupSFC","Upwd. IR rad. at surface",
     366     .                "W/m2", iim,jjmp1,nhori, 1,1,1, -99, 32,
     367     .                "ave(X)", zstohf,zout)
     368c
     369        CALL histdef(nid_hf, "SWdnTOA", "SWdn at TOA","W/m2",
     370     .                iim,jjmp1,nhori, 1,1,1,-99,
     371     .                32, "ave(X)", zstohf,zout)
     372c
     373        CALL histdef(nid_hf, "SWupTOA", "SWup at TOA","W/m2",
     374     .                iim,jjmp1,nhori, 1,1,1,-99,
     375     .                32, "ave(X)", zstohf,zout)
     376c
     377        DO k=1, nbteta
     378         CALL histdef(nid_hf, "PV"//ctetaSTD(k),
     379     $               "Vorticite potentielle "//ctetaSTD(k)//"K",
     380     $               "1/(Pa*s)",iim,jjmp1,nhori, 1,1,1, -99,
     381     $                 32, "inst(X)", zstohf,zout)
     382        ENDDO !k=1, nbteta
     383c
     384c planetary boundary layer height
     385c
     386c       ENDIF !1.EQ.0
     387c
     388      ENDIF !(lev_histhf.GE.2) THEN
     389cIM 280504 END
     390c
     391      ENDIF !type_run
     392c
     393      CALL histend(nid_hf)
     394c
     395      ENDIF ! ok_hf
Note: See TracChangeset for help on using the changeset viewer.