Changeset 776


Ignore:
Timestamp:
Jun 7, 2007, 12:01:52 PM (17 years ago)
Author:
Laurent Fairhead
Message:

Suite du merge entre la version et la HEAD: quelques modifications
de Yann sur le

LF

Location:
LMDZ4/trunk/libf/phylmd
Files:
51 edited

Legend:

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

    r524 r776  
    1414      REAL ENTRPEN, ENTRSCV, ENTRMID, ENTRDD
    1515      REAL CMFCTOP, CMFCMAX, CMFCMIN, CMFDEPS, RHCDD, CPRCON
     16c$OMP THREADPRIVATE(/YOECUMF/)
    1617C
    1718*if (DOC,declared) <> 'UNKNOWN'
  • LMDZ4/trunk/libf/phylmd/YOEGWD.h

    r524 r776  
    1111      COMMON/YOEGWD/ GFRCRIT,GKWAKE,GRCRIT,GVCRIT,GKDRAG,GKLIFT
    1212     *        ,GHMAX,GRAHILO,GSIGCR,NKTOPG,NSTRA,GSSEC,GTSEC,GVSEC
     13c$OMP THREADPRIVATE(/YOEGWD/)
    1314C
    1415
  • LMDZ4/trunk/libf/phylmd/YOETHF.h

    r524 r776  
    1414      COMMON /YOETHF/R2ES, R3LES, R3IES, R4LES, R4IES, R5LES, R5IES,
    1515     .               RVTMP2, RHOH2O
     16!$OMP THREADPRIVATE(/YOETHF/)
  • LMDZ4/trunk/libf/phylmd/YOETHF.inc

    r524 r776  
    1414      COMMON /YOETHF/R2ES, R3LES, R3IES, R4LES, R4IES, R5LES, R5IES, &
    1515     &               RVTMP2, RHOH2O
     16!$OMP THREADPRIVATE(/YOETHF/)
  • LMDZ4/trunk/libf/phylmd/YOMCST.h

    r652 r776  
    3737     S      ,RALPD ,RBETD ,RGAMD
    3838!    ------------------------------------------------------------------
     39!$OMP THREADPRIVATE(/YOMCST/)
  • LMDZ4/trunk/libf/phylmd/atm2geo.F

    r766 r776  
    55      SUBROUTINE atm2geo ( im, jm, pte, ptn, plon, plat, pxx, pyy, pzz )
    66      USE dimphy
     7      USE mod_phys_lmdz_para
    78      IMPLICIT NONE
    89      include 'dimensions90.h'
     
    2627      LOGICAL, SAVE :: linit = .FALSE.
    2728c$OMP THREADPRIVATE(linit)
     29
     30cym utilise pour le couple, ne fonctionne que en MPI seul
    2831c
    2932cxxx      IF ( .NOT. linit ) THEN
     
    4144c
    4245c Value at North Pole
    43       IF (jjphy_begin==1) THEN
     46      IF (is_north_pole) THEN
    4447        pxx ( :,  1) = - ptn ( 1, 1)
    4548        pyy ( :,  1) = - pte ( 1, 1)
     
    4851c Value at South Pole
    4952     
    50       IF (jjphy_end==jjm+1) THEN
     53      IF (is_south_pole) THEN
    5154        pxx ( :, jm) = + ptn ( 1, jm)
    5255        pyy ( :, jm) = + pte ( 1, jm)
  • LMDZ4/trunk/libf/phylmd/calcul_divers.h

    r766 r776  
    55c initialisations diverses au "debut" du mois
    66c
    7       IF(MOD(itap,ecrit_mth).EQ.1) THEN
     7      IF(MOD(itap,INT(ecrit_mth)).EQ.1) THEN
    88         DO i=1, klon
    99          nday_rain(i)=0.
     
    1717       ENDDO
    1818c
    19       ENDIF !MOD(itap,ecrit_mth).EQ.1
     19      ENDIF !MOD(itap,INT(ecrit_mth)).EQ.1
    2020c
    21       IF(MOD(itap,ecrit_day).EQ.0) THEN
     21      IF(MOD(itap,INT(ecrit_day)).EQ.0) THEN
    2222c
    2323cIM calcul total_rain, nday_rain
  • LMDZ4/trunk/libf/phylmd/comgeomphy.F90

    r766 r776  
    99 
    1010  subroutine InitComgeomphy
    11   use dimphy
     11  USE mod_phys_lmdz_para
    1212  implicit none
    1313   
  • LMDZ4/trunk/libf/phylmd/compbl.h

    r766 r776  
     1      !
     2      ! $Header$
     3      !
    14      integer iflag_pbl
    25      common/compbl/iflag_pbl
  • LMDZ4/trunk/libf/phylmd/condsurf.F

    r766 r776  
    33      SUBROUTINE condsurf( jour, jourvrai, lmt_bils )
    44      USE dimphy
     5      USE mod_grid_phy_lmdz
     6      USE mod_phys_lmdz_para
    57      IMPLICIT none
    68c
     
    3941      CHARACTER*20 fich
    4042     
    41       REAL :: lmt_bils_glo(klon2)
    42       REAL,ALLOCATABLE,SAVE :: lmt_bils_mpi(:)
     43      REAL :: lmt_bils_glo(klon_glo)
    4344     
    44       LOGICAL,SAVE :: first
    45 c$OMP THREADPRIVATE(first)
    4645cc
    4746cc   .....................................................................
     
    5352c
    5453c
    55       IF (first) THEN
    56         ALLOCATE(lmt_bils_mpi(klon_mpi))
    57       ENDIF
    5854     
    5955      IF (jour.LT.0 .OR. jour.GT.(360-1)) THEN
     
    9288c
    9389c$OMP MASTER
    94       IF (phy_rank==0) THEN
     90      IF (is_mpi_root) THEN
    9591      ierr = NF_OPEN (fich, NF_NOWRITE,nid)
    9692      IF (ierr.NE.NF_NOERR) THEN
     
    106102      debut(1) = 1
    107103      debut(2) = jourvrai
    108       epais(1) = klon2
     104      epais(1) = klon_glo
    109105      epais(2) = 1
    110 c
    111106c Bilan flux de chaleur au sol:
    112107c
     
    132127      ierr = NF_CLOSE(nid)
    133128     
    134       ENDIF ! phyrank==0
     129      ENDIF ! is_mpi_root==0
    135130
    136       CALL scatterField(lmt_bils_glo,lmt_bils_mpi,1)
    137131c$OMP END MASTER
    138 c$OMP BARRIER
    139       CALL scatterField_omp(lmt_bils_mpi,lmt_bils,1)
     132      CALL scatter(lmt_bils_glo,lmt_bils)
    140133           
    141134c
  • LMDZ4/trunk/libf/phylmd/cv3_routines.F

    r660 r776  
    12041204        enddo
    12051205      enddo
    1206 
     1206     
    12071207      do 600 k=minorig+1,nl
    12081208        do 590 i=1,ncum
     
    18681868        delti = 1./delt
    18691869        tinv=1./3.
    1870        
     1870
    18711871        mp(:,:)=0.
    18721872
  • LMDZ4/trunk/libf/phylmd/dimphy.F90

    r766 r776  
    1 module dimphy
    2   USE mod_phys_mpi
    3   USE mod_phys_openmp
    4 end module dimphy
     1MODULE dimphy
     2 
     3  INTEGER,SAVE :: klon
     4  INTEGER,SAVE :: kdlon
     5  INTEGER,SAVE :: kfdia
     6  INTEGER,SAVE :: kidia
     7  INTEGER,SAVE :: nbtr
     8  INTEGER,SAVE :: klev
     9  INTEGER,SAVE :: klevp1
     10  INTEGER,SAVE :: klevm1
     11  INTEGER,SAVE :: kflev
     12
     13!$OMP THREADPRIVATE(klon,kfdia,kidia,kdlon)
     14  REAL,save,allocatable,dimension(:) :: zmasq
     15!$OMP THREADPRIVATE(zmasq)   
     16
     17CONTAINS
     18 
     19  SUBROUTINE Init_dimphy(klon0,klev0,nbtr0)
     20  IMPLICIT NONE
     21 
     22    INTEGER, INTENT(in) :: klon0
     23    INTEGER, INTENT(in) :: klev0
     24    INTEGER, INTENT(in) :: nbtr0
     25   
     26    klon=klon0
     27   
     28    kdlon=klon
     29    kidia=1
     30    kfdia=klon
     31!$OMP MASTER
     32    klev=klev0
     33    nbtr=nbtr0
     34    klevp1=klev+1
     35    klevm1=klev-1
     36    kflev=klev
     37!$OMP END MASTER   
     38    ALLOCATE(zmasq(klon))   
     39   
     40  END SUBROUTINE Init_dimphy
     41
     42 
     43END MODULE dimphy
  • LMDZ4/trunk/libf/phylmd/hbtm.F

    r766 r776  
     1!
     2! $Header$
     3!
     4
    15      SUBROUTINE HBTM(knon, paprs, pplay,
    26     .                t2m,t10m,q2m,q10m,ustar,
  • LMDZ4/trunk/libf/phylmd/ini_histISCCP.h

    r766 r776  
    130130          CALL histdef(nid_isccp, "cldISCCP_"//taulev(k)//typinout(n),
    131131     .                "LMDZ ISCCP cld", "%",
    132      .                iim, jjphy_nb,nhori,lmaxm1,1,lmaxm1,nvert,32,
     132     .                iim, jj_nb,nhori,lmaxm1,1,lmaxm1,nvert,32,
    133133     .                "ave(X)", zcals(n),zout_isccp(n))
    134134         ENDDO
     
    136136         CALL histdef(nid_isccp, "nsunlit"//typinout(n),
    137137     .                "Nb of calls with sunlit ", "%",
    138      .                iim, jjphy_nb,nhori,1,1,1,-99,32,
     138     .                iim, jj_nb,nhori,1,1,1,-99,32,
    139139     .                "ave(X)", zcals(n),zout_isccp(n))
    140140c
     
    152152           CALL histdef(nid_isccp, pclev(l)//taulev(k)//typinout(n),
    153153     .                "LMDZ ISCCP cld "//cnameisccp(l,k), "%",
    154      .                iim, jjphy_nb,nhori,1,1,1,-99,32,
     154     .                iim, jj_nb,nhori,1,1,1,-99,32,
    155155     .                "ave(X)", zcals(n),zout_isccp(n))
    156156c
     
    161161          CALL histdef(nid_isccp, "nsunlit"//typinout(n),
    162162     .                "Nb of calls with sunlit ", "%",
    163      .                iim, jjphy_nb,nhori,1,1,1,-99,32,
     163     .                iim, jj_nb,nhori,1,1,1,-99,32,
    164164     .                "ave(X)", zcals(n),zout_isccp(n))
    165165c
     
    167167          CALL histdef(nid_isccp, "cirr",
    168168     .                "Cirrus lk ISCCP-D2", "%",
    169      .                iim, jjphy_nb,nhori,1,1,1,-99,32,
     169     .                iim, jj_nb,nhori,1,1,1,-99,32,
    170170     .                "ave(X)", zcals(n),zout_isccp(n))
    171171c
    172172          CALL histdef(nid_isccp, "cist",
    173173     .                "CiSt lk ISCCP-D2", "%",
    174      .                iim, jjphy_nb,nhori,1,1,1,-99,32,
     174     .                iim, jj_nb,nhori,1,1,1,-99,32,
    175175     .                "ave(X)", zcals(n),zout_isccp(n))
    176176c
    177177          CALL histdef(nid_isccp, "deep",
    178178     .                "Deep lk ISCCP-D2", "%",
    179      .                iim, jjphy_nb,nhori,1,1,1,-99,32,
     179     .                iim, jj_nb,nhori,1,1,1,-99,32,
    180180     .                "ave(X)", zcals(n),zout_isccp(n))
    181181c
    182182          CALL histdef(nid_isccp, "alcu",
    183183     .                "AlCu lk ISCCP-D2", "%",
    184      .                iim, jjphy_nb,nhori,1,1,1,-99,32,
     184     .                iim, jj_nb,nhori,1,1,1,-99,32,
    185185     .                "ave(X)", zcals(n),zout_isccp(n))
    186186c
    187187          CALL histdef(nid_isccp, "alst",
    188188     .                "AlSt lk ISCCP-D2", "%",
    189      .                iim, jjphy_nb,nhori,1,1,1,-99,32,
     189     .                iim, jj_nb,nhori,1,1,1,-99,32,
    190190     .                "ave(X)", zcals(n),zout_isccp(n))
    191191c
    192192          CALL histdef(nid_isccp, "nist",
    193193     .                "NiSt lk ISCCP-D2", "%",
    194      .                iim, jjphy_nb,nhori,1,1,1,-99,32,
     194     .                iim, jj_nb,nhori,1,1,1,-99,32,
    195195     .                "ave(X)", zcals(n),zout_isccp(n))
    196196c
    197197          CALL histdef(nid_isccp, "cumu",
    198198     .                "Cumu lk ISCCP-D2", "%",
    199      .                iim, jjphy_nb,nhori,1,1,1,-99,32,
     199     .                iim, jj_nb,nhori,1,1,1,-99,32,
    200200     .                "ave(X)", zcals(n),zout_isccp(n))
    201201c
    202202          CALL histdef(nid_isccp, "stcu",
    203203     .                "StCu lk ISCCP-D2", "%",
    204      .                iim, jjphy_nb,nhori,1,1,1,-99,32,
     204     .                iim, jj_nb,nhori,1,1,1,-99,32,
    205205     .                "ave(X)", zcals(n),zout_isccp(n))
    206206c
    207207          CALL histdef(nid_isccp, "stra",
    208208     .                "Stra lk ISCCP-D2", "%",
    209      .                iim, jjphy_nb,nhori,1,1,1,-99,32,
     209     .                iim, jj_nb,nhori,1,1,1,-99,32,
    210210     .                "ave(X)", zcals(n),zout_isccp(n))
    211211c
     
    213213          CALL histdef(nid_isccp, "thin",
    214214     .                "Opt. thin ISCCP-D2 like clouds", "%",
    215      .                iim, jjphy_nb,nhori,lmax3,1,lmax3,nvert3,32,
     215     .                iim, jj_nb,nhori,lmax3,1,lmax3,nvert3,32,
    216216     .                "ave(X)", zcals(n),zout_isccp(n))
    217217c
    218218          CALL histdef(nid_isccp, "mid",
    219219     .                "Opt. intermediate ISCCP-D2 like clouds", "%",
    220      .                iim, jjphy_nb,nhori,lmax3,1,lmax3,nvert3,32,
     220     .                iim, jj_nb,nhori,lmax3,1,lmax3,nvert3,32,
    221221     .                "ave(X)", zcals(n),zout_isccp(n))
    222222c
    223223          CALL histdef(nid_isccp, "thick",
    224224     .                "Opt. thick ISCCP-D2 like clouds", "%",
    225      .                iim, jjphy_nb,nhori,lmax3,1,lmax3,nvert3,32,
     225     .                iim, jj_nb,nhori,lmax3,1,lmax3,nvert3,32,
    226226     .                "ave(X)", zcals(n),zout_isccp(n))
    227227c
     
    236236          CALL histdef(nid_isccp,"boxptop"//verticaxe(n),
    237237     .                "Boxptop axe"//verticaxe(n), "mb",
    238      .                iim, jjphy_nb,nhori,
     238     .                iim, jj_nb,nhori,
    239239     .                ncol(n),1,ncol(n),nvlev(n),32,
    240240cIM  .                ncolmx,1,ncolmx,nvlev,32,
     
    249249          CALL histdef(nid_isccp, "seed"//verticaxe(n),
    250250     .                "seed axe"//verticaxe(n), "-",
    251      .                iim, jjphy_nb,nhori,1,1,1,-99,32,
     251     .                iim, jj_nb,nhori,1,1,1,-99,32,
    252252cIM  .                "inst(X)", dtime,dtime)
    253253     .                "ave(X)", zcals(n),zout_isccp(n))
  • LMDZ4/trunk/libf/phylmd/ini_histREGDYN.h

    r766 r776  
    55      IF (ok_regdyn) THEN
    66     
    7         if (monocpu) then
     7        if (is_sequential) then
    88c
    99cIM      PRINT*, 'La frequence de sortie REGDYN est de ', ecrit_mth
     
    123123         CALL histend(nid_regdyn)
    124124         
    125          endif ! monocpu
     125         endif ! is_sequential
    126126
    127127      endif ! ok_regdyn
  • LMDZ4/trunk/libf/phylmd/ini_histday.h

    r766 r776  
    3636c
    3737         CALL histdef(nid_day, "phis", "Surface geop. height", "m2/s2",
    38      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     38     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    3939     .                "once", zstophy,zout)
    4040c
    4141         CALL histdef(nid_day, "aire", "Grid area", "-",
    42      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     42     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    4343     .                "once", zstophy,zout)
    4444c
    4545         CALL histdef(nid_day, "contfracATM","% sfce ter+lic ","-",
    46      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     46     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    4747     .                "once", zstophy,zout)
    4848c
    4949         CALL histdef(nid_day, "contfracOR","% sfce terre OR", "-",
    50      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     50     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    5151     .                "once", zstophy,zout)
    5252c
     
    5454c
    5555         CALL histdef(nid_day, "tsol", "Surface Temperature", "K",
    56      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     56     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    5757     .                "ave(X)", zstophy,zout)
    5858c
    5959         CALL histdef(nid_day, "t2m", "Temperature 2m", "K",
    60      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     60     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    6161     .                "ave(X)", zstophy,zout)
    6262c
     
    6666         CALL histdef(nid_day, "t2m_min", "Temp. 2m min.",
    6767     .                "K",
    68      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     68     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    6969     .                t2mincels, zstophy,zout)
    7070c
    7171         CALL histdef(nid_day, "t2m_max", "Temp. 2m max.",
    7272     .                "K",
    73      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     73     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    7474     .                t2maxcels, zstophy,zout)
    7575c
    7676         CALL histdef(nid_day, "plul", "Large-scale Precip.",
    7777     .   "kg/(s*m2)",
    78      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     78     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    7979     .                "ave(X)", zstophy,zout)
    8080c
    8181         CALL histdef(nid_day, "pluc", "Convective Precip.",
    8282     .   "kg/(s*m2)",
    83      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     83     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    8484     .                "ave(X)", zstophy,zout)
    8585c
    8686         CALL histdef(nid_day, "snowl", "Solid Large-scale Precip.",
    8787     .   "kg/(m2*s)",
    88      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     88     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    8989     .                "ave(X)", zstophy,zout)
    9090c
     
    9292         CALL histdef(nid_day, "snowc", "Solid Convective Precip.",
    9393     .   "kg/(m2*s)",
    94      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     94     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    9595     .                "ave(X)", zstophy,zout)
    9696         ENDIF !snowc=0.
    9797c
    9898         CALL histdef(nid_day, "flat", "Latent heat flux", "W/m2",
    99      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     99     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    100100     .                "ave(X)", zstophy,zout)
    101101c
    102102         CALL histdef(nid_day, "sicf", "Sea-ice fraction", "-",
    103      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     103     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    104104     .                "inst(X)", zstoday,zout)
    105105c
    106106         CALL histdef(nid_day, "q2m", "Specific humidity", "kg/kg",
    107      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     107     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    108108     .                "ave(X)", zstophy,zout)
    109109c
    110110         CALL histdef(nid_day, "u10m", "Vent zonal 10m", "m/s",
    111      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     111     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    112112     .                "ave(X)", zstophy,zout)
    113113c
    114114         CALL histdef(nid_day, "v10m", "Vent meridien 10m", "m/s",
    115      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     115     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    116116     .                "ave(X)", zstophy,zout)
    117117c
    118118         CALL histdef(nid_day, "wind10m","10-m wind speed","m/s",
    119      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     119     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    120120     .                "ave(X)", zstophy,zout)
    121121c
    122122         CALL histdef(nid_day, "wind10max", "10-m wind speed max.",
    123123     .                "m/s",
    124      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     124     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    125125     .                t2maxcels, zstophy,zout)
    126126c
    127127         CALL histdef(nid_day, "psol", "Surface Pressure", "Pa",
    128      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     128     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    129129     .                "ave(X)", zstophy,zout)
    130130c
    131131         CALL histdef(nid_day, "precip","Precipitation Totale liq+sol"
    132132     .                , "kg/(s*m2)",
    133      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     133     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    134134     .                "ave(X)", zstophy,zout)
    135135c
    136136         CALL histdef(nid_day, "snowf", "Snow fall", "kg/(m2*s)",
    137      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     137     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    138138     .                "ave(X)", zstophy,zout)
    139139c
    140140c        CALL histdef(nid_day, "snow_mass", "Snow Mass", "kg/m2",
    141 c    .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     141c    .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    142142c    .                "ave(X)", zstophy,zout)
    143143c
    144144         CALL histdef(nid_day, "evap", "Evaporation", "kg/(m2*s)",
    145      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     145     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    146146     .                "ave(X)", zstophy,zout)
    147147c
    148148         CALL histdef(nid_day, "tops", "Solar rad. at TOA", "W/m2",
    149      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     149     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    150150     .                "ave(X)", zstophy,zout)
    151151c
    152152         CALL histdef(nid_day, "topl", "IR rad. at TOA", "W/m2",
    153      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     153     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    154154     .                "ave(X)", zstophy,zout)
    155155c
    156156         CALL histdef(nid_day, "sols", "Net Solar rad. at surf.",
    157157     .                "W/m2",
    158      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     158     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    159159     .                "ave(X)", zstophy,zout)
    160160c
    161161         CALL histdef(nid_day, "soll", "Net IR rad. at surface", "W/m2",
    162      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     162     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    163163     .                "ave(X)", zstophy,zout)
    164164c
    165165         CALL histdef(nid_day, "radsol", "Rayonnement au sol", "W/m2",
    166      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     166     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    167167     .                "ave(X)", zstophy,zout)
    168168c
    169169         CALL histdef(nid_day, "cldl", "Low-level cloudiness", "-",
    170      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     170     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    171171     .                "ave(X)", zstophy,zout)
    172172c
    173173         CALL histdef(nid_day, "cldm", "Mid-level cloudiness", "-",
    174      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     174     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    175175     .                "ave(X)", zstophy,zout)
    176176c
    177177         CALL histdef(nid_day, "cldh", "High-level cloudiness", "-",
    178      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     178     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    179179     .                "ave(X)", zstophy,zout)
    180180c
    181181         CALL histdef(nid_day, "cldt", "Total cloudiness", "-",
    182      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     182     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    183183     .                "ave(X)", zstophy,zout)
    184184c
    185185         CALL histdef(nid_day, "cldq", "Cloud liquid water path",
    186186     .                "kg/m2",
    187      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     187     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    188188     .                "ave(X)", zstophy,zout)
    189189c
    190190         CALL histdef(nid_day, "prw", "Precipitable water", "kg/m2",
    191      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     191     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    192192     .                "ave(X)", zstophy,zout)
    193193c
     
    210210          CALL histdef(nid_day, "u"//bb2,
    211211     .                 "Zonal wind "//bb2//"mb","m/s",
    212      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     212     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    213213     .                "inst(X)", zout,zout)
    214214c
    215215          CALL histdef(nid_day, "v"//bb2,
    216216     .                 "Meridional wind "//bb2//"mb","m/s",
    217      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     217     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    218218     .                "inst(X)", zout,zout)
    219219c
     
    224224         CALL histdef(nid_day, "w"//bb2, "Vertical wind "//bb2//"mb",
    225225     .                "m/s",
    226      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     226     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    227227     .                "inst(X)", zout,zout)
    228228c
    229229         CALL histdef(nid_day,"phi"//bb2, "Geopotential "//bb2//"mb",
    230230     .                "m",
    231      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     231     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    232232     .                "inst(X)", zout,zout)
    233233c
     
    237237c
    238238         CALL histdef(nid_day, "slp", "Sea Level Pressure", "Pa",
    239      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     239     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    240240     .                "ave(X)", zstophy,zout)
    241241c
    242242         CALL histdef(nid_day, "cape_max", "CAPE max.",
    243243     .                "J/kg",
    244      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     244     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    245245     .                capemaxcels, zstophy,zout)
    246246c
    247247         CALL histdef(nid_day, "solldown", "Down. IR rad. at surface",
    248      .                "W/m2", iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     248     .                "W/m2", iim,jj_nb,nhori, 1,1,1, -99, 32,
    249249     .                "ave(X)", zstophy,zout)
    250250c
    251251         CALL histdef(nid_day, "sens", "Sensible heat flux", "W/m2",
    252      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     252     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    253253     .                "ave(X)", zstophy,zout)
    254254c
    255255         CALL histdef(nid_day, "SWdnSFC", "SWdn at surface","W/m2",
    256      .                iim,jjphy_nb,nhori, 1,1,1,-99,
     256     .                iim,jj_nb,nhori, 1,1,1,-99,
    257257     .                32, "ave(X)", zstophy,zout)
    258258c
     
    264264          CALL histdef(nid_day, "lmt_bils",
    265265     .         "Bilan au sol atmosphere forcee", "W/m2",
    266      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     266     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    267267     .                "ave(X)", zstophy,zout)
    268268c
     
    271271          CALL histdef(nid_day, "slab_bils",
    272272     .                "Bilan au sol slab", "W/m2",
    273      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     273     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    274274     .                "ave(X)", zstophy,zout)
    275275c
    276276          CALL histdef(nid_day, "tslab", "Slab SST ", "K",
    277      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     277     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    278278     .                "ave(X)", zstophy,zout)
    279279c
    280280          CALL histdef(nid_day, "seaice", "Slab seaice", "kg/m2",
    281      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     281     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    282282     .                "ave(X)", zstophy,zout)
    283283c
    284284          CALL histdef(nid_day, "siceh", "Slab seaice height", "m",
    285      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     285     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    286286     .                "ave(X)", zstophy,zout)
    287287c
     
    290290         CALL histdef(nid_day, "fluxo",
    291291     .                "Flux turbulents ocean-atmosphere", "W/m2",
    292      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     292     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    293293     .                "ave(X)", zstophy,zout)
    294294c
    295295         CALL histdef(nid_day, "fluxg",
    296296     .                "Flux ocean-glace de mer", "W/m2",
    297      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     297     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    298298     .                "ave(X)", zstophy,zout)
    299299c
     
    303303c
    304304         CALL histdef(nid_day, "bils", "Surf. total heat flux", "W/m2",
    305      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     305     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    306306     .                "ave(X)", zstophy,zout)
    307307c
    308308         CALL histdef(nid_day, "fder", "Heat flux derivation", "W/m2/K",
    309      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     309     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    310310     .                "ave(X)", zstophy,zout)
    311311c
     
    321321c
    322322         CALL histdef(nid_day, "temp", "Air temperature", "K",
    323      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     323     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    324324     .                "ave(X)", zstophy,zout)
    325325c
    326326         CALL histdef(nid_day, "ovap", "Specific humidity", "kg/kg",
    327      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     327     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    328328     .                "ave(X)", zstophy,zout)
    329329c
    330330         CALL histdef(nid_day, "geop", "Geopotential height", "m2/s2",
    331      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     331     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    332332     .                "ave(X)", zstophy,zout)
    333333c
    334334         CALL histdef(nid_day, "vitu", "Zonal wind", "m/s",
    335      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     335     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    336336     .                "ave(X)", zstophy,zout)
    337337c
    338338         CALL histdef(nid_day, "vitv", "Meridional wind", "m/s",
    339      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     339     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    340340     .                "ave(X)", zstophy,zout)
    341341c
    342342         CALL histdef(nid_day, "vitw", "Vertical wind", "m/s",
    343      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     343     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    344344     .                "ave(X)", zstophy,zout)
    345345c
    346346         CALL histdef(nid_day, "pres", "Air pressure", "Pa",
    347      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     347     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    348348     .                "ave(X)", zstophy,zout)
    349349c
     
    361361c
    362362         CALL histdef(nid_day, "SWupTOA", "SWup at TOA","W/m2",
    363      .                iim,jjphy_nb,nhori, 1,1,1,-99,
     363     .                iim,jj_nb,nhori, 1,1,1,-99,
    364364     .                32, "ave(X)", zstophy,zout)
    365365c
    366366         CALL histdef(nid_day, "SWupSFC", "SWup at surface","W/m2",
    367      .                iim,jjphy_nb,nhori, 1,1,1,-99,
     367     .                iim,jj_nb,nhori, 1,1,1,-99,
    368368     .                32, "ave(X)", zstophy,zout)
    369369c
    370370         CALL histdef(nid_day, "SWdnTOA", "SWdn at TOA","W/m2",
    371      .                iim,jjphy_nb,nhori, 1,1,1,-99,
     371     .                iim,jj_nb,nhori, 1,1,1,-99,
    372372     .                32, "ave(X)", zstophy,zout)
    373373c
    374374         CALL histdef(nid_day, "SWupTOAclr",
    375375     .                "SWup clear sky at TOA","W/m2",
    376      .                iim,jjphy_nb,nhori, 1,1,1,-99,
     376     .                iim,jj_nb,nhori, 1,1,1,-99,
    377377     .                32, "ave(X)", zstophy,zout)
    378378
    379379         CALL histdef(nid_day, "SWupSFCclr",
    380380     .                "SWup clear sky at surface","W/m2",
    381      .                iim,jjphy_nb,nhori, 1,1,1,-99,
     381     .                iim,jj_nb,nhori, 1,1,1,-99,
    382382     .                32, "ave(X)", zstophy,zout)
    383383
    384384         CALL histdef(nid_day, "SWdnTOAclr",
    385385     .                "SWdn clear sky at TOA","W/m2",
    386      .                iim,jjphy_nb,nhori, 1,1,1,-99,
     386     .                iim,jj_nb,nhori, 1,1,1,-99,
    387387     .                32, "ave(X)", zstophy,zout)
    388388
    389389         CALL histdef(nid_day, "SWdnSFCclr",
    390390     .                "SWdn clear sky at surface","W/m2",
    391      .                iim,jjphy_nb,nhori, 1,1,1,-99,
     391     .                iim,jj_nb,nhori, 1,1,1,-99,
    392392     .                32, "ave(X)", zstophy,zout)
    393393c
     
    395395         CALL histdef(nid_day, "LWdnSFC",
    396396     .                "LW down at surface","W/m2",
    397      .                iim,jjphy_nb,nhori, 1,1,1,-99,
     397     .                iim,jj_nb,nhori, 1,1,1,-99,
    398398     .                32, "ave(X)", zstophy,zout)
    399399c
    400400         CALL histdef(nid_day, "LWupSFC",
    401401     .                "LW down at surface","W/m2",
    402      .                iim,jjphy_nb,nhori, 1,1,1,-99,
     402     .                iim,jj_nb,nhori, 1,1,1,-99,
    403403     .                32, "ave(X)", zstophy,zout)
    404404c
     
    407407c    .                "Cld top pressure","mb",
    408408     .                "Cld top pressure (cf ISCCP simulator)","Pa",
    409      .                iim,jjphy_nb,nhori, 1,1,1,-99,
     409     .                iim,jj_nb,nhori, 1,1,1,-99,
    410410     .                32, "ave(X)", zstophy,zout)
    411411cIM     ENDIF !(iflag_con.GE.3) THEN
     
    418418c
    419419         CALL histdef(nid_day, "tter", "Surface Temperature ter", "K",
    420      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     420     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    421421     .                "ave(X)", zstophy,zout)
    422422c
    423423         CALL histdef(nid_day, "tlic", "Surface Temperature lic", "K",
    424      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     424     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    425425     .                "ave(X)", zstophy,zout)
    426426c
    427427         CALL histdef(nid_day, "toce", "Surface Temperature oce", "K",
    428      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     428     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    429429     .                "ave(X)", zstophy,zout)
    430430c
    431431         CALL histdef(nid_day, "tsic", "Surface Temperature sic", "K",
    432      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     432     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    433433     .                "ave(X)", zstophy,zout)
    434434c
    435435         CALL histdef(nid_day, "t2mter", "Temp.tere 2m", "K",
    436      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     436     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    437437     .                "ave(X)", zstophy,zout)
    438438c
    439439         CALL histdef(nid_day, "t2mlic", "Temp.lic 2m", "K",
    440      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     440     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    441441     .                "ave(X)", zstophy,zout)
    442442c
    443443         CALL histdef(nid_day, "t2moce", "Temp.oce 2m", "K",
    444      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     444     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    445445     .                "ave(X)", zstophy,zout)
    446446c
    447447         CALL histdef(nid_day, "t2msic", "Temp.sic 2m", "K",
    448      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     448     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    449449     .                "ave(X)", zstophy,zout)
    450450c
    451451         CALL histdef(nid_day, "t2mter_min", "Temp.terre 2m min.",
    452452     .                "K",
    453      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     453     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    454454     .                t2mincels, zstophy,zout)
    455455c
    456456         CALL histdef(nid_day, "t2mter_max", "Temp.terre 2m max.",
    457457     .                "K",
    458      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     458     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    459459     .                t2maxcels, zstophy,zout)
    460460c
    461461         CALL histdef(nid_day, "u10mter", "Vent zonal ter 10m", "m/s",
    462      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     462     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    463463     .                "ave(X)", zstophy,zout)
    464464c
    465465         CALL histdef(nid_day, "u10mlic", "Vent zonal lic 10m", "m/s",
    466      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     466     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    467467     .                "ave(X)", zstophy,zout)
    468468c
    469469         CALL histdef(nid_day, "u10moce", "Vent zonal oce 10m", "m/s",
    470      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     470     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    471471     .                "ave(X)", zstophy,zout)
    472472c
    473473         CALL histdef(nid_day, "u10msic", "Vent zonal sic 10m",
    474      .                 "m/s",iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     474     .                 "m/s",iim,jj_nb,nhori, 1,1,1, -99, 32,
    475475     .                "ave(X)", zstophy,zout)
    476476c
    477477         CALL histdef(nid_day, "v10mter", "Vent meridien ter 10m",
    478      .                "m/s", iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     478     .                "m/s", iim,jj_nb,nhori, 1,1,1, -99, 32,
    479479     .                "ave(X)", zstophy,zout)
    480480c
    481481         CALL histdef(nid_day, "v10mlic", "Vent meridien lic 10m",
    482      .                 "m/s",iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     482     .                 "m/s",iim,jj_nb,nhori, 1,1,1, -99, 32,
    483483     .                "ave(X)", zstophy,zout)
    484484c
    485485         CALL histdef(nid_day, "v10moce", "Vent meridien oce 10m",
    486      .                 "m/s",iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     486     .                 "m/s",iim,jj_nb,nhori, 1,1,1, -99, 32,
    487487     .                "ave(X)", zstophy,zout)
    488488c
    489489         CALL histdef(nid_day, "v10msic", "Vent meridien sic 10m",
    490      .                 "m/s",iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     490     .                 "m/s",iim,jj_nb,nhori, 1,1,1, -99, 32,
    491491     .                "ave(X)", zstophy,zout)
    492492c
     
    495495           call histdef(nid_day, "pourc_"//clnsurf(nsrf),
    496496     $         "% "//clnsurf(nsrf), "%", 
    497      $         iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     497     $         iim,jj_nb,nhori, 1,1,1, -99, 32,
    498498     $         "ave(X)", zstophy,zout)
    499499C
    500500           call histdef(nid_day, "fract_"//clnsurf(nsrf),
    501501     $         "Fraction "//clnsurf(nsrf), "1", 
    502      $         iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     502     $         iim,jj_nb,nhori, 1,1,1, -99, 32,
    503503     $         "ave(X)", zstophy,zout)
    504504C
    505505           call histdef(nid_day, "tsol_"//clnsurf(nsrf),
    506506     $         "Temperature "//clnsurf(nsrf), "K", 
    507      $         iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     507     $         iim,jj_nb,nhori, 1,1,1, -99, 32,
    508508     $         "ave(X)", zstophy,zout)
    509509C
    510510           call histdef(nid_day, "sens_"//clnsurf(nsrf),
    511511     $         "Sensible heat flux "//clnsurf(nsrf), "W/m2", 
    512      $         iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     512     $         iim,jj_nb,nhori, 1,1,1, -99, 32,
    513513     $         "ave(X)", zstophy,zout)
    514514c
    515515           call histdef(nid_day, "lat_"//clnsurf(nsrf),
    516516     $         "Latent heat flux "//clnsurf(nsrf), "W/m2", 
    517      $         iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     517     $         iim,jj_nb,nhori, 1,1,1, -99, 32,
    518518     $         "ave(X)", zstophy,zout)
    519519C
    520520           call histdef(nid_day, "taux_"//clnsurf(nsrf),
    521521     $         "Zonal wind stress "//clnsurf(nsrf),"Pa",
    522      $         iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     522     $         iim,jj_nb,nhori, 1,1,1, -99, 32,
    523523     $         "ave(X)", zstophy,zout)
    524524
    525525           call histdef(nid_day, "tauy_"//clnsurf(nsrf),
    526526     $         "Meridional wind stress "//clnsurf(nsrf), "Pa", 
    527      $         iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     527     $         iim,jj_nb,nhori, 1,1,1, -99, 32,
    528528     $         "ave(X)", zstophy,zout)
    529529C
    530530           call histdef(nid_day, "albe_"//clnsurf(nsrf),
    531531     $         "Albedo surf. "//clnsurf(nsrf), "-", 
    532      $         iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     532     $         iim,jj_nb,nhori, 1,1,1, -99, 32,
    533533     $         "ave(X)", zstophy,zout)
    534534C
    535535           call histdef(nid_day, "rugs_"//clnsurf(nsrf),
    536536     $         "Rugosite "//clnsurf(nsrf), "m", 
    537      $         iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     537     $         iim,jj_nb,nhori, 1,1,1, -99, 32,
    538538     $         "ave(X)", zstophy,zout)
    539539C
     
    552552         CALL histdef(nid_day, "tops0", "CS Solar rad. at TOA",
    553553     .                "W/m2",
    554      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     554     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    555555     .                "ave(X)", zstophy,zout)
    556556c
    557557         CALL histdef(nid_day, "topl0", "CS IR rad. at TOA",
    558558     .                "W/m2",
    559      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     559     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    560560     .                "ave(X)", zstophy,zout)
    561561c
    562562         CALL histdef(nid_day, "sols0", "CS Net Solar rad. at surf.",
    563563     .                "W/m2",
    564      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     564     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    565565     .                "ave(X)", zstophy,zout)
    566566c
    567567         CALL histdef(nid_day, "soll0", "CS Net IR rad. at surface",
    568568     .                "W/m2",
    569      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     569     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    570570     .                "ave(X)", zstophy,zout)
    571571c
    572572         CALL histdef(nid_day, "rneb", "Cloud fraction", "-",
    573      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     573     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    574574     .                "ave(X)", zstophy,zout)
    575575c
    576576         CALL histdef(nid_day, "rnebcon", "Convective Cloud Fraction"
    577577     .                , "-",
    578      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     578     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    579579     .                "ave(X)", zstophy,zout)
    580580c
    581581         CALL histdef(nid_day,"lwcon","Cloud liquid water content",
    582582     .                "kg/kg",
    583      .                iim,jjphy_nb,nhori, klev,1,klev, nvert, 32,
     583     .                iim,jj_nb,nhori, klev,1,klev, nvert, 32,
    584584     .                "ave(X)", zstophy,zout)
    585585c
    586586        CALL histdef(nid_day,"iwcon","Cloud ice water content","kg/kg",
    587      .                iim,jjphy_nb,nhori, klev,1,klev, nvert, 32,
     587     .                iim,jj_nb,nhori, klev,1,klev, nvert, 32,
    588588     .                "ave(X)", zstophy,zout)
    589589c
    590590         CALL histdef(nid_day,"lwp","Cloud water path","kg/m2",
    591      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     591     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    592592     .                "ave(X)", zstophy,zout)
    593593c
    594594         CALL histdef(nid_day,"iwp","Cloud ice water path","kg/m2",
    595      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     595     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    596596     .                "ave(X)", zstophy,zout)
    597597c
    598598        CALL histdef(nid_day,"meantaucld",
    599599     .                "ISCCP mean cloud optical thickness","1",
    600      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     600     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    601601     .                "ave(X)", zstophy,zout)
    602602c
    603603        CALL histdef(nid_day,"cldtau","Cloud optical thickness","1",
    604      .                iim,jjphy_nb,nhori, klev,1,klev, nvert, 32,
     604     .                iim,jj_nb,nhori, klev,1,klev, nvert, 32,
    605605     .                "ave(X)", zstophy,zout)
    606606c
    607607        CALL histdef(nid_day,"cldemi","Cloud optical emissivity","1",
    608      .                iim,jjphy_nb,nhori, klev,1,klev, nvert, 32,
     608     .                iim,jj_nb,nhori, klev,1,klev, nvert, 32,
    609609     .                "ave(X)", zstophy,zout)
    610610c
     
    612612c
    613613         CALL histdef(nid_day, "dtcon", "Convection dT", "K/s",
    614      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     614     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    615615     .                "ave(X)", zstophy,zout)
    616616c
    617617         CALL histdef(nid_day, "dqcon", "Convection dQ", "(kg/kg)/s",
    618      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     618     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    619619     .                "ave(X)", zstophy,zout)
    620620c
    621621         CALL histdef(nid_day, "rh2m", "Relative humidity at 2m", "%",
    622      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     622     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    623623     .                "ave(X)", zstophy,zout)
    624624c
    625625         CALL histdef(nid_day, "qsat2m", "Saturant humidity at 2m", "%",
    626      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     626     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    627627     .                "ave(X)", zstophy,zout)
    628628c
    629629         CALL histdef(nid_day, "tpot",
    630630     .                "Surface air potential temperature", "K",
    631      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     631     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    632632     .                "ave(X)", zstophy,zout)
    633633c
    634634         CALL histdef(nid_day, "tpote",
    635635     .        "Surface air equivalent potential temperature", "K",
    636      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     636     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    637637     .                "ave(X)", zstophy,zout)
    638638c
  • LMDZ4/trunk/libf/phylmd/ini_histday_seri.h

    r766 r776  
    33c
    44cym Ne fonctionnera pas en mode parallele
    5       IF (monocpu) THEN
     5      IF (is_sequential) THEN
    66     
    77      IF (type_run.EQ."AMIP") THEN
     
    129129      ENDIF ! fin de test sur type_run.EQ.AMIP
    130130     
    131       ENDIF ! monocpu
     131      ENDIF ! is_sequential
  • LMDZ4/trunk/libf/phylmd/ini_histhf.h

    r766 r776  
    4040c
    4141         CALL histdef(nid_hf, "aireTER","Grid area CONT","-",
    42      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     42     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    4343     .                "once", zstohf,zout)
    4444c
    4545         CALL histdef(nid_hf, "contfracATM","% sfce ter+lic ","-",
    46      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     46     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    4747     .                "once", zstohf,zout)
    4848c
    4949         CALL histdef(nid_hf, "contfracOR","% sfce terre OR", "-",
    50      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     50     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    5151     .                "once", zstohf,zout)
    5252c
     
    5454c
    5555         CALL histdef(nid_hf, "t2m", "Temperature 2m", "K",
    56      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     56     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    5757     .                "inst(X)", zstohf,zout)
    5858c
    5959         CALL histdef(nid_hf, "q2m", "Specific humidity", "kg/kg",
    60      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     60     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    6161     .                "inst(X)", zstohf,zout)
    6262c
    6363         CALL histdef(nid_hf, "psol", "Surface Pressure", "Pa",
    64      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     64     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    6565     .                "inst(X)", zstohf,zout)
    6666c
    6767         CALL histdef(nid_hf, "precip", "Precipitation", "kg/(s*m2)",
    68      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     68     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    6969     .                "ave(X)", zstophy,zout)
    7070c
    7171cIM ENSEMBLES BEG
    7272         CALL histdef(nid_hf, "tsol", "Surface Temperature", "K",
    73      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     73     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    7474     .                "inst(X)", zstohf,zout)
    7575c
    7676         CALL histdef(nid_hf, "slp", "Sea Level Pressure", "Pa",
    77      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     77     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    7878     .                "inst(X)", zstohf,zout)
    7979c
    8080         CALL histdef(nid_hf, "u10m", "Vent zonal 10m", "m/s",
    81      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     81     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    8282     .                "inst(X)", zstohf,zout)
    8383c
    8484         CALL histdef(nid_hf, "v10m", "Vent meridien 10m", "m/s",
    85      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     85     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    8686     .                "inst(X)", zstohf,zout)
    8787c
    8888         CALL histdef(nid_hf, "wind10m","10-m wind speed","m/s",
    89      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     89     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    9090     .                "inst(X)", zstohf,zout)
    9191c
     
    105105          CALL histdef(nid_hf, "phi"//bb2,
    106106     .                "Geopotential "//bb2//"mb", "m",
    107      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     107     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    108108     .                "inst(X)", zstohf,zout)
    109109          ENDIF !bb2.EQ."500"
     
    115115c
    116116         CALL histdef(nid_hf, "cldt", "Total cloudiness", "%",
    117      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     117     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    118118     .                "ave(X)", zstophy,zout)
    119119c
    120120         CALL histdef(nid_hf, "SWnetOR",
    121121     .                "Sfce net SW radiation OR", "W/m2",
    122      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     122     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    123123     .                "ave(X)", zstophy,zout)
    124124c
    125125         CALL histdef(nid_hf, "SWdownOR",
    126126     .                "Sfce incident SW radiation OR", "W/m2",
    127      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     127     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    128128     .                "ave(X)", zstophy,zout)
    129129c
    130130         CALL histdef(nid_hf, "LWdownOR",
    131131     .                "Sfce incident LW radiation OR", "W/m2",
    132      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     132     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    133133     .                "ave(X)", zstophy,zout)
    134134      ENDIF !lev_histhf.GE.2
     
    154154          CALL histdef(nid_hf, "t"//bb2,
    155155     .                 "Temperature "//bb2//"mb","K",
    156      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     156     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    157157     .                "inst(X)", zstohf,zout)
    158158c
     
    160160          CALL histdef(nid_hf, "phi"//bb2,
    161161     .                "Geopotential "//bb2//"mb", "m",
    162      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     162     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    163163     .                "inst(X)", zstohf,zout)
    164164          ENDIF
     
    166166          CALL histdef(nid_hf, "q"//bb2,
    167167     .                 "Specific humidity "//bb2//"mb","kg/kg",
    168      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     168     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    169169     .                "inst(X)", zstohf,zout)
    170170c
    171171          CALL histdef(nid_hf, "u"//bb2,
    172172     .                 "Zonal wind "//bb2//"mb","m/s",
    173      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     173     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    174174     .                "inst(X)", zstohf,zout)
    175175c
    176176          CALL histdef(nid_hf, "v"//bb2,
    177177     .                 "Meridional wind "//bb2//"mb","m/s",
    178      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     178     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    179179     .                "inst(X)", zstohf,zout)
    180180c
     
    216216          CALL histdef(nid_hf, "u"//bb2,
    217217     .                 "Zonal wind "//bb2//"mb","m/s",
    218      .         iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     218     .         iim,jj_nb,nhori, 1,1,1, -99, 32,
    219219     .         "inst(X)", zstohf,zstohf)
    220220c
    221221          CALL histdef(nid_hf, "v"//bb2,
    222222     .                 "Meridional wind "//bb2//"mb","m/s",
    223      .         iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     223     .         iim,jj_nb,nhori, 1,1,1, -99, 32,
    224224     .         "inst(X)", zstohf,zstohf)
    225225c
     
    229229        CALL histdef(nid_hf, "topl",
    230230     .       "Outgoing longwave radiation", "W/m2",
    231      .       iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     231     .       iim,jj_nb,nhori, 1,1,1, -99, 32,
    232232     .       "ave(X)", zstophy,zout)
    233233c
    234234        CALL histdef(nid_hf, "precip","Total precipitation rate",
    235      .       "kg/(s*m2)",iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     235     .       "kg/(s*m2)",iim,jj_nb,nhori, 1,1,1, -99, 32,
    236236     .       "ave(X)", zstophy,zout)
    237237c
    238238        CALL histdef(nid_hf, "slp",
    239239     .       "Mean sea-level pressure", "Pa",
    240      .       iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     240     .       iim,jj_nb,nhori, 1,1,1, -99, 32,
    241241     .       "inst(X)", zstohf,zout)
    242242c
     
    261261          CALL histdef(nid_hf, "t"//bb2,
    262262     .                 "Temperature "//bb2//"mb","K",
    263      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     263     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    264264     .                "inst(X)", zstohf,zstohf)
    265265c
    266266          CALL histdef(nid_hf, "q"//bb2,
    267267     .                 "Specific humidity "//bb2//"mb","kg/kg",
    268      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     268     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    269269     .                "inst(X)", zstohf,zstohf)
    270270c
     
    275275          CALL histdef(nid_hf, "phi"//bb2,
    276276     .                "Geopotential "//bb2//"mb", "m",
    277      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     277     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    278278     .                "inst(X)", zstohf,zstohf)
    279279c
    280280          CALL histdef(nid_hf, "w"//bb2,
    281281     .                 "Vertical motion "//bb2//"mb","Pa/s",
    282      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     282     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    283283     .                "inst(X)", zstohf,zstohf)
    284284         ENDIF !bb2.EQ."500"
     
    288288          CALL histdef(nid_hf, "t"//bb3,
    289289     .                 "Temperature "//bb3//"mb","K",
    290      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     290     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    291291     .                "inst(X)", zstohf,zstohf)
    292292c
    293293          CALL histdef(nid_hf, "u"//bb3,
    294294     .                 "Zonal wind "//bb3//"mb","m/s",
    295      .         iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     295     .         iim,jj_nb,nhori, 1,1,1, -99, 32,
    296296     .         "inst(X)", zstohf,zstohf)
    297297c
    298298          CALL histdef(nid_hf, "v"//bb3,
    299299     .                 "Meridional wind "//bb3//"mb","m/s",
    300      .         iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     300     .         iim,jj_nb,nhori, 1,1,1, -99, 32,
    301301     .         "inst(X)", zstohf,zstohf)
    302302c
     
    306306c
    307307        CALL histdef(nid_hf, "u10m", "Vent zonal 10m", "m/s",
    308      .               iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     308     .               iim,jj_nb,nhori, 1,1,1, -99, 32,
    309309     .               "inst(X)", zstohf,zout)
    310310c
    311311        CALL histdef(nid_hf, "v10m", "Vent meridien 10m", "m/s",
    312      .               iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     312     .               iim,jj_nb,nhori, 1,1,1, -99, 32,
    313313     .               "inst(X)", zstohf,zout)
    314314c
    315315        CALL histdef(nid_hf, "t2m", "Temperature 2m", "K",
    316      .               iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     316     .               iim,jj_nb,nhori, 1,1,1, -99, 32,
    317317     .               "inst(X)", zstohf,zout)
    318318c
    319319        CALL histdef(nid_hf, "q2m", "Specific humidity", "kg/kg",
    320      .               iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     320     .               iim,jj_nb,nhori, 1,1,1, -99, 32,
    321321     .               "inst(X)", zstohf,zout)
    322322c
    323323        CALL histdef(nid_hf, "psol", "Surface Pressure", "Pa",
    324      .               iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     324     .               iim,jj_nb,nhori, 1,1,1, -99, 32,
    325325     .               "inst(X)", zstohf,zout)
    326326c
    327327        CALL histdef(nid_hf, "cldt", "Total cloudiness", "%",
    328      .               iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     328     .               iim,jj_nb,nhori, 1,1,1, -99, 32,
    329329     .               "ave(X)", zstohf,zout)
    330330c
    331331        CALL histdef(nid_hf, "taux",
    332332     $         "Zonal wind stress","Pa",
    333      $         iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     333     $         iim,jj_nb,nhori, 1,1,1, -99, 32,
    334334     $         "ave(X)", zstohf,zout)
    335335c
    336336        CALL histdef(nid_hf, "tauy",
    337337     $         "Meridional wind stress ", "Pa",
    338      $         iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     338     $         iim,jj_nb,nhori, 1,1,1, -99, 32,
    339339     $         "ave(X)", zstohf,zout)
    340340c
    341341        CALL histdef(nid_hf, "prw", "Precipitable water", "kg/m2",
    342      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     342     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    343343cIM 090904  .                "ave(X)", zstohf,zout)
    344344     .                "ave(X)", zstophy,zout)
    345345c
    346346        CALL histdef(nid_hf, "sens", "Sensible heat flux", "W/m2",
    347      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     347     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    348348cIM 090904  .                "ave(X)", zstohf,zout)
    349349     .                "ave(X)", zstophy,zout)
    350350c
    351351        CALL histdef(nid_hf, "flat", "Latent heat flux", "W/m2",
    352      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     352     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    353353     .                "ave(X)", zstohf,zout)
    354354c
    355355c       CALL histdef(nid_hf, "snow_mass", "Snow Mass", "kg/m2",
    356 c    .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     356c    .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    357357c    .                "ave(X)", zstohf,zout)
    358358c
    359359        CALL histdef(nid_hf, "SWdnSFC", "SWdn at surface","W/m2",
    360      .                iim,jjphy_nb,nhori, 1,1,1,-99,
     360     .                iim,jj_nb,nhori, 1,1,1,-99,
    361361     .                32, "ave(X)", zstohf,zout)
    362362c
    363363        CALL histdef(nid_hf, "SWupSFC", "SWup at surface","W/m2",
    364      .                iim,jjphy_nb,nhori, 1,1,1,-99,
     364     .                iim,jj_nb,nhori, 1,1,1,-99,
    365365     .                32, "ave(X)", zstohf,zout)
    366366c
    367367        CALL histdef(nid_hf,"LWdnSFC","Down. IR rad. at surface",
    368      .                "W/m2", iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     368     .                "W/m2", iim,jj_nb,nhori, 1,1,1, -99, 32,
    369369     .                "ave(X)", zstohf,zout)
    370370c
    371371        CALL histdef(nid_hf,"LWupSFC","Upwd. IR rad. at surface",
    372      .                "W/m2", iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     372     .                "W/m2", iim,jj_nb,nhori, 1,1,1, -99, 32,
    373373     .                "ave(X)", zstohf,zout)
    374374c
    375375        CALL histdef(nid_hf, "SWdnTOA", "SWdn at TOA","W/m2",
    376      .                iim,jjphy_nb,nhori, 1,1,1,-99,
     376     .                iim,jj_nb,nhori, 1,1,1,-99,
    377377     .                32, "ave(X)", zstohf,zout)
    378378c
    379379        CALL histdef(nid_hf, "SWupTOA", "SWup at TOA","W/m2",
    380      .                iim,jjphy_nb,nhori, 1,1,1,-99,
     380     .                iim,jj_nb,nhori, 1,1,1,-99,
    381381     .                32, "ave(X)", zstohf,zout)
    382382c
     
    384384         CALL histdef(nid_hf, "PV"//ctetaSTD(k),
    385385     $               "Vorticite potentielle "//ctetaSTD(k)//"K",
    386      $               "1/(Pa*s)",iim,jjphy_nb,nhori, 1,1,1, -99,
     386     $               "1/(Pa*s)",iim,jj_nb,nhori, 1,1,1, -99,
    387387     $                 32, "inst(X)", zstohf,zout)
    388388        ENDDO !k=1, nbteta
  • LMDZ4/trunk/libf/phylmd/ini_histhf3d.h

    r767 r776  
    3333c
    3434        CALL histdef(nid_hf3d, "temp", "Air temperature", "K",
    35      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
    36      .                "inst(X)", zstohf,zout)
     35     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
     36     .                "ave(X)", zstohf,zout)
    3737c
    3838        CALL histdef(nid_hf3d, "ovap", "Specific humidity", "kg/kg",
    39      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
    40      .                "inst(X)", zstohf,zout)
     39     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
     40     .                "ave(X)", zstohf,zout)
    4141c
    4242        CALL histdef(nid_hf3d, "vitu", "Zonal wind", "m/s",
    43      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
    44      .                "inst(X)", zstohf,zout)
     43     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
     44     .                "ave(X)", zstohf,zout)
    4545c
    4646        CALL histdef(nid_hf3d, "vitv", "Meridional wind", "m/s",
    47      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
    48      .                "inst(X)", zstohf,zout)
     47     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
     48     .                "ave(X)", zstohf,zout)
    4949c
    5050        CALL histend(nid_hf3d)
  • LMDZ4/trunk/libf/phylmd/ini_histins.h

    r766 r776  
    3434c
    3535         CALL histdef(nid_ins, "phis", "Surface geop. height", "-",
    36      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     36     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    3737     .                "once", zsto,zout)
    3838c
    3939         CALL histdef(nid_ins, "aire", "Grid area", "-",
    40      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     40     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    4141     .                "once", zsto,zout)
    4242c
     
    4444c
    4545        CALL histdef(nid_ins, "tsol", "Surface Temperature", "K",
    46      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     46     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    4747     .                "inst(X)", zsto,zout)
    4848c
    4949         CALL histdef(nid_ins, "t2m", "Temperature 2m", "K",
    50      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     50     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    5151     .                "inst(X)", zsto,zout)
    5252c
    5353         CALL histdef(nid_ins, "q2m", "Specific humidity 2m", "Kg/Kg",
    54      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     54     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    5555     .                "inst(X)", zsto,zout)
    5656c
    5757         CALL histdef(nid_ins, "u10m", "Vent zonal 10m", "m/s",
    58      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     58     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    5959     .                "inst(X)", zsto,zout)
    6060c
    6161         CALL histdef(nid_ins, "v10m", "Vent meridien 10m", "m/s",
    62      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     62     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    6363     .                "inst(X)", zsto,zout)
    6464c
    6565        CALL histdef(nid_ins, "psol", "Surface Pressure", "Pa",
    66      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     66     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    6767     .                "inst(X)", zsto,zout)
    6868c
    6969         CALL histdef(nid_ins, "plul", "Large-scale Precip.", "mm/day",
    70      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     70     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    7171     .                "inst(X)", zsto,zout)
    7272c
    7373         CALL histdef(nid_ins, "pluc", "Convective Precip.", "mm/day",
    74      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     74     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    7575     .                "inst(X)", zsto,zout)
    7676c
    7777         CALL histdef(nid_ins, "cdrm", "Momentum drag coef.", "-",
    78      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     78     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    7979     .                "inst(X)", zsto,zout)
    8080c
    8181         CALL histdef(nid_ins, "cdrh", "Heat drag coef.", "-",
    82      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     82     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    8383     .                "inst(X)", zsto,zout)
    8484c
    8585         CALL histdef(nid_ins, "precip", "Precipitation Totale liq+sol",
    8686     .                "kg/(s*m2)",
    87      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     87     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    8888     .                "inst(X)", zsto,zout)
    8989c
    9090         CALL histdef(nid_ins, "snow", "Snow fall", "kg/(s*m2)",
    91      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     91     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    9292     .                "inst(X)", zsto,zout)
    9393c
     
    9797c
    9898         CALL histdef(nid_ins, "topl", "OLR", "W/m2",
    99      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     99     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    100100     .                "inst(X)", zsto,zout)
    101101c
    102102         CALL histdef(nid_ins, "evap", "Evaporation", "kg/(s*m2)",
    103      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     103     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    104104     .                "inst(X)", zsto,zout)
    105105c
    106106         CALL histdef(nid_ins, "sols", "Solar rad. at surf.", "W/m2",
    107      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     107     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    108108     .                "inst(X)", zsto,zout)
    109109c
    110110         CALL histdef(nid_ins, "soll", "IR rad. at surface", "W/m2",
    111      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     111     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    112112     .                "inst(X)", zsto,zout)
    113113c
    114114         CALL histdef(nid_ins, "solldown", "Down. IR rad. at surface",
    115      .                "W/m2", iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     115     .                "W/m2", iim,jj_nb,nhori, 1,1,1, -99, 32,
    116116     .                "inst(X)", zsto,zout)
    117117c
    118118         CALL histdef(nid_ins, "bils", "Surf. total heat flux", "W/m2",
    119      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     119     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    120120     .                "inst(X)", zsto,zout)
    121121c
    122122         CALL histdef(nid_ins, "sens", "Sensible heat flux", "W/m2",
    123      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     123     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    124124     .                "inst(X)", zsto,zout)
    125125c
    126126         CALL histdef(nid_ins, "fder", "Heat flux derivation", "W/m2",
    127      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     127     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    128128     .                "inst(X)", zsto,zout)
    129129c
    130130      CALL histdef(nid_ins, "dtsvdfo", "Boundary-layer dTs(o)", "K/s",
    131      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     131     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    132132     .                "inst(X)", zsto,zout)
    133133c
    134134      CALL histdef(nid_ins, "dtsvdft", "Boundary-layer dTs(t)", "K/s",
    135      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     135     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    136136     .                "inst(X)", zsto,zout)
    137137c
    138138      CALL histdef(nid_ins, "dtsvdfg", "Boundary-layer dTs(g)", "K/s",
    139      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     139     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    140140     .                "inst(X)", zsto,zout)
    141141c
    142142      CALL histdef(nid_ins, "dtsvdfi", "Boundary-layer dTs(g)", "K/s",
    143      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     143     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    144144     .                "inst(X)", zsto,zout)
    145145
     
    148148           call histdef(nid_ins, "pourc_"//clnsurf(nsrf),
    149149     $         "% "//clnsurf(nsrf), "%", 
    150      $         iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     150     $         iim,jj_nb,nhori, 1,1,1, -99, 32,
    151151     $         "inst(X)", zsto,zout)
    152152
    153153           call histdef(nid_ins, "fract_"//clnsurf(nsrf),
    154154     $         "Fraction "//clnsurf(nsrf), "1", 
    155      $         iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     155     $         iim,jj_nb,nhori, 1,1,1, -99, 32,
    156156     $         "inst(X)", zsto,zout)
    157157
    158158           call histdef(nid_ins, "sens_"//clnsurf(nsrf),
    159159     $         "Sensible heat flux "//clnsurf(nsrf), "W/m2", 
    160      $         iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     160     $         iim,jj_nb,nhori, 1,1,1, -99, 32,
    161161     $         "inst(X)", zsto,zout)
    162162c
    163163           call histdef(nid_ins, "tsol_"//clnsurf(nsrf),
    164164     $         "Surface Temperature"//clnsurf(nsrf), "W/m2", 
    165      $         iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     165     $         iim,jj_nb,nhori, 1,1,1, -99, 32,
    166166     $         "inst(X)", zsto,zout)
    167167c
    168168           call histdef(nid_ins, "lat_"//clnsurf(nsrf),
    169169     $         "Latent heat flux "//clnsurf(nsrf), "W/m2", 
    170      $         iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     170     $         iim,jj_nb,nhori, 1,1,1, -99, 32,
    171171     $         "inst(X)", zsto,zout)
    172172C
    173173           call histdef(nid_ins, "taux_"//clnsurf(nsrf),
    174174     $         "Zonal wind stress"//clnsurf(nsrf),"Pa",
    175      $         iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     175     $         iim,jj_nb,nhori, 1,1,1, -99, 32,
    176176     $         "inst(X)", zsto,zout)
    177177
    178178           call histdef(nid_ins, "tauy_"//clnsurf(nsrf),
    179179     $         "Meridional xind stress "//clnsurf(nsrf), "Pa", 
    180      $         iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     180     $         iim,jj_nb,nhori, 1,1,1, -99, 32,
    181181     $         "inst(X)", zsto,zout)
    182182c
    183183           call histdef(nid_ins, "albe_"//clnsurf(nsrf),
    184184     $         "Albedo "//clnsurf(nsrf), "-", 
    185      $         iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     185     $         iim,jj_nb,nhori, 1,1,1, -99, 32,
    186186     $         "inst(X)", zsto,zout)
    187187c
    188188           call histdef(nid_ins, "rugs_"//clnsurf(nsrf),
    189189     $         "rugosite "//clnsurf(nsrf), "-", 
    190      $         iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     190     $         iim,jj_nb,nhori, 1,1,1, -99, 32,
    191191     $         "inst(X)", zsto,zout)
    192192CXXX
    193193         END DO
    194194         CALL histdef(nid_ins, "rugs", "rugosity", "-",
    195      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     195     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    196196     .                "inst(X)", zsto,zout)
    197197
    198198c
    199199         CALL histdef(nid_ins, "albs", "Surface albedo", "-",
    200      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     200     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    201201     .                "inst(X)", zsto,zout)
    202202         CALL histdef(nid_ins, "albslw", "Surface albedo LW", "-",
    203      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     203     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    204204     .                "inst(X)", zsto,zout)
    205205c
     
    208208c HBTM2
    209209         CALL histdef(nid_ins, "s_pblh", "Boundary Layer Height", "m",
    210      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     210     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    211211     .                "inst(X)", zsto,zout)
    212212c
    213213         CALL histdef(nid_ins, "s_pblt", "T at Boundary Layer Height",
    214214     .                "K",
    215      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     215     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    216216     .                "inst(X)", zsto,zout)
    217217c
    218218         CALL histdef(nid_ins, "s_lcl", "Condensation level", "m",
    219      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     219     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    220220     .                "inst(X)", zsto,zout)
    221221c
    222222         CALL histdef(nid_ins, "s_capCL", "Conv avlbl pot ener for
    223223     .                ABL", "J/m2",
    224      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     224     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    225225     .                "inst(X)", zsto,zout)
    226226c
    227227         CALL histdef(nid_ins, "s_oliqCL", "Liq Water in BL", "kg/m2",
    228      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     228     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    229229     .                "inst(X)", zsto,zout)
    230230c
    231231         CALL histdef(nid_ins, "s_cteiCL", "Instability criteria
    232232     .                (ABL)", "K",
    233      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     233     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    234234     .                "inst(X)", zsto,zout)
    235235c
    236236         CALL histdef(nid_ins, "s_therm", "Exces du thermique", "K",
    237      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     237     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    238238     .                "inst(X)", zsto,zout)
    239239c
    240240         CALL histdef(nid_ins, "s_trmb1", "deep_cape(HBTM2)", "J/m2",
    241      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     241     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    242242     .                "inst(X)", zsto,zout)
    243243c
    244244         CALL histdef(nid_ins, "s_trmb2", "inhibition (HBTM2)", "J/m2",
    245      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     245     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    246246     .                "inst(X)", zsto,zout)
    247247c
    248248         CALL histdef(nid_ins, "s_trmb3", "Point Omega (HBTM2)", "m",
    249      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     249     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    250250     .                "inst(X)", zsto,zout)
    251251c
     
    255255c
    256256         CALL histdef(nid_ins, "temp", "Temperature", "K",
    257      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     257     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    258258     .                "inst(X)", zsto,zout)
    259259c
    260260         CALL histdef(nid_ins, "vitu", "Zonal wind", "m/s",
    261      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     261     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    262262     .                "inst(X)", zsto,zout)
    263263c
    264264         CALL histdef(nid_ins, "vitv", "Merid wind", "m/s",
    265      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     265     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    266266     .                "inst(X)", zsto,zout)
    267267c
    268268         CALL histdef(nid_ins, "geop", "Geopotential height", "m",
    269      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     269     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    270270     .                "inst(X)", zsto,zout)
    271271c
    272272         CALL histdef(nid_ins, "pres", "Air pressure", "Pa",
    273      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     273     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    274274     .                "inst(X)", zsto,zout)
    275275c
    276276         CALL histdef(nid_ins, "dtvdf", "Boundary-layer dT", "K/s",
    277      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     277     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    278278     .                "inst(X)", zsto,zout)
    279279c
    280280         CALL histdef(nid_ins, "dqvdf", "Boundary-layer dQ", "Kg/Kg/s",
    281      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     281     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    282282     .                "inst(X)", zsto,zout)
    283283c
  • LMDZ4/trunk/libf/phylmd/ini_histmth.h

    r766 r776  
    4040         CALL histdef(nid_mth, "phis",
    4141     .                "Surface geop. height", "m2/s2",
    42      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     42     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    4343     .                "once",  zstophy,zout)
    4444c
    4545         CALL histdef(nid_mth, "aire", "Grid area", "-",
    46      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     46     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    4747     .                "once",  zstophy,zout)
    4848c
    4949         CALL histdef(nid_mth, "pourc_"//clnsurf(is_ter),
    5050     .         "% "//clnsurf(is_ter), "%", 
    51      .         iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     51     .         iim,jj_nb,nhori, 1,1,1, -99, 32,
    5252     .         "once", zstophy,zout)
    5353c
    5454         CALL histdef(nid_mth, "fract_"//clnsurf(is_ter),
    5555     .         "Fraction "//clnsurf(is_ter), "1", 
    56      .         iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     56     .         iim,jj_nb,nhori, 1,1,1, -99, 32,
    5757     .         "once", zstophy,zout)
    5858c
     
    6060c
    6161         CALL histdef(nid_mth, "slp", "Sea Level Pressure", "Pa",
    62      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     62     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    6363     .                "ave(X)", zstophy,zout)
    6464c
    6565         CALL histdef(nid_mth, "tsol", "Surface Temperature", "K",
    66      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     66     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    6767     .                "ave(X)", zstophy,zout)
    6868c
    6969         CALL histdef(nid_mth, "t2m", "Temperature 2m", "K",
    70      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     70     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    7171     .                "ave(X)", zstophy,zout)
    7272c
     
    7474         CALL histdef(nid_mth, "t2m_min", "Temp. 2m min.",
    7575     .                "K",
    76      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     76     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    7777     .                t2mincels, zstophy,zout)
    7878c
    7979         CALL histdef(nid_mth, "t2m_max", "Temp. 2m max.",
    8080     .                "K",
    81      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     81     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    8282     .                t2maxcels, zstophy,zout)
    8383c
    8484c        CALL histdef(nid_mth, "tsoil", "Sfce soil Temperature",
    8585c    .                "K",
    86 c    .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     86c    .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    8787c    .                "ave(X)", zstophy,zout)
    8888c
    8989         CALL histdef(nid_mth, "wind10m","10-m wind speed","m/s",
    90      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     90     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    9191     .                "ave(X)", zstophy,zout)
    9292c
    9393         CALL histdef(nid_mth, "sicf", "Sea-ice fraction", "-",
    94      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     94     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    9595     .                "ave(X)", zstophy,zout)
    9696c
    9797c ENSEMBLES END
    9898         CALL histdef(nid_mth, "q2m", "Specific humidity 2m", "kg/kg",
    99      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     99     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    100100     .                "ave(X)", zstophy,zout)
    101101c
    102102         CALL histdef(nid_mth, "u10m", "Vent zonal 10m", "m/s",
    103      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     103     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    104104     .                "ave(X)", zstophy,zout)
    105105c
    106106         CALL histdef(nid_mth, "v10m", "Vent meridien 10m", "m/s",
    107      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     107     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    108108     .                "ave(X)", zstophy,zout)
    109109c
    110110         CALL histdef(nid_mth, "psol", "Surface Pressure", "Pa",
    111      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     111     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    112112     .                "ave(X)", zstophy,zout)
    113113c
    114114         CALL histdef(nid_mth, "qsurf", "Surface Air humidity", "kg/kg",
    115      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     115     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    116116     .                "ave(X)", zstophy,zout)
    117117c
    118118      if (.not. ok_veget) then
    119119         CALL histdef(nid_mth, "qsol", "Soil watter content", "mm",
    120      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     120     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    121121     .                "ave(X)", zstophy,zout)
    122122      endif
     
    124124         CALL histdef(nid_mth, "ndayrain",
    125125     .                "Number of day with rain (liq+sol)", "-",
    126      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     126     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    127127     .                "inst(X)", zstomth,zout)
    128128c
    129129         CALL histdef(nid_mth, "precip", "Precipitation Totale liq+sol",
    130130     .                "kg/(s*m2)",
    131      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     131     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    132132     .                "ave(X)", zstophy,zout)
    133133c
    134134         CALL histdef(nid_mth, "plul", "Large-scale Precip.",
    135135     .   "kg/(s*m2)",
    136      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     136     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    137137     .                "ave(X)", zstophy,zout)
    138138c
    139139         CALL histdef(nid_mth, "pluc", "Convective Precip.",
    140140     .   "kg/(s*m2)",
    141      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     141     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    142142     .                "ave(X)", zstophy,zout)
    143143c
    144144         CALL histdef(nid_mth, "snow", "Snow fall", "kg/(s*m2)",
    145      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     145     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    146146     .                "ave(X)", zstophy,zout)
    147147c
    148148c        CALL histdef(nid_mth, "snow_mass", "Snow Mass", "kg/m2",
    149 c    .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     149c    .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    150150c    .                "ave(X)", zstophy,zout)
    151151c
    152152         CALL histdef(nid_mth, "evap", "Evaporation", "kg/(s*m2)",
    153      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     153     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    154154     .                "ave(X)", zstophy,zout)
    155155c
    156156         CALL histdef(nid_mth, "tops", "Solar rad. at TOA", "W/m2",
    157      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     157     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    158158     .                "ave(X)", zstophy,zout)
    159159c
    160160         CALL histdef(nid_mth, "tops0", "CS Solar rad. at TOA", "W/m2",
    161      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     161     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    162162     .                "ave(X)", zstophy,zout)
    163163c
    164164         CALL histdef(nid_mth, "topl", "IR rad. at TOA", "W/m2",
    165      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     165     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    166166     .                "ave(X)", zstophy,zout)
    167167c
    168168         CALL histdef(nid_mth, "topl0", "IR rad. at TOA", "W/m2",
    169      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     169     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    170170     .                "ave(X)", zstophy,zout)
    171171c
    172172         CALL histdef(nid_mth, "SWupTOA", "SWup at TOA","W/m2",
    173      .                iim,jjphy_nb,nhori, 1,1,1,-99,
     173     .                iim,jj_nb,nhori, 1,1,1,-99,
    174174     .                32, "ave(X)", zstophy,zout)
    175175c
    176176         CALL histdef(nid_mth, "SWupTOAclr",
    177177     .                "SWup clear sky at TOA","W/m2",
    178      .                iim,jjphy_nb,nhori, 1,1,1,-99,
     178     .                iim,jj_nb,nhori, 1,1,1,-99,
    179179     .                32, "ave(X)", zstophy,zout)
    180180c
    181181         CALL histdef(nid_mth, "SWdnTOA", "SWdn at TOA","W/m2",
    182      .                iim,jjphy_nb,nhori, 1,1,1,-99,
     182     .                iim,jj_nb,nhori, 1,1,1,-99,
    183183     .                32, "ave(X)", zstophy,zout)
    184184c
    185185         CALL histdef(nid_mth, "SWdnTOAclr",
    186186     .                "SWdn clear sky at TOA","W/m2",
    187      .                iim,jjphy_nb,nhori, 1,1,1,-99,
     187     .                iim,jj_nb,nhori, 1,1,1,-99,
    188188     .                32, "ave(X)", zstophy,zout)
    189189c
    190190         CALL histdef(nid_mth, "SWup200", "SWup at 200mb","W/m2",
    191      .                iim,jjphy_nb,nhori, 1,1,1,-99,
     191     .                iim,jj_nb,nhori, 1,1,1,-99,
    192192     .                32, "ave(X)", zstophy,zout)
    193193c
    194194         CALL histdef(nid_mth, "SWup200clr",
    195195     .                "SWup clear sky at 200mb","W/m2",
    196      .                iim,jjphy_nb,nhori, 1,1,1,-99,
     196     .                iim,jj_nb,nhori, 1,1,1,-99,
    197197     .                32, "ave(X)", zstophy,zout)
    198198c
    199199         CALL histdef(nid_mth, "SWdn200", "SWdn at 200mb","W/m2",
    200      .                iim,jjphy_nb,nhori, 1,1,1,-99,
     200     .                iim,jj_nb,nhori, 1,1,1,-99,
    201201     .                32, "ave(X)", zstophy,zout)
    202202c
    203203         CALL histdef(nid_mth, "SWdn200clr",
    204204     .                "SWdn clear sky at 200mb","W/m2",
    205      .                iim,jjphy_nb,nhori, 1,1,1,-99,
     205     .                iim,jj_nb,nhori, 1,1,1,-99,
    206206     .                32, "ave(X)", zstophy,zout)
    207207c
    208208         CALL histdef(nid_mth, "LWup200", "LWup at 200mb","W/m2",
    209      .                iim,jjphy_nb,nhori, 1,1,1,-99,
     209     .                iim,jj_nb,nhori, 1,1,1,-99,
    210210     .                32, "ave(X)", zstophy,zout)
    211211c
    212212         CALL histdef(nid_mth, "LWup200clr",
    213213     .                "LWup clear sky at 200mb","W/m2",
    214      .                iim,jjphy_nb,nhori, 1,1,1,-99,
     214     .                iim,jj_nb,nhori, 1,1,1,-99,
    215215     .                32, "ave(X)", zstophy,zout)
    216216c
    217217         CALL histdef(nid_mth, "LWdn200", "LWdn at 200mb","W/m2",
    218      .                iim,jjphy_nb,nhori, 1,1,1,-99,
     218     .                iim,jj_nb,nhori, 1,1,1,-99,
    219219     .                32, "ave(X)", zstophy,zout)
    220220c
    221221         CALL histdef(nid_mth, "LWdn200clr",
    222222     .                "LWdn clear sky at 200mb","W/m2",
    223      .                iim,jjphy_nb,nhori, 1,1,1,-99,
     223     .                iim,jj_nb,nhori, 1,1,1,-99,
    224224     .                32, "ave(X)", zstophy,zout)
    225225c
    226226         CALL histdef(nid_mth, "sols", "Solar rad. at surf.", "W/m2",
    227      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     227     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    228228     .                "ave(X)", zstophy,zout)
    229229c
    230230         CALL histdef(nid_mth, "sols0", "Solar rad. at surf.", "W/m2",
    231      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     231     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    232232     .                "ave(X)", zstophy,zout)
    233233c
    234234         CALL histdef(nid_mth, "soll", "IR rad. at surface", "W/m2",
    235      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     235     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    236236     .                "ave(X)", zstophy,zout)
    237237c
    238238         CALL histdef(nid_mth, "radsol", "Rayonnement au sol", "W/m2",
    239      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     239     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    240240     .                "ave(X)", zstophy,zout)
    241241c
    242242         CALL histdef(nid_mth, "soll0", "IR rad. at surface", "W/m2",
    243      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     243     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    244244     .                "ave(X)", zstophy,zout)
    245245c
    246246         CALL histdef(nid_mth, "SWupSFC", "SWup at surface","W/m2",
    247      .                iim,jjphy_nb,nhori, 1,1,1,-99,
     247     .                iim,jj_nb,nhori, 1,1,1,-99,
    248248     .                32, "ave(X)", zstophy,zout)
    249249c
    250250         CALL histdef(nid_mth, "SWupSFCclr",
    251251     .                "SWup clear sky at surface","W/m2",
    252      .                iim,jjphy_nb,nhori, 1,1,1,-99,
     252     .                iim,jj_nb,nhori, 1,1,1,-99,
    253253     .                32, "ave(X)", zstophy,zout)
    254254c
    255255         CALL histdef(nid_mth, "SWdnSFC", "SWdn at surface","W/m2",
    256      .                iim,jjphy_nb,nhori, 1,1,1,-99,
     256     .                iim,jj_nb,nhori, 1,1,1,-99,
    257257     .                32, "ave(X)", zstophy,zout)
    258258c
    259259         CALL histdef(nid_mth, "SWdnSFCclr",
    260260     .                "SWdn clear sky at surface","W/m2",
    261      .                iim,jjphy_nb,nhori, 1,1,1,-99,
     261     .                iim,jj_nb,nhori, 1,1,1,-99,
    262262     .                32, "ave(X)", zstophy,zout)
    263263c
    264264         CALL histdef(nid_mth,"LWupSFC","Upwd. IR rad. at surface",
    265      .                "W/m2", iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     265     .                "W/m2", iim,jj_nb,nhori, 1,1,1, -99, 32,
    266266     .                "ave(X)", zstophy,zout)
    267267c
    268268         CALL histdef(nid_mth,"LWdnSFC","Down. IR rad. at surface",
    269      .                "W/m2", iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     269     .                "W/m2", iim,jj_nb,nhori, 1,1,1, -99, 32,
    270270     .                "ave(X)", zstophy,zout)
    271271c
    272272         CALL histdef(nid_mth,"LWupSFCclr",
    273273     .                "CS Upwd. IR rad. at surface",
    274      .                "W/m2", iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     274     .                "W/m2", iim,jj_nb,nhori, 1,1,1, -99, 32,
    275275     .                "ave(X)", zstophy,zout)
    276276c
    277277         CALL histdef(nid_mth,"LWdnSFCclr",
    278278     .                "Down. CS IR rad. at surface",
    279      .                "W/m2", iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     279     .                "W/m2", iim,jj_nb,nhori, 1,1,1, -99, 32,
    280280     .                "ave(X)", zstophy,zout)
    281281c
    282282         CALL histdef(nid_mth, "bils", "Surf. total heat flux", "W/m2",
    283      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     283     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    284284     .                "ave(X)", zstophy,zout)
    285285c
     
    289289c
    290290         CALL histdef(nid_mth, "fder", "Heat flux derivation", "W/m2",
    291      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     291     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    292292     .                "ave(X)", zstophy,zout)
    293293c
    294294c          CALL histdef(nid_mth, "frtu", "Zonal wind stress", "Pa",
    295 c    .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     295c    .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    296296c    .                "ave(X)", zstophy,zout)
    297297c
    298298c        CALL histdef(nid_mth, "frtv", "Meridional wind stress", "Pa",
    299 c    .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     299c    .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    300300c    .                "ave(X)", zstophy,zout)
    301301c
    302302         CALL histdef(nid_mth, "ffonte","Thermal flux for snow melting",
    303      .                "W/m2",iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     303     .                "W/m2",iim,jj_nb,nhori, 1,1,1, -99, 32,
    304304     .                "ave(X)", zstophy,zout)
    305305c
    306306         CALL histdef(nid_mth, "fqcalving","Ice Calving",
    307      .                "kg/m2/s",iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     307     .                "kg/m2/s",iim,jj_nb,nhori, 1,1,1, -99, 32,
    308308     .                "ave(X)", zstophy,zout)
    309309c
    310310         CALL histdef(nid_mth, "fqfonte","Land ice melt",
    311      .                "kg/m2/s",iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     311     .                "kg/m2/s",iim,jj_nb,nhori, 1,1,1, -99, 32,
    312312     .                "ave(X)", zsto,zout)
    313313
     
    315315           call histdef(nid_mth, "taux_"//clnsurf(nsrf),
    316316     $         "Zonal wind stress"//clnsurf(nsrf), "Pa", 
    317      $         iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     317     $         iim,jj_nb,nhori, 1,1,1, -99, 32,
    318318     $         "ave(X)", zstophy,zout)
    319319
    320320           call histdef(nid_mth, "tauy_"//clnsurf(nsrf),
    321321     $         "Meridional wind stress "//clnsurf(nsrf), "Pa", 
    322      $         iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     322     $         iim,jj_nb,nhori, 1,1,1, -99, 32,
    323323     $         "ave(X)", zstophy,zout)
    324324         ENDDO
     
    329329           call histdef(nid_mth, "pourc_"//clnsurf(nsrf),
    330330     $         "% "//clnsurf(nsrf), "%", 
    331      $         iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     331     $         iim,jj_nb,nhori, 1,1,1, -99, 32,
    332332     $         "ave(X)", zstophy,zout)
    333333c
    334334           call histdef(nid_mth, "fract_"//clnsurf(nsrf),
    335335     $         "Fraction "//clnsurf(nsrf), "1", 
    336      $         iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     336     $         iim,jj_nb,nhori, 1,1,1, -99, 32,
    337337     $         "ave(X)", zstophy,zout)
    338338          ENDIF !nsrf.GT.2
     
    340340           call histdef(nid_mth, "tsol_"//clnsurf(nsrf),
    341341     $         "Temperature "//clnsurf(nsrf), "K", 
    342      $         iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     342     $         iim,jj_nb,nhori, 1,1,1, -99, 32,
    343343     $         "ave(X)", zstophy,zout)
    344344C
    345345           call histdef(nid_mth, "sens_"//clnsurf(nsrf),
    346346     $         "Sensible heat flux "//clnsurf(nsrf), "W/m2", 
    347      $         iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     347     $         iim,jj_nb,nhori, 1,1,1, -99, 32,
    348348     $         "ave(X)", zstophy,zout)
    349349c
    350350           call histdef(nid_mth, "lat_"//clnsurf(nsrf),
    351351     $         "Latent heat flux "//clnsurf(nsrf), "W/m2", 
    352      $         iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     352     $         iim,jj_nb,nhori, 1,1,1, -99, 32,
    353353     $         "ave(X)", zstophy,zout)
    354354C
    355355           call histdef(nid_mth, "flw_"//clnsurf(nsrf),
    356356     $         "LW "//clnsurf(nsrf), "W/m2",
    357      $         iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     357     $         iim,jj_nb,nhori, 1,1,1, -99, 32,
    358358     $         "ave(X)", zstophy,zout)
    359359c
    360360           call histdef(nid_mth, "fsw_"//clnsurf(nsrf),
    361361     $         "SW "//clnsurf(nsrf), "W/m2",
    362      $         iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     362     $         iim,jj_nb,nhori, 1,1,1, -99, 32,
    363363     $         "ave(X)", zstophy,zout)
    364364C
    365365           call histdef(nid_mth, "wbils_"//clnsurf(nsrf),
    366366     $         "Bilan sol "//clnsurf(nsrf), "W/m2",
    367      $         iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     367     $         iim,jj_nb,nhori, 1,1,1, -99, 32,
    368368     $         "ave(X)", zstophy,zout)
    369369C
    370370           call histdef(nid_mth, "wbilo_"//clnsurf(nsrf),
    371371     $         "Bilan eau "//clnsurf(nsrf), "kg/(m2*s)",
    372      $         iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     372     $         iim,jj_nb,nhori, 1,1,1, -99, 32,
    373373     $         "ave(X)", zstophy,zout)
    374374C
     
    378378           call histdef(nid_mth, "evapour_"//clnsurf(nsrf),
    379379     $         "Evap*pourc "//clnsurf(nsrf), "kg/(s*m2)",
    380      $         iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     380     $         iim,jj_nb,nhori, 1,1,1, -99, 32,
    381381     $         "ave(X)", zstophy,zout)
    382382C
    383383           call histdef(nid_mth, "prepour_"//clnsurf(nsrf),
    384384     $         "Precip*pourc "//clnsurf(nsrf), "kg/(s*m2)",
    385      $         iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     385     $         iim,jj_nb,nhori, 1,1,1, -99, 32,
    386386     $         "ave(X)", zstophy,zout)
    387387C
     
    392392c
    393393         CALL histdef(nid_mth, "cdrm", "Momentum drag coef.", "-",
    394      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     394     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    395395     .                "ave(X)", zstophy,zout)
    396396c
    397397         CALL histdef(nid_mth, "cdrh", "Heat drag coef.", "-",
    398      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     398     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    399399     .                "ave(X)", zstophy,zout)
    400400c
    401401         CALL histdef(nid_mth, "cldl", "Low-level cloudiness", "-",
    402      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     402     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    403403     .                "ave(X)", zstophy,zout)
    404404c
    405405         CALL histdef(nid_mth, "cldm", "Mid-level cloudiness", "-",
    406      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     406     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    407407     .                "ave(X)", zstophy,zout)
    408408c
    409409         CALL histdef(nid_mth, "cldh", "High-level cloudiness", "-",
    410      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     410     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    411411     .                "ave(X)", zstophy,zout)
    412412c
    413413         CALL histdef(nid_mth, "cldt", "Total cloudiness", "-",
    414      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     414     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    415415     .                "ave(X)", zstophy,zout)
    416416c
    417417         CALL histdef(nid_mth,"cldq","Cloud liquid water path","kg/m2",
    418      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     418     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    419419     .                "ave(X)", zstophy,zout)
    420420c
    421421         CALL histdef(nid_mth,"lwp","Cloud water path","kg/m2",
    422      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     422     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    423423     .                "ave(X)", zstophy,zout)
    424424c
    425425         CALL histdef(nid_mth,"iwp","Cloud ice water path","kg/m2",
    426      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     426     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    427427     .                "ave(X)", zstophy,zout)
    428428c
    429429         CALL histdef(nid_mth, "ue", "Zonal energy transport", "-",
    430      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     430     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    431431     .                "ave(X)", zstophy,zout)
    432432c
    433433         CALL histdef(nid_mth, "ve", "Merid energy transport", "-",
    434      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     434     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    435435     .                "ave(X)", zstophy,zout)
    436436c
    437437         CALL histdef(nid_mth, "uq", "Zonal humidity transport", "-",
    438      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     438     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    439439     .                "ave(X)", zstophy,zout)
    440440c
    441441         CALL histdef(nid_mth, "vq", "Merid humidity transport", "-",
    442      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     442     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    443443     .                "ave(X)", zstophy,zout)
    444444cKE43
     
    446446c
    447447         CALL histdef(nid_mth, "cape", "Conv avlbl pot ener", "J/kg",
    448      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     448     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    449449     .                "ave(X)", zstophy,zout)
    450450c
    451451         CALL histdef(nid_mth, "pbase", "Cld base pressure", "mb",
    452      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     452     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    453453     .                "ave(X)", zstophy,zout)
    454454c
    455455         CALL histdef(nid_mth, "ptop", "Cld top pressure", "mb",
    456      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     456     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    457457     .                "ave(X)", zstophy,zout)
    458458c
    459459         CALL histdef(nid_mth, "fbase", "Cld base mass flux", "kg/m2/s",
    460      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     460     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    461461     .                "ave(X)", zstophy,zout)
    462462c
    463463         CALL histdef(nid_mth, "prw", "Precipitable water", "kg/m2",
    464      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     464     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    465465     .                "ave(X)", zstophy,zout)
    466466c
     
    471471c HBTM2
    472472         CALL histdef(nid_mth, "s_pblh", "Boundary Layer Height", "m",
    473      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     473     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    474474     .                "ave(X)", zstophy,zout)
    475475         CALL histdef(nid_mth, "s_pblt", "t at Boundary Layer Height",
    476476     .                "K",
    477      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     477     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    478478     .                "ave(X)", zstophy,zout)
    479479         CALL histdef(nid_mth, "s_lcl", "Condensation level", "m",
    480      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     480     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    481481     .                "ave(X)", zstophy,zout)
    482482         CALL histdef(nid_mth, "s_capCL", "Conv avlbl pot ener
    483483     .                for ABL", "J/m2",
    484      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     484     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    485485     .                "ave(X)", zstophy,zout)
    486486         CALL histdef(nid_mth, "s_oliqCL", "Liq Water in BL", "kg/m2",
    487      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     487     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    488488     .                "ave(X)", zstophy,zout)
    489489         CALL histdef(nid_mth, "s_cteiCL", "Instability criteria
    490490     .                (ABL)", "K",
    491      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     491     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    492492     .                "ave(X)", zstophy,zout)
    493493         CALL histdef(nid_mth, "s_therm", "Exces du thermique", "K",
    494      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     494     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    495495     .                "ave(X)", zstophy,zout)
    496496         CALL histdef(nid_mth, "s_trmb1", "deep_cape(HBTM2)", "J/m2",
    497      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     497     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    498498     .                "ave(X)", zstophy,zout)
    499499         CALL histdef(nid_mth, "s_trmb2", "inhibition (HBTM2)", "J/m2",
    500      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     500     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    501501     .                "ave(X)", zstophy,zout)
    502502         CALL histdef(nid_mth, "s_trmb3", "Point Omega (HBTM2)", "m",
    503      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     503     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    504504     .                "ave(X)", zstophy,zout)
    505505c
     
    523523          CALL histdef(nid_mth, "u"//bb2,
    524524     .                 "Zonal wind "//bb2//"mb","m/s",
    525      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     525     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    526526     .                "inst(X)", zout,zout)
    527527c
    528528          CALL histdef(nid_mth, "v"//bb2,
    529529     .                 "Meridional wind "//bb2//"mb","m/s",
    530      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     530     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    531531     .                "inst(X)", zout,zout)
    532532c
    533533          CALL histdef(nid_mth, "w"//bb2,
    534534     .                 "Vertical wind "//bb2//"mb","m/s",
    535      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     535     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    536536     .                "inst(X)", zout,zout)
    537537c
    538538          CALL histdef(nid_mth, "phi"//bb2,
    539539     .                 "Geopotential "//bb2//"mb","m",
    540      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     540     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    541541     .                "inst(X)", zout,zout)
    542542c
     
    549549       CALL histdef(nid_mth, "fluxo",
    550550     .              "Flux turbulents ocean-atmosphere", "W/m2",
    551      .              iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     551     .              iim,jj_nb,nhori, 1,1,1, -99, 32,
    552552     .              "ave(X)", zstophy,zout)
    553553c
    554554       CALL histdef(nid_mth, "fluxg",
    555555     .              "Flux turbulents ocean-glace de mer","W/m2",
    556      .              iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     556     .              iim,jj_nb,nhori, 1,1,1, -99, 32,
    557557     .              "ave(X)", zstophy,zout)
    558558c
    559559       CALL histdef(nid_mth, "t_oce_sic",
    560560     .              "Temp. mixte oce-sic","K",
    561      .              iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     561     .              iim,jj_nb,nhori, 1,1,1, -99, 32,
    562562     .              "ave(X)", zstophy,zout)
    563563c
     
    566566        CALL histdef(nid_mth, "lmt_bils",
    567567     .       "Bilan au sol atmosphere forcee", "W/m2",
    568      .              iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     568     .              iim,jj_nb,nhori, 1,1,1, -99, 32,
    569569     .              "ave(X)", zstophy,zout)
    570570c
     
    573573        CALL histdef(nid_mth, "slab_bils",
    574574     .       "Bilan au sol Slab", "W/m2",
    575      .              iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     575     .              iim,jj_nb,nhori, 1,1,1, -99, 32,
    576576     .              "ave(X)", zstophy,zout)
    577577c
    578578        CALL histdef(nid_mth, "tslab", "Slab SST ", "K",
    579      .              iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     579     .              iim,jj_nb,nhori, 1,1,1, -99, 32,
    580580     .              "ave(X)", zstophy,zout)
    581581c
    582582        CALL histdef(nid_mth, "seaice", "Slab seaice", "kg/m2",
    583      .              iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     583     .              iim,jj_nb,nhori, 1,1,1, -99, 32,
    584584     .              "ave(X)", zstophy,zout)
    585585c
    586586        CALL histdef(nid_mth, "siceh", "Slab seaice height", "m",
    587      .              iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     587     .              iim,jj_nb,nhori, 1,1,1, -99, 32,
    588588     .              "ave(X)", zstophy,zout)
    589589c
     
    599599         CALL histdef(nid_mth,"lwcon","Cloud liquid water content",
    600600     .                "kg/kg",
    601      .                iim,jjphy_nb,nhori, klev,1,klev, nvert, 32,
     601     .                iim,jj_nb,nhori, klev,1,klev, nvert, 32,
    602602     .                "ave(X)", zstophy,zout)
    603603c
    604604         CALL histdef(nid_mth,"iwcon","Cloud ice water content","kg/kg",
    605      .                iim,jjphy_nb,nhori, klev,1,klev, nvert, 32,
     605     .                iim,jj_nb,nhori, klev,1,klev, nvert, 32,
    606606     .                "ave(X)", zstophy,zout)
    607607c
    608608         CALL histdef(nid_mth, "temp", "Air temperature", "K",
    609      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     609     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    610610     .                "ave(X)", zstophy,zout)
    611611c
    612612         CALL histdef(nid_mth, "ovap", "Specific humidity", "kg/kg",
    613      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     613     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    614614     .                "ave(X)", zstophy,zout)
    615615c
    616616c        CALL histdef(nid_mth,"wvap","Water vapor mixing ratio","kg/kg",
    617 c    .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     617c    .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    618618c    .                "ave(X)", zstophy,zout)
    619619c
    620620         CALL histdef(nid_mth, "geop", "Geopotential height", "m2/s2",
    621      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     621     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    622622     .                "ave(X)", zstophy,zout)
    623623c
    624624         CALL histdef(nid_mth, "vitu", "Zonal wind", "m/s",
    625      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     625     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    626626     .                "ave(X)", zstophy,zout)
    627627c
    628628         CALL histdef(nid_mth, "vitv", "Meridional wind", "m/s",
    629      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     629     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    630630     .                "ave(X)", zstophy,zout)
    631631c
    632632         CALL histdef(nid_mth, "vitw", "Vertical wind", "m/s",
    633      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     633     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    634634     .                "ave(X)", zstophy,zout)
    635635c
    636636         CALL histdef(nid_mth, "pres", "Air pressure", "Pa",
    637      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     637     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    638638     .                "ave(X)", zstophy,zout)
    639639c
    640640        CALL histdef(nid_mth, "rneb", "Cloud fraction", "-",
    641      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     641     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    642642     .                "ave(X)", zstophy,zout)
    643643c
    644644         CALL histdef(nid_mth, "rnebcon", "Convective Cloud Fraction"
    645645     .                , "-",
    646      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     646     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    647647     .                "ave(X)", zstophy,zout)
    648648c
    649649         CALL histdef(nid_mth, "rhum", "Relative humidity", "-",
    650      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     650     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    651651     .                "ave(X)", zstophy,zout)
    652652c
    653653         CALL histdef(nid_mth, "ozone", "Ozone concentration", "ppmv",
    654      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     654     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    655655     .                "ave(X)", zstophy,zout)
    656656c
    657657         CALL histdef(nid_mth, "upwd", "saturated updraft", "kg/m2/s",
    658      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     658     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    659659     .                "ave(X)", zstophy,zout)
    660660c
    661661         CALL histdef(nid_mth, "dtphy", "Physics dT", "K/s",
    662      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     662     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    663663     .                "ave(X)", zstophy,zout)
    664664c
    665665         CALL histdef(nid_mth, "dqphy", "Physics dQ", "(kg/kg)/s",
    666      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     666     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    667667     .                "ave(X)", zstophy,zout)
    668668c
     
    675675           call histdef(nid_mth, "albe_"//clnsurf(nsrf),
    676676     $         "Albedo surf. "//clnsurf(nsrf), "-", 
    677      $         iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     677     $         iim,jj_nb,nhori, 1,1,1, -99, 32,
    678678     $         "ave(X)", zstophy,zout)
    679679c
    680680           call histdef(nid_mth, "rugs_"//clnsurf(nsrf),
    681681     $         "Latent heat flux "//clnsurf(nsrf), "W/m2", 
    682      $         iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     682     $         iim,jj_nb,nhori, 1,1,1, -99, 32,
    683683     $         "ave(X)", zstophy,zout)
    684684c
    685685         CALL histdef(nid_mth, "ages_"//clnsurf(nsrf), "Snow age","day",
    686      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     686     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    687687     .                "ave(X)", zstophy,zout)
    688688c
     
    690690c
    691691         CALL histdef(nid_mth, "albs", "Surface albedo", "-",
    692      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     692     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    693693     .                "ave(X)", zstophy,zout)
    694694         CALL histdef(nid_mth, "albslw", "Surface albedo LW", "-",
    695      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     695     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    696696     .                "ave(X)", zstophy,zout)
    697697c
     
    703703     .                "Convective Cloud Liquid water content"
    704704     .                , "kg/kg",
    705      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     705     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    706706     .                "ave(X)", zstophy,zout)
    707707c
    708708         CALL histdef(nid_mth,"Ma","undilute adiab updraft","kg/m2/s",
    709      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     709     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    710710     .                "ave(X)", zstophy,zout)
    711711c
    712712         CALL histdef(nid_mth, "dnwd", "saturated downdraft","kg/m2/s",
    713      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     713     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    714714     .                "ave(X)", zstophy,zout)
    715715c
    716716         CALL histdef(nid_mth, "dnwd0", "unsat. downdraft", "kg/m2/s",
    717      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     717     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    718718     .                "ave(X)", zstophy,zout)
    719719c
    720720         CALL histdef(nid_mth, "dtdyn", "Dynamics dT", "K/s",
    721      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     721     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    722722     .                "ave(X)", zstophy,zout)
    723723c
    724724         CALL histdef(nid_mth, "dqdyn", "Dynamics dQ", "(kg/kg)/s",
    725      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     725     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    726726     .                "ave(X)", zstophy,zout)
    727727c
    728728         CALL histdef(nid_mth, "dtcon", "Convection dT", "K/s",
    729      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     729     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    730730     .                "ave(X)", zstophy,zout)
    731731c
    732732c        CALL histdef(nid_mth, "ducon", "Convection du", "m/s2",
    733 c    .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     733c    .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    734734c    .                "ave(X)", zstophy,zout)
    735735c
    736736         CALL histdef(nid_mth, "dqcon", "Convection dQ", "(kg/kg)/s",
    737      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     737     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    738738     .                "ave(X)", zstophy,zout)
    739739c
    740740         CALL histdef(nid_mth, "dtlsc", "Condensation dT", "K/s",
    741      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     741     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    742742     .                "ave(X)", zstophy,zout)
    743743c
    744744         CALL histdef(nid_mth, "dtlschr",
    745      $     "Large-scale condensational heating rate", "K/s",iim,jjphy_nb
     745     $     "Large-scale condensational heating rate", "K/s",iim,jj_nb
    746746     $     ,nhori, klev,1,klev,nvert, 32,"ave(X)", zstophy,zout)
    747747c
    748748         CALL histdef(nid_mth, "dqlsc", "Condensation dQ", "(kg/kg)/s",
    749      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     749     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    750750     .                "ave(X)", zstophy,zout)
    751751c
    752752         CALL histdef(nid_mth, "dtvdf", "Boundary-layer dT", "K/s",
    753      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     753     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    754754     .                "ave(X)", zstophy,zout)
    755755c
    756756         CALL histdef(nid_mth, "dqvdf","Boundary-layer dQ","(kg/kg)/s",
    757      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     757     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    758758     .                "ave(X)", zstophy,zout)
    759759c
    760760         CALL histdef(nid_mth, "dteva", "Reevaporation dT", "K/s",
    761      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     761     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    762762     .                "ave(X)", zstophy,zout)
    763763c
    764764         CALL histdef(nid_mth, "dqeva","Reevaporation dQ","(kg/kg)/s",
    765      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     765     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    766766     .                "ave(X)", zstophy,zout)
    767767
    768768         CALL histdef(nid_mth, "ptconv", "POINTS CONVECTIFS"," ",
    769      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     769     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    770770     .                "ave(X)", zstophy,zout)
    771771
    772772         CALL histdef(nid_mth, "ratqs", "RATQS"," ",
    773      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     773     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    774774     .                "ave(X)", zstophy,zout)
    775775
    776776c
    777777         CALL histdef(nid_mth, "dtajs", "Dry adjust. dT", "K/s",
    778      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     778     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    779779     .                "ave(X)", zstophy,zout)
    780780
    781781         CALL histdef(nid_mth,"dqajs","Dry adjust. dQ","(kg/kg)/s",
    782      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     782     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    783783     .                "ave(X)", zstophy,zout)
    784784c
    785785         CALL histdef(nid_mth, "dtswr", "SW radiation dT", "K/s",
    786      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     786     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    787787     .                "ave(X)", zstophy,zout)
    788788c
    789789         CALL histdef(nid_mth, "dtsw0", "CS SW radiation dT", "K/s",
    790      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     790     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    791791     .                "ave(X)", zstophy,zout)
    792792c
    793793         CALL histdef(nid_mth, "dtlwr", "LW radiation dT", "K/s",
    794      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     794     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    795795     .                "ave(X)", zstophy,zout)
    796796c
    797797         CALL histdef(nid_mth,"dtlw0","CS LW radiation dT","K/s",
    798      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     798     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    799799     .                "ave(X)", zstophy,zout)
    800800c
    801801         CALL histdef(nid_mth, "dtec", "Cinetic dissip dT", "K/s",
    802      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     802     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    803803     .                "ave(X)", zstophy,zout)
    804804c
    805805         CALL histdef(nid_mth, "duvdf", "Boundary-layer dU", "m/s2",
    806      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     806     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    807807     .                "ave(X)", zstophy,zout)
    808808c
    809809         CALL histdef(nid_mth, "dvvdf", "Boundary-layer dV", "m/s2",
    810      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     810     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    811811     .                "ave(X)", zstophy,zout)
    812812c
    813813         IF (ok_orodr) THEN
    814814         CALL histdef(nid_mth, "duoro", "Orography dU", "m/s2",
    815      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     815     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    816816     .                "ave(X)", zstophy,zout)
    817817c
    818818         CALL histdef(nid_mth, "dvoro", "Orography dV", "m/s2",
    819      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     819     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    820820     .                "ave(X)", zstophy,zout)
    821821c
     
    824824         IF (ok_orolf) THEN
    825825         CALL histdef(nid_mth, "dulif", "Orography dU", "m/s2",
    826      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     826     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    827827     .                "ave(X)", zstophy,zout)
    828828c
    829829         CALL histdef(nid_mth, "dvlif", "Orography dV", "m/s2",
    830      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     830     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    831831     .                "ave(X)", zstophy,zout)
    832832         ENDIF
     
    837837         WRITE(str2,'(i2.2)') iq
    838838         CALL histdef(nid_mth, "trac"//str2, "Tracer No."//str2, "-",
    839      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     839     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    840840     .                "ave(X)", zstophy,zout)
    841841         ELSE
     
    853853c
    854854         CALL histdef(nid_mth, "phis", "Surface geop. height", "m",
    855      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     855     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    856856     .                "once",  zstophy,zout)
    857857c
    858858         CALL histdef(nid_mth, "aire", "Grid area", "-",
    859      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     859     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    860860     .                "once",  zstophy,zout)
    861861c
    862862         CALL histdef(nid_mth, "pourc_"//clnsurf(is_ter),
    863863     .         "% "//clnsurf(is_ter), "%", 
    864      .         iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     864     .         iim,jj_nb,nhori, 1,1,1, -99, 32,
    865865     .         "once", zstophy,zout)
    866866c
    867867         CALL histdef(nid_mth, "fract_"//clnsurf(is_ter),
    868868     .         "Fraction "//clnsurf(is_ter), "1", 
    869      .         iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     869     .         iim,jj_nb,nhori, 1,1,1, -99, 32,
    870870     .         "once", zstophy,zout)
    871871c
    872872         CALL histdef(nid_mth, "pourc_"//clnsurf(is_lic),
    873873     .         "% "//clnsurf(is_lic), "%", 
    874      .         iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     874     .         iim,jj_nb,nhori, 1,1,1, -99, 32,
    875875     .         "once", zstophy,zout)
    876876c
    877877         CALL histdef(nid_mth, "fract_"//clnsurf(is_lic),
    878878     .         "Fraction "//clnsurf(is_lic), "1", 
    879      .         iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     879     .         iim,jj_nb,nhori, 1,1,1, -99, 32,
    880880     .         "once", zstophy,zout)
    881881c
    882882         CALL histdef(nid_mth, "pourc_"//clnsurf(is_sic),
    883883     .         "% "//clnsurf(is_sic), "%",
    884      .         iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     884     .         iim,jj_nb,nhori, 1,1,1, -99, 32,
    885885     .                "ave(X)", zstophy,zout)
    886886c
    887887         CALL histdef(nid_mth, "fract_"//clnsurf(is_sic),
    888888     .         "Fraction "//clnsurf(is_sic), "1",
    889      .         iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     889     .         iim,jj_nb,nhori, 1,1,1, -99, 32,
    890890     .                "ave(X)", zstophy,zout)
    891891c
    892892         CALL histdef(nid_mth, "flat", "Latent heat flux", "W/m2",
    893      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     893     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    894894     .                "ave(X)", zstophy,zout)
    895895c
    896896         CALL histdef(nid_mth, "bilTOA",
    897897     .                "Net radiation at TOA", "W/m2",
    898      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     898     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    899899     .                "ave(X)", zstophy,zout)
    900900c
     
    903903c    .                "TOA reflected clear-sky shortwave
    904904c    .                radiation (method 1)", "W/m2",
    905 c    .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     905c    .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    906906c    .                "ave(X)", zstophy,zout)
    907907c
    908908          CALL histdef(nid_mth, "dtdia","dtdia","K/s",
    909      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     909     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    910910     .                "ave(X)", zstophy,zout)
    911911c
    912912          CALL histdef(nid_mth, "dtsw","dtsw","K/s",
    913      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     913     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    914914     .                "ave(X)", zstophy,zout)
    915915c
    916916          CALL histdef(nid_mth, "dtlw","dtlw","K/s",
    917      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     917     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    918918     .                "ave(X)", zstophy,zout)
    919919c
    920920          CALL histdef(nid_mth, "dtcon","dtcon","K/s",
    921      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     921     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    922922     .                "ave(X)", zstophy,zout)
    923923c
    924924          CALL histdef(nid_mth, "dtajs","dtajs","K/s",
    925      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     925     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    926926     .                "ave(X)", zstophy,zout)
    927927c
    928928          CALL histdef(nid_mth, "dtlsc","dtlsc","K/s",
    929      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     929     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    930930     .                "ave(X)", zstophy,zout)
    931931c
    932932          CALL histdef(nid_mth, "dqdia","dqdia","(kg/kg)/s",
    933      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     933     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    934934     .                "ave(X)", zstophy,zout)
    935935c
    936936          CALL histdef(nid_mth, "duoli",
    937937     .         "duoli","m/s2",
    938      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     938     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    939939     .                "ave(X)", zstophy,zout)
    940940c
    941941          CALL histdef(nid_mth, "dvoli",
    942942     .         "dvoli","m/s2",
    943      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     943     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    944944     .                "ave(X)", zstophy,zout)
    945945c
    946946          CALL histdef(nid_mth, "ducon",
    947947     .         "ducon","m/s2",
    948      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     948     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    949949     .                "ave(X)", zstophy,zout)
    950950c
    951951          CALL histdef(nid_mth, "dvcon",
    952952     .         "dvcon","m/s2",
    953      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     953     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    954954     .                "ave(X)", zstophy,zout)
    955955c
    956956          CALL histdef(nid_mth, "dutot",
    957957     .         "dutot","m/s2",
    958      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     958     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    959959     .                "ave(X)", zstophy,zout)
    960960c
    961961          CALL histdef(nid_mth, "dvtot",
    962962     .         "dvtot","m/s2",
    963      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     963     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    964964     .                "ave(X)", zstophy,zout)
    965965c
    966966c         CALL histdef(nid_mth, "cldtrue",
    967967c    .         "TRUE Cloud fraction ","%",
    968 c    .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     968c    .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    969969c    .         "inst(X)", zout,zout)
    970970c
    971971c         CALL histdef(nid_mth, "cldTOA",
    972972c    .         "Cloud amount (satellite view)","%",
    973 c    .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     973c    .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    974974c    .         "ave(X)", zstophy,zout)
    975975c
    976976c         CALL histdef(nid_mth, "cldSFC",
    977977c    .         "Cloud amount (surface view)","%",
    978 c    .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     978c    .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    979979c    .         "ave(X)", zstophy,zout)
    980980c
    981981          CALL histdef(nid_mth, "GWDtaux",
    982982     .         "GWD induced Ewd wind stress","Pa",
    983      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     983     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    984984     .         "ave(X)", zstophy,zout)
    985985c
    986986          CALL histdef(nid_mth, "GWDtauy",
    987987     .         "GWD induced Nwd wind stress","Pa",
    988      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     988     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    989989     .         "ave(X)", zstophy,zout)
    990990c
     
    992992c
    993993         CALL histdef(nid_mth, "slp", "Sea Level Pressure", "Pa",
    994      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     994     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    995995     .                "ave(X)", zstorad,zout)
    996996c
    997997         CALL histdef(nid_mth, "tsol", "Surface Temperature", "K",
    998      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     998     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    999999     .                "ave(X)", zstophy,zout)
    10001000c
    10011001         CALL histdef(nid_mth, "t2m", "Temperature 2m", "K",
    1002      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1002     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    10031003     .                "ave(X)", zstorad,zout)
    10041004c
    10051005         CALL histdef(nid_mth, "t2m_min", "Temp. 2m min.",
    10061006     .                "K",
    1007      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1007     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    10081008     .                t2mincels, zstophy,zout)
    10091009c
    10101010         CALL histdef(nid_mth, "t2m_max", "Temp. 2m max.",
    10111011     .                "K",
    1012      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1012     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    10131013     .                t2maxcels, zstophy,zout)
    10141014c
    10151015c        CALL histdef(nid_mth, "tsoil", "Sfce soil Temperature",
    10161016c    .                "K",
    1017 c    .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1017c    .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    10181018c    .                "ave(X)", zstophy,zout)
    10191019c
    10201020         CALL histdef(nid_mth, "wind10m","10-m wind speed","m/s",
    1021      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1021     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    10221022     .                "ave(X)", zstorad,zout)
    10231023c
    10241024         CALL histdef(nid_mth, "sicf", "Sea-ice fraction", "-",
    1025      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1025     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    10261026     .                "ave(X)", zstophy,zout)
    10271027
    10281028c
    10291029         CALL histdef(nid_mth, "q2m","Specific humidity 2m","kg/kg",
    1030      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1030     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    10311031     .                "ave(X)", zstorad,zout)
    10321032c
    10331033         CALL histdef(nid_mth, "u10m", "Vent zonal 10m", "m/s",
    1034      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1034     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    10351035     .                "ave(X)", zstorad,zout)
    10361036c
    10371037         CALL histdef(nid_mth, "v10m", "Vent meridien 10m", "m/s",
    1038      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1038     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    10391039     .                "ave(X)", zstorad,zout)
    10401040c
    10411041         CALL histdef(nid_mth, "psol", "Surface Pressure", "Pa",
    1042      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1042     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    10431043     .                "ave(X)", zstorad,zout)
    10441044c
    10451045         CALL histdef(nid_mth, "qsurf","Surface Air humidity","kg/kg",
    1046      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1046     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    10471047     .                "ave(X)", zstophy,zout)
    10481048c
    10491049      if (.not. ok_veget) then
    10501050         CALL histdef(nid_mth, "qsol", "Soil watter content", "mm",
    1051      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1051     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    10521052     .                "ave(X)", zstophy,zout)
    10531053      endif
     
    10551055         CALL histdef(nid_mth, "ndayrain",
    10561056     .                "Number of day with rain (liq+sol)", "-",
    1057      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1057     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    10581058     .                "inst(X)", zstomth,zout)
    10591059c
    10601060         CALL histdef(nid_mth, "precip", "Precipitation Totale liq+sol",
    10611061     .                "kg/(s*m2)",
    1062      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1062     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    10631063     .                "ave(X)", zstophy,zout)
    10641064c
    10651065         CALL histdef(nid_mth, "plul", "Large-scale Precip.",
    10661066     .   "kg/(s*m2)",
    1067      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1067     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    10681068     .                "ave(X)", zstophy,zout)
    10691069c
    10701070         CALL histdef(nid_mth, "pluc", "Convective Precip.",
    10711071     .   "kg/(s*m2)",
    1072      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1072     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    10731073     .                "ave(X)", zstophy,zout)
    10741074c
    10751075         CALL histdef(nid_mth, "snowf", "Snow fall", "kg/(s*m2)",
    1076      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1076     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    10771077     .                "ave(X)", zstophy,zout)
    10781078c
    10791079c        CALL histdef(nid_mth, "snow_mass", "Snow Mass", "kg/m2",
    1080 c    .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1080c    .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    10811081c    .                "ave(X)", zstophy,zout)
    10821082c
    10831083         CALL histdef(nid_mth, "evap",
    10841084     .                "Evaporation plus sublimation rate", "kg/(s*m2)",
    1085      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1085     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    10861086     .                "ave(X)", zstophy,zout)
    10871087c
    10881088         CALL histdef(nid_mth, "tops", "Solar rad. at TOA", "W/m2",
    1089      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1089     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    10901090     .                "ave(X)", zstophy,zout)
    10911091c
    10921092         CALL histdef(nid_mth, "tops0", "CS Solar rad. at TOA", "W/m2",
    1093      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1093     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    10941094     .                "ave(X)", zstophy,zout)
    10951095c
    10961096         CALL histdef(nid_mth, "topl", "IR rad. at TOA", "W/m2",
    1097      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1097     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    10981098     .                "ave(X)", zstophy,zout)
    10991099c
    11001100         CALL histdef(nid_mth, "topl0", "IR rad. at TOA", "W/m2",
    1101      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1101     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    11021102     .                "ave(X)", zstophy,zout)
    11031103c
    11041104         CALL histdef(nid_mth, "SWupTOA", "SWup at TOA","W/m2",
    1105      .                iim,jjphy_nb,nhori, 1,1,1,-99,
     1105     .                iim,jj_nb,nhori, 1,1,1,-99,
    11061106     .                32, "ave(X)", zstophy,zout)
    11071107c
    11081108         CALL histdef(nid_mth, "SWupTOAclr",
    11091109     .                "SWup clear sky at TOA","W/m2",
    1110      .                iim,jjphy_nb,nhori, 1,1,1,-99,
     1110     .                iim,jj_nb,nhori, 1,1,1,-99,
    11111111     .                32, "ave(X)", zstophy,zout)
    11121112c
    11131113         CALL histdef(nid_mth, "SWdnTOA", "SWdn at TOA","W/m2",
    1114      .                iim,jjphy_nb,nhori, 1,1,1,-99,
     1114     .                iim,jj_nb,nhori, 1,1,1,-99,
    11151115     .                32, "ave(X)", zstophy,zout)
    11161116c
    11171117         CALL histdef(nid_mth, "SWdnTOAclr",
    11181118     .                "SWdn clear sky at TOA","W/m2",
    1119      .                iim,jjphy_nb,nhori, 1,1,1,-99,
     1119     .                iim,jj_nb,nhori, 1,1,1,-99,
    11201120     .                32, "ave(X)", zstophy,zout)
    11211121c
    11221122         CALL histdef(nid_mth, "SWup200", "SWup at 200mb","W/m2",
    1123      .                iim,jjphy_nb,nhori, 1,1,1,-99,
     1123     .                iim,jj_nb,nhori, 1,1,1,-99,
    11241124     .                32, "ave(X)", zstophy,zout)
    11251125c
    11261126         CALL histdef(nid_mth, "SWup200clr",
    11271127     .                "SWup clear sky at 200mb","W/m2",
    1128      .                iim,jjphy_nb,nhori, 1,1,1,-99,
     1128     .                iim,jj_nb,nhori, 1,1,1,-99,
    11291129     .                32, "ave(X)", zstophy,zout)
    11301130c
    11311131         CALL histdef(nid_mth, "SWdn200", "SWdn at 200mb","W/m2",
    1132      .                iim,jjphy_nb,nhori, 1,1,1,-99,
     1132     .                iim,jj_nb,nhori, 1,1,1,-99,
    11331133     .                32, "ave(X)", zstophy,zout)
    11341134c
    11351135         CALL histdef(nid_mth, "SWdn200clr",
    11361136     .                "SWdn clear sky at 200mb","W/m2",
    1137      .                iim,jjphy_nb,nhori, 1,1,1,-99,
     1137     .                iim,jj_nb,nhori, 1,1,1,-99,
    11381138     .                32, "ave(X)", zstophy,zout)
    11391139c
    11401140         CALL histdef(nid_mth, "LWup200", "LWup at 200mb","W/m2",
    1141      .                iim,jjphy_nb,nhori, 1,1,1,-99,
     1141     .                iim,jj_nb,nhori, 1,1,1,-99,
    11421142     .                32, "ave(X)", zstophy,zout)
    11431143c
    11441144         CALL histdef(nid_mth, "LWup200clr",
    11451145     .                "LWup clear sky at 200mb","W/m2",
    1146      .                iim,jjphy_nb,nhori, 1,1,1,-99,
     1146     .                iim,jj_nb,nhori, 1,1,1,-99,
    11471147     .                32, "ave(X)", zstophy,zout)
    11481148c
    11491149         CALL histdef(nid_mth, "LWdn200", "LWdn at 200mb","W/m2",
    1150      .                iim,jjphy_nb,nhori, 1,1,1,-99,
     1150     .                iim,jj_nb,nhori, 1,1,1,-99,
    11511151     .                32, "ave(X)", zstophy,zout)
    11521152c
    11531153         CALL histdef(nid_mth, "LWdn200clr",
    11541154     .                "LWdn clear sky at 200mb","W/m2",
    1155      .                iim,jjphy_nb,nhori, 1,1,1,-99,
     1155     .                iim,jj_nb,nhori, 1,1,1,-99,
    11561156     .                32, "ave(X)", zstophy,zout)
    11571157c
    11581158         CALL histdef(nid_mth, "sols", "Solar rad. at surf.", "W/m2",
    1159      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1159     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    11601160     .                "ave(X)", zstophy,zout)
    11611161c
    11621162         CALL histdef(nid_mth, "sols0", "Solar rad. at surf.", "W/m2",
    1163      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1163     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    11641164     .                "ave(X)", zstophy,zout)
    11651165c
    11661166         CALL histdef(nid_mth, "soll", "IR rad. at surface", "W/m2",
    1167      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1167     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    11681168     .                "ave(X)", zstophy,zout)
    11691169c
    11701170         CALL histdef(nid_mth, "radsol", "Rayonnement au sol", "W/m2",
    1171      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1171     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    11721172     .                "ave(X)", zstophy,zout)
    11731173c
    11741174         CALL histdef(nid_mth, "soll0", "IR rad. at surface", "W/m2",
    1175      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1175     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    11761176     .                "ave(X)", zstophy,zout)
    11771177c
    11781178         CALL histdef(nid_mth, "SWupSFC", "SWup at surface","W/m2",
    1179      .                iim,jjphy_nb,nhori, 1,1,1,-99,
     1179     .                iim,jj_nb,nhori, 1,1,1,-99,
    11801180     .                32, "ave(X)", zstophy,zout)
    11811181c
    11821182         CALL histdef(nid_mth, "SWupSFCclr",
    11831183     .                "SWup clear sky at surface","W/m2",
    1184      .                iim,jjphy_nb,nhori, 1,1,1,-99,
     1184     .                iim,jj_nb,nhori, 1,1,1,-99,
    11851185     .                32, "ave(X)", zstophy,zout)
    11861186c
    11871187         CALL histdef(nid_mth, "SWdnSFC", "SWdn at surface","W/m2",
    1188      .                iim,jjphy_nb,nhori, 1,1,1,-99,
     1188     .                iim,jj_nb,nhori, 1,1,1,-99,
    11891189     .                32, "ave(X)", zstophy,zout)
    11901190c
    11911191         CALL histdef(nid_mth, "SWdnSFCclr",
    11921192     .                "SWdn clear sky at surface","W/m2",
    1193      .                iim,jjphy_nb,nhori, 1,1,1,-99,
     1193     .                iim,jj_nb,nhori, 1,1,1,-99,
    11941194     .                32, "ave(X)", zstophy,zout)
    11951195c
    11961196         CALL histdef(nid_mth,"LWupSFC","Upwd. IR rad. at surface",
    1197      .                "W/m2", iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1197     .                "W/m2", iim,jj_nb,nhori, 1,1,1, -99, 32,
    11981198     .                "ave(X)", zstophy,zout)
    11991199c
    12001200         CALL histdef(nid_mth,"LWdnSFC","Down. IR rad. at surface",
    1201      .                "W/m2", iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1201     .                "W/m2", iim,jj_nb,nhori, 1,1,1, -99, 32,
    12021202     .                "ave(X)", zstophy,zout)
    12031203c
    12041204         CALL histdef(nid_mth,"LWupSFCclr",
    12051205     .                "CS Upwd. IR rad. at surface",
    1206      .                "W/m2", iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1206     .                "W/m2", iim,jj_nb,nhori, 1,1,1, -99, 32,
    12071207     .                "ave(X)", zstophy,zout)
    12081208c
    12091209         CALL histdef(nid_mth,"LWdnSFCclr",
    12101210     .                "Down. CS IR rad. at surface",
    1211      .                "W/m2", iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1211     .                "W/m2", iim,jj_nb,nhori, 1,1,1, -99, 32,
    12121212     .                "ave(X)", zstophy,zout)
    12131213c
    12141214         CALL histdef(nid_mth, "bils", "Surf. total heat flux", "W/m2",
    1215      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1215     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    12161216     .                "ave(X)", zstophy,zout)
    12171217c
    12181218         CALL histdef(nid_mth, "sens", "Sensible heat flux", "W/m2",
    1219      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1219     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    12201220     .                "ave(X)", zstophy,zout)
    12211221c
    12221222         CALL histdef(nid_mth, "fder", "Heat flux derivation", "W/m2",
    1223      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1223     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    12241224     .                "ave(X)", zstophy,zout)
    12251225c
    12261226c          CALL histdef(nid_mth, "frtu", "Zonal wind stress", "Pa",
    1227 c    .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1227c    .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    12281228c    .                "ave(X)", zstophy,zout)
    12291229c
    12301230c        CALL histdef(nid_mth, "frtv", "Meridional wind stress", "Pa",
    1231 c    .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1231c    .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    12321232c    .                "ave(X)", zstophy,zout)
    12331233c
    12341234         CALL histdef(nid_mth, "ffonte","Thermal flux for snow melting",
    1235      .                "W/m2",iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1235     .                "W/m2",iim,jj_nb,nhori, 1,1,1, -99, 32,
    12361236     .                "ave(X)", zstophy,zout)
    12371237c
    12381238         CALL histdef(nid_mth, "fqcalving","Ice Calving",
    1239      .                "kg/m2/s",iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1239     .                "kg/m2/s",iim,jj_nb,nhori, 1,1,1, -99, 32,
    12401240     .                "ave(X)", zstophy,zout)
    12411241c
     
    12431243           call histdef(nid_mth, "taux_"//clnsurf(nsrf),
    12441244     $         "Zonal wind stress"//clnsurf(nsrf), "Pa", 
    1245      $         iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1245     $         iim,jj_nb,nhori, 1,1,1, -99, 32,
    12461246     $         "ave(X)", zstophy,zout)
    12471247
    12481248           call histdef(nid_mth, "tauy_"//clnsurf(nsrf),
    12491249     $         "Meridional wind stress "//clnsurf(nsrf), "Pa", 
    1250      $         iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1250     $         iim,jj_nb,nhori, 1,1,1, -99, 32,
    12511251     $         "ave(X)", zstophy,zout)
    12521252         ENDDO
     
    12541254           call histdef(nid_mth, "pourc_"//clnsurf(is_oce),
    12551255     $         "% "//clnsurf(is_oce), "%", 
    1256      $         iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1256     $         iim,jj_nb,nhori, 1,1,1, -99, 32,
    12571257     $         "ave(X)", zstophy,zout)
    12581258c
    12591259           call histdef(nid_mth, "fract_"//clnsurf(is_oce),
    12601260     $         "Fraction "//clnsurf(is_oce), "1", 
    1261      $         iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1261     $         iim,jj_nb,nhori, 1,1,1, -99, 32,
    12621262     $         "ave(X)", zstophy,zout)
    12631263C
     
    12661266           call histdef(nid_mth, "tsol_"//clnsurf(nsrf),
    12671267     $         "Temperature "//clnsurf(nsrf), "K", 
    1268      $         iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1268     $         iim,jj_nb,nhori, 1,1,1, -99, 32,
    12691269     $         "ave(X)", zstophy,zout)
    12701270C
    12711271           call histdef(nid_mth, "sens_"//clnsurf(nsrf),
    12721272     $         "Sensible heat flux "//clnsurf(nsrf), "W/m2", 
    1273      $         iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1273     $         iim,jj_nb,nhori, 1,1,1, -99, 32,
    12741274     $         "ave(X)", zstophy,zout)
    12751275c
    12761276           call histdef(nid_mth, "lat_"//clnsurf(nsrf),
    12771277     $         "Latent heat flux "//clnsurf(nsrf), "W/m2", 
    1278      $         iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1278     $         iim,jj_nb,nhori, 1,1,1, -99, 32,
    12791279     $         "ave(X)", zstophy,zout)
    12801280C
    12811281           call histdef(nid_mth, "flw_"//clnsurf(nsrf),
    12821282     $         "LW "//clnsurf(nsrf), "W/m2",
    1283      $         iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1283     $         iim,jj_nb,nhori, 1,1,1, -99, 32,
    12841284     $         "ave(X)", zstophy,zout)
    12851285c
    12861286           call histdef(nid_mth, "fsw_"//clnsurf(nsrf),
    12871287     $         "SW "//clnsurf(nsrf), "W/m2",
    1288      $         iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1288     $         iim,jj_nb,nhori, 1,1,1, -99, 32,
    12891289     $         "ave(X)", zstophy,zout)
    12901290C
    12911291           call histdef(nid_mth, "wbils_"//clnsurf(nsrf),
    12921292     $         "Bilan sol "//clnsurf(nsrf), "W/m2",
    1293      $         iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1293     $         iim,jj_nb,nhori, 1,1,1, -99, 32,
    12941294     $         "ave(X)", zstophy,zout)
    12951295C
    12961296           call histdef(nid_mth, "wbilo_"//clnsurf(nsrf),
    12971297     $         "Bilan eau "//clnsurf(nsrf), "kg/(m2*s)",
    1298      $         iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1298     $         iim,jj_nb,nhori, 1,1,1, -99, 32,
    12991299     $         "ave(X)", zstophy,zout)
    13001300C
     
    13041304           call histdef(nid_mth, "evapour_"//clnsurf(nsrf),
    13051305     $         "Evap*pourc "//clnsurf(nsrf), "kg/(s*m2)",
    1306      $         iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1306     $         iim,jj_nb,nhori, 1,1,1, -99, 32,
    13071307     $         "ave(X)", zstophy,zout)
    13081308C
    13091309           call histdef(nid_mth, "prepour_"//clnsurf(nsrf),
    13101310     $         "Precip*pourc "//clnsurf(nsrf), "kg/(s*m2)",
    1311      $         iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1311     $         iim,jj_nb,nhori, 1,1,1, -99, 32,
    13121312     $         "ave(X)", zstophy,zout)
    13131313C
     
    13181318c
    13191319         CALL histdef(nid_mth, "cdrm", "Momentum drag coef.", "-",
    1320      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1320     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    13211321     .                "ave(X)", zstophy,zout)
    13221322c
    13231323         CALL histdef(nid_mth, "cdrh", "Heat drag coef.", "-",
    1324      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1324     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    13251325     .                "ave(X)", zstophy,zout)
    13261326c
    13271327         CALL histdef(nid_mth, "cldl", "Low-level cloudiness", "-",
    1328      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1328     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    13291329     .                "ave(X)", zstophy,zout)
    13301330c
    13311331         CALL histdef(nid_mth, "cldm", "Mid-level cloudiness", "-",
    1332      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1332     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    13331333     .                "ave(X)", zstophy,zout)
    13341334c
    13351335         CALL histdef(nid_mth, "cldh", "High-level cloudiness", "-",
    1336      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1336     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    13371337     .                "ave(X)", zstophy,zout)
    13381338c
    13391339         CALL histdef(nid_mth, "cldt", "Total cloudiness", "%",
    1340      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1340     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    13411341     .                "ave(X)", zstophy,zout)
    13421342c
    13431343         CALL histdef(nid_mth,"cldq","Cloud liquid water path","kg/m2",
    1344      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1344     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    13451345     .                "ave(X)", zstophy,zout)
    13461346c
    13471347         CALL histdef(nid_mth,"lwp","Cloud water path","kg/m2",
    1348      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1348     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    13491349     .                "ave(X)", zstophy,zout)
    13501350c
    13511351         CALL histdef(nid_mth,"iwp","Cloud ice water path","kg/m2",
    1352      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1352     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    13531353     .                "ave(X)", zstophy,zout)
    13541354c
    13551355         CALL histdef(nid_mth, "ue", "Zonal energy transport", "-",
    1356      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1356     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    13571357     .                "ave(X)", zstophy,zout)
    13581358c
    13591359         CALL histdef(nid_mth, "ve", "Merid energy transport", "-",
    1360      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1360     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    13611361     .                "ave(X)", zstophy,zout)
    13621362c
    13631363         CALL histdef(nid_mth, "uq", "Zonal humidity transport", "-",
    1364      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1364     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    13651365     .                "ave(X)", zstophy,zout)
    13661366c
    13671367         CALL histdef(nid_mth, "vq", "Merid humidity transport", "-",
    1368      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1368     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    13691369     .                "ave(X)", zstophy,zout)
    13701370cKE43
     
    13721372c
    13731373         CALL histdef(nid_mth, "cape", "Conv avlbl pot ener", "J/kg",
    1374      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1374     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    13751375     .                "ave(X)", zstophy,zout)
    13761376c
    13771377         CALL histdef(nid_mth, "pbase", "Cld base pressure", "mb",
    1378      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1378     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    13791379     .                "ave(X)", zstophy,zout)
    13801380c
    13811381         CALL histdef(nid_mth, "ptop", "Cld top pressure", "mb",
    1382      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1382     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    13831383     .                "ave(X)", zstophy,zout)
    13841384c
    13851385         CALL histdef(nid_mth, "fbase", "Cld base mass flux", "kg/m2/s",
    1386      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1386     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    13871387     .                "ave(X)", zstophy,zout)
    13881388c
    13891389         CALL histdef(nid_mth, "prw", "Precipitable water", "kg/m2",
    1390      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1390     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    13911391     .                "ave(X)", zstophy,zout)
    13921392c
    13931393         CALL histdef(nid_mth, "upwd", "saturated updraft", "kg/m2/s",
    1394      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     1394     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    13951395     .                "ave(X)", zstophy,zout)
    13961396c
     
    14011401c HBTM2
    14021402         CALL histdef(nid_mth, "s_pblh", "Boundary Layer Height", "m",
    1403      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1403     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    14041404     .                "ave(X)", zstophy,zout)
    14051405         CALL histdef(nid_mth, "s_pblt", "T at Boundary Layer Height",
    14061406     .                "K",
    1407      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1407     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    14081408     .                "ave(X)", zstophy,zout)
    14091409         CALL histdef(nid_mth, "s_lcl", "Condensation level", "m",
    1410      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1410     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    14111411     .                "ave(X)", zstophy,zout)
    14121412         CALL histdef(nid_mth,"s_capCL","Conv avlbl pot ener for ABL",
    14131413     .                "J/m2",
    1414      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1414     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    14151415     .                "ave(X)", zstophy,zout)
    14161416         CALL histdef(nid_mth, "s_oliqCL", "Liq Water in BL", "kg/m2",
    1417      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1417     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    14181418     .                "ave(X)", zstophy,zout)
    14191419         CALL histdef(nid_mth,"s_cteiCL","Instability criteria (ABL)",
    14201420     .                "K",
    1421      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1421     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    14221422     .                "ave(X)", zstophy,zout)
    14231423         CALL histdef(nid_mth, "s_therm", "Exces du thermique", "K",
    1424      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1424     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    14251425     .                "ave(X)", zstophy,zout)
    14261426         CALL histdef(nid_mth, "s_trmb1", "deep_cape(HBTM2)", "J/m2",
    1427      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1427     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    14281428     .                "ave(X)", zstophy,zout)
    14291429         CALL histdef(nid_mth, "s_trmb2", "inhibition (HBTM2)", "J/m2",
    1430      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1430     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    14311431     .                "ave(X)", zstophy,zout)
    14321432         CALL histdef(nid_mth, "s_trmb3", "Point Omega (HBTM2)", "m",
    1433      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1433     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    14341434     .                "ave(X)", zstophy,zout)
    14351435c
     
    14531453          CALL histdef(nid_mth, "u"//bb2,
    14541454     .                 "Zonal wind "//bb2//"mb","m/s",
    1455      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1455     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    14561456     .                "inst(X)", zout,zout)
    14571457c
    14581458          CALL histdef(nid_mth, "v"//bb2,
    14591459     .                 "Meridional wind "//bb2//"mb","m/s",
    1460      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1460     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    14611461     .                "inst(X)", zout,zout)
    14621462c
    14631463          CALL histdef(nid_mth, "w"//bb2,
    14641464     .                 "Vertical wind "//bb2//"mb","m/s",
    1465      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1465     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    14661466     .                "inst(X)", zout,zout)
    14671467c
    14681468          CALL histdef(nid_mth, "phi"//bb2,
    14691469     .                 "Geopotential "//bb2//"mb","m",
    1470      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1470     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    14711471     .                "inst(X)", zout,zout)
    14721472c
     
    14801480       CALL histdef(nid_mth, "fluxo",
    14811481     .              "Flux turbulents ocean-atmosphere", "W/m2",
    1482      .              iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1482     .              iim,jj_nb,nhori, 1,1,1, -99, 32,
    14831483     .              "ave(X)", zstophy,zout)
    14841484c
    14851485       CALL histdef(nid_mth, "fluxg",
    14861486     .              "Flux turbulents ocean-glace de mer","W/m2",
    1487      .              iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1487     .              iim,jj_nb,nhori, 1,1,1, -99, 32,
    14881488     .              "ave(X)", zstophy,zout)
    14891489c
    14901490       CALL histdef(nid_mth, "t_oce_sic",
    14911491     .              "Temp. mixte oce-sic","K",
    1492      .              iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1492     .              iim,jj_nb,nhori, 1,1,1, -99, 32,
    14931493     .              "ave(X)", zstophy,zout)
    14941494c
     
    14971497        CALL histdef(nid_mth, "lmt_bils",
    14981498     .       "Bilan au sol atmosphere forcee", "W/m2",
    1499      .       iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1499     .       iim,jj_nb,nhori, 1,1,1, -99, 32,
    15001500     .       "ave(X)", zstophy,zout)
    15011501c
     
    15041504        CALL histdef(nid_mth, "slab_bils",
    15051505     .              "Bilan au sol Slab", "W/m2",
    1506      .              iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1506     .              iim,jj_nb,nhori, 1,1,1, -99, 32,
    15071507     .              "ave(X)", zstophy,zout)
    15081508c
    15091509        CALL histdef(nid_mth, "tslab", "Slab SST ", "K",
    1510      .              iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1510     .              iim,jj_nb,nhori, 1,1,1, -99, 32,
    15111511     .              "ave(X)", zstophy,zout)
    15121512c
    15131513        CALL histdef(nid_mth, "seaice", "Slab seaice", "kg/m2",
    1514      .              iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1514     .              iim,jj_nb,nhori, 1,1,1, -99, 32,
    15151515     .              "ave(X)", zstophy,zout)
    15161516c
    15171517        CALL histdef(nid_mth, "siceh", "Slab seaice height", "m",
    1518      .              iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1518     .              iim,jj_nb,nhori, 1,1,1, -99, 32,
    15191519     .              "ave(X)", zstophy,zout)
    15201520c
     
    15301530         CALL histdef(nid_mth,"lwcon","Cloud liquid water content",
    15311531     .                "kg/kg",
    1532      .                iim,jjphy_nb,nhori, klev,1,klev, nvert, 32,
     1532     .                iim,jj_nb,nhori, klev,1,klev, nvert, 32,
    15331533     .                "ave(X)", zstophy,zout)
    15341534c
    15351535         CALL histdef(nid_mth,"iwcon","Cloud ice water content","kg/kg",
    1536      .                iim,jjphy_nb,nhori, klev,1,klev, nvert, 32,
     1536     .                iim,jj_nb,nhori, klev,1,klev, nvert, 32,
    15371537     .                "ave(X)", zstophy,zout)
    15381538c
    15391539         CALL histdef(nid_mth, "temp", "Air temperature", "K",
    1540      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     1540     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    15411541     .                "ave(X)", zstophy,zout)
    15421542c
    15431543         CALL histdef(nid_mth, "ovap", "Specific humidity", "kg/kg",
    1544      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     1544     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    15451545     .                "ave(X)", zstophy,zout)
    15461546c
    15471547c        CALL histdef(nid_mth,"wvap","Water vapor mixing ratio","kg/kg",
    1548 c    .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     1548c    .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    15491549c    .                "ave(X)", zstophy,zout)
    15501550c
    15511551         CALL histdef(nid_mth, "geop", "Geopotential height", "m2/s2",
    1552      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     1552     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    15531553     .                "ave(X)", zstophy,zout)
    15541554c
    15551555         CALL histdef(nid_mth, "vitu", "Zonal wind", "m/s",
    1556      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     1556     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    15571557     .                "ave(X)", zstophy,zout)
    15581558c
    15591559         CALL histdef(nid_mth, "vitv", "Meridional wind", "m/s",
    1560      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     1560     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    15611561     .                "ave(X)", zstophy,zout)
    15621562c
    15631563         CALL histdef(nid_mth, "vitw", "Vertical wind", "m/s",
    1564      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     1564     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    15651565     .                "ave(X)", zstophy,zout)
    15661566c
    15671567         CALL histdef(nid_mth, "pres", "Air pressure", "Pa",
    1568      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     1568     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    15691569     .                "ave(X)", zstophy,zout)
    15701570c
    15711571        CALL histdef(nid_mth, "rneb", "Cloud fraction", "%",
    1572      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     1572     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    15731573     .                "ave(X)", zstophy,zout)
    15741574c
    15751575         CALL histdef(nid_mth, "rnebcon", "Convective Cloud Fraction"
    15761576     .                , "-",
    1577      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     1577     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    15781578     .                "ave(X)", zstophy,zout)
    15791579c
    15801580         CALL histdef(nid_mth, "rhum", "Relative humidity", "-",
    1581      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     1581     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    15821582     .                "ave(X)", zstophy,zout)
    15831583c
    15841584         CALL histdef(nid_mth, "ozone", "Ozone concentration", "ppmv",
    1585      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     1585     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    15861586     .                "ave(X)", zstophy,zout)
    15871587c
    15881588         CALL histdef(nid_mth, "dtphy", "Physics dT", "K/s",
    1589      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     1589     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    15901590     .                "ave(X)", zstophy,zout)
    15911591c
    15921592         CALL histdef(nid_mth, "dqphy","Physics dQ","(kg/kg)/s",
    1593      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     1593     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    15941594     .                "ave(X)", zstophy,zout)
    15951595c
     
    16021602           call histdef(nid_mth, "albe_"//clnsurf(nsrf),
    16031603     $         "Albedo surf. "//clnsurf(nsrf), "-", 
    1604      $         iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1604     $         iim,jj_nb,nhori, 1,1,1, -99, 32,
    16051605     $         "ave(X)", zstophy,zout)
    16061606c
    16071607           call histdef(nid_mth, "rugs_"//clnsurf(nsrf),
    16081608     $         "Rugosite "//clnsurf(nsrf), "m", 
    1609      $         iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1609     $         iim,jj_nb,nhori, 1,1,1, -99, 32,
    16101610     $         "ave(X)", zstophy,zout)
    16111611c
    16121612         CALL histdef(nid_mth, "ages_"//clnsurf(nsrf), "Snow age","day",
    1613      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1613     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    16141614     .                "ave(X)", zstophy,zout)
    16151615c
     
    16171617c
    16181618         CALL histdef(nid_mth, "albs", "Surface albedo", "-",
    1619      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1619     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    16201620     .                "ave(X)", zstophy,zout)
    16211621         CALL histdef(nid_mth, "albslw", "Surface albedo LW", "-",
    1622      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     1622     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    16231623     .                "ave(X)", zstophy,zout)
    16241624c
     
    16301630     .                "Convective Cloud Liquid water content"
    16311631     .                , "kg/kg",
    1632      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     1632     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    16331633     .                "ave(X)", zstophy,zout)
    16341634c
    16351635         CALL histdef(nid_mth,"Ma","undilute adiab updraft","kg/m2/s",
    1636      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     1636     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    16371637     .                "ave(X)", zstophy,zout)
    16381638c
    16391639         CALL histdef(nid_mth, "dnwd", "saturated downdraft","kg/m2/s",
    1640      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     1640     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    16411641     .                "ave(X)", zstophy,zout)
    16421642c
    16431643         CALL histdef(nid_mth, "dnwd0", "unsat. downdraft", "kg/m2/s",
    1644      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     1644     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    16451645     .                "ave(X)", zstophy,zout)
    16461646c
    16471647         CALL histdef(nid_mth, "dtdyn", "Dynamics dT", "K/s",
    1648      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     1648     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    16491649     .                "ave(X)", zstophy,zout)
    16501650c
    16511651         CALL histdef(nid_mth, "dqdyn","Dynamics dQ","(kg/kg)/s",
    1652      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     1652     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    16531653     .                "ave(X)", zstophy,zout)
    16541654c
    16551655         CALL histdef(nid_mth, "dqcon","Convection dQ","(kg/kg)/s",
    1656      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     1656     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    16571657     .                "ave(X)", zstophy,zout)
    16581658c
    16591659         CALL histdef(nid_mth, "dtlschr",
    16601660     $       "Large-scale condensational heating rate", "K/s",
    1661      $       iim,jjphy_nb
     1661     $       iim,jj_nb
    16621662     $       ,nhori, klev,1,klev,nvert, 32,"ave(X)", zstophy,zout)
    16631663c
    16641664         CALL histdef(nid_mth, "dqlsc","Condensation dQ","(kg/kg)/s",
    1665      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     1665     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    16661666     .                "ave(X)", zstophy,zout)
    16671667c
    16681668         CALL histdef(nid_mth, "dtvdf", "Boundary-layer dT", "K/s",
    1669      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     1669     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    16701670     .                "ave(X)", zstophy,zout)
    16711671c
    16721672         CALL histdef(nid_mth, "dqvdf","Boundary-layer dQ","(kg/kg)/s",
    1673      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     1673     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    16741674     .                "ave(X)", zstophy,zout)
    16751675c
    16761676         CALL histdef(nid_mth, "dteva", "Reevaporation dT", "K/s",
    1677      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     1677     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    16781678     .                "ave(X)", zstophy,zout)
    16791679c
    16801680         CALL histdef(nid_mth,"dqeva","Reevaporation dQ","(kg/kg)/s",
    1681      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     1681     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    16821682     .                "ave(X)", zstophy,zout)
    16831683
    16841684         CALL histdef(nid_mth, "ptconv", "POINTS CONVECTIFS"," ",
    1685      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     1685     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    16861686     .                "ave(X)", zstophy,zout)
    16871687
    16881688         CALL histdef(nid_mth, "ratqs", "RATQS"," ",
    1689      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     1689     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    16901690     .                "ave(X)", zstophy,zout)
    16911691
    16921692c
    16931693         CALL histdef(nid_mth, "dqajs","Dry adjust. dQ","(kg/kg)/s",
    1694      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     1694     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    16951695     .                "ave(X)", zstophy,zout)
    16961696c
    16971697         CALL histdef(nid_mth, "dtswr", "SW radiation dT", "K/s",
    1698      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     1698     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    16991699     .                "ave(X)", zstophy,zout)
    17001700c
    17011701         CALL histdef(nid_mth, "dtsw0", "CS SW radiation dT", "K/s",
    1702      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     1702     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    17031703     .                "ave(X)", zstophy,zout)
    17041704c
    17051705         CALL histdef(nid_mth, "dtlwr", "LW radiation dT", "K/s",
    1706      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     1706     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    17071707     .                "ave(X)", zstophy,zout)
    17081708c
    17091709         CALL histdef(nid_mth,"dtlw0","CS LW radiation dT","K/s",
    1710      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     1710     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    17111711     .                "ave(X)", zstophy,zout)
    17121712c
    17131713         CALL histdef(nid_mth, "dtec", "Cinetic dissip dT", "K/s",
    1714      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     1714     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    17151715     .                "ave(X)", zstophy,zout)
    17161716c
    17171717         CALL histdef(nid_mth, "duvdf", "Boundary-layer dU", "m/s2",
    1718      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     1718     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    17191719     .                "ave(X)", zstophy,zout)
    17201720c
    17211721         CALL histdef(nid_mth, "dvvdf", "Boundary-layer dV", "m/s2",
    1722      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     1722     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    17231723     .                "ave(X)", zstophy,zout)
    17241724c
    17251725         IF (ok_orodr) THEN
    17261726         CALL histdef(nid_mth, "duoro", "Orography dU", "m/s2",
    1727      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     1727     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    17281728     .                "ave(X)", zstophy,zout)
    17291729c
    17301730         CALL histdef(nid_mth, "dvoro", "Orography dV", "m/s2",
    1731      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     1731     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    17321732     .                "ave(X)", zstophy,zout)
    17331733c
     
    17361736         IF (ok_orolf) THEN
    17371737         CALL histdef(nid_mth, "dulif", "Orography dU", "m/s2",
    1738      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     1738     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    17391739     .                "ave(X)", zstophy,zout)
    17401740c
    17411741         CALL histdef(nid_mth, "dvlif", "Orography dV", "m/s2",
    1742      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     1742     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    17431743     .                "ave(X)", zstophy,zout)
    17441744         ENDIF
     
    17481748         iiq=niadv(iq)
    17491749         CALL histdef(nid_mth, tnom(iq), ttext(iiq), "-",
    1750      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     1750     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    17511751     .                "ave(X)", zstophy,zout)
    17521752         ENDDO
  • LMDZ4/trunk/libf/phylmd/ini_histmthNMC.h

    r766 r776  
    3939          CALL histdef(nid_nmc, "temp",
    4040     .                 "Temperature","K",
    41      .                iim,jjphy_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
     41     .                iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
    4242     .                "inst(X)", zout,zout)
    4343c
    4444         CALL histdef(nid_nmc, "phi",
    4545     .                "Geopotential", "m",
    46      .                iim,jjphy_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
     46     .                iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
    4747     .                "inst(X)", zout,zout)
    4848c
    4949          CALL histdef(nid_nmc, "q",
    5050     .                 "Specific humidity","kg/kg",
    51      .                iim,jjphy_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
     51     .                iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
    5252     .                "inst(X)", zout,zout)
    5353c
    5454         CALL histdef(nid_nmc, "rh",
    5555     .                 "Relative humidity", "%",
    56      .                iim,jjphy_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
     56     .                iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
    5757     .                "inst(X)", zout,zout)
    5858c
    5959          CALL histdef(nid_nmc, "u",
    6060     .                 "Zonal wind","m/s",
    61      .                iim,jjphy_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
     61     .                iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
    6262     .                "inst(X)", zout,zout)
    6363c
    6464          CALL histdef(nid_nmc, "v",
    6565     .                 "Meridional wind","m/s",
    66      .                iim,jjphy_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
     66     .                iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
    6767     .                "inst(X)", zout,zout)
    6868c
     
    7878          CALL histdef(nid_nmc, "temp",
    7979     .                 "Temperature","K",
    80      .                iim,jjphy_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
     80     .                iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
    8181     .                "inst(X)", zout,zout)
    8282c
    8383         CALL histdef(nid_nmc, "phi",
    8484     .                "Geopotential ", "m",
    85      .                iim,jjphy_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
     85     .                iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
    8686     .                "inst(X)", zout,zout)
    8787c
    8888          CALL histdef(nid_nmc, "q",
    8989     .                 "Specific humidity","kg/kg",
    90      .                iim,jjphy_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
     90     .                iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
    9191     .                "inst(X)", zout,zout)
    9292c
    9393         CALL histdef(nid_nmc, "rh",
    9494     .                 "Relative humidity", "%",
    95      .                iim,jjphy_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
     95     .                iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
    9696     .                "inst(X)", zout,zout)
    9797c
    9898          CALL histdef(nid_nmc, "u",
    9999     .                 "Zonal wind","m/s",
    100      .                iim,jjphy_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
     100     .                iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
    101101     .                "inst(X)", zout,zout)
    102102c
    103103          CALL histdef(nid_nmc, "v",
    104104     .                 "Meridional wind","m/s",
    105      .                iim,jjphy_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
     105     .                iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
    106106     .                "inst(X)", zout,zout)
    107107c
    108108          CALL histdef(nid_nmc, "w",
    109109     .                 "Vertical motion","Pa/s",
    110      .                iim,jjphy_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
     110     .                iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
    111111     .                "inst(X)", zout,zout)
    112112c
     
    121121          CALL histdef(nid_nmc, "psbg",
    122122     .         "Pressure sfce below ground","%",
    123      .         iim,jjphy_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
     123     .         iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
    124124     .         "inst(X)", zout,zout)
    125125c
    126126          CALL histdef(nid_nmc, "uv",
    127127     .         "uv ",
    128      .         "m2/s2",iim,jjphy_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
     128     .         "m2/s2",iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
    129129     .         "inst(X)", zout,zout)
    130130c
    131131          CALL histdef(nid_nmc, "vq",
    132132     .         "vq ",
    133      .         "m/s * (kg/kg)",iim,jjphy_nb,nhori,
     133     .         "m/s * (kg/kg)",iim,jj_nb,nhori,
    134134     .          nlevSTD,1,nlevSTD, nvert, 32,
    135135     .         "inst(X)", zout,zout)
     
    137137          CALL histdef(nid_nmc, "vT",
    138138     .         "vT ",
    139      .         "mK/s",iim,jjphy_nb,nhori,
     139     .         "mK/s",iim,jj_nb,nhori,
    140140     .          nlevSTD,1,nlevSTD, nvert, 32,
    141141     .         "inst(X)", zout,zout)
     
    143143          CALL histdef(nid_nmc, "wq",
    144144     .         "wq ",
    145      .         "(Pa/s)*(kg/kg)",iim,jjphy_nb,nhori,
     145     .         "(Pa/s)*(kg/kg)",iim,jj_nb,nhori,
    146146     .          nlevSTD,1,nlevSTD, nvert, 32,
    147147     .         "inst(X)", zout,zout)
     
    149149          CALL histdef(nid_nmc, "vphi",
    150150     .         "vphi ",
    151      .         "m2/s",iim,jjphy_nb,nhori,
     151     .         "m2/s",iim,jj_nb,nhori,
    152152     .          nlevSTD,1,nlevSTD, nvert, 32,
    153153     .         "inst(X)", zout,zout)
     
    155155          CALL histdef(nid_nmc, "wT",
    156156     .         "wT ",
    157      .         "K*Pa/s",iim,jjphy_nb,nhori,
     157     .         "K*Pa/s",iim,jj_nb,nhori,
    158158     .          nlevSTD,1,nlevSTD, nvert, 32,
    159159     .         "inst(X)", zout,zout)
     
    161161          CALL histdef(nid_nmc, "uxu",
    162162     .         "u2 ",
    163      .         "m2/s2",iim,jjphy_nb,nhori,
     163     .         "m2/s2",iim,jj_nb,nhori,
    164164     .          nlevSTD,1,nlevSTD, nvert, 32,
    165165     .         "inst(X)", zout,zout)
     
    167167          CALL histdef(nid_nmc, "vxv",
    168168     .         "v2 ",
    169      .         "m2/s2",iim,jjphy_nb,nhori,
     169     .         "m2/s2",iim,jj_nb,nhori,
    170170     .          nlevSTD,1,nlevSTD, nvert, 32,
    171171     .         "inst(X)", zout,zout)
     
    173173          CALL histdef(nid_nmc, "TxT",
    174174     .         "T2 ",
    175      .         "K2",iim,jjphy_nb,nhori,
     175     .         "K2",iim,jj_nb,nhori,
    176176     .          nlevSTD,1,nlevSTD, nvert, 32,
    177177     .         "inst(X)", zout,zout)
  • LMDZ4/trunk/libf/phylmd/ini_histrac.h

    r766 r776  
    2626c
    2727         CALL histdef(nid_tra, "phis", "Surface geop. height", "-",
    28      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     28     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    2929     .                "once",  zsto,zout)
    3030c
    3131         CALL histdef(nid_tra, "aire", "Grid area", "-",
    32      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     32     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    3333     .                "once",  zsto,zout)
    3434         DO it=1,nqmax
     
    3737         iiq=niadv(iq)
    3838         CALL histdef(nid_tra, tnom(iq), ttext(iiq), "U/kga",
    39      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     39     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    4040     .                "ave(X)", zsto,zout)
    4141         if (lessivage) THEN
    4242         CALL histdef(nid_tra, "fl"//tnom(iq),"Flux "//ttext(iiq),
    43      .              "U/m2/s",iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     43     .              "U/m2/s",iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    4444     .              "ave(X)", zsto,zout)
    4545         endif
     
    4848         CALL histdef(nid_tra, "d_tr_th_"//tnom(iq),
    4949     .                "tendance thermique"// ttext(iiq), "?",
    50      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     50     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    5151     .                "ave(X)", zsto,zout)
    5252         CALL histdef(nid_tra, "d_tr_cv_"//tnom(iq),
    5353     .                "tendance convection"// ttext(iiq), "?",
    54      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     54     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    5555     .                "ave(X)", zsto,zout)
    5656         CALL histdef(nid_tra, "d_tr_cl_"//tnom(iq),
    5757     .                "tendance couche limite"// ttext(iiq), "?",
    58      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     58     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    5959     .                "ave(X)", zsto,zout)
    6060c---fin Olivia   
     
    6363
    6464         CALL histdef(nid_tra, "pyu1", "Vent niv 1", "-",
    65      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     65     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    6666     .                "inst(X)",  zout,zout)
    6767
    6868         CALL histdef(nid_tra, "pyv1", "Vent niv 1", "-",
    69      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     69     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    7070     .                "inst(X)",  zout,zout)
    7171         CALL histdef(nid_tra, "psrf1", "nature sol", "-",
    72      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     72     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    7373     .                "inst(X)",  zout,zout)
    7474         CALL histdef(nid_tra, "psrf2", "nature sol", "-",
    75      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     75     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    7676     .                "inst(X)",  zout,zout)
    7777         CALL histdef(nid_tra, "psrf3", "nature sol", "-",
    78      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     78     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    7979     .                "inst(X)",  zout,zout)
    8080         CALL histdef(nid_tra, "psrf4", "nature sol", "-",
    81      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     81     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    8282     .                "inst(X)",  zout,zout)
    8383         CALL histdef(nid_tra, "ftsol1", "temper sol", "-",
    84      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     84     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    8585     .                "inst(X)",  zout,zout)
    8686         CALL histdef(nid_tra, "ftsol2", "temper sol", "-",
    87      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     87     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    8888     .                "inst(X)",  zout,zout)
    8989         CALL histdef(nid_tra, "ftsol3", "temper sol", "-",
    90      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     90     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    9191     .                "inst",  zout,zout)
    9292         CALL histdef(nid_tra, "ftsol4", "temper sol", "-",
    93      .                iim,jjphy_nb,nhori, 1,1,1, -99, 32,
     93     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
    9494     .                "inst(X)",  zout,zout)
    9595         CALL histdef(nid_tra, "pplay", "flux u mont","-",
    96      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     96     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    9797     .                "inst(X)", zout,zout)
    9898         CALL histdef(nid_tra, "t", "flux u mont","-",
    99      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     99     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    100100     .                "inst(X)", zout,zout)
    101101         CALL histdef(nid_tra, "mfu", "flux u mont","-",
    102      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     102     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    103103     .                "ave(X)", zsto,zout)
    104104         CALL histdef(nid_tra, "mfd", "flux u decen","-",
    105      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     105     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    106106     .                "ave(X)", zsto,zout)
    107107         CALL histdef(nid_tra, "en_u", "flux u mont","-",
    108      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     108     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    109109     .                "ave(X)", zsto,zout)
    110110         CALL histdef(nid_tra, "en_d", "flux u mont","-",
    111      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     111     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    112112     .                "ave(X)", zsto,zout)
    113113         CALL histdef(nid_tra, "de_d", "flux u mont","-",
    114      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     114     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    115115     .                "ave(X)", zsto,zout)
    116116         CALL histdef(nid_tra, "de_u", "flux u decen","-",
    117      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     117     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    118118     .                "ave(X)", zsto,zout)
    119119         CALL histdef(nid_tra, "coefh", "turbulent coef","-",
    120      .                iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,
     120     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
    121121     .                "ave(X)", zsto,zout)
    122122
  • LMDZ4/trunk/libf/phylmd/ini_paramLMDZ_phy.h

    r766 r776  
    11cym    Non implemente en mode parallele
    22
    3        IF (monocpu) THEN 
     3       IF (is_sequential) THEN 
    44c
    55       zstophy = dtime
     
    361361       CALL histend(nid_ctesGCM)
    362362       
    363        ENDIF ! monocpu
     363       ENDIF ! is_sequential
    364364c
    365365c=================================================================
  • LMDZ4/trunk/libf/phylmd/ini_undefSTD.F

    r766 r776  
     1!
     2! $Header$
     3!
     4
    15      SUBROUTINE ini_undefSTD(nlevSTD,itap,
    26     $           dtime,ecrit_day,ecrit_mth,
  • LMDZ4/trunk/libf/phylmd/iniphysiq.F

    r766 r776  
    99     $           plat,plon,parea,pcu,pcv,
    1010     $           prad,pg,pr,pcpp)
    11       USE dimphy,klon2=>klon,klon=>klon2
     11      USE dimphy
     12      USE mod_grid_phy_lmdz
     13      USE mod_phys_lmdz_para
    1214      USE comgeomphy
    1315      IMPLICIT NONE
     
    5254 
    5355      INTEGER ngrid,nlayer
    54       REAL plat(ngrid),plon(ngrid),parea(klon),pcu(klon),pcv(klon)
     56      REAL plat(ngrid),plon(ngrid),parea(klon_glo)
     57      REAL pcu(klon_glo),pcv(klon_glo)
    5558      INTEGER pdayref
    5659      INTEGER :: ibegin,iend
     
    6669      ENDIF
    6770
    68       IF (ngrid.NE.klon) THEN
     71      IF (ngrid.NE.klon_glo) THEN
    6972         PRINT*,'STOP in inifis'
    7073         PRINT*,'Probleme de dimensions :'
    7174         PRINT*,'ngrid     = ',ngrid
    72          PRINT*,'klon   = ',klon
     75         PRINT*,'klon   = ',klon_glo
    7376         STOP
    7477      ENDIF
    7578c$OMP PARALLEL PRIVATE(ibegin,iend)
    7679c$OMP+         SHARED(parea,pcu,pcv,plon,plat)
    77       ibegin=klon_begin+klon_omp_begin(omp_rank)-1
    78       iend=ibegin+klon_omp-1
    7980
    80       airephy(1:klon_omp)=parea(ibegin:iend)
    81       cuphy(1:klon_omp)=pcu(ibegin:iend)
    82       cvphy(1:klon_omp)=pcv(ibegin:iend)
    83       rlond(1:klon_omp) = plon(ibegin:iend)
    84       rlatd(1:klon_omp) = plat(ibegin:iend)
     81      airephy(1:klon_omp)=parea(klon_omp_begin:klon_omp_end)
     82      cuphy(1:klon_omp)=pcu(klon_omp_begin:klon_omp_end)
     83      cvphy(1:klon_omp)=pcv(klon_omp_begin:klon_omp_end)
     84      rlond(1:klon_omp) = plon(klon_omp_begin:klon_omp_end)
     85      rlatd(1:klon_omp) = plat(klon_omp_begin:klon_omp_end)
    8586
    8687      call suphec
  • LMDZ4/trunk/libf/phylmd/initphysto.F

    r766 r776  
    99       
    1010       USE dimphy
     11       USE mod_phys_lmdz_para
    1112       USE IOIPSL
    1213       USE iophy
     
    121122
    122123       CALL histdef(fileid, "phis", "Surface geop. height", "-",
    123      .                iim,jjphy_nb,nhoriid, 1,1,1, -99, 32,
     124     .                iim,jj_nb,nhoriid, 1,1,1, -99, 32,
    124125     .                "once", t_ops, t_wrt)
    125126c
     
    127128
    128129         CALL histdef(fileid, "aire", "Grid area", "-",
    129      .                iim,jjphy_nb,nhoriid, 1,1,1, -99, 32,
     130     .                iim,jj_nb,nhoriid, 1,1,1, -99, 32,
    130131     .                "once", t_ops, t_wrt)
    131132         write(*,*) 'apres aire ds initphysto'
     
    143144C
    144145      call histdef(fileid, 't', 'Temperature', 'K',
    145      .             iim, jjphy_nb, nhoriid, llm, 1, llm, zvertiid,
     146     .             iim, jj_nb, nhoriid, llm, 1, llm, zvertiid,
    146147     .             32, 'inst(X)', t_ops, t_wrt)
    147148        write(*,*) 'apres t ds initphysto'
     
    149150C
    150151      call histdef(fileid, 'mfu', 'flx m. pan. mt', 'kg m/s',
    151      .             iim, jjphy_nb, nhoriid, llm, 1, llm, zvertiid,
     152     .             iim, jj_nb, nhoriid, llm, 1, llm, zvertiid,
    152153     .             32, 'inst(X)', t_ops, t_wrt)
    153154        write(*,*) 'apres mfu ds initphysto'
     
    156157C
    157158      call histdef(fileid, 'mfd', 'flx m. pan. des', 'kg m/s',
    158      .             iim, jjphy_nb, nhoriid, llm, 1, llm, zvertiid,
     159     .             iim, jj_nb, nhoriid, llm, 1, llm, zvertiid,
    159160     .             32, 'inst(X)', t_ops, t_wrt)
    160161
     
    163164C
    164165      call histdef(fileid, 'en_u', 'flx ent pan mt', 'kg m/s',
    165      .             iim, jjphy_nb, nhoriid, llm, 1, llm, zvertiid,
     166     .             iim, jj_nb, nhoriid, llm, 1, llm, zvertiid,
    166167     .             32, 'inst(X)', t_ops, t_wrt)
    167168               write(*,*) 'apres en_u ds initphysto'
     
    170171C
    171172      call histdef(fileid, 'de_u', 'flx det pan mt', 'kg m/s',
    172      .             iim, jjphy_nb, nhoriid, llm, 1, llm, zvertiid,
     173     .             iim, jj_nb, nhoriid, llm, 1, llm, zvertiid,
    173174     .             32, 'inst(X)', t_ops, t_wrt)
    174175
     
    177178C
    178179      call histdef(fileid, 'en_d', 'flx ent pan dt', 'kg m/s',
    179      .             iim, jjphy_nb, nhoriid, llm, 1, llm, zvertiid,
     180     .             iim, jj_nb, nhoriid, llm, 1, llm, zvertiid,
    180181     .             32, 'inst(X)', t_ops, t_wrt)
    181182C
     
    185186C
    186187      call histdef(fileid, 'de_d', 'flx det pan dt', 'kg m/s',
    187      .             iim, jjphy_nb, nhoriid, llm, 1, llm, zvertiid,
     188     .             iim, jj_nb, nhoriid, llm, 1, llm, zvertiid,
    188189     .             32, 'inst(X)', t_ops, t_wrt)
    189190
     
    191192       
    192193        call histdef(fileid, "coefh", " ", " ",
    193      .             iim, jjphy_nb, nhoriid, llm, 1, llm, zvertiid,
     194     .             iim, jj_nb, nhoriid, llm, 1, llm, zvertiid,
    194195     .             32, "inst(X)", t_ops, t_wrt)
    195196
    196197c abderrahmane le 16 09 02
    197198        call histdef(fileid, "fm_th", " ", " ",
    198      .             iim, jjphy_nb, nhoriid, llm, 1, llm, zvertiid,
     199     .             iim, jj_nb, nhoriid, llm, 1, llm, zvertiid,
    199200     .             32, "inst(X)", t_ops, t_wrt)
    200201
    201202        call histdef(fileid, "en_th", " ", " ",
    202      .             iim, jjphy_nb, nhoriid, llm, 1, llm, zvertiid,
     203     .             iim, jj_nb, nhoriid, llm, 1, llm, zvertiid,
    203204     .             32, "inst(X)", t_ops, t_wrt)
    204205c fin aj
     
    207208
    208209        call histdef(fileid, 'frac_impa', ' ', ' ',
    209      .             iim, jjphy_nb, nhoriid, llm, 1, llm, zvertiid,
     210     .             iim, jj_nb, nhoriid, llm, 1, llm, zvertiid,
    210211     .             32, 'inst(X)', t_ops, t_wrt)
    211212       
    212213        call histdef(fileid, 'frac_nucl', ' ', ' ',
    213      .             iim, jjphy_nb, nhoriid, llm, 1, llm, zvertiid,
     214     .             iim, jj_nb, nhoriid, llm, 1, llm, zvertiid,
    214215     .             32, 'inst(X)', t_ops, t_wrt)
    215216
     
    218219c
    219220      CALL histdef(fileid, "pyu1", " ", " ",
    220      .                iim,jjphy_nb,nhoriid, 1,1,1, -99, 32,
     221     .                iim,jj_nb,nhoriid, 1,1,1, -99, 32,
    221222     .                "inst(X)", t_ops, t_wrt)
    222223
     
    225226c
    226227        CALL histdef(fileid, "pyv1", " ", " ",
    227      .                iim,jjphy_nb,nhoriid, 1,1,1, -99, 32,
     228     .                iim,jj_nb,nhoriid, 1,1,1, -99, 32,
    228229     .                "inst(X)", t_ops, t_wrt)
    229230       
     
    233234c
    234235        call histdef(fileid, "ftsol1", " ", " ",
    235      .             iim, jjphy_nb, nhoriid, 1, 1,1, -99,32,
     236     .             iim, jj_nb, nhoriid, 1, 1,1, -99,32,
    236237     .             "inst(X)", t_ops, t_wrt)
    237238
     
    240241c
    241242        call histdef(fileid, "ftsol2", " ", " ",
    242      .             iim, jjphy_nb, nhoriid, 1, 1,1, -99,32,
     243     .             iim, jj_nb, nhoriid, 1, 1,1, -99,32,
    243244     .             "inst(X)", t_ops, t_wrt)
    244245
     
    247248c
    248249        call histdef(fileid, "ftsol3", " ", " ",
    249      .             iim, jjphy_nb, nhoriid, 1, 1,1, -99,
     250     .             iim, jj_nb, nhoriid, 1, 1,1, -99,
    250251     .             32, "inst(X)", t_ops, t_wrt)
    251252
     
    254255c
    255256        call histdef(fileid, "ftsol4", " ", " ",
    256      .             iim, jjphy_nb, nhoriid, 1, 1,1, -99,
     257     .             iim, jj_nb, nhoriid, 1, 1,1, -99,
    257258     .             32, "inst(X)", t_ops, t_wrt)
    258259       
     
    261262c
    262263        call histdef(fileid, "rain", " ", " ",
    263      .             iim, jjphy_nb, nhoriid, 1, 1,1, -99,
     264     .             iim, jj_nb, nhoriid, 1, 1,1, -99,
    264265     .             32, "inst(X)", t_ops, t_wrt)
    265266
     
    268269c
    269270        call histdef(fileid, "psrf1", " ", " ",
    270      .             iim, jjphy_nb, nhoriid, 1, 1, 1, -99,
     271     .             iim, jj_nb, nhoriid, 1, 1, 1, -99,
    271272     .             32, "inst(X)", t_ops, t_wrt)
    272273       
     
    275276c
    276277        call histdef(fileid, "psrf2", " ", " ",
    277      .             iim, jjphy_nb, nhoriid, 1, 1, 1, -99,
     278     .             iim, jj_nb, nhoriid, 1, 1, 1, -99,
    278279     .             32, "inst(X)", t_ops, t_wrt)
    279280
     
    282283c
    283284        call histdef(fileid, "psrf3", " ", " ",
    284      .             iim, jjphy_nb, nhoriid, 1, 1, 1, -99,
     285     .             iim, jj_nb, nhoriid, 1, 1, 1, -99,
    285286     .             32, "inst(X)", t_ops, t_wrt)
    286287
     
    289290c
    290291        call histdef(fileid, "psrf4", " ", " ",
    291      .             iim, jjphy_nb, nhoriid, 1, 1, 1, -99,
     292     .             iim, jj_nb, nhoriid, 1, 1, 1, -99,
    292293     .             32, "inst(X)", t_ops, t_wrt)
    293294       
  • LMDZ4/trunk/libf/phylmd/interface_surf.F90

    r766 r776  
    8888
    8989
    90    USE dimphy,only : monocpu,jjphy_nb,omp_rank
     90   USE mod_phys_lmdz_para
    9191! Cette routine sert d'aiguillage entre l'atmosphere et la surface en general
    9292! (sols continentaux, oceans, glaces) pour les fluxs de chaleur et d'humidite.
     
    429429
    430430!!$PB
    431       ALLOCATE (tmp_rriv(iim,jjphy_nb), stat=error)
     431      ALLOCATE (tmp_rriv(iim,jj_nb), stat=error)
    432432      if (error /= 0) then
    433433        abort_message='Pb allocation tmp_rriv'
     
    435435      endif
    436436      tmp_rriv=0.
    437       ALLOCATE (tmp_rcoa(iim,jjphy_nb), stat=error)
     437      ALLOCATE (tmp_rcoa(iim,jj_nb), stat=error)
    438438      if (error /= 0) then
    439439        abort_message='Pb allocation tmp_rcoa'
     
    442442      tmp_rcoa=0.
    443443!ym      ALLOCATE (tmp_rlic(iim,jjm+1), stat=error)
    444       ALLOCATE (tmp_rlic(iim,jjphy_nb), stat=error)
     444      ALLOCATE (tmp_rlic(iim,jj_nb), stat=error)
    445445      if (error /= 0) then
    446446        abort_message='Pb allocation tmp_rlic'
     
    10341034
    10351035  USE intersurf
    1036   USE dimphy, klon_x=>klon
     1036  USE mod_grid_phy_lmdz
     1037  USE mod_phys_lmdz_para
    10371038  IMPLICIT NONE
    10381039! Cette routine sert d'interface entre le modele atmospherique et le
     
    11751176  integer :: jjb,jje,ijb,ije
    11761177  INTEGER,SAVE :: offset
    1177   REAL, dimension(klon2) :: rlon_g,rlat_g
     1178  REAL, dimension(klon_glo) :: rlon_g,rlat_g
    11781179  INTEGER, SAVE          :: orch_comm
    11791180#include "temps.inc"
     
    12451246
    12461247   
    1247     Call GatherField(rlon,rlon_g,1)
    1248     Call GatherField(rlat,rlat_g,1)
    1249 
    1250     IF (phy_rank==0) THEN
     1248    CALL Gather(rlon,rlon_g)
     1249    CALL Gather(rlat,rlat_g)
     1250
     1251    IF (is_mpi_root) THEN
    12511252      index = 1
    12521253      do jj = 2, jjm
     
    12601261     lat_scat(:,1) = rlat_g(1)
    12611262     lon_scat(:,jjm+1) = lon_scat(:,2)
    1262      lat_scat(:,jjm+1) = rlat_g(klon2)
     1263     lat_scat(:,jjm+1) = rlat_g(klon_glo)
    12631264   ENDIF
    12641265   
     
    13451346!    offset=offset-MOD(offset,iim)
    13461347!  endif
    1347  
    1348   PRINT *,'ORCHIDEE ------> KNON : ',knon
    13491348 
    13501349   
     
    13951394    bidule=0.
    13961395    bidule(1:knon)=riverflow(1:knon)
    1397     call gath2cpl(bidule, tmp_rriv, klon, knon,iim,jjphy_nb,knindex)
     1396    call gath2cpl(bidule, tmp_rriv, klon, knon,iim,jj_nb,knindex)
    13981397    bidule=0.
    13991398    bidule(1:knon)=coastalflow(1:knon)
    1400     call gath2cpl(bidule, tmp_rcoa, klon, knon,iim,jjphy_nb,knindex)
     1399    call gath2cpl(bidule, tmp_rcoa, klon, knon,iim,jj_nb,knindex)
    14011400    alb_new(1:knon) = albedo_out(1:knon,1)
    14021401    alblw(1:knon) = albedo_out(1:knon,2)
     
    14141413 
    14151414  SUBROUTINE Init_orchidee_index(iim,knon,orch_comm,knindex,offset,ktindex)
    1416   USE dimphy
     1415  USE mod_phys_lmdz_para, ONLY : is_parallel
     1416 
    14171417  IMPLICIT NONE
    14181418    INTEGER,INTENT(IN)  :: iim
     
    14351435    MyLastPoint=klon_begin-1+knindex(knon)+iim-1
    14361436
    1437     IF (.NOT. monocpu) THEN
     1437    IF (is_parallel) THEN
    14381438#ifdef CPP_PARA   
    14391439      call MPI_COMM_SIZE(orch_comm,mpi_size,ierr)
     
    14451445    ENDIF
    14461446   
    1447     IF (.NOT. monocpu) THEN
     1447    IF (is_parallel) THEN
    14481448      IF (mpi_rank /= 0) then
    14491449#ifdef CPP_PARA
     
    14721472 
    14731473  SUBROUTINE Get_orchidee_communicator(knon,orch_comm)
    1474   USE dimphy, only : phy_rank
    1475 #ifdef CPP_PARA
    1476   USE parallel, only : COMM_LMDZ
    1477 #endif
     1474  USE mod_phys_lmdz_para, ONLY: mpi_rank, COMM_LMDZ_PHY
     1475
    14781476  IMPLICIT NONE
    14791477#ifdef CPP_PARA
     
    14931491
    14941492#ifdef CPP_PARA   
    1495     CALL MPI_COMM_SPLIT(COMM_LMDZ,color,phy_rank,orch_comm,ierr)
     1493    CALL MPI_COMM_SPLIT(COMM_LMDZ_PHY,color,mpi_rank,orch_comm,ierr)
    14961494#endif
    14971495   
     
    15001498   
    15011499  SUBROUTINE Init_neighbours(iim,jjm,knon,neighbours,ktindex,pctsrf)
    1502 #ifdef CPP_PARA
    1503   USE parallel,only : COMM_LMDZ
    1504 #endif
     1500  USE mod_phys_lmdz_para, not_use_mpi_root=>mpi_root
    15051501  USE dimphy
    15061502  IMPLICIT NONE
     1503
    15071504#ifdef CPP_PARA
    15081505  include 'mpif.h'
     
    15141511  REAL :: pctsrf(klon)
    15151512 
    1516   INTEGER :: knon_nb(0:phy_size-1)
    1517   INTEGER,DIMENSION(0:phy_size-1) :: displs,sendcount
     1513  INTEGER :: knon_nb(0:mpi_size-1)
     1514  INTEGER,DIMENSION(0:mpi_size-1) :: displs,sendcount
    15181515  INTEGER,ALLOCATABLE :: ktindex_g(:)
    15191516  REAL*8  :: pctsrf_g(klon2)
     
    15261523  INTEGER :: ktindex_p(knon)
    15271524
    1528   IF (monocpu) THEN
     1525  IF (is_sequential) THEN
    15291526    knon_nb(:)=knon
    15301527  ELSE 
    15311528
    15321529#ifdef CPP_PARA 
    1533     CALL MPI_GATHER(knon,1,MPI_INTEGER,knon_nb,1,MPI_INTEGER,0,COMM_LMDZ,ierr)
     1530    CALL MPI_GATHER(knon,1,MPI_INTEGER,knon_nb,1,MPI_INTEGER,0,COMM_LMDZ_PHY,ierr)
    15341531#endif
    15351532 
    15361533  ENDIF
    15371534   
    1538   IF (phy_rank==0) THEN
     1535  IF (is_mpi_root) THEN
    15391536    knon_g=sum(knon_nb(:))
    15401537    ALLOCATE(ktindex_g(knon_g))
     
    15421539    neighbours_g(:,:)=-1
    15431540    displs(0)=0
    1544     DO i=1,phy_size-1
     1541    DO i=1,mpi_size-1
    15451542      displs(i)=displs(i-1)+knon_nb(i-1)
    15461543    ENDDO 
     
    15491546  ktindex_p(:)=ktindex(:)+klon_begin-1+iim-1
    15501547
    1551   IF (monocpu) THEN
     1548  IF (is_sequential) THEN
    15521549    ktindex_g(:)=ktindex_p(:)
    15531550  ELSE
    15541551
    15551552#ifdef CPP_PARA 
    1556     CALL MPI_GATHERV(ktindex_p,knon,MPI_INTEGER,ktindex_g,knon_nb,displs,MPI_INTEGER,0,COMM_LMDZ,ierr)
     1553    CALL MPI_GATHERV(ktindex_p,knon,MPI_INTEGER,ktindex_g,knon_nb,displs,MPI_INTEGER,0,COMM_LMDZ_PHY,ierr)
    15571554#endif
    15581555
    15591556  ENDIF
    15601557     
    1561   CALL GatherField(pctsrf,pctsrf_g,1)
     1558  CALL Gather(pctsrf,pctsrf_g)
    15621559 
    1563   IF (phy_rank==0) THEN
     1560  IF (is_mpi_root) THEN
    15641561!  Initialisation des offset   
    15651562!
     
    16151612 
    16161613  DO i=1,8
    1617     IF (monocpu) THEN
     1614    IF (is_sequential) THEN
    16181615      neighbours(:,i)=neighbours_g(:,i)
    16191616    ELSE
    16201617#ifdef CPP_PARA
    1621     CALL MPI_SCATTERV(neighbours_g(:,i),knon_nb,displs,MPI_INTEGER,neighbours(:,i),knon,MPI_INTEGER,0,COMM_LMDZ,ierr)
     1618    CALL MPI_SCATTERV(neighbours_g(:,i),knon_nb,displs,MPI_INTEGER,neighbours(:,i),knon,MPI_INTEGER,0,COMM_LMDZ_PHY,ierr)
    16221619#endif
    16231620    ENDIF
     
    16421639
    16431640   USE ioipsl
    1644    USE dimphy, only : jjphy_nb, iiphy_begin,iiphy_end,phy_rank,phy_size, monocpu
     1641   USE mod_phys_lmdz_para, not_use_mpi_root=>mpi_root
     1642   
    16451643   USE iophy
    1646 #ifdef CPP_PARA
    1647    USE parallel, only: pole_nord,pole_sud,COMM_LMDZ
    1648 #endif
     1644
    16491645#ifdef CPP_PSMILE
    16501646   USE oasis
     
    17741770!ym  REAL, DIMENSION(iim, jjm+1) :: tmp_lon, tmp_lat
    17751771
    1776   real, dimension(iim, jjphy_nb) :: wri_sol_ice, wri_sol_sea, wri_nsol_ice
    1777   real, dimension(iim, jjphy_nb) :: wri_nsol_sea, wri_fder_ice, wri_evap_ice
    1778   REAL, DIMENSION(iim, jjphy_nb) :: wri_evap_sea, wri_rcoa, wri_rriv
    1779   REAL, DIMENSION(iim, jjphy_nb) :: wri_rain, wri_snow, wri_taux, wri_tauy
    1780   REAL, DIMENSION(iim, jjphy_nb) :: wri_calv
    1781   REAL, DIMENSION(iim, jjphy_nb) :: wri_tauxx, wri_tauyy, wri_tauzz
    1782   REAL, DIMENSION(iim, jjphy_nb) :: tmp_lon, tmp_lat
    1783   REAL, DIMENSION(iim, jjphy_nb) :: wri_windsp
     1772  real, dimension(iim, jj_nb) :: wri_sol_ice, wri_sol_sea, wri_nsol_ice
     1773  real, dimension(iim, jj_nb) :: wri_nsol_sea, wri_fder_ice, wri_evap_ice
     1774  REAL, DIMENSION(iim, jj_nb) :: wri_evap_sea, wri_rcoa, wri_rriv
     1775  REAL, DIMENSION(iim, jj_nb) :: wri_rain, wri_snow, wri_taux, wri_tauy
     1776  REAL, DIMENSION(iim, jj_nb) :: wri_calv
     1777  REAL, DIMENSION(iim, jj_nb) :: wri_tauxx, wri_tauyy, wri_tauzz
     1778  REAL, DIMENSION(iim, jj_nb) :: tmp_lon, tmp_lat
     1779  REAL, DIMENSION(iim, jj_nb) :: wri_windsp
    17841780
    17851781! variables relues par le coupleur
     
    17931789! l'avoir lu
    17941790  real, allocatable,dimension(:,:),save :: pctsrf_sav
    1795   real, dimension(iim, jjphy_nb, 3) :: tamp_srf
     1791  real, dimension(iim, jj_nb, 3) :: tamp_srf
    17961792  integer, allocatable, dimension(:), save :: tamp_ind
    17971793  real, allocatable, dimension(:,:),save :: tamp_zmasq
    1798   real, dimension(iim, jjphy_nb) :: deno
     1794  real, dimension(iim, jj_nb) :: deno
    17991795  integer                     :: idtime
    18001796  integer, allocatable,dimension(:),save :: unity
     
    18701866!ym    ALLOCATE(cpl_rcoa(iim,jjm+1), stat=error); sum_error = sum_error + error
    18711867!ym    ALLOCATE(cpl_rlic(iim,jjm+1), stat=error); sum_error = sum_error + error
    1872     ALLOCATE(cpl_rriv(iim,jjphy_nb), stat=error); sum_error = sum_error + error
    1873     ALLOCATE(cpl_rcoa(iim,jjphy_nb), stat=error); sum_error = sum_error + error
    1874     ALLOCATE(cpl_rlic(iim,jjphy_nb), stat=error); sum_error = sum_error + error
     1868    ALLOCATE(cpl_rriv(iim,jj_nb), stat=error); sum_error = sum_error + error
     1869    ALLOCATE(cpl_rcoa(iim,jj_nb), stat=error); sum_error = sum_error + error
     1870    ALLOCATE(cpl_rlic(iim,jj_nb), stat=error); sum_error = sum_error + error
    18751871
    18761872
     
    18801876!ym    allocate(read_sit(iim, jjm+1), stat = error); sum_error = sum_error + error
    18811877!ym    allocate(read_alb_sic(iim, jjm+1), stat = error); sum_error = sum_error + error
    1882     allocate(read_sst(iim, jjphy_nb), stat = error); sum_error = sum_error + error
    1883     allocate(read_sic(iim, jjphy_nb), stat = error); sum_error = sum_error + error
    1884     allocate(read_sit(iim, jjphy_nb), stat = error); sum_error = sum_error + error
    1885     allocate(read_alb_sic(iim, jjphy_nb), stat = error); sum_error = sum_error + error
     1878    allocate(read_sst(iim, jj_nb), stat = error); sum_error = sum_error + error
     1879    allocate(read_sic(iim, jj_nb), stat = error); sum_error = sum_error + error
     1880    allocate(read_sit(iim, jj_nb), stat = error); sum_error = sum_error + error
     1881    allocate(read_alb_sic(iim, jj_nb), stat = error); sum_error = sum_error + error
    18861882    read_sst=0.
    18871883    read_sic=0.
     
    19021898    allocate(tamp_ind(klon), stat = error); sum_error = sum_error + error
    19031899!ym    allocate(tamp_zmasq(iim, jjm+1), stat = error); sum_error = sum_error + error   
    1904     allocate(tamp_zmasq(iim, jjphy_nb), stat = error); sum_error = sum_error + error   
     1900    allocate(tamp_zmasq(iim, jj_nb), stat = error); sum_error = sum_error + error   
    19051901    tamp_zmasq=1.
    19061902   
     
    19081904      tamp_ind(ig) = ig
    19091905    enddo
    1910     call gath2cpl(zmasq, tamp_zmasq, klon, klon, iim, jjphy_nb, tamp_ind)
     1906    call gath2cpl(zmasq, tamp_zmasq, klon, klon, iim, jj_nb, tamp_ind)
    19111907!
    19121908! initialisation couplage
     
    19171913   CALL inicma(iim, (jjm+1))
    19181914#else
    1919    if (.not. monocpu) then
     1915   if (is_parallel) then
    19201916      abort_message='coupleur parallele uniquement avec PSMILE'
    19211917      call abort_gcm(modname,abort_message,1)
     
    19281924!
    19291925 !ym  IO de check deconnecte pour le moment en //
    1930     IF (monocpu) THEN
     1926    IF (is_sequential) THEN
    19311927    idayref = day_ini
    19321928    CALL ymds2ju(annee_ref, 1, idayref, 0.0, zjulian)
     
    20492045#ifdef CPP_PSMILE
    20502046      il_time_secs=(itime-1)*dtime
    2051       CALL fromcpl(il_time_secs, iim, jjphy_nb,                           &
     2047      CALL fromcpl(il_time_secs, iim, jj_nb,                           &
    20522048     &        read_sst, read_sic, read_sit, read_alb_sic)
    20532049#else
    2054      if (.not. monocpu) then
     2050     if (is_parallel) then
    20552051        abort_message='coupleur parallele uniquement avec PSMILE'
    20562052        call abort_gcm(modname,abort_message,1)
     
    20642060! sorties NETCDF des champs recus
    20652061!
    2066      if (monocpu) THEN
     2062     if (is_sequential) THEN
    20672063       ndexcs(:)=0
    20682064       itau_w = itau_phy + itime
     
    20762072
    20772073!ym      do j = 1, jjm + 1
    2078        do j = 1, jjphy_nb
     2074       do j = 1, jj_nb
    20792075         do ig = 1, iim
    20802076          if (abs(1. - read_sic(ig,j)) < 0.00001) then
     
    20962092! transformer read_sic en pctsrf_sav
    20972093!
    2098       call cpl2gath(read_sic, tamp_sic , klon, klon,iim,jjphy_nb, unity)
     2094      call cpl2gath(read_sic, tamp_sic , klon, klon,iim,jj_nb, unity)
    20992095      do ig = 1, klon
    21002096        IF (pctsrf(ig,is_oce) > epsfra .OR.            &
     
    21392135    if (nisurf == is_oce .and. (.not. cumul) ) then
    21402136      sum_error = 0
    2141       allocate(tmp_sols(iim,jjphy_nb,2), stat=error); sum_error = sum_error + error
    2142       allocate(tmp_nsol(iim,jjphy_nb,2), stat=error); sum_error = sum_error + error
    2143       allocate(tmp_rain(iim,jjphy_nb,2), stat=error); sum_error = sum_error + error
    2144       allocate(tmp_snow(iim,jjphy_nb,2), stat=error); sum_error = sum_error + error
    2145       allocate(tmp_evap(iim,jjphy_nb,2), stat=error); sum_error = sum_error + error
    2146       allocate(tmp_tsol(iim,jjphy_nb,2), stat=error); sum_error = sum_error + error
    2147       allocate(tmp_fder(iim,jjphy_nb,2), stat=error); sum_error = sum_error + error
    2148       allocate(tmp_albe(iim,jjphy_nb,2), stat=error); sum_error = sum_error + error
    2149       allocate(tmp_taux(iim,jjphy_nb,2), stat=error); sum_error = sum_error + error
    2150       allocate(tmp_tauy(iim,jjphy_nb,2), stat=error); sum_error = sum_error + error
    2151 ! -- LOOP
    2152        allocate(tmp_windsp(iim,jjphy_nb,2), stat=error); sum_error = sum_error + error
     2137      allocate(tmp_sols(iim,jj_nb,2), stat=error); sum_error = sum_error + error
     2138      allocate(tmp_nsol(iim,jj_nb,2), stat=error); sum_error = sum_error + error
     2139      allocate(tmp_rain(iim,jj_nb,2), stat=error); sum_error = sum_error + error
     2140      allocate(tmp_snow(iim,jj_nb,2), stat=error); sum_error = sum_error + error
     2141      allocate(tmp_evap(iim,jj_nb,2), stat=error); sum_error = sum_error + error
     2142      allocate(tmp_tsol(iim,jj_nb,2), stat=error); sum_error = sum_error + error
     2143      allocate(tmp_fder(iim,jj_nb,2), stat=error); sum_error = sum_error + error
     2144      allocate(tmp_albe(iim,jj_nb,2), stat=error); sum_error = sum_error + error
     2145      allocate(tmp_taux(iim,jj_nb,2), stat=error); sum_error = sum_error + error
     2146      allocate(tmp_tauy(iim,jj_nb,2), stat=error); sum_error = sum_error + error
     2147! -- LOOP
     2148       allocate(tmp_windsp(iim,jj_nb,2), stat=error); sum_error = sum_error + error
    21532149! -- LOOP
    21542150!!$      allocate(tmp_rriv(iim,jjm+1,2), stat=error); sum_error = sum_error + error
     
    21652161    cpl_index = 1
    21662162    if (nisurf == is_sic) cpl_index = 2
    2167     call gath2cpl(cpl_sols(1,cpl_index), tmp_sols(1,1,cpl_index), klon, knon,iim,jjphy_nb,                  knindex)
    2168     call gath2cpl(cpl_nsol(1,cpl_index), tmp_nsol(1,1,cpl_index), klon, knon,iim,jjphy_nb,                  knindex)
    2169     call gath2cpl(cpl_rain(1,cpl_index), tmp_rain(1,1,cpl_index), klon, knon,iim,jjphy_nb,                  knindex)
    2170     call gath2cpl(cpl_snow(1,cpl_index), tmp_snow(1,1,cpl_index), klon, knon,iim,jjphy_nb,                  knindex)
    2171     call gath2cpl(cpl_evap(1,cpl_index), tmp_evap(1,1,cpl_index), klon, knon,iim,jjphy_nb,                  knindex)
    2172     call gath2cpl(cpl_tsol(1,cpl_index), tmp_tsol(1,1,cpl_index), klon, knon,iim,jjphy_nb,                  knindex)
    2173     call gath2cpl(cpl_fder(1,cpl_index), tmp_fder(1,1,cpl_index), klon, knon,iim,jjphy_nb,                  knindex)
    2174     call gath2cpl(cpl_albe(1,cpl_index), tmp_albe(1,1,cpl_index), klon, knon,iim,jjphy_nb,                  knindex)
    2175     call gath2cpl(cpl_taux(1,cpl_index), tmp_taux(1,1,cpl_index), klon, knon,iim,jjphy_nb,                  knindex)
    2176     call gath2cpl(cpl_tauy(1,cpl_index), tmp_tauy(1,1,cpl_index), klon, knon,iim,jjphy_nb,                  knindex)
    2177 ! -- LOOP
    2178      call gath2cpl(cpl_windsp(1,cpl_index), tmp_windsp(1,1,cpl_index), klon, knon,iim,jjphy_nb,            knindex)
     2163    call gath2cpl(cpl_sols(1,cpl_index), tmp_sols(1,1,cpl_index), klon, knon,iim,jj_nb,                  knindex)
     2164    call gath2cpl(cpl_nsol(1,cpl_index), tmp_nsol(1,1,cpl_index), klon, knon,iim,jj_nb,                  knindex)
     2165    call gath2cpl(cpl_rain(1,cpl_index), tmp_rain(1,1,cpl_index), klon, knon,iim,jj_nb,                  knindex)
     2166    call gath2cpl(cpl_snow(1,cpl_index), tmp_snow(1,1,cpl_index), klon, knon,iim,jj_nb,                  knindex)
     2167    call gath2cpl(cpl_evap(1,cpl_index), tmp_evap(1,1,cpl_index), klon, knon,iim,jj_nb,                  knindex)
     2168    call gath2cpl(cpl_tsol(1,cpl_index), tmp_tsol(1,1,cpl_index), klon, knon,iim,jj_nb,                  knindex)
     2169    call gath2cpl(cpl_fder(1,cpl_index), tmp_fder(1,1,cpl_index), klon, knon,iim,jj_nb,                  knindex)
     2170    call gath2cpl(cpl_albe(1,cpl_index), tmp_albe(1,1,cpl_index), klon, knon,iim,jj_nb,                  knindex)
     2171    call gath2cpl(cpl_taux(1,cpl_index), tmp_taux(1,1,cpl_index), klon, knon,iim,jj_nb,                  knindex)
     2172    call gath2cpl(cpl_tauy(1,cpl_index), tmp_tauy(1,1,cpl_index), klon, knon,iim,jj_nb,                  knindex)
     2173! -- LOOP
     2174     call gath2cpl(cpl_windsp(1,cpl_index), tmp_windsp(1,1,cpl_index), klon, knon,iim,jj_nb,            knindex)
    21792175! -- LOOP
    21802176
     
    21882184       wri_windsp = 0.
    21892185! -- LOOP     
    2190       call gath2cpl(pctsrf(1,is_oce), tamp_srf(1,1,1), klon, klon, iim, jjphy_nb, tamp_ind)
    2191       call gath2cpl(pctsrf(1,is_sic), tamp_srf(1,1,2), klon, klon, iim, jjphy_nb, tamp_ind)
     2186      call gath2cpl(pctsrf(1,is_oce), tamp_srf(1,1,1), klon, klon, iim, jj_nb, tamp_ind)
     2187      call gath2cpl(pctsrf(1,is_sic), tamp_srf(1,1,2), klon, klon, iim, jj_nb, tamp_ind)
    21922188
    21932189      wri_sol_ice = tmp_sols(:,:,2)
     
    22142210!Essai OM+JLD : ca marche !!!! (17 mars 2006)
    22152211      tamp_srf(:,:,3)=0.
    2216       CALL gath2cpl( pctsrf(1,is_lic), tamp_srf(1,1,3), klon, klon, iim, jjphy_nb, tamp_ind)
     2212      CALL gath2cpl( pctsrf(1,is_lic), tamp_srf(1,1,3), klon, klon, iim, jj_nb, tamp_ind)
    22172213
    22182214!YM pour retrouver resultat avant tamp_srf(:,3)=1.
    22192215     
    2220       DO j = 1, jjphy_nb
     2216      DO j = 1, jj_nb
    22212217         wri_calv(:,j) = DOT_PRODUCT (cpl_rlic(1:iim,j), tamp_srf(1:iim,j,3)) / REAL(iim)
    22222218      ENDDO
     
    22272223!ym      enddo
    22282224
    2229       IF (.NOT. monocpu) THEN
    2230         if (phy_rank /= 0) then
     2225      IF (is_parallel) THEN
     2226        if (.NOT.is_north_pole) then
    22312227#ifdef CPP_PARA
    2232           call MPI_RECV(Up,1,MPI_REAL8,phy_rank-1,1234,COMM_LMDZ,status,ierr)
    2233           call MPI_SEND(wri_calv(1,1),1,MPI_REAL8,phy_rank-1,1234,COMM_LMDZ,ierr)
     2228          call MPI_RECV(Up,1,MPI_REAL_LMDZ,mpi_rank-1,1234,COMM_LMDZ_PHY,status,ierr)
     2229          call MPI_SEND(wri_calv(1,1),1,MPI_REAL_LMDZ,mpi_rank-1,1234,COMM_LMDZ_PHY,ierr)
    22342230#endif
    22352231        endif
    22362232       
    2237         if (phy_rank /= phy_size-1) then
     2233        if (.NOT.is_south_pole) then
    22382234#ifdef CPP_PARA
    2239           call MPI_SEND(wri_calv(1,jjphy_nb),1,MPI_REAL8,phy_rank+1,1234,COMM_LMDZ,ierr) 
    2240           call MPI_RECV(down,1,MPI_REAL8,phy_rank+1,1234,COMM_LMDZ,status,ierr)
     2235          call MPI_SEND(wri_calv(1,jj_nb),1,MPI_REAL_LMDZ,mpi_rank+1,1234,COMM_LMDZ_PHY,ierr) 
     2236          call MPI_RECV(down,1,MPI_REAL_LMDZ,mpi_rank+1,1234,COMM_LMDZ_PHY,status,ierr)
    22412237#endif
    22422238        endif
    22432239       
    2244         if (phy_rank /=0 .and. iiphy_begin /=1) then
     2240        if (mpi_rank /=0 .and. ii_begin /=1) then
    22452241          Up=Up+wri_calv(iim,1)
    22462242          wri_calv(:,1)=Up
    22472243        endif
    22482244     
    2249         if (phy_rank /=phy_size-1 .and. iiphy_end /= iim) then
    2250           Down=Down+wri_calv(1,jjphy_nb)
    2251           wri_calv(:,jjphy_nb)=Down     
     2245        if (mpi_rank /=mpi_size-1 .and. ii_end /= iim) then
     2246          Down=Down+wri_calv(1,jj_nb)
     2247          wri_calv(:,jj_nb)=Down         
    22522248        endif
    22532249      ENDIF
     
    22772273!ym      CALL gr_fi_ecrit(1,klon,iim,jjm+1,rlat,tmp_lat)
    22782274
    2279       CALL phy2dyn(rlon,tmp_lon,1)
    2280       CALL phy2dyn(rlat,tmp_lat,1)
    2281      
    2282 !ym      DO i = 1, iim
    2283 !ym        tmp_lon(i,1) = rlon(i+1)
    2284 !ym        tmp_lon(i,jjm + 1) = rlon(i+1)
    2285 !ym      ENDDO
    2286 
     2275!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     2276!!! ATENTION A NE PAS OUBLIER
     2277!!! REMPLACER phy2dyn par grid1DTo2D_mpi
     2278!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     2279
     2280       CALL Grid1DTo2D_mpi(rlon,tmp_lon)
     2281       CALL Grid1DTo2D_mpi(rlat,tmp_lat)
     2282
     2283
     2284!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     2285     IF (is_sequential) THEN
     2286       IF (is_north_pole) tmp_lon(:,1) = tmp_lon(:,2)
     2287       IF (is_south_pole) tmp_lon(:,jjm + 1) = tmp_lon(:,jjm)
     2288     ENDIF
    22872289!
    22882290! sortie netcdf des champs pour le changement de repere
    22892291!
    2290       IF (monocpu) THEN
     2292      IF (is_sequential) THEN
    22912293        ndexct(:)=0
    22922294        CALL histwrite(nidct,'tauxe',itau_w,wri_taux,iim*(jjm+1),ndexct)
     
    22982300! calcul 3 coordonnees du vent
    22992301!
    2300       CALL atm2geo (iim , jjphy_nb, wri_taux, wri_tauy, tmp_lon, tmp_lat, &
     2302      CALL atm2geo (iim , jj_nb, wri_taux, wri_tauy, tmp_lon, tmp_lat, &
    23012303         & wri_tauxx, wri_tauyy, wri_tauzz )
    23022304!
     
    23042306! envoi au coupleur
    23052307!
    2306     IF (monocpu) THEN
     2308    IF (is_sequential) THEN
    23072309      CALL histwrite(nidct,cl_writ(8),itau_w,wri_sol_ice,iim*(jjm+1),ndexct)
    23082310      CALL histwrite(nidct,cl_writ(9),itau_w,wri_sol_sea,iim*(jjm+1),ndexct)
     
    23892391!
    23902392  if (nisurf == is_oce) then
    2391     call cpl2gath(read_sst, tsurf_new, klon, knon,iim,jjphy_nb, knindex)
     2393    call cpl2gath(read_sst, tsurf_new, klon, knon,iim,jj_nb, knindex)
    23922394  else if (nisurf == is_sic) then
    2393     call cpl2gath(read_sit, tsurf_new, klon, knon,iim,jjphy_nb, knindex)
    2394     call cpl2gath(read_alb_sic, alb_new, klon, knon,iim,jjphy_nb, knindex)
     2395    call cpl2gath(read_sit, tsurf_new, klon, knon,iim,jj_nb, knindex)
     2396    call cpl2gath(read_alb_sic, alb_new, klon, knon,iim,jj_nb, knindex)
    23952397  endif
    23962398  pctsrf_new(:,nisurf) = pctsrf_sav(:,nisurf)
     
    26672669!
    26682670  SUBROUTINE interfoce_lim(itime, dtime, jour, &
    2669      & klon_xx, nisurf, knon, knindex, &
     2671     & klon, nisurf, knon, knindex, &
    26702672     & debut,  &
    26712673     & lmt_sst_p, pctsrf_new_p)
    26722674     
    2673      USE dimphy,klon=>klon2,klon2=>klon
    2674 
     2675     USE mod_grid_phy_lmdz
     2676     USE mod_phys_lmdz_para
    26752677#include "indicesol.inc"
    26762678
     
    27002702  real   , intent(IN) :: dtime
    27012703  integer, intent(IN) :: jour
    2702   integer, intent(in) :: klon_xx
     2704  integer, intent(in) :: klon
    27032705  integer, intent(IN) :: nisurf
    27042706  integer, intent(IN) :: knon
    2705   integer, dimension(klon2), intent(in) :: knindex
     2707  integer, dimension(klon_loc), intent(in) :: knindex
    27062708  logical, intent(IN) :: debut
    27072709
    27082710! Parametres de sortie
    2709   real, intent(out), dimension(klon2) :: lmt_sst_p
    2710   real, intent(out), dimension(klon2,nbsrf) :: pctsrf_new_p
     2711  real, intent(out), dimension(klon_loc) :: lmt_sst_p
     2712  real, intent(out), dimension(klon_loc,nbsrf) :: pctsrf_new_p
    27112713
    27122714!  real, dimension(klon) :: lmt_sst
    2713   real, dimension(klon,nbsrf) :: pctsrf_new
     2715  real, dimension(klon_glo,nbsrf) :: pctsrf_new
    27142716
    27152717! Variables locales
     
    27352737  real, allocatable , save, dimension(:) :: sst_lu_p
    27362738!$OMP THREADPRIVATE(sst_lu_p)
    2737   real, allocatable , save, dimension(:) :: sst_lu_mpi
    27382739
    27392740  real, allocatable , save, dimension(:,:) :: pct_tmp_p
    27402741!$OMP THREADPRIVATE(pct_tmp_p)
    2741   real, allocatable , save, dimension(:,:) :: pct_tmp_mpi
    2742   real, dimension(klon,nbsrf) :: pct_tmp
    2743   real, dimension(klon) :: sst_lu
    2744   real, dimension(klon) :: nat_lu
     2742  real, dimension(klon_glo,nbsrf) :: pct_tmp
     2743  real, dimension(klon_glo) :: sst_lu
     2744  real, dimension(klon_glo) :: nat_lu
    27452745!
    27462746! quelques variables pour netcdf
     
    27562756    lmt_pas = nint(86400./dtime * 1.0) ! pour une lecture une fois par jour
    27572757    jour_lu = jour - 1
    2758     allocate(sst_lu_p(klon_omp))
    2759     allocate(pct_tmp_p(klon_omp,nbsrf))
     2758    allocate(sst_lu_p(klon_loc))
     2759    allocate(pct_tmp_p(klon_loc,nbsrf))
    27602760  endif
    27612761
     
    27712771!
    27722772!$OMP MASTER
    2773     if (.not. allocated(sst_lu_mpi)) allocate(sst_lu_mpi(klon_mpi))
    2774     if (.not. allocated(pct_tmp_mpi)) allocate(pct_tmp_mpi(klon_mpi,nbsrf))
    2775    
    2776     if (phy_rank==0) then
     2773    if (is_mpi_root) then
    27772774   
    27782775    fich = trim(fich)
     
    27872784    start(1) = 1
    27882785    start(2) = jour
    2789     epais(1) = klon
     2786    epais(1) = klon_glo
    27902787    epais(2) = 1
    27912788!
     
    28812878!
    28822879      pct_tmp = 0.0
    2883       do ii = 1, klon
     2880      do ii = 1, klon_glo
    28842881        pct_tmp(ii,nint(nat_lu(ii)) + 1) = 1.
    28852882      enddo
     
    29152912!
    29162913    ierr = NF_CLOSE(nid)
    2917    endif ! phyrank
    2918 !
    2919 ! Recopie des variables dans les champs de sortie
    2920 !
    2921   call ScatterField(sst_lu,sst_lu_mpi,1)
    2922   call ScatterField(pct_tmp(:,is_oce),pct_tmp_mpi(:,is_oce),1)
    2923   call ScatterField(pct_tmp(:,is_sic),pct_tmp_mpi(:,is_sic),1)
     2914   endif ! is_mpi_root
     2915
    29242916!$OMP END MASTER
    29252917!$OMP BARRIER
    2926   call ScatterField_omp(sst_lu_mpi,sst_lu_p,1)
    2927   call ScatterField_omp(pct_tmp_mpi(:,is_oce),pct_tmp_p(:,is_oce),1)
    2928   call ScatterField_omp(pct_tmp_mpi(:,is_sic),pct_tmp_p(:,is_sic),1)
     2918  call Scatter(sst_lu,sst_lu_p)
     2919  call Scatter(pct_tmp(:,is_oce),pct_tmp_p(:,is_oce))
     2920  call Scatter(pct_tmp(:,is_sic),pct_tmp_p(:,is_sic))
    29292921   deja_lu = .true.
    29302922   jour_lu = jour
    29312923  endif   
     2924
     2925!
     2926! Recopie des variables dans les champs de sortie
     2927!
    29322928 
    29332929  lmt_sst_p = 999999999.
     
    29372933  enddo
    29382934
    2939   do ii=1,klon2
     2935  do ii=1,klon_loc
    29402936    pctsrf_new_p(ii,is_oce)=pct_tmp_p(ii,is_oce)
    29412937    pctsrf_new_p(ii,is_sic)=pct_tmp_p(ii,is_sic)
     
    29492945!
    29502946  SUBROUTINE interfsur_lim(itime, dtime, jour, &
    2951      & klon_xx, nisurf, knon, knindex, &
     2947     & klon, nisurf, knon, knindex, &
    29522948     & debut,  &
    29532949     & lmt_alb_p, lmt_rug_p)
    29542950
    2955      USE dimphy,klon=>klon2,klon2=>klon
    2956 
     2951     USE mod_grid_phy_lmdz
     2952     USE mod_phys_lmdz_para
     2953     
    29572954! Cette routine sert d'interface entre le modele atmospherique et un fichier
    29582955! de conditions aux limites
     
    29842981  integer, intent(IN) :: nisurf
    29852982  integer, intent(IN) :: knon
    2986   integer, intent(IN) :: klon_xx
    2987   integer, dimension(klon2), intent(in) :: knindex
     2983  integer, intent(IN) :: klon
     2984  integer, dimension(klon_loc), intent(in) :: knindex
    29882985  logical, intent(IN) :: debut
    29892986
    29902987! Parametres de sortie
    2991   real, intent(out), dimension(klon2) :: lmt_alb_p
    2992   real, intent(out), dimension(klon2) :: lmt_rug_p
     2988  real, intent(out), dimension(klon_loc) :: lmt_alb_p
     2989  real, intent(out), dimension(klon_loc) :: lmt_rug_p
    29932990
    29942991!  real,  dimension(klon) :: lmt_alb
     
    30173014  real, allocatable , save, dimension(:) :: alb_lu_p, rug_lu_p
    30183015!$OMP THREADPRIVATE(alb_lu_p, rug_lu_p)
    3019   real, allocatable , save, dimension(:) :: alb_lu_mpi, rug_lu_mpi
    3020   real, dimension(klon) :: alb_lu, rug_lu
     3016  real, dimension(klon_glo) :: alb_lu, rug_lu
    30213017!
    30223018! quelques variables pour netcdf
     
    30343030    lmt_pas = nint(86400./dtime * 1.0) ! pour une lecture une fois par jour
    30353031    jour_lu_sur = jour - 1
    3036     allocate(alb_lu_p(klon_omp))
    3037     allocate(rug_lu_p(klon_omp))
     3032    allocate(alb_lu_p(klon_loc))
     3033    allocate(rug_lu_p(klon_loc))
    30383034  endif
    30393035
     
    30483044
    30493045!$OMP MASTER
    3050     if (.not. allocated(alb_lu_mpi)) allocate(alb_lu_mpi(klon_mpi))
    3051     if (.not. allocated(rug_lu_mpi)) allocate(rug_lu_mpi(klon_mpi)) 
    3052   if (phy_rank==0) then
     3046   if (is_mpi_root) then
    30533047!
    30543048! Ouverture du fichier
     
    30673061    start(1) = 1
    30683062    start(2) = jour
    3069     epais(1) = klon
     3063    epais(1) = klon_glo
    30703064    epais(2) = 1
    30713065!
     
    31093103
    31103104
    3111   endif  !! phyrank
    3112 
    3113     call ScatterField(alb_lu,alb_lu_mpi,1)
    3114     call ScatterField(rug_lu,rug_lu_mpi,1)
     3105  endif  !! is_mpi_root
    31153106!$OMP END MASTER
    3116 !$OMP BARRIER
    3117 
    3118     call ScatterField_omp(alb_lu_mpi,alb_lu_p,1)
    3119     call ScatterField_omp(rug_lu_mpi,rug_lu_p,1)
     3107
     3108    call Scatter(alb_lu,alb_lu_p)
     3109    call Scatter(rug_lu,rug_lu_p)
    31203110   
    31213111    deja_lu_sur = .true.
     
    31513141     & petAcoef, peqAcoef, petBcoef, peqBcoef, &
    31523142     & tsurf_new, evap, fluxlat, fluxsens, dflux_s, dflux_l)
    3153      USE dimphy,only : omp_rank
     3143
    31543144! Cette routine calcule les fluxs en h et q a l'interface et eventuellement
    31553145! une temperature de surface (au cas ou ok_veget = false)
     
    33853375!
    33863376  SUBROUTINE gath2cpl(champ_in, champ_out, klon, knon, iim, jmp1, knindex)
    3387   use dimphy, only: liste_i,liste_j,jjphy_begin,jjphy_nb,phy_rank,phy_size
     3377  USE mod_phys_lmdz_para
    33883378  implicit none
    33893379 
     
    34043394! input
    34053395  integer                   :: klon, knon, iim, jmp1
    3406   real, dimension(klon)     :: champ_in
    3407   integer, dimension(klon)  :: knindex
     3396  real, dimension(klon_loc)     :: champ_in
     3397  integer, dimension(klon_loc)  :: knindex
    34083398! output
    34093399  real, dimension(iim,jmp1)  :: champ_out
    34103400! local
    34113401  integer                   :: i, ig, j
    3412   real, dimension(klon)     :: tamp
     3402  real, dimension(klon_loc)     :: tamp
    34133403
    34143404  tamp = 0.
     
    34183408  enddo   
    34193409
    3420 !ym  ig = 1
    3421 !ym  champ_out(:,1) = tamp(ig)
    3422 !ym  do j = 2, jjm
    3423 !ym    do i = 1, iim
    3424 !ym      ig = ig + 1
    3425 !ym      champ_out(i,j) = tamp(ig)
    3426 !ym    enddo
    3427 !ym  enddo
    3428 !ym  ig = ig + 1
    3429 !ym  champ_out(:,jjm+1) = tamp(ig)
    3430 
    3431   do ig=1,klon
    3432     i=liste_i(ig)
    3433     j=liste_j(ig)-jjphy_begin+1
    3434     champ_out(i,j)=tamp(ig)
    3435   enddo
    3436  
    3437   if (phy_rank==0) champ_out(:,1)=tamp(1)
    3438   if (phy_rank==phy_size-1) champ_out(:,jjphy_nb)=tamp(klon)
     3410
     3411  CALL Grid1Dto2D_mpi(tamp,champ_out)
    34393412
    34403413  END SUBROUTINE gath2cpl
     
    34433416!
    34443417  SUBROUTINE cpl2gath(champ_in, champ_out, klon, knon, iim, jmp1, knindex)
    3445   use dimphy, only : liste_i, liste_j, jjphy_begin
     3418  USE mod_phys_lmdz_para
    34463419  implicit none
    34473420! Cette routine ecrit un champ 'gathered' sur la grille 2D pour le passer
     
    34623435  integer                   :: klon, knon, iim, jmp1
    34633436  real, dimension(iim,jmp1)     :: champ_in
    3464   integer, dimension(klon)  :: knindex
     3437  integer, dimension(klon_loc)  :: knindex
    34653438! output
    3466   real, dimension(klon)  :: champ_out
     3439  real, dimension(klon_loc)  :: champ_out
    34673440! local
    34683441  integer                   :: i, ig, j
    3469   real, dimension(klon)     :: tamp
     3442  real, dimension(klon_loc)     :: tamp
    34703443  logical ,save                  :: check = .false.
    34713444!$OMP THREADPRIVATE(check)
    34723445
    3473 !ym  ig = 1
    3474 !ym  tamp(ig) = champ_in(1,1)
    3475 !ym  do j = 2, jjm
    3476 !ym    do i = 1, iim
    3477 !ym      ig = ig + 1
    3478 !ym      tamp(ig) = champ_in(i,j)
    3479 !ym    enddo
    3480 !ym  enddo
    3481 !ym  ig = ig + 1
    3482 !ym  tamp(ig) = champ_in(1,jjm+1)
    3483 
    3484   do ig=1,klon
    3485    i=liste_i(ig)
    3486    j=liste_j(ig)-jjphy_begin+1
    3487    tamp(ig)=champ_in(i,j)
    3488   enddo
     3446  CALL Grid2Dto1D_mpi(champ_in,tamp)
    34893447 
    34903448  do i = 1, knon
  • LMDZ4/trunk/libf/phylmd/iophy.F90

    r766 r776  
    1212    MODULE PROCEDURE histwrite2d_phy,histwrite3d_phy
    1313  END INTERFACE
    14  
    15   REAL,private,allocatable,save,dimension(:,:) :: buffer_omp
    1614
    1715contains
    1816
    1917  subroutine init_iophy(lat,lon)
    20   use dimphy
     18  USE dimphy
     19  USE mod_phys_lmdz_para
    2120  use ioipsl
    2221  implicit none
     
    3837    allocate(io_lon(iim))
    3938    io_lon(:)=lon(:)
    40     allocate(tmp_tab2d(iim,jjphy_nb))
    41     allocate(tmp_tab3d(iim,jjphy_nb,klev))
    42     allocate(ndex2d(iim*jjphy_nb))
    43     allocate(ndex3d(iim*jjphy_nb*klev))
     39    allocate(tmp_tab2d(iim,jj_nb))
     40    allocate(tmp_tab3d(iim,jj_nb,klev))
     41    allocate(ndex2d(iim*jj_nb))
     42    allocate(ndex3d(iim*jj_nb*klev))
    4443    ndex2d(:)=0
    4544    ndex3d(:)=0
    46     allocate(buffer_omp(klon_mpi,klev))
    4745   
    4846    ddid=(/ 1,2 /)
    4947    dsg=(/ iim, jjm+1 /)
    50     dsl=(/ iim, jjphy_nb /)
    51     dpf=(/ 1,jjphy_begin /)
    52     dpl=(/ iim, jjphy_end /)
    53     dhs=(/ iiphy_begin-1,0 /)
    54     if (phy_rank==phy_size-1) then
     48    dsl=(/ iim, jj_nb /)
     49    dpf=(/ 1,jj_begin /)
     50    dpl=(/ iim, jj_end /)
     51    dhs=(/ ii_begin-1,0 /)
     52    if (mpi_rank==mpi_size-1) then
    5553      dhe=(/0,0/)
    5654    else
    57       dhe=(/ iim-iiphy_end,0 /) 
     55      dhe=(/ iim-ii_end,0 /) 
    5856    endif
    5957   
    60     call flio_dom_set(phy_size,phy_rank,ddid,dsg,dsl,dpf,dpl,dhs,dhe, &
     58    call flio_dom_set(mpi_size,mpi_rank,ddid,dsg,dsl,dpf,dpl,dhs,dhe, &
    6159                      'APPLE',phys_domain_id)
    6260
    6361!$OMP END MASTER
    64 !$OMP FLUSH(buffer_omp)
    6562     
    6663  end subroutine init_iophy
    6764 
    6865  subroutine histbeg_phy(name,itau0,zjulian,dtime,nhori,nid_day)
    69   use dimphy
     66  USE dimphy
     67  USE mod_phys_lmdz_para
    7068  use ioipsl
    7169  use write_field
     
    8179
    8280!$OMP MASTER   
    83     if (monocpu) then
    84       call histbeg(name,iim,io_lon, jjphy_nb,io_lat(jjphy_begin:jjphy_end), &
    85                    1,iim,1,jjphy_nb,itau0, zjulian, dtime, nhori, nid_day)
     81    if (is_sequential) then
     82      call histbeg(name,iim,io_lon, jj_nb,io_lat(jj_begin:jj_end), &
     83                   1,iim,1,jj_nb,itau0, zjulian, dtime, nhori, nid_day)
    8684    else
    87       call histbeg(name,iim,io_lon, jjphy_nb,io_lat(jjphy_begin:jjphy_end), &
    88                    1,iim,1,jjphy_nb,itau0, zjulian, dtime, nhori, nid_day,phys_domain_id)
     85      call histbeg(name,iim,io_lon, jj_nb,io_lat(jj_begin:jj_end), &
     86                   1,iim,1,jj_nb,itau0, zjulian, dtime, nhori, nid_day,phys_domain_id)
    8987    endif
    9088!$OMP END MASTER
     
    9391 
    9492  subroutine histwrite2d_phy(nid,name,itau,field)
    95   use dimphy
    96   use ioipsl
     93  USE dimphy
     94  USE mod_phys_lmdz_para
     95  USE ioipsl
    9796  implicit none
    9897  include 'dimensions90.h'
     
    102101    integer, intent(in) :: itau
    103102    real,dimension(klon),intent(in) :: field
    104 
    105     CALL GatherField_omp(field,buffer_omp,1)   
     103   
     104    REAL,dimension(klon_mpi) :: buffer_omp
     105   
     106    CALL Gather_omp(field,buffer_omp)   
    106107!$OMP MASTER
    107     CALL phy2dyn(buffer_omp,tmp_tab2d,1)
    108     CALL histwrite(nid,name,itau,tmp_tab2d,iim*jjphy_nb,ndex2d)
     108    CALL grid1Dto2D_mpi(buffer_omp,tmp_tab2d)
     109    CALL histwrite(nid,name,itau,tmp_tab2d,iim*jj_nb,ndex2d)
    109110!$OMP END MASTER   
    110111  end subroutine histwrite2d_phy
    111112 
    112113  subroutine histwrite3d_phy(nid,name,itau,field)
    113   use dimphy
     114  USE dimphy
     115  USE mod_phys_lmdz_para
     116
    114117  use ioipsl
    115118  implicit none
     
    120123    integer, intent(in) :: itau
    121124    real,dimension(klon,klev),intent(in) :: field
     125
     126    REAL,dimension(klon_mpi,klev) :: buffer_omp
    122127   
    123     CALL GatherField_omp(field,buffer_omp,klev)
     128    CALL Gather_omp(field,buffer_omp)
    124129!$OMP MASTER
    125     CALL phy2dyn(buffer_omp,tmp_tab3d,klev)
    126     CALL histwrite(nid,name,itau,tmp_tab3d,iim*jjphy_nb*klev,ndex3d)
     130    CALL grid1Dto2D_mpi(buffer_omp,tmp_tab3d)
     131    CALL histwrite(nid,name,itau,tmp_tab3d,iim*jj_nb*klev,ndex3d)
    127132!$OMP END MASTER   
    128133  end subroutine histwrite3d_phy
    129134 
    130135 
    131   subroutine phy2dyn(field_phy,field_dyn,nlev)
    132   use dimphy
    133   implicit none
    134   include 'dimensions90.h'
    135  
    136     real,dimension(klon_mpi,nlev),intent(in) :: field_phy
    137     real,dimension(iim,jjphy_nb,nlev),intent(out) :: field_dyn
    138     integer,intent(in) :: nlev
    139    
    140     integer :: next
    141     integer :: j,l
    142    
    143       do l=1,nlev
    144                
    145         if (jjphy_begin==jjphy_end) then
    146           field_dyn(:,1,l)=0.
    147           field_dyn(iiphy_begin:iiphy_end,1,l)=field_phy(1:klon_mpi,l)
    148         else
    149        
    150          if (jjphy_begin==1) then
    151             field_dyn(:,1,l)=field_phy(1,l)
    152             next=2
    153          else
    154            field_dyn(:,1,l)=0.
    155            next=iim-iiphy_begin+2
    156            field_dyn(iiphy_begin:iim,1,l)=field_phy(1:next-1,l)   
    157          endif
    158        
    159           do j=2,jjphy_nb-1
    160             field_dyn(:,j,l)=field_phy(next:next+iim-1,l)
    161             next=next+iim
    162           enddo
    163          
    164           if (jjphy_end==jjm+1) then
    165              field_dyn(:,jjphy_nb,l)=field_phy(klon_mpi,l)
    166           else
    167            field_dyn(:,jjphy_nb,l)=0.
    168            field_dyn(1:iiphy_end,jjphy_nb,l)=field_phy(next:next+iiphy_end-1,l)   
    169           endif
    170          
    171         endif
    172      
    173      enddo
    174          
    175     end subroutine phy2dyn         
     136!  subroutine phy2dyn(field_phy,field_dyn,nlev)
     137!  USE dimphy_old
     138!  implicit none
     139!  include 'dimensions90.h'
     140! 
     141!    real,dimension(klon_mpi,nlev),intent(in) :: field_phy
     142!    real,dimension(iim,jjphy_nb,nlev),intent(out) :: field_dyn
     143!    integer,intent(in) :: nlev
     144!   
     145!    integer :: next
     146!    integer :: j,l
     147!   
     148!      do l=1,nlev
     149!               
     150!       if (jjphy_begin==jjphy_end) then
     151!         field_dyn(:,1,l)=0.
     152!         field_dyn(iiphy_begin:iiphy_end,1,l)=field_phy(1:klon_mpi,l)
     153!       else
     154!       
     155!        if (jjphy_begin==1) then
     156!           field_dyn(:,1,l)=field_phy(1,l)
     157!           next=2
     158!        else
     159!          field_dyn(:,1,l)=0.
     160!          next=iim-iiphy_begin+2
     161!          field_dyn(iiphy_begin:iim,1,l)=field_phy(1:next-1,l)   
     162!        endif
     163!       
     164!         do j=2,jjphy_nb-1
     165!           field_dyn(:,j,l)=field_phy(next:next+iim-1,l)
     166!           next=next+iim
     167!         enddo
     168!         
     169!         if (jjphy_end==jjm+1) then
     170!             field_dyn(:,jjphy_nb,l)=field_phy(klon_mpi,l)
     171!         else
     172!          field_dyn(:,jjphy_nb,l)=0.
     173!          field_dyn(1:iiphy_end,jjphy_nb,l)=field_phy(next:next+iiphy_end-1,l)   
     174!         endif
     175!         
     176!       endif
     177!     
     178!     enddo
     179!       
     180!    end subroutine phy2dyn         
    176181 
    177182         
  • LMDZ4/trunk/libf/phylmd/isccp_cloud_types.F

    r524 r776  
    3232     &)
    3333       
    34 !$Id$
    3534
    3635! Copyright Steve Klein and Mark Webb 2002 - all rights reserved.
  • LMDZ4/trunk/libf/phylmd/moy_undefSTD.F

    r766 r776  
     1!
     2! $Header$
     3!
    14      SUBROUTINE moy_undefSTD(nlevSTD,itap,
    25     $           dtime,ecrit_day,ecrit_mth,ecrit_hf2mth,
  • LMDZ4/trunk/libf/phylmd/moyglo_aire.F

    r766 r776  
     1!
     2! $Header$
     3!
    14      SUBROUTINE moyglo_pondaire(nhori, champ, aire,
    25     .            ok_msk, msk, moyglo)
  • LMDZ4/trunk/libf/phylmd/oasis.psmile

    r766 r776  
    9494! Here we go: psmile initialisation
    9595!
    96     IF (monocpu) THEN
     96    IF (is_sequential) THEN
    9797      call prism_init_comp_proto (comp_id, clmodnam, ierror)
    9898
     
    116116!ym   ig_paral(3) = im * jm
    117117   ig_paral(1) = 1    ! apple partition for //
    118    ig_paral(2) = (jjphy_begin-1)*im+iiphy_begin-1
    119    ig_paral(3) = (jjphy_end*im+iiphy_end)-(jjphy_begin*im+iiphy_begin)+1
    120    if (phy_rank==phy_size-1) ig_paral(3)=ig_paral(3)+im-1
    121    print *,phy_rank,'ig_paral--->',ig_paral(2),ig_paral(3)
     118   ig_paral(2) = (jj_begin-1)*im+ii_begin-1
     119   ig_paral(3) = (jj_end*im+ii_end)-(jj_begin*im+ii_begin)+1
     120   if (mpi_rank==mpi_size-1) ig_paral(3)=ig_paral(3)+im-1
     121   print *,mpi_rank,'ig_paral--->',ig_paral(2),ig_paral(3)
    122122   
    123123   ierror=PRISM_Ok
     
    222222   use mod_prism_proto
    223223   use mod_prism_get_proto
    224    use dimphy
     224   USE dimphy
     225   USE mod_phys_lmdz_para
    225226   IMPLICIT none
    226227
     
    250251   CALL flush (nuout)
    251252
    252    istart=iiphy_begin
    253    if (phy_rank==phy_size-1) then
    254     iend=(jjphy_end-jjphy_begin)*im+im
     253   istart=ii_begin
     254   if (is_south_pole) then
     255    iend=(jj_end-jj_begin)*im+im
    255256   else
    256     iend=(jjphy_end-jjphy_begin)*im+iiphy_end
     257    iend=(jj_end-jj_begin)*im+ii_end
    257258   endif
    258259   
     
    313314   use mod_prism_proto
    314315   use mod_prism_put_proto
    315    use dimphy
     316   USE dimphy
     317   USE mod_phys_lmdz_para
    316318   use write_field_phy
    317319   IMPLICIT NONE
     
    345347      WRITE(nuout,*)
    346348
    347    istart=iiphy_begin
    348    if (phy_rank==phy_size-1) then
    349     iend=(jjphy_end-jjphy_begin)*im+im
     349   istart=ii_begin
     350   if (is_south_pole) then
     351    iend=(jj_end-jj_begin)*im+im
    350352   else
    351     iend=(jjphy_end-jjphy_begin)*im+iiphy_end
     353    iend=(jj_end-jj_begin)*im+ii_end
    352354   endif
    353355
     
    355357     wstart=istart
    356358     wend=iend
    357      IF (phy_rank==0) wstart=istart+im-1
    358      IF (phy_rank==phy_size-1) wend=iend-im+1
     359     IF (is_north_pole) wstart=istart+im-1
     360     IF (is_south_pole) wend=iend-im+1
    359361   
    360362     CALL writeField_phy("fsolice",fsolice(wstart:wend),1)
     
    533535
    534536   if (last) then
    535      IF (monocpu) THEN
     537     IF (is_sequential) THEN
    536538       call prism_terminate_proto(ierror)
    537539         IF (ierror .ne. PRISM_Ok) THEN
  • LMDZ4/trunk/libf/phylmd/orografi.F

    r766 r776  
    14811481C*       0.2   LOCAL ARRAYS
    14821482C              ------------
    1483       logical lifthigh, ll1
     1483      logical lifthigh
    14841484cym      integer klevm1, jl, ilevh, jk
    14851485      integer  jl, ilevh, jk
     
    17111711      SUBROUTINE SUGWD(NLON,NLEV,paprs,pplay)
    17121712      USE dimphy
     1713      USE mod_phys_lmdz_para
     1714      USE mod_grid_phy_lmdz
    17131715c      USE parallel
    17141716C
     
    17641766      REAL pplay(nlon,nlev)
    17651767      real zpr,zstra,zsigt,zpm1r
    1766       REAL,SAVE,ALLOCATABLE :: pplay_mpi(:,:)
    1767       REAL,SAVE,ALLOCATABLE :: paprs_mpi(:,:)
    1768       REAL,SAVE,ALLOCATABLE :: pplay_glo(:,:)
    1769       REAL,SAVE,ALLOCATABLE :: paprs_glo(:,:)
     1768      REAL :: pplay_glo(klon_glo,nlev)
     1769      REAL :: paprs_glo(klon_glo,nlev+1)
    17701770
    17711771C
     
    17841784cold  ZSIGT=0.85
    17851785C
    1786 c$OMP MASTER
    1787       ALLOCATE(pplay_mpi(klon_mpi,nlev))
    1788       ALLOCATE(paprs_mpi(klon_mpi,nlev+1))
    1789       ALLOCATE(pplay_glo(klon2,nlev))
    1790       ALLOCATE(paprs_glo(klon2,nlev+1))
    1791 c$OMP END MASTER
    1792 c$OMP BARRIER
    1793 
    1794       CALL GatherField_omp(pplay,pplay_mpi,nlev)     
    1795       CALL GatherField_omp(paprs,paprs_mpi,nlev+1)
    1796 
    1797 c$OMP MASTER     
    1798       CALL  AllGatherField(pplay_mpi,pplay_glo,nlev)
    1799       CALL  AllGatherField(paprs_mpi,paprs_glo,nlev+1)
    1800 c$OMP END MASTER
    1801 c$OMP BARRIER
    18021786     
     1787      CALL gather(pplay,pplay_glo)
     1788      CALL bcast(pplay_glo)
     1789      CALL gather(paprs,paprs_glo)
     1790      CALL bcast(paprs_glo)
     1791     
     1792           
    18031793      DO 110 JK=1,NLEV
    1804       ZPM1R=pplay_glo(klon2/2,jk)/paprs_glo(klon2/2,1)
     1794      ZPM1R=pplay_glo(klon_glo/2,jk)/paprs_glo(klon_glo/2,1)
    18051795      IF(ZPM1R.GE.ZSIGT)THEN
    18061796         nktopg=JK
    18071797      ENDIF
    1808       ZPM1R=pplay_glo(klon2/2,jk)/paprs_glo(klon2/2,1)
     1798      ZPM1R=pplay_glo(klon_glo/2,jk)/paprs_glo(klon_glo/2,1)
    18091799      IF(ZPM1R.GE.ZSTRA)THEN
    18101800         NSTRA=JK
     
    18121802  110 CONTINUE
    18131803
    1814 c$OMP BARRIER
    1815 c$OMP MASTER
    1816       DEALLOCATE(pplay_mpi)
    1817       DEALLOCATE(paprs_mpi)
    1818       DEALLOCATE(pplay_glo)
    1819       DEALLOCATE(paprs_glo)
    1820 c$OMP END MASTER
    1821 c$OMP BARRIER
    18221804
    18231805c
  • LMDZ4/trunk/libf/phylmd/phyetat0.F

    r766 r776  
    1515     .           t_ancien_p,q_ancien_p,ancien_ok_p, rnebcon_p, ratqs_p,
    1616     .           clwcon_p,run_off_lic_0_p)
    17       USE dimphy,klon=>klon2,klon2=>klon,zmasq_p=>zmasq
     17      USE dimphy
     18      USE mod_grid_phy_lmdz
     19      USE mod_phys_lmdz_para
    1820      USE iophy
    1921      IMPLICIT none
     
    3335      REAL dtime
    3436      INTEGER radpas
     37      REAL rlat_p(klon), rlon_p(klon)
    3538      REAL rlat_p(klon2), rlon_p(klon2)
    3639      REAL co2_ppm_etat0
    3740      REAL solaire_etat0
    38       REAL tsol_p(klon2,nbsrf)
    39       REAL tsoil_p(klon2,nsoilmx,nbsrf)
    40       REAL tslab_p(klon2), seaice_p(klon2)
    41       REAL qsurf_p(klon2,nbsrf)
    42       REAL qsol_p(klon2)
    43       REAL snow_p(klon2,nbsrf)
    44       REAL albe_p(klon2,nbsrf)
     41      REAL tsol_p(klon,nbsrf)
     42      REAL tsoil_p(klon,nsoilmx,nbsrf)
     43      REAL tslab_p(klon), seaice_p(klon)
     44      REAL qsurf_p(klon,nbsrf)
     45      REAL qsol_p(klon)
     46      REAL snow_p(klon,nbsrf)
     47      REAL albe_p(klon,nbsrf)
    4548cIM BEG alblw
    46       REAL alblw_p(klon2,nbsrf)
     49      REAL alblw_p(klon,nbsrf)
    4750cIM END alblw
    48       REAL evap_p(klon2,nbsrf)
    49       REAL radsol_p(klon2)
    50       REAL rain_fall_p(klon2)
    51       REAL snow_fall_p(klon2)
    52       REAL sollw_p(klon2)
    53       real solsw_p(klon2)
    54       real fder_p(klon2)
    55       REAL frugs_p(klon2,nbsrf)
    56       REAL agesno_p(klon2,nbsrf)
    57       REAL zmea_p(klon2)
    58       REAL zstd_p(klon2)
    59       REAL zsig_p(klon2)
    60       REAL zgam_p(klon2)
    61       REAL zthe_p(klon2)
    62       REAL zpic_p(klon2)
    63       REAL zval_p(klon2)
    64       REAL rugsrel_p(klon2)
    65       REAL pctsrf_p(klon2, nbsrf)
    66       REAL run_off_lic_0_p(klon2)
     51      REAL evap_p(klon,nbsrf)
     52      REAL radsol_p(klon)
     53      REAL rain_fall_p(klon)
     54      REAL snow_fall_p(klon)
     55      REAL sollw_p(klon)
     56      real solsw_p(klon)
     57      real fder_p(klon)
     58      REAL frugs_p(klon,nbsrf)
     59      REAL agesno_p(klon,nbsrf)
     60      REAL zmea_p(klon)
     61      REAL zstd_p(klon)
     62      REAL zsig_p(klon)
     63      REAL zgam_p(klon)
     64      REAL zthe_p(klon)
     65      REAL zpic_p(klon)
     66      REAL zval_p(klon)
     67      REAL rugsrel_p(klon)
     68      REAL pctsrf_p(klon, nbsrf)
     69      REAL run_off_lic_0_p(klon)
    6770     
    68       REAL t_ancien_p(klon2,klev), q_ancien_p(klon2,klev)
    69       real rnebcon_p(klon2,klev),clwcon_p(klon2,klev)
    70       real ratqs_p(klon2,klev)
     71      REAL t_ancien_p(klon,klev), q_ancien_p(klon,klev)
     72      real rnebcon_p(klon,klev),clwcon_p(klon,klev)
     73      real ratqs_p(klon,klev)
    7174      LOGICAL,SAVE ::  ancien_ok
    7275      LOGICAL ::  ancien_ok_p
    7376     
    74       REAL zmasq(klon)
    75       REAL rlat(klon), rlon(klon)
    76       REAL tsol(klon,nbsrf)
    77       REAL tsoil(klon,nsoilmx,nbsrf)
     77      REAL zmasq_glo(klon_glo)
     78      REAL rlat(klon_glo), rlon(klon_glo)
     79      REAL tsol(klon_glo,nbsrf)
     80      REAL tsoil(klon_glo,nsoilmx,nbsrf)
    7881cIM "slab" ocean
    79       REAL tslab(klon), seaice(klon)
    80       REAL qsurf(klon,nbsrf)
    81       REAL qsol(klon)
    82       REAL snow(klon,nbsrf)
    83       REAL albe(klon,nbsrf)
    84       REAL alblw(klon,nbsrf)
    85       REAL evap(klon,nbsrf)
    86       REAL radsol(klon)
    87       REAL rain_fall(klon)
    88       REAL snow_fall(klon)
    89       REAL sollw(klon)
    90       real solsw(klon)
    91       real fder(klon)
    92       REAL frugs(klon,nbsrf)
    93       REAL agesno(klon,nbsrf)
    94       REAL zmea(klon)
    95       REAL zstd(klon)
    96       REAL zsig(klon)
    97       REAL zgam(klon)
    98       REAL zthe(klon)
    99       REAL zpic(klon)
    100       REAL zval(klon)
    101       REAL rugsrel(klon)
    102       REAL pctsrf(klon, nbsrf)
    103       REAL fractint(klon)
    104       REAL run_off_lic_0(klon)
    105       REAL t_ancien(klon,klev)
    106       REAL q_ancien(klon,klev)
    107       real rnebcon(klon,klev)
    108       real clwcon(klon,klev)
    109       real ratqs(klon,klev)
    110 
    111       REAL,ALLOCATABLE,SAVE :: zmasq_mpi(:)
    112       REAL,ALLOCATABLE,SAVE :: rlat_mpi(:), rlon_mpi(:)
    113       REAL,ALLOCATABLE,SAVE :: tsol_mpi(:,:)
    114       REAL,ALLOCATABLE,SAVE :: tsoil_mpi(:,:,:)
    115       REAL,ALLOCATABLE,SAVE :: tslab_mpi(:)
    116       REAL,ALLOCATABLE,SAVE :: seaice_mpi(:)
    117       REAL,ALLOCATABLE,SAVE :: qsurf_mpi(:,:)
    118       REAL,ALLOCATABLE,SAVE :: qsol_mpi(:)
    119       REAL,ALLOCATABLE,SAVE :: snow_mpi(:,:)
    120       REAL,ALLOCATABLE,SAVE :: albe_mpi(:,:)
    121       REAL,ALLOCATABLE,SAVE :: alblw_mpi(:,:)
    122       REAL,ALLOCATABLE,SAVE :: evap_mpi(:,:)
    123       REAL,ALLOCATABLE,SAVE :: radsol_mpi(:)
    124       REAL,ALLOCATABLE,SAVE :: rain_fall_mpi(:)
    125       REAL,ALLOCATABLE,SAVE :: snow_fall_mpi(:)
    126       REAL,ALLOCATABLE,SAVE :: sollw_mpi(:)
    127       real,ALLOCATABLE,SAVE :: solsw_mpi(:)
    128       real,ALLOCATABLE,SAVE :: fder_mpi(:)
    129       REAL,ALLOCATABLE,SAVE :: frugs_mpi(:,:)
    130       REAL,ALLOCATABLE,SAVE :: agesno_mpi(:,:)
    131       REAL,ALLOCATABLE,SAVE :: zmea_mpi(:)
    132       REAL,ALLOCATABLE,SAVE :: zstd_mpi(:)
    133       REAL,ALLOCATABLE,SAVE :: zsig_mpi(:)
    134       REAL,ALLOCATABLE,SAVE :: zgam_mpi(:)
    135       REAL,ALLOCATABLE,SAVE :: zthe_mpi(:)
    136       REAL,ALLOCATABLE,SAVE :: zpic_mpi(:)
    137       REAL,ALLOCATABLE,SAVE :: zval_mpi(:)
    138       REAL,ALLOCATABLE,SAVE :: rugsrel_mpi(:)
    139       REAL,ALLOCATABLE,SAVE :: pctsrf_mpi(:, :)
    140       REAL,ALLOCATABLE,SAVE :: run_off_lic_0_mpi(:)
    141       REAL,ALLOCATABLE,SAVE :: t_ancien_mpi(:,:)
    142       REAL,ALLOCATABLE,SAVE :: q_ancien_mpi(:,:)
    143       real,ALLOCATABLE,SAVE :: rnebcon_mpi(:,:)
    144       real,ALLOCATABLE,SAVE :: clwcon_mpi(:,:)
    145       real,ALLOCATABLE,SAVE :: ratqs_mpi(:,:)
    146            
     82      REAL tslab(klon_glo), seaice(klon_glo)
     83      REAL qsurf(klon_glo,nbsrf)
     84      REAL qsol(klon_glo)
     85      REAL snow(klon_glo,nbsrf)
     86      REAL albe(klon_glo,nbsrf)
     87      REAL alblw(klon_glo,nbsrf)
     88      REAL evap(klon_glo,nbsrf)
     89      REAL radsol(klon_glo)
     90      REAL rain_fall(klon_glo)
     91      REAL snow_fall(klon_glo)
     92      REAL sollw(klon_glo)
     93      real solsw(klon_glo)
     94      real fder(klon_glo)
     95      REAL frugs(klon_glo,nbsrf)
     96      REAL agesno(klon_glo,nbsrf)
     97      REAL zmea(klon_glo)
     98      REAL zstd(klon_glo)
     99      REAL zsig(klon_glo)
     100      REAL zgam(klon_glo)
     101      REAL zthe(klon_glo)
     102      REAL zpic(klon_glo)
     103      REAL zval(klon_glo)
     104      REAL rugsrel(klon_glo)
     105      REAL pctsrf(klon_glo, nbsrf)
     106      REAL fractint(klon_glo)
     107      REAL run_off_lic_0(klon_glo)
     108      REAL t_ancien(klon_glo,klev)
     109      REAL q_ancien(klon_glo,klev)
     110      real rnebcon(klon_glo,klev)
     111      real clwcon(klon_glo,klev)
     112      real ratqs(klon_glo,klev)
    147113
    148114      CHARACTER*6 ocean
     
    172138
    173139c$OMP MASTER
    174       print*,'fichnom ',fichnom
    175       ierr = NF_OPEN (fichnom, NF_NOWRITE,nid)
    176       IF (ierr.NE.NF_NOERR) THEN
    177         write(6,*)' Pb d''ouverture du fichier '//fichnom
    178         write(6,*)' ierr = ', ierr
    179         CALL ABORT
     140      IF (is_mpi_root) THEN
     141        print*,'fichnom ',fichnom
     142        ierr = NF_OPEN (fichnom, NF_NOWRITE,nid)
     143        IF (ierr.NE.NF_NOERR) THEN
     144          write(6,*)' Pb d''ouverture du fichier '//fichnom
     145          write(6,*)' ierr = ', ierr
     146          CALL ABORT
     147        ENDIF
    180148      ENDIF
    181149c$OMP END MASTER
     
    184152c
    185153c$OMP MASTER
     154      IF (is_mpi_root) THEN
     155     
    186156      ierr = NF_INQ_VARID (nid, "controle", nvarid)
    187157      IF (ierr.NE.NF_NOERR) THEN
     
    198168         CALL abort
    199169      ENDIF
     170      ENDIF
     171
    200172c$OMP END MASTER
    201 c$OMP BARRIER
    202173       
    203        DO i = 1, length
    204          tab_cntrl( i ) = tab_cntrl_omp( i )
    205        ENDDO
     174       CALL bcast(tab_cntrl)
    206175       
    207176c
     
    281250c
    282251c$OMP MASTER
     252      IF (is_mpi_root) THEN
     253     
    283254      ierr = NF_INQ_VARID (nid, "latitude", nvarid)
    284255      IF (ierr.NE.NF_NOERR) THEN
     
    321292      IF (ierr .EQ.  NF_NOERR) THEN
    322293#ifdef NC_DOUBLE
    323           ierr = NF_GET_VAR_DOUBLE(nid, nvarid, zmasq)
    324 #else
    325           ierr = NF_GET_VAR_REAL(nid, nvarid, zmasq)
     294          ierr = NF_GET_VAR_DOUBLE(nid, nvarid, zmasq_glo)
     295#else
     296          ierr = NF_GET_VAR_REAL(nid, nvarid, zmasq_glo)
    326297#endif
    327298          IF (ierr.NE.NF_NOERR) THEN
     
    348319      IF (ierr .EQ.  NF_NOERR) THEN
    349320#ifdef NC_DOUBLE
    350           ierr = NF_GET_VAR_DOUBLE(nid, nvarid, pctsrf(1 : klon,is_ter))
    351 #else
    352           ierr = NF_GET_VAR_REAL(nid, nvarid, pctsrf(1 : klon,is_ter))
     321          ierr = NF_GET_VAR_DOUBLE(nid, nvarid,       
     322     .                             pctsrf(1 : klon_glo,is_ter))
     323#else
     324          ierr = NF_GET_VAR_REAL(nid, nvarid,
     325     .                           pctsrf(1 : klon_glo,is_ter))
    353326#endif
    354327          IF (ierr.NE.NF_NOERR) THEN
     
    367340      IF (ierr .EQ.  NF_NOERR) THEN
    368341#ifdef NC_DOUBLE
    369           ierr = NF_GET_VAR_DOUBLE(nid, nvarid, pctsrf(1 : klon,is_lic))
    370 #else
    371           ierr = NF_GET_VAR_REAL(nid, nvarid, pctsrf(1 : klon,is_lic))
     342          ierr = NF_GET_VAR_DOUBLE(nid, nvarid,
     343     .                             pctsrf(1 : klon_glo,is_lic))
     344#else
     345          ierr = NF_GET_VAR_REAL(nid, nvarid,
     346     .                           pctsrf(1 : klon_glo,is_lic))
    372347#endif
    373348          IF (ierr.NE.NF_NOERR) THEN
     
    385360      IF (ierr .EQ.  NF_NOERR) THEN
    386361#ifdef NC_DOUBLE
    387           ierr = NF_GET_VAR_DOUBLE(nid, nvarid, pctsrf(1 : klon,is_oce))
    388 #else
    389           ierr = NF_GET_VAR_REAL(nid, nvarid, pctsrf(1 : klon,is_oce))
     362          ierr = NF_GET_VAR_DOUBLE(nid, nvarid,
     363     .                             pctsrf(1 : klon_glo,is_oce))
     364#else
     365          ierr = NF_GET_VAR_REAL(nid, nvarid,
     366     .                           pctsrf(1 : klon_glo,is_oce))
    390367#endif
    391368          IF (ierr.NE.NF_NOERR) THEN
     
    404381      IF (ierr .EQ.  NF_NOERR) THEN
    405382#ifdef NC_DOUBLE
    406           ierr = NF_GET_VAR_DOUBLE(nid, nvarid, pctsrf(1 : klon,is_sic))
    407 #else
    408           ierr = NF_GET_VAR_REAL(nid, nvarid, pctsrf(1 : klon, is_sic))
     383          ierr = NF_GET_VAR_DOUBLE(nid, nvarid,
     384     .                             pctsrf(1 : klon_glo,is_sic))
     385#else
     386          ierr = NF_GET_VAR_REAL(nid, nvarid,
     387     .                           pctsrf(1 : klon_glo, is_sic))
    409388#endif
    410389          IF (ierr.NE.NF_NOERR) THEN
     
    420399C  Verification de l'adequation entre le masque et les sous-surfaces
    421400C
    422       fractint( 1 : klon) = pctsrf(1 : klon, is_ter)
    423      $    + pctsrf(1 : klon, is_lic)
    424       DO i = 1 , klon
    425         IF ( abs(fractint(i) - zmasq(i) ) .GT. EPSFRA ) THEN
     401      fractint( 1 : klon_glo) = pctsrf(1 : klon_glo, is_ter)
     402     $    + pctsrf(1 : klon_glo, is_lic)
     403      DO i = 1 , klon_glo
     404        IF ( abs(fractint(i) - zmasq_glo(i) ) .GT. EPSFRA ) THEN
    426405            WRITE(*,*) 'phyetat0: attention fraction terre pas ',
    427      $          'coherente ', i, zmasq(i), pctsrf(i, is_ter)
     406     $          'coherente ', i, zmasq_glo(i), pctsrf(i, is_ter)
    428407     $          ,pctsrf(i, is_lic)
    429408        ENDIF
    430409      END DO
    431       fractint (1 : klon) =  pctsrf(1 : klon, is_oce)
    432      $    + pctsrf(1 : klon, is_sic)
    433       DO i = 1 , klon
    434         IF ( abs( fractint(i) - (1. - zmasq(i))) .GT. EPSFRA ) THEN
     410      fractint (1 : klon_glo) =  pctsrf(1 : klon_glo, is_oce)
     411     $    + pctsrf(1 : klon_glo, is_sic)
     412      DO i = 1 , klon_glo
     413        IF ( abs( fractint(i) - (1. - zmasq_glo(i))) .GT. EPSFRA ) THEN
    435414            WRITE(*,*) 'phyetat0 attention fraction ocean pas ',
    436      $          'coherente ', i, zmasq(i) , pctsrf(i, is_oce)
     415     $          'coherente ', i, zmasq_glo(i) , pctsrf(i, is_oce)
    437416     $          ,pctsrf(i, is_sic)
    438417        ENDIF
     
    470449           xmin = 1.0E+20
    471450           xmax = -1.0E+20
    472            DO i = 1, klon
     451           DO i = 1, klon_glo
    473452              xmin = MIN(tsol(i,nsrf),xmin)
    474453              xmax = MAX(tsol(i,nsrf),xmax)
     
    490469         xmin = 1.0E+20
    491470         xmax = -1.0E+20
    492          DO i = 1, klon
     471         DO i = 1, klon_glo
    493472            xmin = MIN(tsol(i,1),xmin)
    494473            xmax = MAX(tsol(i,1),xmax)
     
    496475         PRINT*,'Temperature du sol <TS>', xmin, xmax
    497476         DO nsrf = 2, nbsrf
    498          DO i = 1, klon
     477         DO i = 1, klon_glo
    499478            tsol(i,nsrf) = tsol(i,1)
    500479         ENDDO
     
    516495         PRINT*, "phyetat0: Le champ <Tsoil"//str7//"> est absent"
    517496         PRINT*, "          Il prend donc la valeur de surface"
    518          DO i=1, klon
     497         DO i=1, klon_glo
    519498             tsoil(i,isoil,nsrf)=tsol(i,nsrf)
    520499         ENDDO
     
    554533        xmin = 1.0E+20
    555534        xmax = -1.0E+20
    556         DO i = 1, klon
     535        DO i = 1, klon_glo
    557536          xmin = MIN(tslab(i),xmin)
    558537          xmax = MAX(tslab(i),xmax)
     
    578557        xmin = 1.0E+20
    579558        xmax = -1.0E+20
    580         DO i = 1, klon
     559        DO i = 1, klon_glo
    581560          xmin = MIN(seaice(i),xmin)
    582561          xmax = MAX(seaice(i),xmax)
     
    617596           xmin = 1.0E+20
    618597           xmax = -1.0E+20
    619            DO i = 1, klon
     598           DO i = 1, klon_glo
    620599              xmin = MIN(qsurf(i,nsrf),xmin)
    621600              xmax = MAX(qsurf(i,nsrf),xmax)
     
    637616         xmin = 1.0E+20
    638617         xmax = -1.0E+20
    639          DO i = 1, klon
     618         DO i = 1, klon_glo
    640619            xmin = MIN(qsurf(i,1),xmin)
    641620            xmax = MAX(qsurf(i,1),xmax)
     
    643622         PRINT*,'Humidite pres du sol <QS>', xmin, xmax
    644623         DO nsrf = 2, nbsrf
    645          DO i = 1, klon
     624         DO i = 1, klon_glo
    646625            qsurf(i,nsrf) = qsurf(i,1)
    647626         ENDDO
     
    670649      xmin = 1.0E+20
    671650      xmax = -1.0E+20
    672       DO i = 1, klon
     651      DO i = 1, klon_glo
    673652        xmin = MIN(qsol(i),xmin)
    674653        xmax = MAX(qsol(i),xmax)
     
    704683           xmin = 1.0E+20
    705684           xmax = -1.0E+20
    706            DO i = 1, klon
     685           DO i = 1, klon_glo
    707686              xmin = MIN(snow(i,nsrf),xmin)
    708687              xmax = MAX(snow(i,nsrf),xmax)
     
    724703         xmin = 1.0E+20
    725704         xmax = -1.0E+20
    726          DO i = 1, klon
     705         DO i = 1, klon_glo
    727706            xmin = MIN(snow(i,1),xmin)
    728707            xmax = MAX(snow(i,1),xmax)
     
    730709         PRINT*,'Neige du sol <SNOW>', xmin, xmax
    731710         DO nsrf = 2, nbsrf
    732          DO i = 1, klon
     711         DO i = 1, klon_glo
    733712            snow(i,nsrf) = snow(i,1)
    734713         ENDDO
     
    764743           xmin = 1.0E+20
    765744           xmax = -1.0E+20
    766            DO i = 1, klon
     745           DO i = 1, klon_glo
    767746              xmin = MIN(albe(i,nsrf),xmin)
    768747              xmax = MAX(albe(i,nsrf),xmax)
     
    784763         xmin = 1.0E+20
    785764         xmax = -1.0E+20
    786          DO i = 1, klon
     765         DO i = 1, klon_glo
    787766            xmin = MIN(albe(i,1),xmin)
    788767            xmax = MAX(albe(i,1),xmax)
     
    790769         PRINT*,'Neige du sol <ALBE>', xmin, xmax
    791770         DO nsrf = 2, nbsrf
    792          DO i = 1, klon
     771         DO i = 1, klon_glo
    793772            albe(i,nsrf) = albe(i,1)
    794773         ENDDO
     
    805784         PRINT*, '          Mais je vais prendre ALBE**'
    806785         DO nsrf = 1, nbsrf
    807            DO i = 1, klon
     786           DO i = 1, klon_glo
    808787             alblw(i,nsrf) = albe(i,nsrf)
    809788           ENDDO
     
    823802         xmin = 1.0E+20
    824803         xmax = -1.0E+20
    825          DO i = 1, klon
     804         DO i = 1, klon_glo
    826805            xmin = MIN(alblw(i,1),xmin)
    827806            xmax = MAX(alblw(i,1),xmax)
     
    829808         PRINT*,'Neige du sol <ALBLW>', xmin, xmax
    830809         DO nsrf = 2, nbsrf
    831          DO i = 1, klon
     810         DO i = 1, klon_glo
    832811            alblw(i,nsrf) = alblw(i,1)
    833812         ENDDO
     
    863842           xmin = 1.0E+20
    864843           xmax = -1.0E+20
    865            DO i = 1, klon
     844           DO i = 1, klon_glo
    866845              xmin = MIN(evap(i,nsrf),xmin)
    867846              xmax = MAX(evap(i,nsrf),xmax)
     
    883862         xmin = 1.0E+20
    884863         xmax = -1.0E+20
    885          DO i = 1, klon
     864         DO i = 1, klon_glo
    886865            xmin = MIN(evap(i,1),xmin)
    887866            xmax = MAX(evap(i,1),xmax)
     
    889868         PRINT*,'Evap du sol <EVAP>', xmin, xmax
    890869         DO nsrf = 2, nbsrf
    891          DO i = 1, klon
     870         DO i = 1, klon_glo
    892871            evap(i,nsrf) = evap(i,1)
    893872         ENDDO
     
    913892      xmin = 1.0E+20
    914893      xmax = -1.0E+20
    915       DO i = 1, klon
     894      DO i = 1, klon_glo
    916895         xmin = MIN(rain_fall(i),xmin)
    917896         xmax = MAX(rain_fall(i),xmax)
     
    937916      xmin = 1.0E+20
    938917      xmax = -1.0E+20
    939       DO i = 1, klon
     918      DO i = 1, klon_glo
    940919         xmin = MIN(snow_fall(i),xmin)
    941920         xmax = MAX(snow_fall(i),xmax)
     
    963942      xmin = 1.0E+20
    964943      xmax = -1.0E+20
    965       DO i = 1, klon
     944      DO i = 1, klon_glo
    966945         xmin = MIN(solsw(i),xmin)
    967946         xmax = MAX(solsw(i),xmax)
     
    989968      xmin = 1.0E+20
    990969      xmax = -1.0E+20
    991       DO i = 1, klon
     970      DO i = 1, klon_glo
    992971         xmin = MIN(sollw(i),xmin)
    993972         xmax = MAX(sollw(i),xmax)
    994973      ENDDO
    995974      PRINT*,'Rayonnement IF au sol sollw:', xmin, xmax
    996 
     975     
     976      ENDIF  ! is_mpi_root
    997977c$OMP END MASTER
    998978
    999979
    1000980c$OMP MASTER
    1001 
     981      IF (is_mpi_root) THEN
    1002982c
    1003983c Lecture derive des flux:
     
    10211001      xmin = 1.0E+20
    10221002      xmax = -1.0E+20
    1023       DO i = 1, klon
     1003      DO i = 1, klon_glo
    10241004         xmin = MIN(fder(i),xmin)
    10251005         xmax = MAX(fder(i),xmax)
     
    10461026      xmin = 1.0E+20
    10471027      xmax = -1.0E+20
    1048       DO i = 1, klon
     1028      DO i = 1, klon_glo
    10491029         xmin = MIN(radsol(i),xmin)
    10501030         xmax = MAX(radsol(i),xmax)
     
    10811061           xmin = 1.0E+20
    10821062           xmax = -1.0E+20
    1083            DO i = 1, klon
     1063           DO i = 1, klon_glo
    10841064              xmin = MIN(frugs(i,nsrf),xmin)
    10851065              xmax = MAX(frugs(i,nsrf),xmax)
     
    11011081         xmin = 1.0E+20
    11021082         xmax = -1.0E+20
    1103          DO i = 1, klon
     1083         DO i = 1, klon_glo
    11041084            xmin = MIN(frugs(i,1),xmin)
    11051085            xmax = MAX(frugs(i,1),xmax)
     
    11071087         PRINT*,'rugosite <RUG>', xmin, xmax
    11081088         DO nsrf = 2, nbsrf
    1109          DO i = 1, klon
     1089         DO i = 1, klon_glo
    11101090            frugs(i,nsrf) = frugs(i,1)
    11111091         ENDDO
     
    11421122           xmin = 1.0E+20
    11431123           xmax = -1.0E+20
    1144            DO i = 1, klon
     1124           DO i = 1, klon_glo
    11451125              xmin = MIN(agesno(i,nsrf),xmin)
    11461126              xmax = MAX(agesno(i,nsrf),xmax)
     
    11621142         xmin = 1.0E+20
    11631143         xmax = -1.0E+20
    1164          DO i = 1, klon
     1144         DO i = 1, klon_glo
    11651145            xmin = MIN(agesno(i,1),xmin)
    11661146            xmax = MAX(agesno(i,1),xmax)
     
    11681148         PRINT*,'Age de la neige <AGESNO>', xmin, xmax
    11691149         DO nsrf = 2, nbsrf
    1170          DO i = 1, klon
     1150         DO i = 1, klon_glo
    11711151            agesno(i,nsrf) = agesno(i,1)
    11721152         ENDDO
     
    11911171      xmin = 1.0E+20
    11921172      xmax = -1.0E+20
    1193       DO i = 1, klon
     1173      DO i = 1, klon_glo
    11941174         xmin = MIN(zmea(i),xmin)
    11951175         xmax = MAX(zmea(i),xmax)
     
    12141194      xmin = 1.0E+20
    12151195      xmax = -1.0E+20
    1216       DO i = 1, klon
     1196      DO i = 1, klon_glo
    12171197         xmin = MIN(zstd(i),xmin)
    12181198         xmax = MAX(zstd(i),xmax)
     
    12371217      xmin = 1.0E+20
    12381218      xmax = -1.0E+20
    1239       DO i = 1, klon
     1219      DO i = 1, klon_glo
    12401220         xmin = MIN(zsig(i),xmin)
    12411221         xmax = MAX(zsig(i),xmax)
     
    12601240      xmin = 1.0E+20
    12611241      xmax = -1.0E+20
    1262       DO i = 1, klon
     1242      DO i = 1, klon_glo
    12631243         xmin = MIN(zgam(i),xmin)
    12641244         xmax = MAX(zgam(i),xmax)
     
    12831263      xmin = 1.0E+20
    12841264      xmax = -1.0E+20
    1285       DO i = 1, klon
     1265      DO i = 1, klon_glo
    12861266         xmin = MIN(zthe(i),xmin)
    12871267         xmax = MAX(zthe(i),xmax)
     
    13061286      xmin = 1.0E+20
    13071287      xmax = -1.0E+20
    1308       DO i = 1, klon
     1288      DO i = 1, klon_glo
    13091289         xmin = MIN(zpic(i),xmin)
    13101290         xmax = MAX(zpic(i),xmax)
     
    13281308      xmin = 1.0E+20
    13291309      xmax = -1.0E+20
    1330       DO i = 1, klon
     1310      DO i = 1, klon_glo
    13311311         xmin = MIN(zval(i),xmin)
    13321312         xmax = MAX(zval(i),xmax)
     
    13511331      xmin = 1.0E+20
    13521332      xmax = -1.0E+20
    1353       DO i = 1, klon
     1333      DO i = 1, klon_glo
    13541334         xmin = MIN(rugsrel(i),xmin)
    13551335         xmax = MAX(rugsrel(i),xmax)
     
    15101490c
    15111491      ierr = NF_CLOSE(nid)
     1492      ENDIF ! is_mpi_root
    15121493c
    15131494c$OMP END MASTER
     
    15161497cym  en attendant mieux
    15171498        iolat(1)=rlat(1)
    1518         iolat(jjm+1)=rlat(klon)
     1499        iolat(jjm+1)=rlat(klon_glo)
    15191500        do i=2,jjm
    15201501          iolat(i)=rlat(2+(i-2)*iim)
    15211502        enddo
    1522        
     1503        CALL bcast_mpi(iolat)
     1504        CALL bcast_mpi(rlon)
    15231505        call init_iophy(iolat,rlon(2:iim+1))
    15241506       
    1525       print *,'Allocated ??',allocated(zmasq_mpi)
    1526       print *,'klon_mpi',klon_mpi
    1527       print *,'omp_rank',omp_rank
    1528       ALLOCATE( zmasq_mpi(klon_mpi))
    1529       ALLOCATE( rlat_mpi(klon_mpi), rlon_mpi(klon_mpi))
    1530       ALLOCATE( tsol_mpi(klon_mpi,nbsrf))
    1531       ALLOCATE( tsoil_mpi(klon_mpi,nsoilmx,nbsrf))
    1532       ALLOCATE( tslab_mpi(klon_mpi))
    1533       ALLOCATE( seaice_mpi(klon_mpi))
    1534       ALLOCATE( qsurf_mpi(klon_mpi,nbsrf))
    1535       ALLOCATE( qsol_mpi(klon_mpi))
    1536       ALLOCATE( snow_mpi(klon_mpi,nbsrf))
    1537       ALLOCATE( albe_mpi(klon_mpi,nbsrf))
    1538       ALLOCATE( alblw_mpi(klon_mpi,nbsrf))
    1539       ALLOCATE( evap_mpi(klon_mpi,nbsrf))
    1540       ALLOCATE( radsol_mpi(klon_mpi))
    1541       ALLOCATE( rain_fall_mpi(klon_mpi))
    1542       ALLOCATE( snow_fall_mpi(klon_mpi))
    1543       ALLOCATE( sollw_mpi(klon_mpi))
    1544       ALLOCATE( solsw_mpi(klon_mpi))
    1545       ALLOCATE( fder_mpi(klon_mpi))
    1546       ALLOCATE( frugs_mpi(klon_mpi,nbsrf))
    1547       ALLOCATE( agesno_mpi(klon_mpi,nbsrf))
    1548       ALLOCATE( zmea_mpi(klon_mpi))
    1549       ALLOCATE( zstd_mpi(klon_mpi))
    1550       ALLOCATE( zsig_mpi(klon_mpi))
    1551       ALLOCATE( zgam_mpi(klon_mpi))
    1552       ALLOCATE( zthe_mpi(klon_mpi))
    1553       ALLOCATE( zpic_mpi(klon_mpi))
    1554       ALLOCATE( zval_mpi(klon_mpi))
    1555       ALLOCATE( rugsrel_mpi(klon_mpi))
    1556       ALLOCATE( pctsrf_mpi(klon_mpi, nbsrf))
    1557       ALLOCATE( run_off_lic_0_mpi(klon_mpi))
    1558       ALLOCATE( t_ancien_mpi(klon_mpi,klev))
    1559       ALLOCATE( q_ancien_mpi(klon_mpi,klev))
    1560       ALLOCATE( rnebcon_mpi(klon_mpi,klev))
    1561       ALLOCATE( clwcon_mpi(klon_mpi,klev))
    1562       ALLOCATE( ratqs_mpi(klon_mpi,klev))
     1507c$OMP END MASTER
    15631508       
    1564       call ScatterField( rlat,rlat_mpi,1)
    1565       call ScatterField( rlon,rlon_mpi,1)
    1566       call ScatterField( tsol,tsol_mpi,nbsrf)
    1567       call ScatterField( tsoil,tsoil_mpi,nsoilmx*nbsrf)
    1568       call ScatterField( tslab,tslab_mpi,1)
    1569       call ScatterField( seaice,seaice_mpi,1)
    1570       call ScatterField( qsurf,qsurf_mpi,nbsrf)
    1571       call ScatterField( qsol,qsol_mpi,1)
    1572       call ScatterField( snow,snow_mpi,nbsrf)
    1573       call ScatterField( albe,albe_mpi,nbsrf)
    1574       call ScatterField( alblw,alblw_mpi,nbsrf)
    1575       call ScatterField( evap,evap_mpi,nbsrf)
    1576       call ScatterField( radsol,radsol_mpi,1)
    1577       call ScatterField( rain_fall,rain_fall_mpi,1)
    1578       call ScatterField( snow_fall,snow_fall_mpi,1)
    1579       call ScatterField( sollw,sollw_mpi,1)
    1580       call ScatterField( solsw,solsw_mpi,1)
    1581       call ScatterField( fder,fder_mpi,1)
    1582       call ScatterField( frugs,frugs_mpi,nbsrf)
    1583       call ScatterField( agesno,agesno_mpi,nbsrf)
    1584       call ScatterField( zmea,zmea_mpi,1)
    1585       call ScatterField( zstd,zstd_mpi,1)
    1586       call ScatterField( zsig,zsig_mpi,1)
    1587       call ScatterField( zgam,zgam_mpi,1)
    1588       call ScatterField( zthe,zthe_mpi,1)
    1589       call ScatterField( zpic,zpic_mpi,1)
    1590       call ScatterField( zval,zval_mpi,1)
    1591       call ScatterField( rugsrel,rugsrel_mpi,1)
    1592       call ScatterField( pctsrf,pctsrf_mpi, nbsrf)
    1593       call ScatterField( run_off_lic_0,run_off_lic_0_mpi,1)
    1594       call ScatterField( t_ancien,t_ancien_mpi,klev)
    1595       call ScatterField( q_ancien,q_ancien_mpi,klev)
    1596       call ScatterField( rnebcon,rnebcon_mpi,klev)
    1597       call ScatterField( clwcon,clwcon_mpi,klev)
    1598       call ScatterField( ratqs,ratqs_mpi,klev)
    1599       call ScatterField( zmasq,zmasq_mpi,1)
    1600 c$OMP END MASTER
    1601 c$OMP BARRIER
    1602       call ScatterField_omp( rlat_mpi,rlat_p,1)
    1603       call ScatterField_omp( rlon_mpi,rlon_p,1)
    1604       call ScatterField_omp( tsol_mpi,tsol_p,nbsrf)
    1605       call ScatterField_omp( tsoil_mpi,tsoil_p,nsoilmx*nbsrf)
    1606       call ScatterField_omp( tslab_mpi,tslab_p,1)
    1607       call ScatterField_omp( seaice_mpi,seaice_p,1)
    1608       call ScatterField_omp( qsurf_mpi,qsurf_p,nbsrf)
    1609       call ScatterField_omp( qsol_mpi,qsol_p,1)
    1610       call ScatterField_omp( snow_mpi,snow_p,nbsrf)
    1611       call ScatterField_omp( albe_mpi,albe_p,nbsrf)
    1612       call ScatterField_omp( alblw_mpi,alblw_p,nbsrf)
    1613       call ScatterField_omp( evap_mpi,evap_p,nbsrf)
    1614       call ScatterField_omp( radsol_mpi,radsol_p,1)
    1615       call ScatterField_omp( rain_fall_mpi,rain_fall_p,1)
    1616       call ScatterField_omp( snow_fall_mpi,snow_fall_p,1)
    1617       call ScatterField_omp( sollw_mpi,sollw_p,1)
    1618       call ScatterField_omp( solsw_mpi,solsw_p,1)
    1619       call ScatterField_omp( fder_mpi,fder_p,1)
    1620       call ScatterField_omp( frugs_mpi,frugs_p,nbsrf)
    1621       call ScatterField_omp( agesno_mpi,agesno_p,nbsrf)
    1622       call ScatterField_omp( zmea_mpi,zmea_p,1)
    1623       call ScatterField_omp( zstd_mpi,zstd_p,1)
    1624       call ScatterField_omp( zsig_mpi,zsig_p,1)
    1625       call ScatterField_omp( zgam_mpi,zgam_p,1)
    1626       call ScatterField_omp( zthe_mpi,zthe_p,1)
    1627       call ScatterField_omp( zpic_mpi,zpic_p,1)
    1628       call ScatterField_omp( zval_mpi,zval_p,1)
    1629       call ScatterField_omp( rugsrel_mpi,rugsrel_p,1)
    1630       call ScatterField_omp( pctsrf_mpi,pctsrf_p, nbsrf)
    1631       call ScatterField_omp( run_off_lic_0_mpi,run_off_lic_0_p,1)
    1632       call ScatterField_omp( t_ancien_mpi,t_ancien_p,klev)
    1633       call ScatterField_omp( q_ancien_mpi,q_ancien_p,klev)
    1634       call ScatterField_omp( rnebcon_mpi,rnebcon_p,klev)
    1635       call ScatterField_omp( clwcon_mpi,clwcon_p,klev)
    1636       call ScatterField_omp( ratqs_mpi,ratqs_p,klev)
    1637       call ScatterField_omp( zmasq_mpi,zmasq_p,1)
    1638       ancien_ok_p=ancien_ok
    1639 
    1640 c$OMP MASTER
    1641       DEALLOCATE( zmasq_mpi)
    1642       DEALLOCATE( rlat_mpi, rlon_mpi)
    1643       DEALLOCATE( tsol_mpi)
    1644       DEALLOCATE( tsoil_mpi)
    1645       DEALLOCATE( tslab_mpi)
    1646       DEALLOCATE( seaice_mpi)
    1647       DEALLOCATE( qsurf_mpi)
    1648       DEALLOCATE( qsol_mpi)
    1649       DEALLOCATE( snow_mpi)
    1650       DEALLOCATE( albe_mpi)
    1651       DEALLOCATE( alblw_mpi)
    1652       DEALLOCATE( evap_mpi)
    1653       DEALLOCATE( radsol_mpi)
    1654       DEALLOCATE( rain_fall_mpi)
    1655       DEALLOCATE( snow_fall_mpi)
    1656       DEALLOCATE( sollw_mpi)
    1657       DEALLOCATE( solsw_mpi)
    1658       DEALLOCATE( fder_mpi)
    1659       DEALLOCATE( frugs_mpi)
    1660       DEALLOCATE( agesno_mpi)
    1661       DEALLOCATE( zmea_mpi)
    1662       DEALLOCATE( zstd_mpi)
    1663       DEALLOCATE( zsig_mpi)
    1664       DEALLOCATE( zgam_mpi)
    1665       DEALLOCATE( zthe_mpi)
    1666       DEALLOCATE( zpic_mpi)
    1667       DEALLOCATE( zval_mpi)
    1668       DEALLOCATE( rugsrel_mpi)
    1669       DEALLOCATE( pctsrf_mpi)
    1670       DEALLOCATE( run_off_lic_0_mpi)
    1671       DEALLOCATE( t_ancien_mpi)
    1672       DEALLOCATE( q_ancien_mpi)
    1673       DEALLOCATE( rnebcon_mpi)
    1674       DEALLOCATE( clwcon_mpi)   
    1675 
    1676 c$OMP END MASTER
    1677 c$OMP BARRIER
     1509      call Scatter( rlat,rlat_p)
     1510      call Scatter( rlon,rlon_p)
     1511      call Scatter( tsol,tsol_p)
     1512      call Scatter( tsoil,tsoil_p)
     1513      call Scatter( tslab,tslab_p)
     1514      call Scatter( seaice,seaice_p)
     1515      call Scatter( qsurf,qsurf_p)
     1516      call Scatter( qsol,qsol_p)
     1517      call Scatter( snow,snow_p)
     1518      call Scatter( albe,albe_p)
     1519      call Scatter( alblw,alblw_p)
     1520      call Scatter( evap,evap_p)
     1521      call Scatter( radsol,radsol_p)
     1522      call Scatter( rain_fall,rain_fall_p)
     1523      call Scatter( snow_fall,snow_fall_p)
     1524      call Scatter( sollw,sollw_p)
     1525      call Scatter( solsw,solsw_p)
     1526      call Scatter( fder,fder_p)
     1527      call Scatter( frugs,frugs_p)
     1528      call Scatter( agesno,agesno_p)
     1529      call Scatter( zmea,zmea_p)
     1530      call Scatter( zstd,zstd_p)
     1531      call Scatter( zsig,zsig_p)
     1532      call Scatter( zgam,zgam_p)
     1533      call Scatter( zthe,zthe_p)
     1534      call Scatter( zpic,zpic_p)
     1535      call Scatter( zval,zval_p)
     1536      call Scatter( rugsrel,rugsrel_p)
     1537      call Scatter( pctsrf,pctsrf_p)
     1538      call Scatter( run_off_lic_0,run_off_lic_0_p)
     1539      call Scatter( t_ancien,t_ancien_p)
     1540      call Scatter( q_ancien,q_ancien_p)
     1541      call Scatter( rnebcon,rnebcon_p)
     1542      call Scatter( clwcon,clwcon_p)
     1543      call Scatter( ratqs,ratqs_p)
     1544      call Scatter( zmasq_glo,zmasq)
    16781545
    16791546      RETURN
  • LMDZ4/trunk/libf/phylmd/phyredem.F

    r766 r776  
    1414     .           run_off_lic_0_p)
    1515      USE dimphy
     16      USE mod_grid_phy_lmdz
     17      USE mod_phys_lmdz_para
    1618      IMPLICIT none
    1719c======================================================================
     
    6567      REAL run_off_lic_0_p(klon)
    6668     
    67       REAL rlat(klon2), rlon(klon2)
    68       REAL tsol(klon2,nbsrf)
    69       REAL tsoil(klon2,nsoilmx,nbsrf)
    70       REAL tslab(klon2), seaice(klon2)
    71       REAL qsurf(klon2,nbsrf)
    72       REAL qsol(klon2)
    73       REAL snow(klon2,nbsrf)
    74       REAL albedo(klon2,nbsrf)
    75       REAL alblw(klon2,nbsrf)
    76       REAL evap(klon2,nbsrf)
    77       REAL rain_fall(klon2)
    78       REAL snow_fall(klon2)
    79       real solsw(klon2)
    80       real sollw(klon2)
    81       real fder(klon2)
    82       REAL radsol(klon2)
    83       REAL frugs(klon2,nbsrf)
    84       REAL agesno(klon2,nbsrf)
    85       REAL zmea(klon2)
    86       REAL zstd(klon2)
    87       REAL zsig(klon2)
    88       REAL zgam(klon2)
    89       REAL zthe(klon2)
    90       REAL zpic(klon2)
    91       REAL zval(klon2)
    92       REAL rugsrel(klon2)
    93       REAL pctsrf(klon2, nbsrf)
    94       REAL t_ancien(klon2,klev), q_ancien(klon2,klev)
    95       real clwcon(klon2,klev),rnebcon(klon2,klev),ratqs(klon2,klev)
    96       REAL run_off_lic_0(klon2)
    97       REAL masq(klon2)
     69      REAL rlat(klon_glo), rlon(klon_glo)
     70      REAL tsol(klon_glo,nbsrf)
     71      REAL tsoil(klon_glo,nsoilmx,nbsrf)
     72      REAL tslab(klon_glo), seaice(klon_glo)
     73      REAL qsurf(klon_glo,nbsrf)
     74      REAL qsol(klon_glo)
     75      REAL snow(klon_glo,nbsrf)
     76      REAL albedo(klon_glo,nbsrf)
     77      REAL alblw(klon_glo,nbsrf)
     78      REAL evap(klon_glo,nbsrf)
     79      REAL rain_fall(klon_glo)
     80      REAL snow_fall(klon_glo)
     81      real solsw(klon_glo)
     82      real sollw(klon_glo)
     83      real fder(klon_glo)
     84      REAL radsol(klon_glo)
     85      REAL frugs(klon_glo,nbsrf)
     86      REAL agesno(klon_glo,nbsrf)
     87      REAL zmea(klon_glo)
     88      REAL zstd(klon_glo)
     89      REAL zsig(klon_glo)
     90      REAL zgam(klon_glo)
     91      REAL zthe(klon_glo)
     92      REAL zpic(klon_glo)
     93      REAL zval(klon_glo)
     94      REAL rugsrel(klon_glo)
     95      REAL pctsrf(klon_glo, nbsrf)
     96      REAL t_ancien(klon_glo,klev), q_ancien(klon_glo,klev)
     97      REAL clwcon(klon_glo,klev)
     98      REAL rnebcon(klon_glo,klev)
     99      REAL ratqs(klon_glo,klev)
     100      REAL run_off_lic_0(klon_glo)
     101      REAL masq(klon_glo)
    98102c
    99103      INTEGER nid, nvarid, idim1, idim2, idim3
     
    107111      CHARACTER*2 str2
    108112c
    109       REAL,SAVE,ALLOCATABLE :: rlat_mpi(:), rlon_mpi(:)
    110       REAL,SAVE,ALLOCATABLE :: tsol_mpi(:,:)
    111       REAL,SAVE,ALLOCATABLE :: tsoil_mpi(:,:,:)
    112       REAL,SAVE,ALLOCATABLE :: tslab_mpi(:)
    113       REAL,SAVE,ALLOCATABLE :: seaice_mpi(:)
    114       REAL,SAVE,ALLOCATABLE :: qsurf_mpi(:,:)
    115       REAL,SAVE,ALLOCATABLE :: qsol_mpi(:)
    116       REAL,SAVE,ALLOCATABLE :: snow_mpi(:,:)
    117       REAL,SAVE,ALLOCATABLE :: albedo_mpi(:,:)
    118       REAL,SAVE,ALLOCATABLE :: alblw_mpi(:,:)
    119       REAL,SAVE,ALLOCATABLE :: evap_mpi(:,:)
    120       REAL,SAVE,ALLOCATABLE :: rain_fall_mpi(:)
    121       REAL,SAVE,ALLOCATABLE :: snow_fall_mpi(:)
    122       REAL,SAVE,ALLOCATABLE :: solsw_mpi(:)
    123       REAL,SAVE,ALLOCATABLE :: sollw_mpi(:)
    124       REAL,SAVE,ALLOCATABLE :: fder_mpi(:)
    125       REAL,SAVE,ALLOCATABLE :: radsol_mpi(:)
    126       REAL,SAVE,ALLOCATABLE :: frugs_mpi(:,:)
    127       REAL,SAVE,ALLOCATABLE :: agesno_mpi(:,:)
    128       REAL,SAVE,ALLOCATABLE :: zmea_mpi(:)
    129       REAL,SAVE,ALLOCATABLE :: zstd_mpi(:)
    130       REAL,SAVE,ALLOCATABLE :: zsig_mpi(:)
    131       REAL,SAVE,ALLOCATABLE :: zgam_mpi(:)
    132       REAL,SAVE,ALLOCATABLE :: zthe_mpi(:)
    133       REAL,SAVE,ALLOCATABLE :: zpic_mpi(:)
    134       REAL,SAVE,ALLOCATABLE :: zval_mpi(:)
    135       REAL,SAVE,ALLOCATABLE :: rugsrel_mpi(:)
    136       REAL,SAVE,ALLOCATABLE :: pctsrf_mpi(:, :)
    137       REAL,SAVE,ALLOCATABLE :: t_ancien_mpi(:,:), q_ancien_mpi(:,:)
    138       REAL,SAVE,ALLOCATABLE :: clwcon_mpi(:,:),rnebcon_mpi(:,:)
    139       REAL,SAVE,ALLOCATABLE :: ratqs_mpi(:,:)
    140       REAL,SAVE,ALLOCATABLE :: run_off_lic_0_mpi(:)
    141       REAL,SAVE,ALLOCATABLE :: masq_mpi(:)
     113      call Gather( rlat_p,rlat)
     114      call Gather( rlon_p,rlon)
     115      call Gather( tsol_p,tsol)
     116      call Gather( tsoil_p,tsoil)
     117      call Gather( tslab_p,tslab)
     118      call Gather( seaice_p,seaice)
     119      call Gather( qsurf_p,qsurf)
     120      call Gather( qsol_p,qsol)
     121      call Gather( snow_p,snow)
     122      call Gather( albedo_p,albedo)
     123      call Gather( alblw_p,alblw)
     124      call Gather( evap_p,evap)
     125      call Gather( radsol_p,radsol)
     126      call Gather( rain_fall_p,rain_fall)
     127      call Gather( snow_fall_p,snow_fall)
     128      call Gather( sollw_p,sollw)
     129      call Gather( solsw_p,solsw)
     130      call Gather( fder_p,fder)
     131      call Gather( frugs_p,frugs)
     132      call Gather( agesno_p,agesno)
     133      call Gather( zmea_p,zmea)
     134      call Gather( zstd_p,zstd)
     135      call Gather( zsig_p,zsig)
     136      call Gather( zgam_p,zgam)
     137      call Gather( zthe_p,zthe)
     138      call Gather( zpic_p,zpic)
     139      call Gather( zval_p,zval)
     140      call Gather( rugsrel_p,rugsrel)
     141      call Gather( pctsrf_p,pctsrf)
     142      call Gather( run_off_lic_0_p,run_off_lic_0)
     143      call Gather( t_ancien_p,t_ancien)
     144      call Gather( q_ancien_p,q_ancien)
     145      call Gather( rnebcon_p,rnebcon)
     146      call Gather( clwcon_p,clwcon)
     147      call Gather( ratqs_p,ratqs)
     148      call Gather( zmasq,masq)
    142149     
    143150c$OMP MASTER
    144       ALLOCATE( rlat_mpi(klon_mpi), rlon_mpi(klon_mpi))
    145       ALLOCATE( tsol_mpi(klon_mpi,nbsrf))
    146       ALLOCATE( tsoil_mpi(klon_mpi,nsoilmx,nbsrf))
    147       ALLOCATE( tslab_mpi(klon_mpi))
    148       ALLOCATE( seaice_mpi(klon_mpi))
    149       ALLOCATE( qsurf_mpi(klon_mpi,nbsrf))
    150       ALLOCATE( qsol_mpi(klon_mpi))
    151       ALLOCATE( snow_mpi(klon_mpi,nbsrf))
    152       ALLOCATE( albedo_mpi(klon_mpi,nbsrf))
    153       ALLOCATE( alblw_mpi(klon_mpi,nbsrf))
    154       ALLOCATE( evap_mpi(klon_mpi,nbsrf))
    155       ALLOCATE( rain_fall_mpi(klon_mpi))
    156       ALLOCATE( snow_fall_mpi(klon_mpi))
    157       ALLOCATE( solsw_mpi(klon_mpi))
    158       ALLOCATE( sollw_mpi(klon_mpi))
    159       ALLOCATE( fder_mpi(klon_mpi))
    160       ALLOCATE( radsol_mpi(klon_mpi))
    161       ALLOCATE( frugs_mpi(klon_mpi,nbsrf))
    162       ALLOCATE( agesno_mpi(klon_mpi,nbsrf))
    163       ALLOCATE( zmea_mpi(klon_mpi))
    164       ALLOCATE( zstd_mpi(klon_mpi))
    165       ALLOCATE( zsig_mpi(klon_mpi))
    166       ALLOCATE( zgam_mpi(klon_mpi))
    167       ALLOCATE( zthe_mpi(klon_mpi))
    168       ALLOCATE( zpic_mpi(klon_mpi))
    169       ALLOCATE( zval_mpi(klon_mpi))
    170       ALLOCATE( rugsrel_mpi(klon_mpi))
    171       ALLOCATE( pctsrf_mpi(klon_mpi, nbsrf))
    172       ALLOCATE( t_ancien_mpi(klon_mpi,klev))
    173       ALLOCATE( q_ancien_mpi(klon_mpi,klev))
    174       ALLOCATE( clwcon_mpi(klon_mpi,klev),rnebcon_mpi(klon_mpi,klev))
    175       ALLOCATE( ratqs_mpi(klon_mpi,klev))
    176       ALLOCATE( run_off_lic_0_mpi(klon_mpi))
    177       ALLOCATE( masq_mpi(klon_mpi))
    178 c$OMP END MASTER
    179 c$OMP BARRIER     
    180 
    181       call GatherField_omp( rlat_p,rlat_mpi,1)
    182       call GatherField_omp( rlon_p,rlon_mpi,1)
    183       call GatherField_omp( tsol_p,tsol_mpi,nbsrf)
    184       call GatherField_omp( tsoil_p,tsoil_mpi,nsoilmx*nbsrf)
    185       call GatherField_omp( tslab_p,tslab_mpi,1)
    186       call GatherField_omp( seaice_p,seaice_mpi,1)
    187       call GatherField_omp( qsurf_p,qsurf_mpi,nbsrf)
    188       call GatherField_omp( qsol_p,qsol_mpi,1)
    189       call GatherField_omp( snow_p,snow_mpi,nbsrf)
    190       call GatherField_omp( albedo_p,albedo_mpi,nbsrf)
    191       call GatherField_omp( alblw_p,alblw_mpi,nbsrf)
    192       call GatherField_omp( evap_p,evap_mpi,nbsrf)
    193       call GatherField_omp( radsol_p,radsol_mpi,1)
    194       call GatherField_omp( rain_fall_p,rain_fall_mpi,1)
    195       call GatherField_omp( snow_fall_p,snow_fall_mpi,1)
    196       call GatherField_omp( sollw_p,sollw_mpi,1)
    197       call GatherField_omp( solsw_p,solsw_mpi,1)
    198       call GatherField_omp( fder_p,fder_mpi,1)
    199       call GatherField_omp( frugs_p,frugs_mpi,nbsrf)
    200       call GatherField_omp( agesno_p,agesno_mpi,nbsrf)
    201       call GatherField_omp( zmea_p,zmea_mpi,1)
    202       call GatherField_omp( zstd_p,zstd_mpi,1)
    203       call GatherField_omp( zsig_p,zsig_mpi,1)
    204       call GatherField_omp( zgam_p,zgam_mpi,1)
    205       call GatherField_omp( zthe_p,zthe_mpi,1)
    206       call GatherField_omp( zpic_p,zpic_mpi,1)
    207       call GatherField_omp( zval_p,zval_mpi,1)
    208       call GatherField_omp( rugsrel_p,rugsrel_mpi,1)
    209       call GatherField_omp( pctsrf_p,pctsrf_mpi, nbsrf)
    210       call GatherField_omp( run_off_lic_0_p,run_off_lic_0_mpi,1)
    211       call GatherField_omp( t_ancien_p,t_ancien_mpi,klev)
    212       call GatherField_omp( q_ancien_p,q_ancien_mpi,klev)
    213       call GatherField_omp( rnebcon_p,rnebcon_mpi,klev)
    214       call GatherField_omp( clwcon_p,clwcon_mpi,klev)
    215       call GatherField_omp( ratqs_p,ratqs_mpi,klev)
    216       call GatherField_omp( zmasq,masq_mpi,1)
    217 
    218 c$OMP MASTER     
    219       call GatherField( rlat_mpi,rlat,1)
    220       call GatherField( rlon_mpi,rlon,1)
    221       call GatherField( tsol_mpi,tsol,nbsrf)
    222       call GatherField( tsoil_mpi,tsoil,nsoilmx*nbsrf)
    223       call GatherField( tslab_mpi,tslab,1)
    224       call GatherField( seaice_mpi,seaice,1)
    225       call GatherField( qsurf_mpi,qsurf,nbsrf)
    226       call GatherField( qsol_mpi,qsol,1)
    227       call GatherField( snow_mpi,snow,nbsrf)
    228       call GatherField( albedo_mpi,albedo,nbsrf)
    229       call GatherField( alblw_mpi,alblw,nbsrf)
    230       call GatherField( evap_mpi,evap,nbsrf)
    231       call GatherField( radsol_mpi,radsol,1)
    232       call GatherField( rain_fall_mpi,rain_fall,1)
    233       call GatherField( snow_fall_mpi,snow_fall,1)
    234       call GatherField( sollw_mpi,sollw,1)
    235       call GatherField( solsw_mpi,solsw,1)
    236       call GatherField( fder_mpi,fder,1)
    237       call GatherField( frugs_mpi,frugs,nbsrf)
    238       call GatherField( agesno_mpi,agesno,nbsrf)
    239       call GatherField( zmea_mpi,zmea,1)
    240       call GatherField( zstd_mpi,zstd,1)
    241       call GatherField( zsig_mpi,zsig,1)
    242       call GatherField( zgam_mpi,zgam,1)
    243       call GatherField( zthe_mpi,zthe,1)
    244       call GatherField( zpic_mpi,zpic,1)
    245       call GatherField( zval_mpi,zval,1)
    246       call GatherField( rugsrel_mpi,rugsrel,1)
    247       call GatherField( pctsrf_mpi,pctsrf, nbsrf)
    248       call GatherField( run_off_lic_0_mpi,run_off_lic_0,1)
    249       call GatherField( t_ancien_mpi,t_ancien,klev)
    250       call GatherField( q_ancien_mpi,q_ancien,klev)
    251       call GatherField( rnebcon_mpi,rnebcon,klev)
    252       call GatherField( clwcon_mpi,clwcon,klev)
    253       call GatherField( ratqs_mpi,ratqs,klev)
    254       call GatherField( masq_mpi,masq,1)
    255      
    256       DEALLOCATE( rlat_mpi, rlon_mpi)
    257       DEALLOCATE( tsol_mpi)
    258       DEALLOCATE( tsoil_mpi)
    259       DEALLOCATE( tslab_mpi)
    260       DEALLOCATE( seaice_mpi)
    261       DEALLOCATE( qsurf_mpi)
    262       DEALLOCATE( qsol_mpi)
    263       DEALLOCATE( snow_mpi)
    264       DEALLOCATE( albedo_mpi)
    265       DEALLOCATE( alblw_mpi)
    266       DEALLOCATE( evap_mpi)
    267       DEALLOCATE( rain_fall_mpi)
    268       DEALLOCATE( snow_fall_mpi)
    269       DEALLOCATE( solsw_mpi)
    270       DEALLOCATE( sollw_mpi)
    271       DEALLOCATE( fder_mpi)
    272       DEALLOCATE( radsol_mpi)
    273       DEALLOCATE( frugs_mpi)
    274       DEALLOCATE( agesno_mpi)
    275       DEALLOCATE( zmea_mpi)
    276       DEALLOCATE( zstd_mpi)
    277       DEALLOCATE( zsig_mpi)
    278       DEALLOCATE( zgam_mpi)
    279       DEALLOCATE( zthe_mpi)
    280       DEALLOCATE( zpic_mpi)
    281       DEALLOCATE( zval_mpi)
    282       DEALLOCATE( rugsrel_mpi)
    283       DEALLOCATE( pctsrf_mpi)
    284       DEALLOCATE( t_ancien_mpi)
    285       DEALLOCATE( q_ancien_mpi)
    286       DEALLOCATE( clwcon_mpi,rnebcon_mpi)
    287       DEALLOCATE( ratqs_mpi)
    288       DEALLOCATE( run_off_lic_0_mpi)
    289       DEALLOCATE( masq_mpi)
    290 
    291       if (phy_rank==0) then
     151      IF (is_mpi_root) THEN
    292152     
    293153      ierr = NF_CREATE(fichnom, NF_CLOBBER, nid)
     
    302162c
    303163      ierr = NF_DEF_DIM (nid, "index", length, idim1)
    304       ierr = NF_DEF_DIM (nid, "points_physiques", klon2, idim2)
    305       ierr = NF_DEF_DIM (nid, "horizon_vertical", klon2*klev, idim3)
     164      ierr = NF_DEF_DIM (nid, "points_physiques", klon_glo, idim2)
     165      ierr = NF_DEF_DIM (nid, "horizon_vertical", klon_glo*klev, idim3)
    306166c
    307167      ierr = NF_ENDDEF(nid)
     
    402262      ierr = NF_ENDDEF(nid)
    403263#ifdef NC_DOUBLE
    404       ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,pctsrf(1 : klon2, is_ter))
    405 #else
    406       ierr = NF_PUT_VAR_REAL (nid,nvarid,pctsrf(1 : klon2, is_ter))
     264      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,pctsrf(1 : klon_glo, is_ter))
     265#else
     266      ierr = NF_PUT_VAR_REAL (nid,nvarid,pctsrf(1 : klon_glo, is_ter))
    407267#endif
    408268C
     
    419279      ierr = NF_ENDDEF(nid)
    420280#ifdef NC_DOUBLE
    421       ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,pctsrf(1 : klon2,is_lic))
    422 #else
    423       ierr = NF_PUT_VAR_REAL (nid,nvarid,pctsrf(1 : klon2, is_lic))
     281      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,pctsrf(1 : klon_glo,is_lic))
     282#else
     283      ierr = NF_PUT_VAR_REAL (nid,nvarid,pctsrf(1 : klon_glo, is_lic))
    424284#endif
    425285C
     
    436296      ierr = NF_ENDDEF(nid)
    437297#ifdef NC_DOUBLE
    438       ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,pctsrf(1 : klon2, is_oce))
    439 #else
    440       ierr = NF_PUT_VAR_REAL (nid,nvarid,pctsrf(1 : klon2, is_oce))
     298      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,pctsrf(1 : klon_glo, is_oce))
     299#else
     300      ierr = NF_PUT_VAR_REAL (nid,nvarid,pctsrf(1 : klon_glo, is_oce))
    441301#endif
    442302C
     
    453313      ierr = NF_ENDDEF(nid)
    454314#ifdef NC_DOUBLE
    455       ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,pctsrf(1 : klon2, is_sic))
    456 #else
    457       ierr = NF_PUT_VAR_REAL (nid,nvarid,pctsrf(1 : klon2, is_sic))
     315      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,pctsrf(1 : klon_glo, is_sic))
     316#else
     317      ierr = NF_PUT_VAR_REAL (nid,nvarid,pctsrf(1 : klon_glo, is_sic))
    458318#endif
    459319C
     
    767627cc ----> necessaire pour eviter bug openMP sur SX6
    768628c$OMP MASTER
    769       if (phy_rank==0) then
     629      if (is_mpi_root) then
    770630      DO nsrf = 1, nbsrf
    771631        IF (nsrf.LE.99) THEN
     
    1020880      ierr = NF_CLOSE(nid)
    1021881c
    1022       endif   ! phy_rank==0
     882      endif   ! is_mpi_root
    1023883c$OMP END MASTER
    1024884      RETURN
  • LMDZ4/trunk/libf/phylmd/physiq.F

    r766 r776  
    2121      USE write_field_phy
    2222      USE dimphy
     23      USE mod_grid_phy_lmdz
     24      USE mod_phys_lmdz_para
    2325      USE iophy
    2426      USE misc_mod, mydebug=>debug
     
    6870c d_q_dyn-input-R-tendance dynamique pour "q" (kg/kg/s)
    6971c omega---input-R-vitesse verticale en Pa/s
     72cIM comgeomphy.h BEG
    7073c cuphy----input-R-resolution des mailles en x (m)
    7174c cvphy----input-R-resolution des mailles en y (m)
     75cIM comgeomphy.h END
    7276c d_u-----output-R-tendance physique de "u" (m/s/s)
    7377c d_v-----output-R-tendance physique de "v" (m/s/s)
     
    7579c d_qx----output-R-tendance physique de "qx" (kg/kg/s)
    7680c d_ps----output-R-tendance physique de la pression au sol
     81cIM
    7782c PVteta--output-R-vorticite potentielle a des thetas constantes
    7883c======================================================================
     
    440445      INTEGER ncolmx, seed(klon,napisccp)
    441446      REAL nbsunlit(nregISCtot,klon,napisccp)  !nbsunlit : moyenne de sunlit
    442       PARAMETER(ncolmx=1500)
     447      PARAMETER(ncolmx=350)
    443448c
    444449cIM verif boxptop BEG
     
    14151420c Declaration des constantes et des fonctions thermodynamiques
    14161421c
    1417       REAL Field_tmp(klon2,klevp1)
     1422      REAL Field_tmp(klon_glo,klevp1)
    14181423      LOGICAL,SAVE :: first=.true.
    14191424c$OMP THREADPRIVATE(first)
     
    32993304cIM calcul composantes axiales du moment angulaire et couple des montagnes
    33003305c
    3301       IF (monocpu) THEN
     3306      IF (is_sequential) THEN
    33023307     
    33033308        CALL aaam_bud (27,klon,klev,rjourvrai,gmtime,
  • LMDZ4/trunk/libf/phylmd/phytrac.F

    r766 r776  
    6464      USE ioipsl
    6565      USE dimphy
     66      USE mod_grid_phy_lmdz
     67      USE mod_phys_lmdz_para
    6668      USE comgeomphy
    6769      USE iophy
     
    211213c$OMP THREADPRIVATE(trs)
    212214cym      SAVE trs
    213       REAL :: trs_tmp(klon2)
    214       REAL,SAVE,ALLOCATABLE :: trs_mpi(:)
     215      REAL :: trs_tmp(klon_glo)
    215216     
    216217      REAL,save,allocatable :: masktr(:,:) ! Masque reservoir de sol traceur
     
    403404         if (debutphy) then
    404405           allocate( trs(klon,nbtr) )
    405 c$OMP MASTER
    406            allocate( trs_mpi(klon_mpi) ) 
    407 c$OMP END MASTER           
    408406           allocate( masktr(klon,nbtr))
    409407           allocate( fshtr(klon,nbtr) )
     
    447445         trs(:,:) = 0.
    448446c$OMP MASTER         
    449        if (phy_rank==0) then
     447       if (is_mpi_root) then
    450448         trs_tmp(:)=0.
    451449         open (99,file='starttrac',status='old',
    452450     .         err=999,form='formatted')
    453          read(99,*) (trs_tmp(i),i=1,klon2)
     451         read(99,*) (trs_tmp(i),i=1,klon_glo)
    454452999      close(99)
    455453       endif
    456        call ScatterField(trs_tmp,trs_mpi,1)
    457454c$OMP END MASTER
    458       call ScatterField_omp(trs_mpi,trs(:,1),1)
     455       call Scatter(trs_tmp,trs(:,1))
     456
    459457c         print*, 'apres starttrac'
    460458
     
    923921      if (lafin) then
    924922         print*, 'c est la fin de la physique'
    925          call GatherField_omp(trs(:,1),trs_mpi,1)
     923         call Gather(trs(:,1),trs_tmp)
    926924c$OMP MASTER     
    927          call GatherField(trs_mpi,trs_tmp,1)
    928          if (phy_rank==0) then
     925         if (is_mpi_root) then
    929926         
    930927           open (99,file='restarttrac',  form='formatted')
    931            do i=1,klon
     928           do i=1,klon_glo
    932929               write(99,*) trs_tmp(i)
    933930           enddo
  • LMDZ4/trunk/libf/phylmd/readsulfate.F

    r766 r776  
    33!
    44      SUBROUTINE readsulfate (r_day, first, sulfate_p)
    5       USE dimphy, klon=>klon2,klon2=>klon
     5      USE dimphy, ONLY : klev
     6      USE mod_grid_phy_lmdz, klon=>klon_glo
     7      USE mod_phys_lmdz_para
    68      IMPLICIT none
    79     
     
    8486        allocate( so4(klon, klev, 12) )
    8587        allocate( so4_out(klon, klev))
    86         allocate(sulfate_mpi(klon_mpi,klev)) 
    8788        first2=.false.
    8889       
    8990      endif
    9091
    91       if (phy_rank==0) then
     92      if (is_mpi_root) then
    9293           
    9394      iday = INT(r_day)
     
    288289      endif   ! phy_rank==0
    289290     
    290       call ScatterField(real(sulfate),real(sulfate_mpi),klev)
    291291c$OMP END MASTER
    292       call ScatterField_omp(real(sulfate_mpi),real(sulfate_p)
    293      . ,klev)           
     292      call Scatter(real(sulfate),real(sulfate_p))           
    294293
    295294      RETURN
     
    305304     
    306305      SUBROUTINE readsulfate_preind (r_day, first, pi_sulfate_p)
    307       USE dimphy, klon=>klon2,klon2=>klon
     306      USE dimphy, ONLY : klev
     307      USE mod_grid_phy_lmdz, klon=>klon_glo
     308      USE mod_phys_lmdz_para
    308309      IMPLICIT none
    309310     
     
    347348      REAL*8  pi_sulfate (klon, klev)  ! Number conc. sulfate (monthly mean data,
    348349                                  !  from fil
    349       REAL*8,SAVE,ALLOCATABLE :: pi_sulfate_mpi(:,:)                     
    350350c     
    351351c Local Variables:
     
    377377        allocate( pi_so4(klon, klev, 12) )
    378378        allocate( pi_so4_out(klon, klev))
    379         allocate(pi_sulfate_mpi (klon_mpi, klev)) 
    380379        first2=.false.
    381380       
    382381      endif
    383382
    384       if (phy_rank==0) then
     383      if (is_mpi_root) then
    385384   
    386385     
     
    528527      ENDIF ! Was this the beginning of a new day?
    529528
    530       endif   ! phy_rank==0
    531      
    532       call ScatterField(real(pi_sulfate),real(pi_sulfate_mpi),klev)
     529      endif   ! is_mpi_root==0
     530     
    533531c$OMP END MASTER
    534       call ScatterField_omp(real(pi_sulfate_mpi),real(pi_sulfate_p)
    535      .,klev)           
     532      call Scatter(real(pi_sulfate),real(pi_sulfate_p))           
    536533
    537534      RETURN
  • LMDZ4/trunk/libf/phylmd/soil.F

    r766 r776  
    44      SUBROUTINE soil(ptimestep, indice, knon, snow, ptsrf, ptsoil,
    55     s          pcapcal, pfluxgrd)
    6       use dimphy
     6      USE dimphy
     7      USE mod_phys_lmdz_para
    78      IMPLICIT NONE
    89
     
    7374      REAL zdz2(nsoilmx),z1(klon,nbsrf)
    7475      REAL,SAVE :: min_period,dalph_soil
     76c$OMP THREADPRIVATE( min_period,dalph_soil)     
    7577      REAL ztherm_i(klon)
    7678
     
    151153         dalph_soil=2.    ! rapport entre les epaisseurs de 2 couches succ.
    152154c$OMP MASTER
     155         IF (is_mpi_root) THEN
    153156         OPEN(99,file='soil.def',status='old',form='formatted',err=9999)
    154157         READ(99,*) min_period
     
    159162         CLOSE(99)
    1601639999     CONTINUE
     164         ENDIF  ! is_mpi_root
    161165c$OMP END MASTER
    162 c$OMP BARRIER
     166         CALL bcast(min_period)
     167         CALL bcast(dalph_soil)
    163168
    164169c   la premiere couche represente un dixieme de cycle diurne
  • LMDZ4/trunk/libf/phylmd/tetalevel.F

    r766 r776  
     1!
     2! $Header$
     3!
    14c================================================================
    25c================================================================
  • LMDZ4/trunk/libf/phylmd/thermcell.F

    r766 r776  
     1!
     2! $Header$
     3!
     4
    15      SUBROUTINE thermcell(ngrid,nlay,ptimestep
    26     s                  ,pplay,pplev,pphi
  • LMDZ4/trunk/libf/phylmd/thermcell.h

    r766 r776  
     1!
     2! $Header$
     3!
     4
    15      integer iflag_thermals,nsplit_thermals
    26      real r_aspect_thermals,l_mix_thermals,tho_thermals
  • LMDZ4/trunk/libf/phylmd/transp_lay.F

    r766 r776  
     1!
     2! $Header$
     3!
    14      SUBROUTINE transp_lay (paprs,tsol,
    25     e                   t, q, u, v, geom,
  • LMDZ4/trunk/libf/phylmd/undefSTD.F

    r766 r776  
     1!
     2! $Header$
     3!
    14      SUBROUTINE undefSTD(nlevSTD,itap,tlevSTD,
    25     $           dtime,ecrit_hf,
  • LMDZ4/trunk/libf/phylmd/wrgradsfi.F

    r766 r776  
    33!
    44      subroutine wrgradsfi(if,nl,fieldfi_p,name,titlevar)
    5       use dimphy
     5      USE dimphy
     6      USE mod_grid_phy_lmdz
     7      USE mod_phys_lmdz_para
    68      implicit none
    79
     
    1416      integer if,nl
    1517      real fieldfi_p(klon,nl)
    16       real fieldfi(klon2,nl)
     18      real fieldfi(klon_glo,nl)
    1719      real fielddyn((iim+1)*(jjm+1),llm)
    1820      character*10 name
     
    2628
    2729c     print*,'Transformation pour ',name
    28       call GatherField(fieldfi_p,fieldfi,nl)
    29      
    30       if (phy_rank==0) then
     30      call Gather(fieldfi_p,fieldfi)
     31
     32c$OMP MASTER     
     33      if (is_mpi_root) then
    3134        call gr_fi_dyn(nl,klon,iim+1,jjm+1,fieldfi,fielddyn)
     35       
    3236c     print*,'Transformation OK '
    3337        call wrgrads(if,nl,fielddyn,name,titlevar)
    3438c     print*,'Ecriture ok'
    3539      endif
     40c$OMP END MASTER
    3641     
    3742      return
  • LMDZ4/trunk/libf/phylmd/write_field_phy.F90

    r765 r776  
     1!
     2! $Header$
     3!
    14MODULE write_field_phy
    25
     
    58    SUBROUTINE WriteField_phy(name,Field,ll)
    69    USE dimphy
     10    USE mod_phys_lmdz_para
     11    USE mod_grid_phy_lmdz
    712    USE Write_Field
     13   
    814    IMPLICIT NONE
    915    include 'dimensions90.h'
     
    1420    real, dimension(klon_omp,ll) :: Field
    1521    real,save,allocatable :: Field_tmp(:,:)
    16     real, dimension(klon2,ll):: New_Field
     22    real, dimension(klon_glo,ll):: New_Field
    1723    real, dimension(iim,jjp1,ll):: Field_2d
    18        
    19     if (omp_rank==0) then
    20       allocate(Field_tmp(klon_mpi,ll))
    21     endif
    22    
    23 !$OMP BARRIER
    24     CALL GatherField_omp(Field,Field_tmp,ll)
    25 !$OMP BARRIER
    2624
    27   if (omp_rank==0) then
    28     CALL GatherField(Field_tmp,New_Field,ll)
    29     IF (phy_rank==0) THEN
    30       CALL gr_fi_ecrit(ll, klon2,iim,jjp1, New_Field, Field_2d)
     25    CALL Gather(Field,New_Field)
     26!$OMP MASTER
     27    IF (is_mpi_root) THEN       
     28      CALL Grid1Dto2D_glo(New_Field,Field_2D)
    3129      CALL WriteField(name,Field_2d)
    3230    ENDIF
    33     deallocate(Field_tmp)
    34   endif
    35 !$OMP BARRIER
     31!$OMP END MASTER
     32
    3633 
    3734   END SUBROUTINE WriteField_phy
  • LMDZ4/trunk/libf/phylmd/write_histREGDYN.h

    r766 r776  
    44      if (ok_regdyn) then
    55     
    6       if (monocpu) then
     6      if (is_sequential) then
    77
    88
     
    5959      endif
    6060
    61       endif ! monocpu
     61      endif ! is_sequential
    6262
    6363      endif
  • LMDZ4/trunk/libf/phylmd/write_histday_seri.h

    r766 r776  
    22c $Header$
    33c
     4      IF (is_sequential) THEN
     5     
    46      IF (monocpu) THEN
    57     
  • LMDZ4/trunk/libf/phylmd/write_histhf.h

    r766 r776  
    329329      CALL histwrite_phy(nid_hf, "SWupTOA",itau_w,zx_tmp_fi2d)
    330330c
    331       IF (monocpu) THEN
     331      IF (is_sequential) THEN
    332332cym      CALL gr_fi_ecrit(nbteta,klon,iim,jjmp1,PVteta,zx_tmp_3dte)
    333333      DO k=1, nbteta
  • LMDZ4/trunk/libf/phylmd/write_paramLMDZ_phy.h

    r766 r776  
    11c
    2       IF (monocpu) THEN
     2      IF (is_sequential) THEN
    33     
    44      ndex2d = 0
Note: See TracChangeset for help on using the changeset viewer.