Changeset 740


Ignore:
Timestamp:
Dec 8, 2006, 12:45:43 PM (17 years ago)
Author:
lmdzadmin
Message:

Correction bogues: les ecrit_ sont des REALs lus dans conf_phys.F90 en
nombre de jours sauf pour ecrit_ins et ecrit_tra en secondes!
Les ecrit_ sont initialises dans conf_phys.F90 et peuvent etre modifies dans
physiq.def.
IM

Location:
LMDZ4/branches/LMDZ4_V2_patch/libf/phylmd
Files:
21 edited

Legend:

Unmodified
Added
Removed
  • LMDZ4/branches/LMDZ4_V2_patch/libf/phylmd/calcul_STDlev.h

    r644 r740  
    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
     
    155155c
    156156cIM on somme les valeurs definies a chaque pas de temps de la physique ou
    157 cIM toutes les 6 heures
     157cIM toutes les "hautes frequences"
    158158c
    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/branches/LMDZ4_V2_patch/libf/phylmd/calcul_divers.h

    r644 r740  
    55c initialisations diverses au "debut" du mois
    66c
    7       IF(MOD(itap,ecrit_mth).EQ.1) THEN
     7      IF(MOD(itap,NINT(ecrit_mth/dtime)).EQ.1) THEN
    88         DO i=1, klon
    99          nday_rain(i)=0.
     
    1919      ENDIF !MOD(itap,ecrit_mth).EQ.1
    2020c
    21       IF(MOD(itap,ecrit_day).EQ.0) THEN
     21      IF(MOD(itap,NINT(ecrit_day/dtime)).EQ.0) THEN
    2222c
    2323cIM calcul total_rain, nday_rain
     
    2727        IF(total_rain(i).GT.0.) nday_rain(i)=nday_rain(i)+1.
    2828       ENDDO
    29       ENDIF !itap.EQ.ecrit_mth
     29      ENDIF !itap.EQ.ecrit_day
  • LMDZ4/branches/LMDZ4_V2_patch/libf/phylmd/calcul_simulISCCP.h

    r738 r740  
    8686      close(99)
    8787c
    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
    9788      ENDIF !debut
    9889c
     
    140131      debugcol=0
    141132c
    142 cIM o500 ==> distribution nuage ftion du regime dynamique (vit. verticale a 500 hPa)
    143 c
    144         DO k=1, klevm1
    145         kp1=k+1
    146 c       PRINT*,'k, presnivs',k,presnivs(k), presnivs(kp1)
    147         if(presnivs(k).GT.50000.AND.presnivs(kp1).LT.50000.) THEN
    148          DO i=1, klon
    149           o500(i)=omega(i,k)*RDAY/100.
    150 c         if(i.EQ.1) print*,' 500hPa lev',k,presnivs(k),presnivs(kp1)
    151          ENDDO
    152          GOTO 1000
    153         endif
    154 1000  continue
    155       ENDDO
    156 c
    157133cIM recalcule les nuages vus par satellite, via le simulateur ISCCP
    158134c
     
    184160     &     boxptop)
    185161c
    186 c calcul regime dynamique sur les regions fixees
    187 c
    188        IF (ok_regdyn) THEN !histREGDYN
    189 c
    190 #include "calcul_REGDYN.h"
    191 c
    192        ENDIF !(ok_regdyn) THEN !histREGDYN
    193162cIM    ENDIF !(MOD(itaprad,radpas).EQ.0) THEN
    194163cIM 010904 END
  • LMDZ4/branches/LMDZ4_V2_patch/libf/phylmd/clesphys.h

    r723 r740  
    2424       INTEGER lev_histhf, lev_histday, lev_histmth
    2525       CHARACTER*4 type_run
    26        LOGICAL ok_isccp, ok_regdyn
     26       LOGICAL ok_isccp
    2727       REAL lonmin_ins, lonmax_ins, latmin_ins, latmax_ins
    2828       REAL ecrit_ins, ecrit_hf, ecrit_hf2mth, ecrit_day
    29        REAL ecrit_mth, ecrit_tra, ecrit_reg
     29       REAL ecrit_mth, ecrit_tra, ecrit_reg, ecrit_ISCCP
    3030
    3131       COMMON/clesphys/cycle_diurne, soil_model, new_oliq,
     
    3535     S     , top_height, overlap, cdmmax, cdhmax, ksta, ksta_ter
    3636     S     , ok_kzmin, lev_histhf, lev_histday, lev_histmth
    37      S     , type_run, ok_isccp, ok_regdyn
     37     S     , type_run, ok_isccp
    3838     S     , lonmin_ins, lonmax_ins, latmin_ins, latmax_ins
    3939     S     , ecrit_ins, ecrit_hf, ecrit_hf2mth, ecrit_day
    40      S     , ecrit_mth, ecrit_tra, ecrit_reg, bug_ozone
     40     S     , ecrit_mth, ecrit_tra, ecrit_reg, ecrit_ISCCP, bug_ozone
  • LMDZ4/branches/LMDZ4_V2_patch/libf/phylmd/conf_phys.F90

    r652 r740  
    55!
    66
    7   subroutine conf_phys(ocean, ok_veget, ok_journe, ok_mensuel, ok_instan, &
     7  subroutine conf_phys(pdtphys, ocean, ok_veget, ok_journe, ok_mensuel, ok_instan, &
    88 &                     fact_cldcon, facttemps,ok_newmicro,iflag_cldcon, &
    99 &                     ratqsbas,ratqshaut,if_ebil, &
     
    3030!
    3131
    32 !
     32! pdtphys:    pas d'integration pour la physique (seconde)
    3333! ocean:      type d'ocean (force, slab, couple)
    3434! ok_veget:   type de modele de vegetation
     
    4040!
    4141
    42 
     42! Entree:
     43  REAL :: pdtphys
    4344! Sortie:
    4445  character (len = 6)  :: ocean
     
    4950  real                 :: fact_cldcon, facttemps,ratqsbas,ratqshaut
    5051  integer              :: iflag_cldcon, if_ebil
     52  integer              :: iflag_thermals,nsplit_thermals
    5153
    5254! Local
     
    5456  real                 :: zzz
    5557
    56   integer :: iflag_thermals,nsplit_thermals
     58  REAL, PARAMETER      :: un_jour=86400.
    5759!
    5860!
     
    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"
     
    643635!
    644636!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.)
     637!Config Desc = frequence ecriture fichier histins.nc en secondes
     638!Config Def  = pdtphys !a chaque pas de temps physique
     639!Config Help =
     640!
     641  ecrit_ins = pdtphys
    651642  call getin('ecrit_ins',ecrit_ins)
    652643!
    653644!Config Key  = ecrit_hf
    654 !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)
     645!Config Desc = frequence ecriture fichier histhf.nc en nombre de jours
     646!Config Def  = 0.25 !toutes les 6h
     647!Config Help =
     648!
     649  ecrit_hf = 0.25
    660650  call getin('ecrit_hf',ecrit_hf)
     651  ecrit_hf = ecrit_hf * un_jour !ecrit_hf en secondes
     652!
     653!
     654!Config Key  = ecrit_day
     655!Config Desc = frequence ecriture fichier histday.nc en nombre de jours
     656!Config Def  = 1.0 !tous les jours
     657!Config Help =
     658!
     659  ecrit_day = 1.0
     660  call getin('ecrit_day',ecrit_day)
     661  ecrit_day = ecrit_day * un_jour !ecrit_day en secondes
     662!
     663!Config Key  = ecrit_mth
     664!Config Desc = frequence ecriture fichier histmth.nc en nombre de jours
     665!Config Def  = 30. !1fois par mois
     666!Config Help =
     667!
     668  ecrit_mth = 30.
     669  call getin('ecrit_mth',ecrit_mth)
     670  ecrit_mth = ecrit_mth * un_jour !ecrit_mth en secondes
    661671!
    662672!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
     673!Config Desc = frequence ecriture/calcul fichier histNMC.nc ; calcul a partir des
     674!Config Desc = valeurs haute frequence "hf" et ecriture 1 fois par mois
     675!Config Def  = ecrit_mth/ecrit_hf !ecriture mens. a partir de val. inst. toutes les 6h
     676!Config Help =
     677!
     678  ecrit_hf2mth = ecrit_mth/ecrit_hf
    668679  call getin('ecrit_hf2mth',ecrit_hf2mth)
    669680!
    670 !Config Key  = ecrit_day
    671 !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)
    677   call getin('ecrit_day',ecrit_day)
    678 !
    679 !Config Key  = ecrit_mth
    680 !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)
    686   call getin('ecrit_mth',ecrit_mth)
    687 !
    688681!Config Key  = ecrit_tra
    689 !Config Desc =
    690 !Config Def  = NINT(86400./dtime * ecritphy) !tous les pas de temps physiques
    691 !Config Help =
    692 !
    693 ! ecrit_tra = NINT(86400./dtime * ecritphy)
    694   ecrit_tra = NINT(86400.* ecritphy)
     682!Config Desc = frequence ecriture fichier histrac.nc en secondes (!)
     683!Config Def  = pdtphys !tous les pas de temps physiques
     684!Config Help =
     685!
     686  ecrit_tra = pdtphys
    695687  call getin('ecrit_tra',ecrit_tra)
    696688!
     689!Config Key  = ecrit_ISCCP
     690!Config Desc = frequence de sortie fichier histISCCP.nc en nombre de jours
     691!Config Def  = 1.  !1 fois par jour
     692!Config Help =
     693!
     694  ecrit_ISCCP = 1.
     695  call getin('ecrit_ISCCP',ecrit_ISCCP)
     696!
     697!
    697698!Config Key  = ecrit_reg
    698 !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
     699!Config Desc = frequence de sortie region du fichier ?? en nombre de jours
     700!Config Def  = 0.25  !4 fois par jour
     701!Config Help =
     702!
     703  ecrit_reg = 0.25  !4 fois par jour
    704704  call getin('ecrit_reg',ecrit_reg)
    705 !
     705  ecrit_reg = ecrit_reg * un_jour !!ecrit_reg en secondes
    706706!
    707707!
     
    769769  write(numout,*)' type_run = ',type_run
    770770  write(numout,*)' ok_isccp = ',ok_isccp
    771   write(numout,*)' ok_regdyn = ',ok_regdyn
    772771  write(numout,*)' lonmin lonmax latmin latmax bilKP_ins =',&
    773772 & lonmin_ins, lonmax_ins, latmin_ins, latmax_ins
  • LMDZ4/branches/LMDZ4_V2_patch/libf/phylmd/ini_bilKP_ave.h

    r723 r740  
    55c
    66         zsto = dtime
    7          zout = dtime * ecrit_day
     7         zout = ecrit_day
    88         typeval=tave
    99c
  • LMDZ4/branches/LMDZ4_V2_patch/libf/phylmd/ini_histISCCP.h

    r723 r740  
    1111        zstophy = dtime
    1212c
     13c zout : frequence ecriture
     14c
    1315c ecriture 8 fois par jour
    1416c       zout = dtime * REAL(NINT(86400./dtime*ecrit_isccp))
     
    1820c       zout = dtime
    1921c
    20 c ecriture mensuelle
    21         zout = dtime * ecrit_mth
    22 c       zout = dtime * ecrit_day
    23 c
    24 c       PRINT*, 'La frequence de sortie ISCCP est de ', ecrit_isccp
     22        zout = ecrit_ISCCP
    2523c
    2624        idayref = day_ref
    2725        CALL ymds2ju(annee_ref, 1, idayref, 0.0, zjulian)
    2826        write(*,*)'ISCCP ', itau_phy, zjulian
    29 c
    3027c
    3128c definition coordonnees lon,lat en globale
  • LMDZ4/branches/LMDZ4_V2_patch/libf/phylmd/ini_histREGDYN.h

    r644 r740  
    3838c ecriture mensuelle
    3939c
    40          zout = dtime * ecrit_mth
     40         zout = ecrit_mth
    4141cIM 020904     
    4242c        zout = dtime * ecrit_day
  • LMDZ4/branches/LMDZ4_V2_patch/libf/phylmd/ini_histday.h

    r723 r740  
    55c
    66       zstophy = dtime
    7        zstoday= dtime * ecrit_day
    8        zout = dtime * ecrit_day
     7       zstoday= ecrit_day
     8       zout = ecrit_day
    99c
    1010         idayref = day_ref
  • LMDZ4/branches/LMDZ4_V2_patch/libf/phylmd/ini_histday_seri.h

    r723 r740  
    55c
    66       zstophy = dtime
    7        zout = dtime * ecrit_day
     7       zout = ecrit_day
    88c
    99         idayref = day_ref
  • LMDZ4/branches/LMDZ4_V2_patch/libf/phylmd/ini_histhf.h

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

    r723 r740  
    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 * ecrit_hf
    11         zout = dtime * ecrit_hf
     6        zstohf = ecrit_hf
     7        zout = ecrit_hf
    128c
    139c       PRINT*, 'La frequence de sortie hf3d est de ', ecrit_hf
  • LMDZ4/branches/LMDZ4_V2_patch/libf/phylmd/ini_histins.h

    r644 r740  
    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
     
    2424         write(*,*)'Inst ', itau_phy, zjulian
    2525         CALL histvert(nid_ins, "presnivs", "Vertical levels", "mb",
    26 cIM    .                 klev, presnivs, nvert)
    2726     .                 klev, presnivs/100., nvert)
    2827c        call histvert(nid_ins, 'sig_s', 'Niveaux sigma','-',
     
    201200     .                "inst(X)", zsto,zout)
    202201c
    203 c
    204 cIM cf. AM 081204 BEG
    205 c HBTM2
    206202         CALL histdef(nid_ins, "s_pblh", "Boundary Layer Height", "m",
    207203     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     
    247243     .                "inst(X)", zsto,zout)
    248244c
    249 cIM cf. AM 081204 END
    250 c
    251245c Champs 3D:
    252246c
  • LMDZ4/branches/LMDZ4_V2_patch/libf/phylmd/ini_histmth.h

    r723 r740  
    55c
    66       zstophy = dtime
    7        zstomth = dtime * 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 * ecrit_hf   !variables stockees toutes les 6h
    10        zout = dtime * 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
     11c
     12c     PRINT*,' La zstophy,zstorad,zstohf,zstomth,zout=',
     13c   . zstophy,zstorad,zstohf,zstomth,zout
    1414c
    1515         idayref = day_ref
  • LMDZ4/branches/LMDZ4_V2_patch/libf/phylmd/ini_histmthNMC.h

    r723 r740  
    55c
    66       zstophy = dtime
    7        zstohf = dtime * ecrit_hf
    8        zstomth = dtime * ecrit_mth
    9        zout = dtime * ecrit_mth
     7       zstohf = ecrit_hf
     8       zstomth = ecrit_mth
     9       zout = ecrit_mth
    1010c
    1111         idayref = day_ref
  • LMDZ4/branches/LMDZ4_V2_patch/libf/phylmd/ini_histrac.h

    r723 r740  
    3939
    4040         zsto = pdtphys
    41          zout = pdtphys * ecrit_tra
     41         zout = ecrit_tra
     42c
     43c        print*,'ini_histrac: zsto zout',zsto,zout
    4244c
    4345         CALL histdef(nid_tra, "phis", "Surface geop. height", "-",
  • LMDZ4/branches/LMDZ4_V2_patch/libf/phylmd/ini_undefSTD.F

    r644 r740  
    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
     35071206
     36      REAL dtime
     37      REAL ecrit_day,ecrit_mth
    3638c
    3739c variables locales
     
    4547c initialisation variables journalieres en debut de journee
    4648c
    47       IF(MOD(itap,ecrit_day).EQ.1.) THEN
     49      IF(MOD(itap,NINT(ecrit_day/dtime)).EQ.1.) THEN
    4850       DO k=1, nlevSTD
    4951        DO i=1, klon
     
    5759c en debut de mois : nout=2
    5860c
    59       IF(MOD(itap,ecrit_mth).EQ.1.) THEN
     61      IF(MOD(itap,NINT(ecrit_mth/dtime)).EQ.1.) THEN
    6062c
    6163       DO k=1, nlevSTD
  • LMDZ4/branches/LMDZ4_V2_patch/libf/phylmd/physiq.F

    r738 r740  
    4343#define histmth
    4444#define histISCCP
    45 #define histREGDYN
    4645#define histmthNMC
    4746c======================================================================
     
    381380      REAL nbsunlit(nregISCtot,klon)  !nbsunlit : moyenne de sunlit
    382381      INTEGER ncol, seed(klon)
     382
    383383cIM ajout seed_re (REAL)et seed_old (integer)
    384384      REAL seed_re(klon), aa
    385385      INTEGER seed_old(klon)
    386386      SAVE seed_old
     387
    387388
    388389
     
    439440      REAL o500(klon)
    440441c
    441 cIM: nbregdyn = nbre regions pour calculs statistiques sur output du ISCCP
    442 cIM: dynamiques 
    443       INTEGER nreg, nbregdyn
    444       PARAMETER(nbregdyn=5)
    445       REAL histoW(kmaxm1,lmaxm1,iwmax,nbregdyn)
    446       REAL nhistoW(kmaxm1,lmaxm1,iwmax,nbregdyn)
    447       REAL nhistoWt(kmaxm1,lmaxm1,iwmax,nbregdyn)
    448       SAVE nhistoWt
    449 
    450       INTEGER linv
    451       INTEGER pct_ocean(klon,nbregdyn)
    452442 
    453443c sorties ISCCP
    454444
    455 c     logical ok_isccp
    456 c     real ecrit_isccp
    457445      integer nid_isccp
    458 c     save ok_isccp, ecrit_isccp, nid_isccp       
    459446      save nid_isccp       
    460447cIM 090704 BEG
    461448      INTEGER nbapp_isccp,isccppas
    462 
    463 c sorties statistiques regime dynamique
    464 c     logical ok_regdyn
    465 c     real ecrit_regdyn
    466       integer nid_regdyn
    467 c     save ok_regdyn, ecrit_regdyn, nid_regdyn
    468       save nid_regdyn
    469449
    470450      REAL zx_tau(kmaxm1), zx_pc(lmaxm1), zx_o500(iwmax)
     
    546526c
    547527      logical ok_hf
    548 cIM200505     integer ecrit_hf
    549 cIM200505    integer ecrit_hf2mth
    550 cIM200505    save ecrit_hf2mth
    551528c
    552529      integer nid_hf, nid_hf3d
    553 cIM200505     save ok_hf, ecrit_hf, nid_hf, nid_hf3d
    554530      save ok_hf, nid_hf, nid_hf3d
    555531
     
    557533
    558534#ifdef histhf
    559 cIM 130904   data ok_hf,ecrit_hf/.true.,0.25/
    560535      data ok_hf/.true./
    561536#else
     
    10341009c
    10351010c======================================================================
    1036 cIM200505     INTEGER ecrit_mth
    1037 cIM200505     SAVE ecrit_mth   ! frequence d'ecriture (fichier mensuel)
    10381011c
    10391012cIM cf. AM 081204 BEG
     
    10511024cIM cf. AM 081204 END
    10521025
    1053 c
    1054 cIM200505     INTEGER ecrit_day
    1055 cIM200505     SAVE ecrit_day   ! frequence d'ecriture (fichier journalier)
    1056 c
    1057 cIM200505     INTEGER ecrit_ins
    1058 cIM200505     SAVE ecrit_ins   ! frequence d'ecriture (fichier instantane)
    1059 c
    1060 cIM200505     INTEGER ecrit_reg
    1061 cIM200505     SAVE ecrit_reg   ! frequence d'ecriture
    10621026c
    10631027      integer itau_w   ! pas de temps ecriture = itap + itau_phy
     
    12581222         solswai(:)=0.
    12591223         solswad(:)=0.
    1260 !rv
    1261 ! anne
     1224crv
     1225c anne
    12621226         d_u_con(:,:) = 0.0
    12631227         d_v_con(:,:) = 0.0
     
    12671231         clwcon(:,:) = 0.0
    12681232         paire_ter(:) = 0.0
    1269          nhistoW(:,:,:,:) = 0.0
    1270          histoW(:,:,:,:) = 0.0
    1271 ! fin anne
     1233c fin anne
    12721234
    12731235cym
     
    12781240c appel a la lecture du run.def physique
    12791241c
    1280          call conf_phys(ocean, ok_veget, ok_journe, ok_mensuel,
     1242         call conf_phys(pdtphys, ocean, ok_veget, ok_journe, ok_mensuel,
    12811243     .                  ok_instan, fact_cldcon, facttemps,ok_newmicro,
    12821244     .                  iflag_cldcon,ratqsbas,ratqshaut, if_ebil,
     
    13921354         ENDIF
    13931355c
    1394 c
    13951356         lmt_pas = NINT(86400./dtime * 1.0)   ! tous les jours
    13961357         WRITE(lunout,*)'La frequence de lecture surface est de ',
    13971358     .                   lmt_pas
    1398 c
    1399 cIM200505        ecrit_mth = NINT(86400./dtime *ecritphy)  ! tous les ecritphy jours
    1400 c        IF (ok_mensuel) THEN
    1401 c        WRITE(lunout,*)'La frequence de sortie mensuelle est de ',
    1402 c    .                   ecrit_mth
    1403 c        ENDIF
    1404 c        ecrit_day = NINT(86400./dtime *1.0)  ! tous les jours
    1405 c        IF (ok_journe) THEN
    1406 c        WRITE(lunout,*)'La frequence de sortie journaliere est de ',
    1407 c    .                   ecrit_day
    1408 c        ENDIF
    1409 cIM 130904 BEG
    1410 cIM 080205      ecrit_hf = 86400./dtime *0.25  ! toutes les 6h
    1411 cIM 170305     
    1412 c        ecrit_hf = 86400./dtime/12.  ! toutes les 2h
    1413 cIM 230305     
    1414 cIM200505        ecrit_hf = 86400./dtime *0.25  ! toutes les 6h
    1415 c
    1416 cIM200505        ecrit_hf2mth = ecrit_day/ecrit_hf*30
    1417 c
    1418 cIM200505        IF (ok_journe) THEN
    1419 cIM200505        WRITE(lunout,*)'La frequence de sortie hf est de ',
    1420 cIM200505    .                   ecrit_hf
    1421 cIM200505        ENDIF
    1422 cIM 130904 END
    1423 ccc         ecrit_ins = NINT(86400./dtime *0.5)  ! 2 fois par jour
    1424 ccc         ecrit_ins = NINT(86400./dtime *0.25)  ! 4 fois par jour
    1425 c        ecrit_ins = NINT(86400./dtime/48.)  ! a chaque pas de temps ==> PB. dans time_counter pour 1mois
    1426 c        ecrit_ins = NINT(86400./dtime/12.)  ! toutes les deux heures
    1427 cIM200505        ecrit_ins = NINT(86400./dtime/8.)  ! toutes les trois heures
    1428 cIM200505        IF (ok_instan) THEN
    1429 cIM200505        WRITE(lunout,*)'La frequence de sortie instant. est de ',
    1430 cIM200505    .                   ecrit_ins
    1431 cIM200505        ENDIF
    1432 cIM200505        ecrit_reg = NINT(86400./dtime *0.25)  ! 4 fois par jour
    1433 cIM200505        IF (ok_region) THEN
    1434 cIM200505        WRITE(lunout,*)'La frequence de sortie region est de ',
    1435 cIM200505    .                   ecrit_reg
    1436 cIM200505        ENDIF
    1437 c
    1438 cIM 230505 BEG
    1439          ecrit_ins = NINT(ecrit_ins/dtime)
    1440          ecrit_hf = NINT(ecrit_hf/dtime)
    1441 c        ecrit_hf2mth = 4*30
    1442          ecrit_day = NINT(ecrit_day/dtime)
    1443          ecrit_mth = NINT(ecrit_mth/dtime)
    1444          ecrit_tra = NINT(ecrit_tra/dtime)
    1445          ecrit_reg = NINT(ecrit_reg/dtime)
    1446 cIM 230505 END
    14471359c
    14481360c Initialiser le couplage si necessaire
     
    14961408#ifdef histISCCP
    14971409#include "ini_histISCCP.h"
    1498 #endif
    1499 
    1500 #ifdef histmthNMC
    1501 #include "ini_histmthNMC.h"
    1502 #endif
    1503 
    1504 #ifdef histREGDYN
    1505 #include "ini_histREGDYN.h"
    15061410#endif
    15071411
     
    29632867#endif
    29642868
    2965 #ifdef histREGDYN
    2966 #include "write_histREGDYN.h"
    2967 #endif
    2968 
    29692869#ifdef histISCCP
    29702870#include "write_histISCCP.h"
    29712871#endif
    2972 
    29732872
    29742873#ifdef histmthNMC
  • LMDZ4/branches/LMDZ4_V2_patch/libf/phylmd/phytrac.F

    r723 r740  
    22! $Header$
    33!
    4 c
    54c
    65      SUBROUTINE phytrac (rnpb,
     
    155154      REAL flxmass_w(klon,klev)
    156155#endif
    157 cIM   integer iflag_con
    158156#include "clesphys.h"
    159157
     
    266264C Variables liees a l'ecriture de la bande histoire : phytrac.nc
    267265c
    268 cIM   INTEGER ecrit_tra
    269 cIM   SAVE ecrit_tra   
    270266      logical ok_sync
    271267      parameter (ok_sync = .true.)
     
    387383         if (debutphy) then
    388384
    389 cIM       ecrit_tra = NINT(86400./pdtphys *ecritphy)
    390 cIM       print*,'dans phytrac ',pdtphys,ecritphy,ecrit_tra
     385          print*,'dans phytrac ',pdtphys,ecritphy,ecrit_tra
    391386
    392387         if(nbtr.lt.nqmax) then
     
    753748c si radio=true mais pour l'instant radiornpb propre au cas rnpb
    754749      if(rnpb) then
    755         print *, 'decroissance radiactive activee'
     750c       print *, 'decroissance radiactive activee'
    756751        call radiornpb (tr_seri,pdtphys,tautr,d_tr_dec)
    757752C
  • LMDZ4/branches/LMDZ4_V2_patch/libf/phylmd/undefSTD.F

    r644 r740  
    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
    8181c
    8282      RETURN
  • LMDZ4/branches/LMDZ4_V2_patch/libf/phylmd/write_histrac.h

    r723 r740  
    66      ndex3d = 0
    77c
    8       itau_w = itau_phy + nstep
    9      
     8cIM itau_phy n'est pas defini dans phytrac   itau_w = itau_phy + nstep
     9      itau_w = nstep
     10c     print*,'write_histrac: itau_w itau_phy nstep',itau_w,itau_phy,
     11c    $ nstep
     12c     
    1013      CALL gr_fi_ecrit(1,klon,iim,jjm+1,pphis,zx_tmp_2d)
    1114      CALL histwrite(nid_tra,"phis",itau_w,zx_tmp_2d,iim*(jjm+1),ndex2d)
Note: See TracChangeset for help on using the changeset viewer.