Changeset 684 for LMDZ4


Ignore:
Timestamp:
Apr 4, 2006, 5:00:40 PM (19 years ago)
Author:
lmdzadmin
Message:

Ajout nouveaux flags (ip_ebil_phy, ok_slab_sicOBS) ds physiq.def +
Lecture freq. ecriture en nombre de jours
IM

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

Legend:

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

    r644 r684  
    66c
    77        CALL ini_undefSTD(nlevSTD,itap,
    8      $           ecrit_day,ecrit_mth,
     8     $           dtime,ecrit_day,ecrit_mth,
    99     $                    tnondef,tsumSTD)
    1010        CALL ini_undefSTD(nlevSTD,itap,
    11      $           ecrit_day,ecrit_mth,
     11     $           dtime,ecrit_day,ecrit_mth,
    1212     $                    tnondef,usumSTD)
    1313        CALL ini_undefSTD(nlevSTD,itap,
    14      $           ecrit_day,ecrit_mth,
     14     $           dtime,ecrit_day,ecrit_mth,
    1515     $                    tnondef,vsumSTD)
    1616        CALL ini_undefSTD(nlevSTD,itap,
    17      $           ecrit_day,ecrit_mth,
     17     $           dtime,ecrit_day,ecrit_mth,
    1818     $                    tnondef,wsumSTD)
    1919        CALL ini_undefSTD(nlevSTD,itap,
    20      $           ecrit_day,ecrit_mth,
     20     $           dtime,ecrit_day,ecrit_mth,
    2121     $                    tnondef,phisumSTD)
    2222        CALL ini_undefSTD(nlevSTD,itap,
    23      $           ecrit_day,ecrit_mth,
     23     $           dtime,ecrit_day,ecrit_mth,
    2424     $                    tnondef,qsumSTD)
    2525        CALL ini_undefSTD(nlevSTD,itap,
    26      $           ecrit_day,ecrit_mth,
     26     $           dtime,ecrit_day,ecrit_mth,
    2727     $                    tnondef,rhsumSTD)
    2828        CALL ini_undefSTD(nlevSTD,itap,
    29      $           ecrit_day,ecrit_mth,
     29     $           dtime,ecrit_day,ecrit_mth,
    3030     $                    tnondef,uvsumSTD)
    3131        CALL ini_undefSTD(nlevSTD,itap,
    32      $           ecrit_day,ecrit_mth,
     32     $           dtime,ecrit_day,ecrit_mth,
    3333     $                    tnondef,vqsumSTD)
    3434        CALL ini_undefSTD(nlevSTD,itap,
    35      $           ecrit_day,ecrit_mth,
     35     $           dtime,ecrit_day,ecrit_mth,
    3636     $                    tnondef,vTsumSTD)
    3737        CALL ini_undefSTD(nlevSTD,itap,
    38      $           ecrit_day,ecrit_mth,
     38     $           dtime,ecrit_day,ecrit_mth,
    3939     $                    tnondef,wqsumSTD)
    4040        CALL ini_undefSTD(nlevSTD,itap,
    41      $           ecrit_day,ecrit_mth,
     41     $           dtime,ecrit_day,ecrit_mth,
    4242     $                    tnondef,vphisumSTD)
    4343        CALL ini_undefSTD(nlevSTD,itap,
    44      $           ecrit_day,ecrit_mth,
     44     $           dtime,ecrit_day,ecrit_mth,
    4545     $                    tnondef,wTsumSTD)
    4646        CALL ini_undefSTD(nlevSTD,itap,
    47      $           ecrit_day,ecrit_mth,
     47     $           dtime,ecrit_day,ecrit_mth,
    4848     $                    tnondef,u2sumSTD)
    4949        CALL ini_undefSTD(nlevSTD,itap,
    50      $           ecrit_day,ecrit_mth,
     50     $           dtime,ecrit_day,ecrit_mth,
    5151     $                    tnondef,v2sumSTD)
    5252        CALL ini_undefSTD(nlevSTD,itap,
    53      $           ecrit_day,ecrit_mth,
     53     $           dtime,ecrit_day,ecrit_mth,
    5454     $                    tnondef,T2sumSTD)
    5555c
     
    159159       oknondef(1:klon,1:nlevSTD,1:nout)=.TRUE.
    160160       CALL undefSTD(nlevSTD,itap,tlevSTD,
    161      $               ecrit_hf,
     161     $               dtime,ecrit_hf,
    162162     $               oknondef,tnondef,tsumSTD)
    163163c
    164164       oknondef(1:klon,1:nlevSTD,1:nout)=.FALSE.
    165165       CALL undefSTD(nlevSTD,itap,ulevSTD,
    166      $           ecrit_hf,
     166     $           dtime,ecrit_hf,
    167167     $               oknondef,tnondef,usumSTD)
    168168c
    169169       oknondef(1:klon,1:nlevSTD,1:nout)=.FALSE.
    170170       CALL undefSTD(nlevSTD,itap,vlevSTD,
    171      $           ecrit_hf,
     171     $           dtime,ecrit_hf,
    172172     $               oknondef,tnondef,vsumSTD)
    173173c
    174174       oknondef(1:klon,1:nlevSTD,1:nout)=.FALSE.
    175175       CALL undefSTD(nlevSTD,itap,wlevSTD,
    176      $           ecrit_hf,
     176     $           dtime,ecrit_hf,
    177177     $               oknondef,tnondef,wsumSTD)
    178178c
    179179       oknondef(1:klon,1:nlevSTD,1:nout)=.FALSE.
    180180       CALL undefSTD(nlevSTD,itap,philevSTD,
    181      $           ecrit_hf,
     181     $           dtime,ecrit_hf,
    182182     $               oknondef,tnondef,phisumSTD)
    183183c
    184184       oknondef(1:klon,1:nlevSTD,1:nout)=.FALSE.
    185185       CALL undefSTD(nlevSTD,itap,qlevSTD,
    186      $           ecrit_hf,
     186     $           dtime,ecrit_hf,
    187187     $               oknondef,tnondef,qsumSTD)
    188188c
    189189       oknondef(1:klon,1:nlevSTD,1:nout)=.FALSE.
    190190       CALL undefSTD(nlevSTD,itap,rhlevSTD,
    191      $           ecrit_hf,
     191     $           dtime,ecrit_hf,
    192192     $               oknondef,tnondef,rhsumSTD)
    193193c
    194194       oknondef(1:klon,1:nlevSTD,1:nout)=.FALSE.
    195195       CALL undefSTD(nlevSTD,itap,uvSTD,
    196      $           ecrit_hf,
     196     $           dtime,ecrit_hf,
    197197     $               oknondef,tnondef,uvsumSTD)
    198198c
    199199       oknondef(1:klon,1:nlevSTD,1:nout)=.FALSE.
    200200       CALL undefSTD(nlevSTD,itap,vqSTD,
    201      $           ecrit_hf,
     201     $           dtime,ecrit_hf,
    202202     $               oknondef,tnondef,vqsumSTD)
    203203c
    204204       oknondef(1:klon,1:nlevSTD,1:nout)=.FALSE.
    205205       CALL undefSTD(nlevSTD,itap,vTSTD,
    206      $           ecrit_hf,
     206     $           dtime,ecrit_hf,
    207207     $               oknondef,tnondef,vTsumSTD)
    208208c
    209209       oknondef(1:klon,1:nlevSTD,1:nout)=.FALSE.
    210210       CALL undefSTD(nlevSTD,itap,wqSTD,
    211      $           ecrit_hf,
     211     $           dtime,ecrit_hf,
    212212     $               oknondef,tnondef,wqsumSTD)
    213213c
    214214       oknondef(1:klon,1:nlevSTD,1:nout)=.FALSE.
    215215       CALL undefSTD(nlevSTD,itap,vphiSTD,
    216      $           ecrit_hf,
     216     $           dtime,ecrit_hf,
    217217     $               oknondef,tnondef,vphisumSTD)
    218218c
    219219       oknondef(1:klon,1:nlevSTD,1:nout)=.FALSE.
    220220       CALL undefSTD(nlevSTD,itap,wTSTD,
    221      $           ecrit_hf,
     221     $           dtime,ecrit_hf,
    222222     $               oknondef,tnondef,wTsumSTD)
    223223c
    224224       oknondef(1:klon,1:nlevSTD,1:nout)=.FALSE.
    225225       CALL undefSTD(nlevSTD,itap,u2STD,
    226      $           ecrit_hf,
     226     $           dtime,ecrit_hf,
    227227     $               oknondef,tnondef,u2sumSTD)
    228228c
    229229       oknondef(1:klon,1:nlevSTD,1:nout)=.FALSE.
    230230       CALL undefSTD(nlevSTD,itap,v2STD,
    231      $           ecrit_hf,
     231     $           dtime,ecrit_hf,
    232232     $               oknondef,tnondef,v2sumSTD)
    233233c
    234234       oknondef(1:klon,1:nlevSTD,1:nout)=.FALSE.
    235235       CALL undefSTD(nlevSTD,itap,T2STD,
    236      $           ecrit_hf,
     236     $           dtime,ecrit_hf,
    237237     $               oknondef,tnondef,T2sumSTD)
    238238c
     
    240240c
    241241       CALL moy_undefSTD(nlevSTD,itap,
    242      $      ecrit_day,ecrit_mth,ecrit_hf2mth,
     242     $      dtime,ecrit_day,ecrit_mth,ecrit_hf2mth,
    243243     $                   tnondef,tsumSTD)
    244244c
    245245       CALL moy_undefSTD(nlevSTD,itap,
    246      $      ecrit_day,ecrit_mth,ecrit_hf2mth,
     246     $      dtime,ecrit_day,ecrit_mth,ecrit_hf2mth,
    247247     $                   tnondef,usumSTD)
    248248c
    249249       CALL moy_undefSTD(nlevSTD,itap,
    250      $      ecrit_day,ecrit_mth,ecrit_hf2mth,
     250     $      dtime,ecrit_day,ecrit_mth,ecrit_hf2mth,
    251251     $                   tnondef,vsumSTD)
    252252c
    253253       CALL moy_undefSTD(nlevSTD,itap,
    254      $      ecrit_day,ecrit_mth,ecrit_hf2mth,
     254     $      dtime,ecrit_day,ecrit_mth,ecrit_hf2mth,
    255255     $                   tnondef,wsumSTD)
    256256c
    257257       CALL moy_undefSTD(nlevSTD,itap,
    258      $      ecrit_day,ecrit_mth,ecrit_hf2mth,
     258     $      dtime,ecrit_day,ecrit_mth,ecrit_hf2mth,
    259259     $                   tnondef,phisumSTD)
    260260c
    261261       CALL moy_undefSTD(nlevSTD,itap,
    262      $      ecrit_day,ecrit_mth,ecrit_hf2mth,
     262     $      dtime,ecrit_day,ecrit_mth,ecrit_hf2mth,
    263263     $                   tnondef,qsumSTD)
    264264c
    265265       CALL moy_undefSTD(nlevSTD,itap,
    266      $      ecrit_day,ecrit_mth,ecrit_hf2mth,
     266     $      dtime,ecrit_day,ecrit_mth,ecrit_hf2mth,
    267267     $                   tnondef,rhsumSTD)
    268268c
    269269       CALL moy_undefSTD(nlevSTD,itap,
    270      $      ecrit_day,ecrit_mth,ecrit_hf2mth,
     270     $      dtime,ecrit_day,ecrit_mth,ecrit_hf2mth,
    271271     $                   tnondef,uvsumSTD)
    272272c
    273273       CALL moy_undefSTD(nlevSTD,itap,
    274      $      ecrit_day,ecrit_mth,ecrit_hf2mth,
     274     $      dtime,ecrit_day,ecrit_mth,ecrit_hf2mth,
    275275     $                   tnondef,vqsumSTD)
    276276c
    277277       CALL moy_undefSTD(nlevSTD,itap,
    278      $      ecrit_day,ecrit_mth,ecrit_hf2mth,
     278     $      dtime,ecrit_day,ecrit_mth,ecrit_hf2mth,
    279279     $                   tnondef,vTsumSTD)
    280280c
    281281       CALL moy_undefSTD(nlevSTD,itap,
    282      $      ecrit_day,ecrit_mth,ecrit_hf2mth,
     282     $      dtime,ecrit_day,ecrit_mth,ecrit_hf2mth,
    283283     $                   tnondef,wqsumSTD)
    284284c
    285285       CALL moy_undefSTD(nlevSTD,itap,
    286      $      ecrit_day,ecrit_mth,ecrit_hf2mth,
     286     $      dtime,ecrit_day,ecrit_mth,ecrit_hf2mth,
    287287     $                   tnondef,vphisumSTD)
    288288c
    289289       CALL moy_undefSTD(nlevSTD,itap,
    290      $      ecrit_day,ecrit_mth,ecrit_hf2mth,
     290     $      dtime,ecrit_day,ecrit_mth,ecrit_hf2mth,
    291291     $                   tnondef,wTsumSTD)
    292292c
    293293       CALL moy_undefSTD(nlevSTD,itap,
    294      $      ecrit_day,ecrit_mth,ecrit_hf2mth,
     294     $      dtime,ecrit_day,ecrit_mth,ecrit_hf2mth,
    295295     $                   tnondef,u2sumSTD)
    296296c
    297297       CALL moy_undefSTD(nlevSTD,itap,
    298      $      ecrit_day,ecrit_mth,ecrit_hf2mth,
     298     $      dtime,ecrit_day,ecrit_mth,ecrit_hf2mth,
    299299     $                   tnondef,v2sumSTD)
    300300c
    301301       CALL moy_undefSTD(nlevSTD,itap,
    302      $      ecrit_day,ecrit_mth,ecrit_hf2mth,
     302     $      dtime,ecrit_day,ecrit_mth,ecrit_hf2mth,
    303303     $                   tnondef,T2sumSTD)
    304304c
  • LMDZ4/trunk/libf/phylmd/calcul_simulISCCP.h

    r644 r684  
    22c $Header$
    33c
    4 cIM 090704 BEG
    5 c     nbapp_isccp=48
    6 c     nbapp_isccp=8
    7 c     nbapp_isccp=6
    8 c     nbapp_isccp=4 !CPU < 30min pour  9pdt/jour
    9       nbapp_isccp=3 !CPU ??           10pdt/jour
    10 c     nbapp_isccp=2
    11 c     nbapp_isccp=1
    12       isccppas=NINT(86400./dtime/nbapp_isccp)
    13 cIM 010904 BEG
    14 cIM   IF (MOD(itap,isccppas).EQ.0) THEN
    15 c      PRINT*,'itap,isccppas,xjour',itap,isccppas,xjour
     4c on appelle le simulateur ISCCP toutes les 3h
     5c et on fait des sorties 1 fois par jour
     6c
     7c ATTENTION : le temps de calcul peut augmenter considerablement !
     8c =============================================================== c
     9      DO n=1, napisccp
     10c
     11      nbapp_isccp=30 !appel toutes les 15h
     12      isccppas=NINT((itap*dtime)/3600.) !Nb. d'heures de la physique
     13      freqin_pdt(n)=ifreq_isccp(n)
    1614c
    1715cIM initialisation nbsunlit pour calculs simulateur ISCCP pdt la journee
     
    2018       sunlit(i)=1
    2119       IF(rmu0(i).EQ.0.) sunlit(i)=0
    22        nbsunlit(1,i)=FLOAT(sunlit(i))
     20       nbsunlit(1,i,n)=FLOAT(sunlit(i))
    2321      ENDDO
    2422c
     
    2725      convfra(:,:)=rnebcon(:,:)
    2826      convliq(:,:)=rnebcon(:,:)*clwcon(:,:)
    29 cIM Amip2 beg
    3027c
    3128      CALL newmicro (paprs, pplay,ok_newmicro,
     
    3835     s            cldtaupi, re, fl)
    3936c
    40 cIM Amip2 end
    41 
    42 c
    4337cIM calcul tau, emissivite nuages startiformes
    44 c
    45 cIM Amip2 beg
    4638c
    4739      CALL newmicro (paprs, pplay,ok_newmicro,
     
    5345     e            bl95_b0, bl95_b1,
    5446     s            cldtaupi, re, fl)
    55 c
    56 cIM Amip2 end
    5747c
    5848      cldtot(:,:)=min(max(cldfra(:,:),rnebcon(:,:)),1.)
     
    8676      close(99)
    8777c
    88 cIM: calcul coordonnees regions pour statistiques distribution
    89 cIM: nuages en ftion du regime dynamique pour regions oceaniques
    90 c
    91       IF (ok_regdyn) THEN !histREGDYN
    92 c
    93 #include "ini_coord_REGDYN.h"
    94 c
    95       ENDIF !ok_regdyn
    96 c
    9778      ENDIF !debut
    9879c
    9980cIM: initialisation de seed
     81c
    10082        DO i=1, klon
    101           seed(i)=i+100
     83c
     84         aa=ABS(paprs(i,2)-NINT(paprs(i,2)))
     85         seed_re(i,n)=1000.*aa+1.
     86         seed(i,n)=NINT(seed_re(i,n))
     87c
     88         IF(seed(i,n).LT.50) THEN
     89c          print*,'seed<50 avant i seed itap paprs',i,
     90c    .     seed(i,n),itap,paprs(i,2)
     91           seed(i,n)=50+seed(i,n)+i+itap
     92           seed_old(i,n)=seed(i,n)
     93c
     94           IF(itap.GT.1) then
     95            IF(seed(i,n).EQ.seed_old(i,n)) THEN
     96             seed(i,n)=seed(i,n)+10
     97             seed_old(i,n)=seed(i,n)
     98            ENDIF
     99           ENDIF
     100c
     101c          print*,'seed<50 apres i seed itap paprs',i,
     102c    .     seed(i,n),itap,paprs(i,2)
     103c
     104          ELSE IF(seed(i,n).EQ.0) THEN
     105           print*,'seed=0 i paprs aa seed_re',
     106     .     i,paprs(i,2),aa,seed_re(i,n)
     107           STOP
     108          ELSE IF(seed(i,n).LT.0) THEN
     109           print*,'seed < 0, i seed itap paprs',i,
     110     .     seed(i,n),itap,paprs(i,2)
     111           STOP
     112          ENDIF
     113c
    102114        ENDDO
    103115c     
     
    126138     &     debug,
    127139     &     debugcol,
    128 cIM 300704    &     itap, debut,
    129 cIM 300604 klon !BAD
    130140     &     klon,
    131141     &     sunlit,
    132142     &     klev,
    133      &     ncol,
    134      &     seed,
     143     &     ncol(n),
     144     &     seed(:,n),
    135145     &     pfull,
    136146     &     phalf,
     
    143153     &     emsfc_lw,
    144154     &     at, dem_sH2B, dem_cH2B,
    145      &     fq_isccp,
    146      &     totalcldarea,
    147      &     meanptop,
    148      &     meantaucld,
    149      &     boxtau,
    150      &     boxptop)
     155     &     fq_isccp(:,:,:,n),
     156     &     totalcldarea(:,n),
     157     &     meanptop(:,n),
     158     &     meantaucld(:,n),
     159     &     boxtau(:,:,n),
     160     &     boxptop(:,:,n))
    151161c
    152 c calcul regime dynamique sur les regions fixees
    153 c
    154        IF (ok_regdyn) THEN !histREGDYN
    155 c
    156 #include "calcul_REGDYN.h"
    157 c
    158        ENDIF !(ok_regdyn) THEN !histREGDYN
    159 cIM    ENDIF !(MOD(itaprad,radpas).EQ.0) THEN
    160 cIM 010904 END
     162      ENDDO !n=1, napisccp
     163
  • LMDZ4/trunk/libf/phylmd/clesphys.h

    r652 r684  
    2626       LOGICAL ok_isccp, ok_regdyn
    2727       REAL lonmin_ins, lonmax_ins, latmin_ins, latmax_ins
    28        INTEGER ecrit_ins, ecrit_hf, ecrit_hf2mth, ecrit_day
    29        INTEGER ecrit_mth, ecrit_tra, ecrit_reg
     28       REAL ecrit_ins, ecrit_hf, ecrit_hf2mth, ecrit_day
     29       REAL ecrit_mth, ecrit_tra, ecrit_reg
     30       REAL freqin_isccp, freqout_isccp
     31       INTEGER :: ip_ebil_phy
     32       LOGICAL ok_slab_sicOBS
    3033
    3134       COMMON/clesphys/cycle_diurne, soil_model, new_oliq,
     
    3942     S     , ecrit_ins, ecrit_hf, ecrit_hf2mth, ecrit_day
    4043     S     , ecrit_mth, ecrit_tra, ecrit_reg, bug_ozone
     44     S     , freqin_isccp, freqout_isccp, ip_ebil_phy
     45     S     , ok_slab_sicOBS
  • LMDZ4/trunk/libf/phylmd/conf_phys.F90

    r659 r684  
    77  subroutine conf_phys(ocean, ok_veget, ok_journe, ok_mensuel, ok_instan, &
    88 &                     fact_cldcon, facttemps,ok_newmicro,iflag_cldcon, &
    9  &                     ratqsbas,ratqshaut,if_ebil, &
     9!IM&                   ratqsbas,ratqshaut,ip_ebil_phy, &
     10 &                     ratqsbas,ratqshaut, &
    1011 &                     ok_ade, ok_aie, &
    1112 &                     bl95_b0, bl95_b1,&
     
    4849  REAL                 :: bl95_b0, bl95_b1
    4950  real                 :: fact_cldcon, facttemps,ratqsbas,ratqshaut
    50   integer              :: iflag_cldcon, if_ebil
     51!IM integer            :: iflag_cldcon, if_ebil
     52  integer              :: iflag_cldcon
    5153
    5254! Local
     
    139141!
    140142!
    141 !Config Key  = if_ebil
     143!Config Key  = ip_ebil_phy
    142144!Config Desc = Niveau de sortie pour les diags bilan d'energie
    143145!Config Def  = 0
     
    145147!               
    146148!
    147   if_ebil = 0
    148   call getin('if_ebil', if_ebil)
     149  ip_ebil_phy = 0
     150  call getin('ip_ebil_phy', ip_ebil_phy)
    149151!!
    150152!! Constante solaire & Parametres orbitaux & taux gaz effet de serre BEG
     
    553555!Config Key  = lev_histhf
    554556!Config Desc =
    555 !Config Def  = 0
    556 !Config Help =
    557 !
    558   lev_histhf = 0
     557!Config Def  = 1
     558!Config Help =
     559!
     560  lev_histhf = 1
    559561  call getin('lev_histhf',lev_histhf)
    560562
     
    580582!Config Key  = type_run
    581583!Config Desc =
    582 !Config Def  = 'AMIP' ou 'ENSP'
     584!Config Def  = 'AMIP'/'CFMIP'  ou 'CLIM'/'ENSP'
    583585!Config Help =
    584586!
     
    597599
    598600!
    599 !
    600 !Config Key  = ok_regdyn
    601 !Config Desc =
    602 !Config Def  = 'AMIP'
    603 !Config Help =
    604 !
    605 ! ok_regdyn = .true.
    606   ok_regdyn = .false.
    607   call getin('ok_regdyn',ok_regdyn)
    608 !
    609601! coordonnees (lonmin_ins, lonmax_ins, latmin_ins, latmax_ins) pour la zone
    610602! avec sorties instantannees tous les pas de temps de la physique => "histbilKP_ins.nc"
     
    642634   call getin('latmax_ins',latmax_ins)
    643635!
    644 !Config Key  = ecrit_ins
    645 !Config Desc =
    646 !Config Def  = NINT(86400./dtime/48.) !a chaque pas de temps physique
    647 !Config Help =
    648 !
    649 ! ecrit_ins = NINT(86400./dtime/48.)
    650   ecrit_ins = NINT(86400./48.)
    651   call getin('ecrit_ins',ecrit_ins)
    652 !
    653636!Config Key  = ecrit_hf
    654637!Config Desc =
    655 !Config Def  = NINT(86400./dtime *0.25) !toutes les 6h
    656 !Config Help =
    657 !
    658 ! ecrit_hf = NINT(86400./dtime *0.25)
    659   ecrit_hf = NINT(86400. *0.25)
     638!Config Def  = 1./8. !toutes les 3h
     639!Config Help =
     640!
     641  ecrit_hf = 1./8.
    660642  call getin('ecrit_hf',ecrit_hf)
    661643!
    662 !Config Key  = ecrit_hf2mth
    663 !Config Desc =
    664 !Config Def  = 4*30 !ecriture mens. a partir de val. inst. toutes les 6h
    665 !Config Help =
    666 !
    667   ecrit_hf2mth = 4*30
    668   call getin('ecrit_hf2mth',ecrit_hf2mth)
    669 !
    670644!Config Key  = ecrit_day
    671645!Config Desc =
    672 !Config Def  = NINT(86400./dtime *1.0) !tous les jours
    673 !Config Help =
    674 !
    675 ! ecrit_day = NINT(86400./dtime *1.0)
    676   ecrit_day = NINT(86400. *1.0)
     646!Config Def  = 1.0 !tous les jours
     647!Config Help =
     648!
     649  ecrit_day = 1.0
    677650  call getin('ecrit_day',ecrit_day)
    678651!
    679652!Config Key  = ecrit_mth
    680653!Config Desc =
    681 !Config Def  = NINT(86400./dtime *ecritphy) !1fois par mois
    682 !Config Help =
    683 !
    684 ! ecrit_mth = NINT(86400./dtime *ecritphy)
    685   ecrit_mth = NINT(86400. *ecritphy)
     654!Config Def  = 30. !tous les 30jours (1 fois par mois)
     655!Config Help =
     656!
     657  ecrit_mth = 30.
    686658  call getin('ecrit_mth',ecrit_mth)
    687659!
    688 !Config Key  = ecrit_tra
    689 !Config Desc =
    690 !Config Def  = NINT(86400./dtime * ecritphy) !tous les ecritphy jours
    691 !Config Help =
    692 !
    693 ! ecrit_tra = NINT(86400./dtime * ecritphy)
    694   ecrit_tra = ecritphy
    695   call getin('ecrit_tra',ecrit_tra)
    696 !
    697660!Config Key  = ecrit_reg
    698661!Config Desc =
    699 !Config Def  = NINT(86400./dtime *0.25)  !4 fois par jour
    700 !Config Help =
    701 !
    702 ! ecrit_reg = NINT(86400./dtime *0.25)  !4 fois par jour
    703   ecrit_reg = NINT(86400. *0.25)  !4 fois par jour
     662!Config Def  = 0.25  !4 fois par jour
     663!Config Help =
     664!
     665  ecrit_reg = 0.25   !4 fois par jour
    704666  call getin('ecrit_reg',ecrit_reg)
    705667!
     
    713675  bug_ozone = .false.
    714676  call getin('bug_ozone',bug_ozone)
    715 
     677!
     678!
     679!Config Key  = ok_slab_sicOBS
     680!Config Desc =
     681!Config Def  = .true.
     682!Config Help = Pour faire tourner le slab avec fraction
     683!              de glace de mer Observee
     684!
     685  ok_slab_sicOBS = .true.
     686  call getin('ok_slab_sicOBS', ok_slab_sicOBS)
    716687
    717688  write(numout,*)' ##############################################'
     
    722693  write(numout,*)' Sortie mensuelle = ', ok_mensuel
    723694  write(numout,*)' Sortie instantanee = ', ok_instan
    724   write(numout,*)' Sortie bilan d''energie, if_ebil =', if_ebil
     695  write(numout,*)' Sortie bilan d''energie, ip_ebil_phy =', ip_ebil_phy
    725696  write(numout,*)' Excentricite = ',R_ecc
    726697  write(numout,*)' Equinoxe = ',R_peri
     
    769740  write(numout,*)' type_run = ',type_run
    770741  write(numout,*)' ok_isccp = ',ok_isccp
    771   write(numout,*)' ok_regdyn = ',ok_regdyn
    772742  write(numout,*)' lonmin lonmax latmin latmax bilKP_ins =',&
    773743 & lonmin_ins, lonmax_ins, latmin_ins, latmax_ins
    774   write(numout,*)' ecrit_ ins, hf, hf2mth, day, mth, reg, tra',&
    775  & ecrit_ins, ecrit_hf, ecrit_hf2mth, ecrit_day, ecrit_mth, ecrit_reg, ecrit_tra
     744  write(numout,*)' ecrit_ hf, day, mth, reg',&
     745 & ecrit_hf, ecrit_day, ecrit_mth, ecrit_reg
    776746  write(numout,*)' bug_ozone = ', bug_ozone
    777747  return
     
    802772!Config Help =
    803773!
    804   tau_calv = 360.*10.
     774  tau_calv = 360.
    805775  call getin('tau_calv',tau_calv)
    806776
  • LMDZ4/trunk/libf/phylmd/ini_bilKP_ave.h

    r644 r684  
    55c
    66         zsto = dtime
    7          zout = dtime * FLOAT(ecrit_day)
     7         zout = ecrit_day
    88         typeval=tave
    99c
  • LMDZ4/trunk/libf/phylmd/ini_bilKP_ins.h

    r644 r684  
    3434             if(zx_lon(i,1).le.lonmax_ins) imax_ins=i+1
    3535          enddo
    36           do j=1,jjmp1-1
     36          do j=1,jjmp1
    3737             if(zx_lat(1,j).ge.latmin_ins) jmax_ins=j
    3838             if(zx_lat(1,j).gt.latmax_ins) jmin_ins=j
  • LMDZ4/trunk/libf/phylmd/ini_histISCCP.h

    r644 r684  
    33!
    44      IF (ok_isccp) THEN
     5c
     6      ndex2d = 0
     7      ndex3d = 0
    58c
    69c pour les champs instantannes, il faut mettre la meme valeur pour
     
    912c zstophy = frequence de stockage des champs tous les pdt physiques
    1013c zout = frequence d'ecriture des champs
    11         zstophy = dtime
     14cIM 300505     zstophy = dtime
     15c appel du simulateur toutes les 3heures
     16          zcals(1) = dtime *6.  !toutes les 3h (en s)
     17        DO n=1, napisccp
     18          zcalh(n) = zcals(n)/3600. !stoutes les Xh (en heures)
     19        ENDDO !n
    1220c
    1321c ecriture 8 fois par jour
     
    1826c       zout = dtime
    1927c
     28c       IF(freqout_isccp.EQ.1.) THEN
     29c ecriture jounaliere
     30          zout_isccp(1) = ecrit_day !(en s)
    2031c ecriture mensuelle
    21         zout = dtime * ecrit_mth
    22 c       zout = dtime * ecrit_day
    23 c
     32c         zout = dtime * ecrit_mth !(en s)
     33        DO n=1, napisccp
     34          zoutj(n)=zout_isccp(n)/86400. !(en jours)
     35c
     36c le nombre de sous-colonnes ncol : ncol=(100.*zcalh)/zoutd
     37          ncol(n)=NINT((100.*zcalh(n))/zoutj(n))
     38          PRINT*,'n ncol',n,ncol(n)
     39c
     40        DO l=1, ncol(n)
     41          vertlev(l,n)=float(l)
     42        ENDDO !ncol
     43c
     44        ENDDO !n
     45
    2446c       PRINT*, 'La frequence de sortie ISCCP est de ', ecrit_isccp
    2547c
    2648        idayref = day_ref
    2749        CALL ymds2ju(annee_ref, 1, idayref, 0.0, zjulian)
    28         write(*,*)'ISCCP ', itau_phy, zjulian
     50c       write(*,*)'ISCCP ', itau_phy, zjulian
    2951c
    3052c
     
    3961        CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlat,zx_lat)
    4062c
     63cIM BEG region
     64          imin_ins=1
     65          imax_ins=iim
     66          jmin_ins=1
     67          jmax_ins=jjmp1
     68          do i=1,iim-1
     69             if(zx_lon(i,1).lt.lonmin_ins) imin_ins=i
     70             if(zx_lon(i,1).le.lonmax_ins) imax_ins=i+1
     71          enddo
     72          do j=1,jjmp1
     73             if(zx_lat(1,j).ge.latmin_ins) jmax_ins=j
     74             if(zx_lat(1,j).gt.latmax_ins) jmin_ins=j
     75          enddo
     76c
     77          print*,'On stoke le fichier histISCCP instantanne sur ',
     78     s   imin_ins,imax_ins,jmin_ins,jmax_ins
     79          print*,'On stoke le fichier histISCCP instantanne sur ',
     80     s   zx_lon(imin_ins,1),zx_lon(imax_ins,1),
     81     s   zx_lat(1,jmin_ins),zx_lat(1,jmax_ins)
     82cIM END region
     83c
     84        IF(1.EQ.0) THEN
    4185         CALL histbeg("histISCCP.nc", iim,zx_lon(:,1),jjmp1,zx_lat(1,:),
    4286     .                 1, iim, 1, jjmp1,
    4387     .                 itau_phy, zjulian, dtime,
    4488     .                 nhori, nid_isccp)
    45 c
     89        ENDIF !(1.EQ.0) THEN
     90c
     91         CALL histbeg("histISCCP.nc", iim,zx_lon(:,1),
     92     .                 jjmp1,zx_lat(1,:),
     93     .                 imin_ins,imax_ins-imin_ins+1,
     94     .                 jmin_ins,jmax_ins-jmin_ins+1,
     95     .                 itau_phy, zjulian, dtime,
     96     .                 nhori, nid_isccp)
     97c
     98        IF(type_run.EQ."ENSP".OR.type_run.EQ."CLIM") THEN
    4699         CALL histvert(nid_isccp, "cldtopres","Cloud Top Pressure","mb",
    47100     .                 lmaxm1, cldtopres, nvert,'down')
     101        ELSE IF(type_run.EQ."AMIP".OR.type_run.EQ."CFMI") THEN
     102         CALL histvert(nid_isccp,"cldtopres3","Cloud Top Pressure","mb",
     103     .                 lmax3, cldtopres3, nvert3,'down')
     104        ENDIF
     105        DO n=1, napisccp
     106         CALL histvert(nid_isccp, "Nbcol"//verticaxe(n),
     107     .        "Nb of Column"//verticaxe(n),"1",
     108     .        ncol(n), vertlev(:,n), nvlev(n),'up')
     109        ENDDO
    48110c
    49111        IF(type_run.EQ."ENSP".OR.type_run.EQ."CLIM") THEN
    50112c
    51113c variables a ecrire
     114c
     115         DO n=1, napisccp
    52116c
    53117         DO k=1, kmaxm1
    54           CALL histdef(nid_isccp, "cldISCCP_"//taulev(k),
     118          CALL histdef(nid_isccp, "cldISCCP_"//taulev(k)//typinout(n),
    55119     .                "LMDZ ISCCP cld", "%",
    56120     .                iim, jjmp1,nhori,lmaxm1,1,lmaxm1,nvert,32,
    57      .                "ave(X)", zstophy,zout)
     121     .                "ave(X)", zcals(n),zout_isccp(n))
    58122         ENDDO
    59123c
    60          CALL histdef(nid_isccp, "nsunlit",
     124         CALL histdef(nid_isccp, "nsunlit"//typinout(n),
    61125     .                "Nb of calls with sunlit ", "%",
    62126     .                iim, jjmp1,nhori,1,1,1,-99,32,
    63      .                "ave(X)", zstophy,zout)
     127     .                "ave(X)", zcals(n),zout_isccp(n))
     128c
     129         ENDDO
    64130c
    65131        ELSE IF(type_run.EQ."AMIP".OR.type_run.EQ."CFMI") THEN
    66132c
    67          DO k=1, kmaxm1
    68           DO l=1, lmaxm1
    69 c
    70           CALL histdef(nid_isccp, pclev(l)//taulev(k),
     133         DO n=1, napisccp
     134c
     135c         print*,'n=',n,' avant histdef(..LMDZ ISCCP cld'
     136c
     137          DO k=1, kmaxm1
     138           DO l=1, lmaxm1
     139c
     140           CALL histdef(nid_isccp, pclev(l)//taulev(k)//typinout(n),
    71141     .                "LMDZ ISCCP cld "//cnameisccp(l,k), "%",
    72142     .                iim, jjmp1,nhori,1,1,1,-99,32,
    73      .                "ave(X)", zstophy,zout)
    74 c
     143     .                "ave(X)", zcals(n),zout_isccp(n))
     144c
     145           ENDDO
    75146          ENDDO
    76          ENDDO
    77 c
    78          CALL histdef(nid_isccp, "nsunlit",
     147c
     148c         print*,'n=',n,' avant histdef(..Nb of calls sunlit'
     149          CALL histdef(nid_isccp, "nsunlit"//typinout(n),
    79150     .                "Nb of calls with sunlit ", "%",
    80151     .                iim, jjmp1,nhori,1,1,1,-99,32,
    81      .                "ave(X)", zstophy,zout)
    82 c
     152     .                "ave(X)", zcals(n),zout_isccp(n))
     153c
     154c 9types de nuages ISCCP-D2
     155          CALL histdef(nid_isccp, "cirr",
     156     .                "Cirrus lk ISCCP-D2", "%",
     157     .                iim, jjmp1,nhori,1,1,1,-99,32,
     158     .                "ave(X)", zcals(n),zout_isccp(n))
     159c
     160          CALL histdef(nid_isccp, "cist",
     161     .                "CiSt lk ISCCP-D2", "%",
     162     .                iim, jjmp1,nhori,1,1,1,-99,32,
     163     .                "ave(X)", zcals(n),zout_isccp(n))
     164c
     165          CALL histdef(nid_isccp, "deep",
     166     .                "Deep lk ISCCP-D2", "%",
     167     .                iim, jjmp1,nhori,1,1,1,-99,32,
     168     .                "ave(X)", zcals(n),zout_isccp(n))
     169c
     170          CALL histdef(nid_isccp, "alcu",
     171     .                "AlCu lk ISCCP-D2", "%",
     172     .                iim, jjmp1,nhori,1,1,1,-99,32,
     173     .                "ave(X)", zcals(n),zout_isccp(n))
     174c
     175          CALL histdef(nid_isccp, "alst",
     176     .                "AlSt lk ISCCP-D2", "%",
     177     .                iim, jjmp1,nhori,1,1,1,-99,32,
     178     .                "ave(X)", zcals(n),zout_isccp(n))
     179c
     180          CALL histdef(nid_isccp, "nist",
     181     .                "NiSt lk ISCCP-D2", "%",
     182     .                iim, jjmp1,nhori,1,1,1,-99,32,
     183     .                "ave(X)", zcals(n),zout_isccp(n))
     184c
     185          CALL histdef(nid_isccp, "cumu",
     186     .                "Cumu lk ISCCP-D2", "%",
     187     .                iim, jjmp1,nhori,1,1,1,-99,32,
     188     .                "ave(X)", zcals(n),zout_isccp(n))
     189c
     190          CALL histdef(nid_isccp, "stcu",
     191     .                "StCu lk ISCCP-D2", "%",
     192     .                iim, jjmp1,nhori,1,1,1,-99,32,
     193     .                "ave(X)", zcals(n),zout_isccp(n))
     194c
     195          CALL histdef(nid_isccp, "stra",
     196     .                "Stra lk ISCCP-D2", "%",
     197     .                iim, jjmp1,nhori,1,1,1,-99,32,
     198     .                "ave(X)", zcals(n),zout_isccp(n))
     199c
     200c 3_epaisseurs_optiques x3_pressions_au_sommet_des_nuages  types de nuages
     201          CALL histdef(nid_isccp, "thin",
     202     .                "Opt. thin ISCCP-D2 like clouds", "%",
     203     .                iim, jjmp1,nhori,lmax3,1,lmax3,nvert3,32,
     204     .                "ave(X)", zcals(n),zout_isccp(n))
     205c
     206          CALL histdef(nid_isccp, "mid",
     207     .                "Opt. intermediate ISCCP-D2 like clouds", "%",
     208     .                iim, jjmp1,nhori,lmax3,1,lmax3,nvert3,32,
     209     .                "ave(X)", zcals(n),zout_isccp(n))
     210c
     211          CALL histdef(nid_isccp, "thick",
     212     .                "Opt. thick ISCCP-D2 like clouds", "%",
     213     .                iim, jjmp1,nhori,lmax3,1,lmax3,nvert3,32,
     214     .                "ave(X)", zcals(n),zout_isccp(n))
     215c
     216c        IF(1.EQ.0) THEN
     217c        IF(n.EQ.3) THEN
     218c        IF(n.EQ.1) THEN
     219c
     220cIM 070905 BEG
     221         IF(1.EQ.0) THEN
     222          print*,'n=',n,' avant histdef(..boxptop axe'
     223cIM verif boxptop
     224          CALL histdef(nid_isccp,"boxptop"//verticaxe(n),
     225     .                "Boxptop axe"//verticaxe(n), "mb",
     226     .                iim, jjmp1,nhori,
     227     .                ncol(n),1,ncol(n),nvlev(n),32,
     228cIM  .                ncolmx,1,ncolmx,nvlev,32,
     229cIM  .                "inst(X)",dtime,dtime)
     230     .                "ave(X)",zcals(n),zout_isccp(n))
     231         ENDIF !(1.EQ.0) THEN
     232cIM 070905 END
     233c        ENDIF !(n.EQ.3) THEN
     234c       ENDIF !(1.EQ.0) THEN
     235c
     236c         print*,'n=',n,' avant histdef(..seed axe'
     237          CALL histdef(nid_isccp, "seed"//verticaxe(n),
     238     .                "seed axe"//verticaxe(n), "-",
     239     .                iim, jjmp1,nhori,1,1,1,-99,32,
     240cIM  .                "inst(X)", dtime,dtime)
     241     .                "ave(X)", zcals(n),zout_isccp(n))
     242c
     243         ENDDO !n
    83244        ENDIF
    84 c
    85245        CALL histend(nid_isccp)
    86246c
  • LMDZ4/trunk/libf/phylmd/ini_histday.h

    r644 r684  
    55c
    66       zstophy = dtime
    7        zstoday= dtime * FLOAT(ecrit_day)
    8        zout = dtime * FLOAT(ecrit_day)
     7       zstoday= ecrit_day
     8       zout = ecrit_day
    99c
    1010         idayref = day_ref
     
    156156     .                "ave(X)", zstophy,zout)
    157157c
     158         CALL histdef(nid_day, "radsol", "Rayonnement au sol", "W/m2",
     159     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     160     .                "ave(X)", zstophy,zout)
     161c
    158162         CALL histdef(nid_day, "cldl", "Low-level cloudiness", "-",
    159163     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     
    381385     .                32, "ave(X)", zstophy,zout)
    382386c
     387cIM AMMA-MIP
     388         CALL histdef(nid_day, "LWdnSFC",
     389     .                "LW down at surface","W/m2",
     390     .                iim,jjmp1,nhori, 1,1,1,-99,
     391     .                32, "ave(X)", zstophy,zout)
     392c
     393         CALL histdef(nid_day, "LWupSFC",
     394     .                "LW down at surface","W/m2",
     395     .                iim,jjmp1,nhori, 1,1,1,-99,
     396     .                32, "ave(X)", zstophy,zout)
     397c
     398cIM     IF (iflag_con.GE.3) THEN
     399         CALL histdef(nid_day, "ptop",
     400c    .                "Cld top pressure","mb",
     401     .                "Cld top pressure (cf ISCCP simulator)","Pa",
     402     .                iim,jjmp1,nhori, 1,1,1,-99,
     403     .                32, "ave(X)", zstophy,zout)
     404cIM     ENDIF !(iflag_con.GE.3) THEN
     405c
    383406c=================================================================
    384407c=================================================================
     
    579602     .                "ave(X)", zstophy,zout)
    580603c
     604cIM rajout AMMA-MIP
     605c
     606         CALL histdef(nid_day, "dtcon", "Convection dT", "K/s",
     607     .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
     608     .                "ave(X)", zstophy,zout)
     609c
     610         CALL histdef(nid_day, "dqcon", "Convection dQ", "(kg/kg)/s",
     611     .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
     612     .                "ave(X)", zstophy,zout)
     613c
     614         CALL histdef(nid_day, "rh2m", "Relative humidity at 2m", "%",
     615     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     616     .                "ave(X)", zstophy,zout)
     617c
     618         CALL histdef(nid_day, "qsat2m", "Saturant humidity at 2m", "%",
     619     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     620     .                "ave(X)", zstophy,zout)
     621c
     622         CALL histdef(nid_day, "tpot",
     623     .                "Surface air potential temperature", "K",
     624     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     625     .                "ave(X)", zstophy,zout)
     626c
     627         CALL histdef(nid_day, "tpote",
     628     .        "Surface air equivalent potential temperature", "K",
     629     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     630     .                "ave(X)", zstophy,zout)
     631c
    581632      ENDIF !lev_histday.GE.5
    582633c=================================================================
  • LMDZ4/trunk/libf/phylmd/ini_histday_seri.h

    r644 r684  
    55c
    66       zstophy = dtime
    7        zout = dtime * FLOAT(ecrit_day)
     7       zout = ecrit_day
    88c
    99         idayref = day_ref
  • LMDZ4/trunk/libf/phylmd/ini_histhf.h

    r644 r684  
    55      IF (ok_hf) THEN
    66c
    7        zstohf = dtime * FLOAT(ecrit_hf)
     7       zstohf = ecrit_hf
    88       zstophy = dtime
    9        zstoday = dtime * FLOAT(ecrit_day)
    10        zout = dtime * FLOAT(ecrit_hf)
     9       zstoday = ecrit_day
     10       zout = ecrit_hf
    1111c
    1212         idayref = day_ref
  • LMDZ4/trunk/libf/phylmd/ini_histhf3d.h

    r644 r684  
    44c sorties hf 3d
    55c
    6 cIM 130904     zstohf = dtime * REAL(NINT(86400./dtime*ecrit_hf))
    7 cIM 130904     zout = dtime * REAL(NINT(86400./dtime*ecrit_hf))
    8 cIM     zstohf = dtime * FLOAT(ecrit_hf)
    9 cIM     zout = dtime * FLOAT(ecrit_hf)
    10         zstohf = dtime * FLOAT(ecrit_hf)
    11         zout = dtime * FLOAT(ecrit_hf)
     6        zstohf = ecrit_hf
     7        zout = ecrit_hf
    128c
    139c       PRINT*, 'La frequence de sortie hf3d est de ', ecrit_hf
  • LMDZ4/trunk/libf/phylmd/ini_histins.h

    r644 r684  
    44      IF (ok_instan) THEN
    55c
    6           zsto = dtime * ecrit_ins
    7           zout = dtime * ecrit_ins
     6          zsto = ecrit_ins
     7          zout = ecrit_ins
    88c
    99         idayref = day_ref
  • LMDZ4/trunk/libf/phylmd/ini_histmth.h

    r653 r684  
    55c
    66       zstophy = dtime
    7        zstomth = dtime * FLOAT(ecrit_mth) !valeurs mensuelles "instantannees"
     7       zstomth = ecrit_mth                      !valeurs mensuelles "instantannees"
    88       zstorad = dtime * FLOAT(radpas)    !variables stockees toutes les 2h
    9        zstohf = dtime *FLOAT(ecrit_hf)   !variables stockees toutes les 6h
    10        zout = dtime * FLOAT(ecrit_mth)    !frequence des sorties : 1 val. par mois
    11 c
    12 cIM    PRINT*,' La zstophy,zstorad,zstohf,zstomth,zout=',
    13 cIM  . zstophy,zstorad,zstohf,zstomth,zout
     9       zstohf = ecrit_hf                         !variables stockees toutes les 6h
     10       zout = ecrit_mth                          !frequence des sorties : 1 val. par mois
    1411c
    1512         idayref = day_ref
     
    3128c            if(zx_lon(i,1).le.lonmax_histmth) imax_histmth=i+1
    3229c         enddo
    33 c         do j=1,jjmp1-1
     30cIM 220704 BAD??       do j=1,jjmp1-1
     31c         do j=1,jjmp1
    3432c            if(zx_lat(1,j).ge.latmin_histmth) jmax_histmth=j
    3533c            if(zx_lat(1,j).gt.latmax_histmth) jmin_histmth=j
     
    264262     .                "ave(X)", zstophy,zout)
    265263c
     264         CALL histdef(nid_mth, "radsol", "Rayonnement au sol", "W/m2",
     265     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     266     .                "ave(X)", zstophy,zout)
     267c
    266268         CALL histdef(nid_mth, "soll0", "IR rad. at surface", "W/m2",
    267269     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     
    385387           call histdef(nid_mth, "wbils_"//clnsurf(nsrf),
    386388     $         "Bilan sol "//clnsurf(nsrf), "W/m2",
     389     $         iim,jjmp1,nhori, 1,1,1, -99, 32,
     390     $         "ave(X)", zstophy,zout)
     391C
     392           call histdef(nid_mth, "wbilo_"//clnsurf(nsrf),
     393     $         "Bilan eau "//clnsurf(nsrf), "kg/(m2*s)",
    387394     $         iim,jjmp1,nhori, 1,1,1, -99, 32,
    388395     $         "ave(X)", zstophy,zout)
     
    572579     .              "ave(X)", zstophy,zout)
    573580c
     581       CALL histdef(nid_mth, "t_oce_sic",
     582     .              "Temp. mixte oce-sic","K",
     583     .              iim,jjmp1,nhori, 1,1,1, -99, 32,
     584     .              "ave(X)", zstophy,zout)
     585c
    574586       IF (OCEAN.EQ.'force ') THEN
    575587c
     
    11781190     .                "ave(X)", zstophy,zout)
    11791191c
     1192         CALL histdef(nid_mth, "radsol", "Rayonnement au sol", "W/m2",
     1193     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     1194     .                "ave(X)", zstophy,zout)
     1195c
    11801196         CALL histdef(nid_mth, "soll0", "IR rad. at surface", "W/m2",
    11811197     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     
    12971313           call histdef(nid_mth, "wbils_"//clnsurf(nsrf),
    12981314     $         "Bilan sol "//clnsurf(nsrf), "W/m2",
     1315     $         iim,jjmp1,nhori, 1,1,1, -99, 32,
     1316     $         "ave(X)", zstophy,zout)
     1317C
     1318           call histdef(nid_mth, "wbilo_"//clnsurf(nsrf),
     1319     $         "Bilan eau "//clnsurf(nsrf), "kg/(m2*s)",
    12991320     $         iim,jjmp1,nhori, 1,1,1, -99, 32,
    13001321     $         "ave(X)", zstophy,zout)
     
    14891510     .              "ave(X)", zstophy,zout)
    14901511c
     1512       CALL histdef(nid_mth, "t_oce_sic",
     1513     .              "Temp. mixte oce-sic","K",
     1514     .              iim,jjmp1,nhori, 1,1,1, -99, 32,
     1515     .              "ave(X)", zstophy,zout)
     1516c
    14911517       IF (OCEAN.EQ.'force ') THEN
    14921518c
  • LMDZ4/trunk/libf/phylmd/ini_histmthNMC.h

    r644 r684  
    55c
    66       zstophy = dtime
    7        zstohf = dtime * FLOAT(ecrit_hf)
    8        zstomth = dtime * FLOAT(ecrit_mth)
    9        zout = dtime * FLOAT(ecrit_mth)
     7       zstohf = ecrit_hf
     8       zstomth = ecrit_mth
     9       zout = ecrit_mth
    1010c
    1111         idayref = day_ref
  • LMDZ4/trunk/libf/phylmd/ini_histrac.h

    r679 r684  
    3333
    3434         zsto = pdtphys
    35          zout = pdtphys * FLOAT(ecrit_tra)
     35         zout = ecrit_tra
    3636c
    3737         CALL histdef(nid_tra, "phis", "Surface geop. height", "-",
  • LMDZ4/trunk/libf/phylmd/ini_undefSTD.F

    r644 r684  
    11      SUBROUTINE ini_undefSTD(nlevSTD,itap,
    2      $           ecrit_day,ecrit_mth,
     2     $           dtime,ecrit_day,ecrit_mth,
    33     $           tnondef,tsumSTD)
    44      IMPLICIT none
     
    3333      INTEGER nlevSTD, klevSTD, itap
    3434      PARAMETER(klevSTD=17)
    35       INTEGER ecrit_day,ecrit_mth
     35      REAL dtime
     36      REAL ecrit_day,ecrit_mth
    3637c
    3738c variables locales
     
    4546c initialisation variables journalieres en debut de journee
    4647c
    47       IF(MOD(itap,ecrit_day).EQ.1.) THEN
     48      IF(MOD(itap,NINT(ecrit_day/dtime)).EQ.1.) THEN
    4849       DO k=1, nlevSTD
    4950        DO i=1, klon
     
    5758c en debut de mois : nout=2
    5859c
    59       IF(MOD(itap,ecrit_mth).EQ.1.) THEN
     60      IF(MOD(itap,NINT(ecrit_mth/dtime)).EQ.1.) THEN
    6061c
    6162       DO k=1, nlevSTD
  • LMDZ4/trunk/libf/phylmd/moy_undefSTD.F

    r644 r684  
    11      SUBROUTINE moy_undefSTD(nlevSTD,itap,
    2      $           ecrit_day,ecrit_mth,ecrit_hf2mth,
     2     $           dtime,ecrit_day,ecrit_mth,ecrit_hf2mth,
    33     $           tnondef,tsumSTD)
    44      IMPLICIT none
     
    2828      INTEGER nlevSTD, klevSTD, itap
    2929      PARAMETER(klevSTD=17)
    30       INTEGER ecrit_day, ecrit_mth, ecrit_hf2mth
     30      REAL dtime, ecrit_day, ecrit_mth, ecrit_hf2mth
    3131c
    3232c variables locales
     
    4040c calcul 1 fois par jour
    4141c
    42       IF(MOD(itap,ecrit_day).EQ.0) THEN
     42      IF(MOD(itap,NINT(ecrit_day/dtime)).EQ.0) THEN
    4343       DO k=1, nlevSTD
    4444        DO i=1, klon
    45          IF(tnondef(i,k,1).NE.FLOAT(ecrit_day)) THEN
     45         IF(tnondef(i,k,1).NE.(ecrit_day/dtime)) THEN
    4646          tsumSTD(i,k,1)=tsumSTD(i,k,1)/
    47      $    (FLOAT(ecrit_day)-tnondef(i,k,1))
     47     $    (ecrit_day/dtime-tnondef(i,k,1))
    4848         ELSE
    4949          tsumSTD(i,k,1)=1.E+20
     
    5555c calcul 1 fois par mois
    5656c
    57       IF(MOD(itap,ecrit_mth).EQ.0) THEN
     57      IF(MOD(itap,NINT(ecrit_mth/dtime)).EQ.0) THEN
    5858       DO k=1, nlevSTD
    5959        DO i=1, klon
    60          IF(tnondef(i,k,2).NE.FLOAT(ecrit_mth)) THEN
     60         IF(tnondef(i,k,2).NE.ecrit_mth/dtime) THEN
    6161          tsumSTD(i,k,2)=tsumSTD(i,k,2)/
    62      $    (FLOAT(ecrit_mth)-tnondef(i,k,2))
     62     $    (ecrit_mth/dtime-tnondef(i,k,2))
    6363         ELSE
    6464          tsumSTD(i,k,2)=1.E+20
    6565         ENDIF !tnondef
    6666c
    67          IF(tnondef(i,k,3).NE.FLOAT(ecrit_hf2mth)) THEN
     67         IF(tnondef(i,k,3).NE.NINT(ecrit_hf2mth)) THEN
    6868          tsumSTD(i,k,3)=tsumSTD(i,k,3)/
    69      $    (FLOAT(ecrit_hf2mth)-tnondef(i,k,3))
     69     $    (ecrit_hf2mth-tnondef(i,k,3))
    7070         ELSE
    7171          tsumSTD(i,k,3)=1.E+20
  • LMDZ4/trunk/libf/phylmd/undefSTD.F

    r644 r684  
    11      SUBROUTINE undefSTD(nlevSTD,itap,tlevSTD,
    2      $           ecrit_hf,
     2     $           dtime,ecrit_hf,
    33     $           oknondef,tnondef,tsumSTD)
    44      IMPLICIT none
     
    3030      INTEGER nlevSTD, klevSTD, itap
    3131      PARAMETER(klevSTD=17)
    32       INTEGER ecrit_hf
     32      REAL dtime, ecrit_hf
    3333c
    3434c variables locales
     
    6363c calcul variables toutes les 6h
    6464c
    65       IF(MOD(itap,ecrit_hf).EQ.0) THEN
     65      IF(MOD(itap,NINT(ecrit_hf/dtime)).EQ.0) THEN
    6666c
    6767       DO k=1, nlevSTD
     
    7878       ENDDO !k
    7979
    80       ENDIF !MOD(itap,ecrit_hf).EQ.0
     80      ENDIF !MOD(itap,NINT(ecrit_hf/dtime)).EQ.0
    8181c
    8282      RETURN
  • LMDZ4/trunk/libf/phylmd/write_histISCCP.h

    r644 r684  
    1111       IF(type_run.EQ."ENSP".OR.type_run.EQ."CLIM") THEN
    1212c
     13        DO n=1, napisccp
     14c
    1315        DO k=1,kmaxm1
    14          zx_tmp_fi3d(1:klon, 1:lmaxm1)=fq_isccp(1:klon,k,1:lmaxm1)*100.
     16         zx_tmp_fi3d(1:klon, 1:lmaxm1)=fq_isccp(1:klon,k,1:lmaxm1,n)*100.
    1517         CALL gr_fi_ecrit(lmaxm1,klon,iim,jjmp1,zx_tmp_fi3d,
    1618     .                    zx_tmp_3d)
     
    1820cIM: champ 3d : (lon,lat,pres) pour un tau fixe
    1921c
    20          CALL histwrite(nid_isccp,"cldISCCP_"//taulev(k),itau_w,
    21      .                  zx_tmp_3d,iim*jjmp1*lmaxm1,ndex3d)
     22         CALL histwrite(nid_isccp,"cldISCCP_"//taulev(k)//typinout(n),
     23     .                  itau_w,zx_tmp_3d,iim*jjmp1*lmaxm1,ndex3d)
    2224        ENDDO !k
    2325c
    24         CALL gr_fi_ecrit(1, klon,iim,jjmp1,nbsunlit(1,:),zx_tmp_2d)
    25         CALL histwrite(nid_isccp,"nsunlit",itau_w,
     26        CALL gr_fi_ecrit(1, klon,iim,jjmp1,nbsunlit(1,:,n),zx_tmp_2d)
     27        CALL histwrite(nid_isccp,"nsunlit"//typinout(n),itau_w,
    2628     .                 zx_tmp_2d,iim*jjmp1,ndex2d)
    2729c
     30        ENDDO ! n=1, napisccp
    2831        ELSE IF(type_run.EQ."AMIP".OR.type_run.EQ."CFMI") THEN
    2932c
     33        DO n=1, napisccp
     34c        print*,'n=',n,' write_ISCCP avant fq_isccp'
    3035         DO k=1, kmaxm1
    3136          DO l=1, lmaxm1
    3237c
    33          zx_tmp_fi2d(1:klon)=fq_isccp(1:klon,k,l)*100.
    34          CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,
     38         IF(top_height.LE.2) THEN
     39          DO i=1, klon
     40           IF(nbsunlit(1,i,n).NE.0.) THEN
     41            fq_is_true(i,k,l,n)=
     42     $      fq_isccp(i,k,l,n)*100./nbsunlit(1,i,n)
     43           ELSE
     44            fq_is_true(i,k,l,n)=0
     45           ENDIF
     46          ENDDO
     47         ELSE IF(top_height.EQ.3) THEN
     48          DO i=1, klon
     49           fq_is_true(i,k,l,n) = fq_isccp(i,k,l,n)*100.
     50          ENDDO
     51         ENDIF
     52         CALL gr_fi_ecrit(1,klon,iim,jjmp1,fq_is_true,
    3553     .                    zx_tmp_2d)
    3654c
    3755cIM: champ 2d : (lon,lat) pour un tau et une pc fixes
    3856c
    39          CALL histwrite(nid_isccp,pclev(l)//taulev(k),itau_w,
    40      .                  zx_tmp_2d,iim*jjmp1,ndex2d)
     57         CALL histwrite(nid_isccp,pclev(l)//taulev(k)//typinout(n),
     58     .                  itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    4159         ENDDO !l
    4260        ENDDO !k
    4361c
    44         CALL gr_fi_ecrit(1, klon,iim,jjmp1,nbsunlit(1,:),zx_tmp_2d)
    45         CALL histwrite(nid_isccp,"nsunlit",itau_w,
    46      .                 zx_tmp_2d,iim*jjmp1,ndex2d)
     62c       print*,'n=',n,' write_ISCCP avant nbsunlit'
     63        CALL gr_fi_ecrit(1, klon,iim,jjmp1,nbsunlit(1,:,n),zx_tmp_2d)
     64        CALL histwrite(nid_isccp,"nsunlit"//typinout(n),
     65     .                 itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     66c
     67        zx_tmp_fi2d(1:klon)=float(seed(1:klon,n))
     68c
     69c       print*,'n=',n,' write_ISCCP avant seed'
     70        CALL gr_fi_ecrit(1, klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
     71        CALL histwrite(nid_isccp,"seed"//verticaxe(n),
     72     .                 itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     73c
     74c 9types de nuages ISCCP-D2
     75c fq_isccp(1:klon,k,l,n)*100. <=> pc_tau(k)_pclev(l)
     76        DO i=1, klon
     77         zx_tmp_fi2d(i)=
     78     $ (fq_is_true(i,1,1,n)+ fq_is_true(i,2,1,n)+ fq_is_true(i,3,1,n) +
     79     $  fq_is_true(i,1,2,n)+ fq_is_true(i,2,2,n)+ fq_is_true(i,3,2,n) +
     80     $  fq_is_true(i,1,3,n)+ fq_is_true(i,2,3,n)+ fq_is_true(i,3,3,n) )
     81        ENDDO
     82        CALL gr_fi_ecrit(1, klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
     83        CALL histwrite(nid_isccp,"cirr",itau_w,zx_tmp_2d,
     84     $  iim*jjmp1,ndex2d)
     85c
     86        DO i=1, klon
     87         zx_tmp_fi2d(i)=
     88     $  (fq_is_true(i,4,1,n)+ fq_is_true(i,5,1,n) +
     89     $   fq_is_true(i,4,2,n)+ fq_is_true(i,5,2,n) +
     90     $   fq_is_true(i,4,3,n)+ fq_is_true(i,5,3,n) )
     91        ENDDO
     92        CALL gr_fi_ecrit(1, klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
     93        CALL histwrite(nid_isccp,"cist",itau_w,zx_tmp_2d,
     94     $  iim*jjmp1,ndex2d)
     95c
     96        DO i=1, klon
     97         zx_tmp_fi2d(i)=
     98     $  (fq_is_true(i,6,1,n)+ fq_is_true(i,7,1,n) +
     99     $   fq_is_true(i,6,2,n)+ fq_is_true(i,7,2,n) +
     100     $   fq_is_true(i,6,3,n)+ fq_is_true(i,7,3,n) )
     101        ENDDO
     102        CALL gr_fi_ecrit(1, klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
     103        CALL histwrite(nid_isccp,"deep",itau_w,zx_tmp_2d,
     104     $  iim*jjmp1,ndex2d)
     105c
     106        DO i=1, klon
     107         zx_tmp_fi2d(i)=
     108     $ (fq_is_true(i,1,4,n)+ fq_is_true(i,2,4,n)+ fq_is_true(i,3,4,n) +
     109     $  fq_is_true(i,1,5,n)+ fq_is_true(i,2,5,n)+ fq_is_true(i,3,5,n) )
     110        ENDDO
     111        CALL gr_fi_ecrit(1, klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
     112        CALL histwrite(nid_isccp,"alcu",itau_w,zx_tmp_2d,
     113     $  iim*jjmp1,ndex2d)
     114c
     115        DO i=1, klon
     116         zx_tmp_fi2d(i)=
     117     $  (fq_is_true(i,4,4,n)+ fq_is_true(i,5,4,n) +
     118     $   fq_is_true(i,4,5,n)+ fq_is_true(i,5,5,n) )
     119        ENDDO
     120        CALL gr_fi_ecrit(1, klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
     121        CALL histwrite(nid_isccp,"alst",itau_w,zx_tmp_2d,
     122     $  iim*jjmp1,ndex2d)
     123c
     124        DO i=1, klon
     125         zx_tmp_fi2d(i)=
     126     $  (fq_is_true(i,6,4,n)+ fq_is_true(i,7,4,n) +
     127     $   fq_is_true(i,6,5,n)+ fq_is_true(i,7,5,n) )
     128        ENDDO
     129        CALL gr_fi_ecrit(1, klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
     130        CALL histwrite(nid_isccp,"nist",itau_w,zx_tmp_2d,
     131     $  iim*jjmp1,ndex2d)
     132c
     133        DO i=1, klon
     134         zx_tmp_fi2d(i)=
     135     $ (fq_is_true(i,1,6,n)+ fq_is_true(i,2,6,n)+ fq_is_true(i,3,6,n) +
     136     $  fq_is_true(i,1,7,n)+ fq_is_true(i,2,7,n)+ fq_is_true(i,3,7,n) )
     137        ENDDO
     138        CALL gr_fi_ecrit(1, klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
     139        CALL histwrite(nid_isccp,"cumu",itau_w,zx_tmp_2d,
     140     $  iim*jjmp1,ndex2d)
     141c
     142        DO i=1, klon
     143         zx_tmp_fi2d(i)=
     144     $  (fq_is_true(i,4,6,n)+ fq_is_true(i,5,6,n) +
     145     $   fq_is_true(i,4,7,n)+ fq_is_true(i,5,7,n) )
     146        ENDDO
     147        CALL gr_fi_ecrit(1, klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
     148        CALL histwrite(nid_isccp,"stcu",itau_w,zx_tmp_2d,
     149     $  iim*jjmp1,ndex2d)
     150c
     151        DO i=1, klon
     152         zx_tmp_fi2d(i)=
     153     $  (fq_is_true(i,6,6,n)+ fq_is_true(i,7,6,n) +
     154     $   fq_is_true(i,6,7,n)+ fq_is_true(i,7,7,n) )
     155        ENDDO
     156        CALL gr_fi_ecrit(1, klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
     157        CALL histwrite(nid_isccp,"stra",itau_w,zx_tmp_2d,
     158     $  iim*jjmp1,ndex2d)
     159c
     160c 3_tau_nuages x 3_levels
     161c fq_is_true(1:klon,k,l,n)*100. <=> pc_tau(k)_pclev(l)
     162        DO i=1, klon
     163         cld_fi3d(i,1)=
     164     $ (fq_is_true(i,1,1,n)+ fq_is_true(i,2,1,n)+ fq_is_true(i,3,1,n) +
     165     $  fq_is_true(i,1,2,n)+ fq_is_true(i,2,2,n)+ fq_is_true(i,3,2,n) +
     166     $  fq_is_true(i,1,3,n)+ fq_is_true(i,2,3,n)+ fq_is_true(i,3,3,n) )
     167         cld_fi3d(i,2)=
     168     $ (fq_is_true(i,1,4,n)+ fq_is_true(i,2,4,n)+ fq_is_true(i,3,4,n) +
     169     $  fq_is_true(i,1,5,n)+ fq_is_true(i,2,5,n)+ fq_is_true(i,3,5,n) )
     170         cld_fi3d(i,3)=
     171     $ (fq_is_true(i,1,6,n)+ fq_is_true(i,2,6,n)+ fq_is_true(i,3,6,n) +
     172     $  fq_is_true(i,1,7,n)+ fq_is_true(i,2,7,n)+ fq_is_true(i,3,7,n) )
     173        ENDDO   
     174        CALL gr_fi_ecrit(lmax3,klon,iim,jjmp1,cld_fi3d,cld_3d)
     175        CALL histwrite(nid_isccp,"thin",itau_w,cld_3d,
     176     $  iim*jjmp1*lmax3,ndex3d)
     177c
     178        DO i=1, klon
     179         cld_fi3d(i,1)=
     180     $   (fq_is_true(i,4,1,n)+ fq_is_true(i,5,1,n) +
     181     $    fq_is_true(i,4,2,n)+ fq_is_true(i,5,2,n) +
     182     $    fq_is_true(i,4,3,n)+ fq_is_true(i,5,3,n) )
     183         cld_fi3d(i,2)=
     184     $   (fq_is_true(i,4,4,n)+ fq_is_true(i,5,4,n) +
     185     $    fq_is_true(i,4,5,n)+ fq_is_true(i,5,5,n) )
     186         cld_fi3d(i,3)=
     187     $   (fq_is_true(i,4,6,n)+ fq_is_true(i,5,6,n) +
     188     $    fq_is_true(i,4,7,n)+ fq_is_true(i,5,7,n) )
     189        ENDDO   
     190        CALL gr_fi_ecrit(lmax3, klon,iim,jjmp1,cld_fi3d,cld_3d)
     191        CALL histwrite(nid_isccp,"mid",itau_w,cld_3d,
     192     $  iim*jjmp1*lmax3,ndex3d)
     193c
     194        DO i=1, klon
     195         cld_fi3d(i,1)=
     196     $   (fq_is_true(i,6,1,n)+ fq_is_true(i,7,1,n) +
     197     $    fq_is_true(i,6,2,n)+ fq_is_true(i,7,2,n) +
     198     $    fq_is_true(i,6,3,n)+ fq_is_true(i,7,3,n) )
     199         cld_fi3d(i,2)=
     200     $   (fq_is_true(i,6,4,n)+ fq_is_true(i,7,4,n) +
     201     $    fq_is_true(i,6,5,n)+ fq_is_true(i,7,5,n) )
     202         cld_fi3d(i,3)=
     203     $   (fq_is_true(i,6,6,n)+ fq_is_true(i,7,6,n) +
     204     $    fq_is_true(i,6,7,n)+ fq_is_true(i,7,7,n) )
     205        ENDDO   
     206        CALL gr_fi_ecrit(lmax3, klon,iim,jjmp1,cld_fi3d,cld_3d)
     207        CALL histwrite(nid_isccp,"thick",itau_w,cld_3d,
     208     $  iim*jjmp1*lmax3,ndex3d)
     209c
     210        ENDDO ! n=1, napisccp
    47211c
    48212       ENDIF
  • LMDZ4/trunk/libf/phylmd/write_histday.h

    r644 r684  
    135135      CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollw,zx_tmp_2d)
    136136      CALL histwrite(nid_day,"soll",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     137c
     138      CALL gr_fi_ecrit(1, klon,iim,jjmp1, radsol,zx_tmp_2d)
     139      CALL histwrite(nid_day,"radsol",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    137140c
    138141      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldl,zx_tmp_2d)
     
    274277        zx_tmp_fi2d(i) = fluxo(i)
    275278       ELSE
    276         zx_tmp_fi2d(i) = 1.E+20
     279        zx_tmp_fi2d(i) = 0.
    277280       ENDIF
    278281      ENDDO
     
    286289        zx_tmp_fi2d(i) = fluxg(i)
    287290       ELSE
    288         zx_tmp_fi2d(i) = 1.E+20
     291        zx_tmp_fi2d(i) = 0.
    289292       ENDIF
    290293      ENDDO
     
    386389      CALL histwrite(nid_day, "SWdnSFCclr",itau_w,zx_tmp_2d,
    387390     .                               iim*jjmp1,ndex2d)
     391c
     392cIM AMMA-MIP
     393      CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollwdown,zx_tmp_2d)
     394      CALL histwrite(nid_day,"LWdnSFC",itau_w,zx_tmp_2d,iim*jjmp1,
     395     .               ndex2d)
     396c
     397      zx_tmp_fi2d(1:klon)=sollwdown(1:klon)-sollw(1:klon)
     398      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d)
     399      CALL histwrite(nid_day,"LWupSFC",itau_w,zx_tmp_2d,iim*jjmp1,
     400     .               ndex2d)
     401c
     402cIM   IF (iflag_con.GE.3) THEN
     403cIM ema_pct= 0.     CALL gr_fi_ecrit(1, klon,iim,jjmp1, ema_pct,zx_tmp_2d)
     404      CALL gr_fi_ecrit(1, klon,iim,jjmp1, meanptop(:,1),zx_tmp_2d)
     405      CALL histwrite(nid_day,"ptop",itau_w,zx_tmp_2d,iim*jjmp1,
     406     .               ndex2d)
     407cIM   ENDIF
    388408c
    389409      zx_tmp_fi2d(1 : klon) = ftsol(1 : klon, is_ter)
     
    578598     .               iim*jjmp1*klev,ndex3d)
    579599c
     600c
     601cIM: 101003 : K/30min ==> K/s
     602      zx_tmp_fi3d(1:klon,1:klev)=d_t_con(1:klon,1:klev)/pdtphys
     603      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
     604      CALL histwrite(nid_day,"dtcon",itau_w,zx_tmp_3d,
     605     .                                   iim*jjmp1*klev,ndex3d)
     606c
     607      zx_tmp_fi3d(1:klon,1:klev)=d_q_con(1:klon,1:klev)/pdtphys
     608      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
     609      CALL histwrite(nid_day,"dqcon",itau_w,zx_tmp_3d,
     610     .                                   iim*jjmp1*klev,ndex3d)
     611c
     612      DO i=1, klon
     613       zx_tmp_2d(i)=MIN(100.,rh2m(i)*100.)
     614      ENDDO
     615c
     616      CALL gr_fi_ecrit(1,klon,iim,jjmp1, zx_tmp_2d,zx_tmp_2d)
     617      CALL histwrite(nid_day,"rh2m",itau_w,zx_tmp_2d,
     618     .               iim*jjmp1,ndex2d)
     619c
     620      CALL gr_fi_ecrit(1,klon,iim,jjmp1, qsat2m,zx_tmp_2d)
     621      CALL histwrite(nid_day,"qsat2m",itau_w,zx_tmp_2d,
     622     .               iim*jjmp1,ndex2d)
     623c
     624      CALL gr_fi_ecrit(1,klon,iim,jjmp1, tpot,zx_tmp_2d)
     625      CALL histwrite(nid_day,"tpot",itau_w,zx_tmp_2d,
     626     .               iim*jjmp1,ndex2d)
     627c
     628      CALL gr_fi_ecrit(1,klon,iim,jjmp1, tpote,zx_tmp_2d)
     629      CALL histwrite(nid_day,"tpote",itau_w,zx_tmp_2d,
     630     .               iim*jjmp1,ndex2d)
     631c
    580632      ENDIF !lev_histday.GE.5
    581633c=================================================================
  • LMDZ4/trunk/libf/phylmd/write_histins.h

    r644 r684  
    99c Champs 2D:
    1010c
    11          zsto = dtime * ecrit_ins
    12          zout = dtime * ecrit_ins
    13          itau_w = itau_phy + itap
    14 
    15          i = NINT(zout/zsto)
     11      itau_w = itau_phy + itap
     12
    1613      CALL gr_fi_ecrit(1,klon,iim,jjmp1,pphis,zx_tmp_2d)
    1714      CALL histwrite(nid_ins,"phis",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    1815c
    19          i = NINT(zout/zsto)
    2016      CALL gr_fi_ecrit(1,klon,iim,jjmp1,airephy,zx_tmp_2d)
    2117      CALL histwrite(nid_ins,"aire",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
  • LMDZ4/trunk/libf/phylmd/write_histmth.h

    r653 r684  
    207207      CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollw,zx_tmp_2d)
    208208      CALL histwrite(nid_mth,"soll",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     209c
     210      CALL gr_fi_ecrit(1, klon,iim,jjmp1, radsol,zx_tmp_2d)
     211      CALL histwrite(nid_mth,"radsol",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    209212c
    210213      CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollw0,zx_tmp_2d)
     
    355358     $      zx_tmp_2d,iim*jjmp1,ndex2d)
    356359C
     360        zx_tmp_fi2d(1 : klon) = wfbilo( 1 : klon, nsrf)
     361        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
     362        CALL histwrite(nid_mth,"wbilo_"//clnsurf(nsrf),itau_w,
     363     $      zx_tmp_2d,iim*jjmp1,ndex2d)
     364C
    357365       IF(1.EQ.0) THEN
    358366C
     
    517525        zx_tmp_fi2d(i) = fluxo(i)
    518526       ELSE
    519         zx_tmp_fi2d(i) = 1.E+20
     527        zx_tmp_fi2d(i) = 0.
    520528       ENDIF
    521529      ENDDO
     
    529537        zx_tmp_fi2d(i) = fluxg(i)
    530538       ELSE
    531         zx_tmp_fi2d(i) = 1.E+20
     539        zx_tmp_fi2d(i) = 0.
    532540       ENDIF
    533541      ENDDO
     
    535543      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
    536544      CALL histwrite(nid_mth,"fluxg",itau_w,zx_tmp_2d,
     545     .     iim*jjmp1,ndex2d)
     546c
     547      DO i=1, klon
     548       IF (pctsrf(i,is_oce).GT.epsfra.OR.
     549     .     pctsrf(i,is_sic).GT.epsfra) THEN
     550        zx_tmp_fi2d(i) = (ftsol(i, is_oce) * pctsrf(i,is_oce)+
     551     .                   ftsol(i, is_sic) * pctsrf(i,is_sic))/
     552     .                   (pctsrf(i,is_oce)+pctsrf(i,is_sic))
     553       ELSE
     554        zx_tmp_fi2d(i) = 273.15
     555       ENDIF
     556      ENDDO
     557c
     558      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
     559      CALL histwrite(nid_mth,"t_oce_sic",itau_w,zx_tmp_2d,
    537560     .     iim*jjmp1,ndex2d)
    538561c
     
    723746      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, Ma, zx_tmp_3d)
    724747      CALL histwrite(nid_mth,"Ma",itau_w,zx_tmp_3d,
     748     .                                   iim*jjmp1*klev,ndex3d)
     749c
     750      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, upwd, zx_tmp_3d)
     751      CALL histwrite(nid_mth,"upwd",itau_w,zx_tmp_3d,
    725752     .                                   iim*jjmp1*klev,ndex3d)
    726753c
     
    12801307      CALL histwrite(nid_mth,"soll",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
    12811308c
     1309      CALL gr_fi_ecrit(1, klon,iim,jjmp1, radsol,zx_tmp_2d)
     1310      CALL histwrite(nid_mth,"radsol",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     1311c
    12821312      CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollw0,zx_tmp_2d)
    12831313      CALL histwrite(nid_mth,"soll0",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
     
    14261456     $      zx_tmp_2d,iim*jjmp1,ndex2d)
    14271457C
     1458        zx_tmp_fi2d(1 : klon) = wfbilo( 1 : klon, nsrf)
     1459        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
     1460        CALL histwrite(nid_mth,"wbilo_"//clnsurf(nsrf),itau_w,
     1461     $      zx_tmp_2d,iim*jjmp1,ndex2d)
     1462C
    14281463       IF(1.EQ.0) THEN
    14291464C
     
    15881623        zx_tmp_fi2d(i) = fluxo(i)
    15891624       ELSE
    1590         zx_tmp_fi2d(i) = 1.E+20
     1625        zx_tmp_fi2d(i) = 0.
    15911626       ENDIF
    15921627      ENDDO
     
    16001635        zx_tmp_fi2d(i) = fluxg(i)
    16011636       ELSE
    1602         zx_tmp_fi2d(i) = 1.E+20
     1637        zx_tmp_fi2d(i) = 0.
    16031638       ENDIF
    16041639      ENDDO
     
    16061641      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
    16071642      CALL histwrite(nid_mth,"fluxg",itau_w,zx_tmp_2d,
     1643     .     iim*jjmp1,ndex2d)
     1644c
     1645      DO i=1, klon
     1646       IF (pctsrf(i,is_oce).GT.epsfra.OR.
     1647     .     pctsrf(i,is_sic).GT.epsfra) THEN
     1648        zx_tmp_fi2d(i) = (ftsol(i, is_oce) * pctsrf(i,is_oce)+
     1649     .                   ftsol(i, is_sic) * pctsrf(i,is_sic))/
     1650     .                   (pctsrf(i,is_oce)+pctsrf(i,is_sic))
     1651       ELSE
     1652        zx_tmp_fi2d(i) = 273.15
     1653       ENDIF
     1654      ENDDO
     1655c
     1656      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
     1657      CALL histwrite(nid_mth,"t_oce_sic",itau_w,zx_tmp_2d,
    16081658     .     iim*jjmp1,ndex2d)
    16091659c
  • LMDZ4/trunk/libf/phylmd/write_histmthNMC.h

    r644 r684  
    22! $Header$
    33!
    4 c     IF (ok_mensuelNMC) THEN
    54      IF (ok_mensuel) THEN
    65c
     
    8483        DO i=1, klon
    8584         IF(tnondef(i,k,3).NE.1.E+20) THEN
    86           zx_tmp_fi3d(i,k) = (100.*tnondef(i,k,3))/FLOAT(ecrit_hf2mth)
     85          zx_tmp_fi3d(i,k) = (100.*tnondef(i,k,3))/ecrit_hf2mth
    8786         ELSE
    8887          zx_tmp_fi3d(i,k) = 1.E+20
  • LMDZ4/trunk/libf/phylmd/write_histrac.h

    r679 r684  
    66      ndex3d = 0
    77c
    8       zsto = pdtphys
    9       zout = pdtphys * FLOAT(ecrit_tra)
    108      itau_w = itau_phy + nstep
    119
    12      
    13       i = NINT(zout/zsto)
    1410      CALL gr_fi_ecrit(1,klon,iim,jjm+1,pphis,zx_tmp_2d)
    1511      CALL histwrite(nid_tra,"phis",itau_w,zx_tmp_2d,iim*(jjm+1),ndex2d)
Note: See TracChangeset for help on using the changeset viewer.