Ignore:
Timestamp:
Jun 11, 2009, 10:54:10 AM (15 years ago)
Author:
Laurent Fairhead
Message:

Modif pour la compilation avec fcm sur Vargas SD
Corrections relatives au controle de histins et de l'utilisation des
options INST(X) pour l'appel au routines de IOIPSL FH
Mise en place de diagnostics sur les critères CFL pour l'advection
de traceurs. FH
Controle dans les .def de la dépendance verticale de l'efficacite
de la diffusion. Actif pour le moment uniquement avec ok_strato=y et llm=39. FH
LF

Location:
LMDZ4/branches/LMDZ4-dev
Files:
13 edited

Legend:

Unmodified
Added
Removed
  • LMDZ4/branches/LMDZ4-dev/arch/arch-PW6_VARGAS.path

    r1161 r1176  
    55set ORCH_INCDIR=$LMDGCM/../../lib
    66set ORCH_LIBDIR=$LMDGCM/../../lib
    7 set OASIS_INCDIR=$LMDGCM/../../prism/SX/build/lib/psmile.$couple
    8 set OASIS_LIBDIR=$LMDGCM/../../prism/SX/lib
     7set OASIS_INCDIR=$LMDGCM/../../prism/AIX6/build/lib/psmile.$couple
     8set OASIS_LIBDIR=$LMDGCM/../../prism/AIX6/lib
    99set INCA_LIBDIR=$LMDGCM/../INCA3/config/lib
    1010set INCA_INCDIR=$LMDGCM/../INCA3/config/lib
  • LMDZ4/branches/LMDZ4-dev/libf/dyn3d/advtrac.F

    r1114 r1176  
    11!
    2 ! $Header$
     2! $Id$
    33!
    44c
     
    3030#include "ener.h"
    3131#include "description.h"
     32#include "iniprint.h"
    3233
    3334c-------------------------------------------------------------------
     
    7475      DATA dum/.true./
    7576
     77      integer,save :: countcfl=0
     78      real cflx(ip1jmp1,llm)
     79      real cfly(ip1jm,llm)
     80      real cflz(ip1jmp1,llm)
     81      real, save :: cflxmax(llm),cflymax(llm),cflzmax(llm)
    7682
    7783      IF(iadvtr.EQ.0) THEN
     
    139145         ENDDO
    140146
     147
     148c-------------------------------------------------------------------
     149! Calcul des criteres CFL en X, Y et Z
     150c-------------------------------------------------------------------
     151
     152      if (countcfl == 0. ) then
     153          cflxmax(:)=0.
     154          cflymax(:)=0.
     155          cflzmax(:)=0.
     156      endif
     157
     158      countcfl=countcfl+iapp_tracvl
     159      cflx(:,:)=0.
     160      cfly(:,:)=0.
     161      cflz(:,:)=0.
     162      do l=1,llm
     163         do ij=iip2,ip1jm-1
     164            if (pbarug(ij,l)>=0.) then
     165                cflx(ij,l)=pbarug(ij,l)*dtvr/masse(ij,l)
     166            else
     167                cflx(ij,l)=-pbarug(ij,l)*dtvr/masse(ij+1,l)
     168            endif
     169         enddo
     170      enddo
     171      do l=1,llm
     172         do ij=iip2,ip1jm-1,iip1
     173            cflx(ij+iip1,l)=cflx(ij,l)
     174         enddo
     175      enddo
     176
     177      do l=1,llm
     178         do ij=1,ip1jm
     179            if (pbarvg(ij,l)>=0.) then
     180                cfly(ij,l)=pbarvg(ij,l)*dtvr/masse(ij,l)
     181            else
     182                cfly(ij,l)=-pbarvg(ij,l)*dtvr/masse(ij+iip1,l)
     183            endif
     184         enddo
     185      enddo
     186
     187      do l=2,llm
     188         do ij=1,ip1jm
     189            if (wg(ij,l)>=0.) then
     190                cflz(ij,l)=wg(ij,l)*dtvr/masse(ij,l)
     191            else
     192                cflz(ij,l)=-wg(ij,l)*dtvr/masse(ij,l-1)
     193            endif
     194         enddo
     195      enddo
     196
     197      do l=1,llm
     198         cflxmax(l)=max(cflxmax(l),maxval(cflx(:,l)))
     199         cflymax(l)=max(cflymax(l),maxval(cfly(:,l)))
     200         cflzmax(l)=max(cflzmax(l),maxval(cflz(:,l)))
     201      enddo
     202
     203!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     204! Par defaut, on sort le diagnostic des CFL tous les jours.
     205! Si on veut le sortir a chaque pas d'advection en cas de plantage
     206!     if (countcfl==iapp_tracvl) then
     207!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     208      if (countcfl==day_step) then
     209         do l=1,llm
     210         write(lunout,*) 'L, CFLmax '
     211     s   ,l,maxval(cflx(:,l)),maxval(cfly(:,l)),maxval(cflz(:,l))
     212         enddo
     213         countcfl=0
     214      endif
     215   
    141216c-------------------------------------------------------------------
    142217c   Advection proprement dite (Modification Le Croller (07/2001)
  • LMDZ4/branches/LMDZ4-dev/libf/dyn3d/comconst.h

    r1106 r1176  
    11!
    2 ! $Header$
     2! $Id$
    33!
    44!-----------------------------------------------------------------------
     
    77      COMMON/comconst/im,jm,lllm,imp1,jmp1,lllmm1,lllmp1,lcl,           &
    88     & dtvr,daysec,                                                     &
    9      & pi,dtphys,dtdiss,rad,r,cpp,kappa,cotot,unsim,g,omeg
     9     & pi,dtphys,dtdiss,rad,r,cpp,kappa,cotot,unsim,g,omeg              &
     10     &                   ,dissip_factz,dissip_deltaz,dissip_zref
     11
    1012
    1113      INTEGER im,jm,lllm,imp1,jmp1,lllmm1,lllmp1,lcl
     
    1315      REAL pi,dtphys,dtdiss,rad,r,cpp,kappa
    1416      REAL cotot,unsim,g,omeg
     17      REAL dissip_factz,dissip_deltaz,dissip_zref
    1518
    1619!-----------------------------------------------------------------------
  • LMDZ4/branches/LMDZ4-dev/libf/dyn3d/conf_gcm.F

    r1143 r1176  
    11!
    2 ! $Header$
     2! $Id$
    33!
    44c
     
    3838#include "serre.h"
    3939#include "comdissnew.h"
     40#include "comconst.h"
    4041
    4142! FH 2008/05/09 On elimine toutes les clefs physiques dans la dynamique
     
    267268       tetatemp  = 7200.
    268269       CALL getin('tetatemp',tetatemp )
     270
     271! Parametres controlant la variation sur la verticale des constantes de
     272! dissipation.
     273! Pour le moment actifs uniquement dans la version a 39 niveaux
     274! avec ok_strato=y
     275
     276       dissip_factz=4.
     277       dissip_deltaz=10.
     278       dissip_zref=30.
     279       CALL getin('dissip_factz',dissip_factz )
     280       CALL getin('dissip_deltaz',dissip_deltaz )
     281       CALL getin('dissip_zref',dissip_zref )
    269282
    270283!Config  Key  = coefdis
  • LMDZ4/branches/LMDZ4-dev/libf/dyn3d/inidissip.F

    r524 r1176  
    11!
    2 ! $Header$
     2! $Id$
    33!
    44      SUBROUTINE inidissip ( lstardis,nitergdiv,nitergrot,niterh  ,
     
    1818#include "comvert.h"
    1919#include "control.h"
     20#include "logic.h"
    2021
    2122      LOGICAL lstardis
     
    2930      INTEGER l,ij,idum,ii
    3031      REAL tetamin
     32      REAL pseudoz
    3133
    3234      REAL ran1
     
    174176c   --------------------------------------------------
    175177
    176       DO l=1,llm
    177          zvert(l)=1.
    178       ENDDO
    179 
    180       fact=2.
    181 c
    182       DO l = 1, llm
    183          zz      = 1. - preff/presnivs(l)
    184          zvert(l)= fact -( fact-1.)/( 1.+zz*zz )
    185       ENDDO
     178      if (ok_strato .and. llm==39) then
     179         do l=1,llm
     180            pseudoz=8.*log(preff/presnivs(l))
     181            zvert(l)=1+
     182     s      (tanh((pseudoz-dissip_zref)/dissip_deltaz)+1.)/2.
     183     s      *(dissip_factz-1.)
     184         enddo
     185      else
     186         DO l=1,llm
     187            zvert(l)=1.
     188         ENDDO
     189         fact=2.
     190         DO l = 1, llm
     191            zz      = 1. - preff/presnivs(l)
     192            zvert(l)= fact -( fact-1.)/( 1.+zz*zz )
     193         ENDDO
     194      endif
    186195
    187196
  • LMDZ4/branches/LMDZ4-dev/libf/dyn3dpar/comconst.h

    r1106 r1176  
    11!
    2 ! $Header$
     2! $Id$
    33!
    44!-----------------------------------------------------------------------
     
    77      COMMON/comconst/im,jm,lllm,imp1,jmp1,lllmm1,lllmp1,lcl,           &
    88     & dtvr,daysec,                                                     &
    9      & pi,dtphys,dtdiss,rad,r,cpp,kappa,cotot,unsim,g,omeg
     9     & pi,dtphys,dtdiss,rad,r,cpp,kappa,cotot,unsim,g,omeg              &
     10     &                   ,dissip_factz,dissip_deltaz,dissip_zref
     11
    1012
    1113      INTEGER im,jm,lllm,imp1,jmp1,lllmm1,lllmp1,lcl
     
    1315      REAL pi,dtphys,dtdiss,rad,r,cpp,kappa
    1416      REAL cotot,unsim,g,omeg
     17      REAL dissip_factz,dissip_deltaz,dissip_zref
    1518
    1619!-----------------------------------------------------------------------
  • LMDZ4/branches/LMDZ4-dev/libf/dyn3dpar/conf_gcm.F

    r1143 r1176  
    11!
    2 ! $Header$
     2! $Id$
    33!
    44c
     
    4444!#include "clesphys.h"
    4545#include "iniprint.h"
     46#include "comconst.h"
    4647
    4748! FH 2008/05/09 On elimine toutes les clefs physiques dans la dynamique
     
    277278       tetatemp  = 7200.
    278279       CALL getin('tetatemp',tetatemp )
     280
     281! Parametres controlant la variation sur la verticale des constantes de
     282! dissipation.
     283! Pour le moment actifs uniquement dans la version a 39 niveaux
     284! avec ok_strato=y
     285
     286       dissip_factz=4.
     287       dissip_deltaz=10.
     288       dissip_zref=30.
     289       CALL getin('dissip_factz',dissip_factz )
     290       CALL getin('dissip_deltaz',dissip_deltaz )
     291       CALL getin('dissip_zref',dissip_zref )
    279292
    280293!Config  Key  = coefdis
     
    590603      write(lunout,*)' read_start = ', read_start
    591604      write(lunout,*)' iflag_phys = ', iflag_phys
     605      write(lunout,*)' iphysiq = ', iphysiq
    592606      write(lunout,*)' clonn = ', clonn
    593607      write(lunout,*)' clatt = ', clatt
     
    776790!Config  Desc = activation de la version strato
    777791!Config  Def  = .FALSE.
    778 !Config  Help = active la version stratosph�rique de LMDZ de F. Lott
     792!Config  Help = active la version stratosphérique de LMDZ de F. Lott
    779793
    780794      ok_strato=.FALSE.
     
    813827      write(lunout,*)' read_start = ', read_start
    814828      write(lunout,*)' iflag_phys = ', iflag_phys
    815       write(lunout,*)' clon = ', clon
     829      write(lunout,*)' iphysiq = ', iphysiq
     830      write(lunout,*)' clon = ', clon
    816831      write(lunout,*)' clat = ', clat
    817832      write(lunout,*)' grossismx = ', grossismx
  • LMDZ4/branches/LMDZ4-dev/libf/dyn3dpar/inidissip.F

    r774 r1176  
    11!
    2 ! $Header$
     2! $Id$
    33!
    44      SUBROUTINE inidissip ( lstardis,nitergdiv,nitergrot,niterh  ,
     
    1818#include "comvert.h"
    1919#include "control.h"
     20#include "logic.h"
    2021
    2122      LOGICAL lstardis
     
    2930      INTEGER l,ij,idum,ii
    3031      REAL tetamin
     32      REAL pseudoz
    3133
    3234      REAL ran1
     
    174176c   --------------------------------------------------
    175177
    176       DO l=1,llm
    177          zvert(l)=1.
    178       ENDDO
    179 
    180       fact=2.
    181 c
    182       DO l = 1, llm
    183          zz      = 1. - preff/presnivs(l)
    184          zvert(l)= fact -( fact-1.)/( 1.+zz*zz )
    185       ENDDO
     178      if (ok_strato .and. llm==39) then
     179         do l=1,llm
     180            pseudoz=8.*log(preff/presnivs(l))
     181            zvert(l)=1+
     182     s      (tanh((pseudoz-dissip_zref)/dissip_deltaz)+1.)/2.
     183     s      *(dissip_factz-1.)
     184         enddo
     185      else
     186         DO l=1,llm
     187            zvert(l)=1.
     188         ENDDO
     189         fact=2.
     190         DO l = 1, llm
     191            zz      = 1. - preff/presnivs(l)
     192            zvert(l)= fact -( fact-1.)/( 1.+zz*zz )
     193         ENDDO
     194      endif
    186195
    187196
  • LMDZ4/branches/LMDZ4-dev/libf/phylmd/clesphys.h

    r1168 r1176  
    11!
    2 !
     2! $Id$
    33!
    44!  ATTENTION!!!!: ce fichier include est compatible format fixe/format libre
  • LMDZ4/branches/LMDZ4-dev/libf/phylmd/conf_phys.F90

    r1168 r1176  
    11
    22!
    3 ! $Header$
     3! $Id$
    44!
    55!
     
    133133  REAL,SAVE :: lonmin_ins_omp, lonmax_ins_omp, latmin_ins_omp, latmax_ins_omp
    134134  REAL,SAVE :: ecrit_hf_omp, ecrit_day_omp, ecrit_mth_omp, ecrit_reg_omp
     135  REAL,SAVE :: ecrit_ins_omp
    135136  REAL,SAVE :: ecrit_LES_omp
    136137  REAL,SAVE :: ecrit_tra_omp
     
    10701071  ecrit_hf_omp = 1./8.
    10711072  call getin('ecrit_hf',ecrit_hf_omp)
     1073!
     1074!Config Key  = ecrit_ins
     1075!Config Desc =
     1076!Config Def  = 1./48. ! toutes les 1/2 h
     1077!Config Help =
     1078!
     1079  ecrit_ins_omp = 1./48.
     1080  call getin('ecrit_ins',ecrit_ins_omp)
    10721081!
    10731082!Config Key  = ecrit_day
     
    13691378    latmax_ins = latmax_ins_omp
    13701379    ecrit_hf   = ecrit_hf_omp
     1380    ecrit_ins   = ecrit_ins_omp
    13711381    ecrit_day = ecrit_day_omp
    13721382    ecrit_mth = ecrit_mth_omp
     
    15181528  write(numout,*)' lonmin lonmax latmin latmax bilKP_ins =',&
    15191529   lonmin_ins, lonmax_ins, latmin_ins, latmax_ins
    1520   write(numout,*)' ecrit_ hf, day, mth, reg, tra, ISCCP, LES',&
    1521    ecrit_hf, ecrit_day, ecrit_mth, ecrit_reg, ecrit_tra, ecrit_ISCCP, ecrit_LES
     1530  write(numout,*)' ecrit_ hf, ins, day, mth, reg, tra, ISCCP, LES',&
     1531   ecrit_hf, ecrit_ins, ecrit_day, ecrit_mth, ecrit_reg, ecrit_tra, ecrit_ISCCP, ecrit_LES
    15221532
    15231533  write(numout,*) 'ok_strato = ', ok_strato
  • LMDZ4/branches/LMDZ4-dev/libf/phylmd/phys_output_mod.F90

    r1168 r1176  
     1!
     2! $Id$
     3!
    14! Abderrahmane 12 2007
    25!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     
    1922   integer, dimension(nfiles), save             :: lev_files
    2023   integer, dimension(nfiles), save             :: nid_files
    21 
     24!$OMP THREADPRIVATE(clef_files, lev_files,nid_files)
     25 
    2226   integer, dimension(nfiles), private, save :: nhorim, nvertm
    23    real, dimension(nfiles), private, save                :: zstophym, zoutm
     27   real, dimension(nfiles), private, save                :: zoutm
     28   real,                    private, save                :: zdtime
    2429   CHARACTER(len=20), dimension(nfiles), private, save   :: type_ecri
     30!$OMP THREADPRIVATE(nhorim, nvertm, zoutm,zdtime,type_ecri)
    2531
    2632!   integer, save                     :: nid_hf3d
     
    473479  integer                               :: imin_ins, imax_ins
    474480  integer                               :: jmin_ins, jmax_ins
     481  CHARACTER(len=20), dimension(nfiles)  :: type_ecri_files
    475482
    476483!!!!!!!!!! stockage dans une region limitee pour chaque fichier !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     
    491498   name_files(5) = 'histLES'
    492499
    493    type_ecri(1) = 'ave(X)'
    494    type_ecri(2) = 'ave(X)'
    495    type_ecri(3) = 'ave(X)'
    496    type_ecri(4) = 'inst(X)'
    497    type_ecri(5) = 'ave(X)'
     500   type_ecri_files(1) = 'ave(X)'
     501   type_ecri_files(2) = 'ave(X)'
     502   type_ecri_files(3) = 'inst(X)'
     503   type_ecri_files(4) = 'inst(X)'
     504   type_ecri_files(5) = 'ave(X)'
    498505
    499506   clef_files(1) = ok_mensuel
     
    524531   call getin('phys_out_levmax',levmax)
    525532   call getin('phys_out_filenames',name_files)
    526    call getin('phys_out_filetypes',type_ecri)
     533   call getin('phys_out_filetypes',type_ecri_files)
    527534   call getin('phys_out_filekeys',clef_files)
    528535   call getin('phys_out_filelevels',lev_files)
    529536   call getin('phys_out_filetimesteps',ecrit_files)
     537
     538   type_ecri(:) = type_ecri_files(:)
    530539
    531540!!!!!!!!!!!!!!!!!!!!!!! Boucle sur les fichiers !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     
    534543!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    535544
     545 zdtime = dtime         ! Frequence ou l on moyenne
     546
    536547 DO iff=1,nfiles
    537548
    538549    IF (clef_files(iff)) THEN
    539550     
    540       zstophym(iff) = dtime         ! Frequence ou l on moyenne
    541551      zoutm(iff) = ecrit_files(iff) ! Frequence ou l on ecrit
    542552
     
    606616 CALL histdef2d(iff,o_aire%flag,o_aire%name,"Grid area", "-")
    607617 CALL histdef2d(iff,o_contfracATM%flag,o_contfracATM%name,"% sfce ter+lic", "-")
    608    type_ecri(1) = 'ave(X)'
    609    type_ecri(2) = 'ave(X)'
    610    type_ecri(3) = 'ave(X)'
    611    type_ecri(4) = 'inst(X)'
    612    type_ecri(5) = 'ave(X)'
     618   type_ecri(:) = type_ecri_files(:)
    613619
    614620!!! Champs 2D !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     
    631637   type_ecri(5) = 't_max(X)'
    632638 CALL histdef2d(iff,o_t2m_max%flag,o_t2m_max%name, "Temp 2m max", "K" )
    633    type_ecri(1) = 'ave(X)'
    634    type_ecri(2) = 'ave(X)'
    635    type_ecri(3) = 'ave(X)'
    636    type_ecri(4) = 'inst(X)'
    637    type_ecri(5) = 'ave(X)'
     639   type_ecri(:) = type_ecri_files(:)
    638640 CALL histdef2d(iff,o_wind10m%flag,o_wind10m%name, "10-m wind speed", "m/s")
    639641 CALL histdef2d(iff,o_wind10max%flag,o_wind10max%name, "10m wind speed max", "m/s")
     
    714716   type_ecri(5) = 't_max(X)'
    715717 CALL histdef2d(iff,o_tke_max_srf(nsrf)%flag,o_tke_max_srf(nsrf)%name,"Max Turb. Kinetic Energy "//clnsurf(nsrf),"-")
    716    type_ecri(1) = 'ave(X)'
    717    type_ecri(2) = 'ave(X)'
    718    type_ecri(3) = 'ave(X)'
    719    type_ecri(4) = 'inst(X)'
    720    type_ecri(5) = 'ave(X)'
     718   type_ecri(:) = type_ecri_files(:)
    721719  endif
    722720 CALL histdef2d(iff,o_albe_srf(nsrf)%flag,o_albe_srf(nsrf)%name,"Albedo surf. "//clnsurf(nsrf),"-")
     
    764762   type_ecri(5) = 't_max(X)'
    765763 CALL histdef2d(iff,o_cape_max%flag,o_cape_max%name, "CAPE max.", "J/kg")
    766    type_ecri(1) = 'ave(X)'
    767    type_ecri(2) = 'ave(X)'
    768    type_ecri(3) = 'ave(X)'
    769    type_ecri(4) = 'inst(X)'
    770    type_ecri(5) = 'ave(X)'
     764   type_ecri(:) = type_ecri_files(:)
    771765 CALL histdef3d(iff,o_upwd%flag,o_upwd%name, "saturated updraft", "kg/m2/s")
    772766 CALL histdef3d(iff,o_Ma%flag,o_Ma%name, "undilute adiab updraft", "kg/m2/s")
     
    793787!      on ecrit u v t q a 850 700 500 200 au niv 3
    794788
    795    zstophym(iff) = ecrit_files(iff)
    796789   type_ecri(1) = 'inst(X)'
    797790   type_ecri(2) = 'inst(X)'
     
    817810     ENDIF !(bb2.EQ."850".OR.bb2.EQ."700".OR."500".OR.bb2.EQ."200")
    818811       ENDDO
    819    zstophym(iff) = dtime
    820    type_ecri(1) = 'ave(X)'
    821    type_ecri(2) = 'ave(X)'
    822    type_ecri(3) = 'ave(X)'
    823    type_ecri(4) = 'inst(X)'
    824    type_ecri(5) = 'ave(X)'
     812   type_ecri(:) = type_ecri_files(:)
    825813
    826814 CALL histdef2d(iff,o_t_oce_sic%flag,o_t_oce_sic%name, "Temp mixte oce-sic", "K")
     
    890878   type_ecri(5) = 't_max(X)'
    891879 CALL histdef3d(iff,o_tke_max%flag,o_tke_max%name, "TKE max", "m2/s2")
    892    type_ecri(1) = 'ave(X)'
    893    type_ecri(2) = 'ave(X)'
    894    type_ecri(3) = 'ave(X)'
    895    type_ecri(4) = 'inst(X)'
    896    type_ecri(5) = 'ave(X)'
     880   type_ecri(:) = type_ecri_files(:)
    897881     endif
    898882
     
    904888   type_ecri(5) = 't_max(X)'
    905889 CALL histdef3d(iff,o_kz_max%flag,o_kz_max%name, "Kz melange max", "m2/s" )
    906    type_ecri(1) = 'ave(X)'
    907    type_ecri(2) = 'ave(X)'
    908    type_ecri(3) = 'ave(X)'
    909    type_ecri(4) = 'inst(X)'
    910    type_ecri(5) = 'ave(X)'
     890   type_ecri(:) = type_ecri_files(:)
    911891 CALL histdef3d(iff,o_clwcon%flag,o_clwcon%name, "Convective Cloud Liquid water content", "kg/kg")
    912892 CALL histdef3d(iff,o_dtdyn%flag,o_dtdyn%name, "Dynamics dT", "K/s")
     
    10211001       character(len=*)                 :: unitvar
    10221002
     1003       real zstophym
     1004
     1005       if (type_ecri(iff)=='inst(X)') then
     1006         zstophym=zoutm(iff)
     1007       else
     1008         zstophym=zdtime
     1009       endif
     1010
    10231011! Appel a la lecture des noms et niveau d'ecriture des variables dans output.def
    10241012       call conf_physoutputs(nomvar,flag_var)
     
    10271015 call histdef (nid_files(iff),nomvar,titrevar,unitvar, &
    10281016               iim,jj_nb,nhorim(iff), 1,1,1, -99, 32, &
    1029                type_ecri(iff), zstophym(iff),zoutm(iff))               
     1017               type_ecri(iff), zstophym,zoutm(iff))               
    10301018       endif                     
    10311019      end subroutine histdef2d
     
    10501038       character(len=*)                 :: unitvar
    10511039
     1040       real zstophym
     1041
    10521042! Appel a la lecture des noms et niveau d'ecriture des variables dans output.def
    10531043       call conf_physoutputs(nomvar,flag_var)
     1044
     1045       if (type_ecri(iff)=='inst(X)') then
     1046         zstophym=zoutm(iff)
     1047       else
     1048         zstophym=zdtime
     1049       endif
    10541050
    10551051       if ( flag_var(iff)<=lev_files(iff) ) then
     
    10571053               iim, jj_nb, nhorim(iff), klev, levmin(iff), &
    10581054               levmax(iff)-levmin(iff)+1, nvertm(iff), 32, type_ecri(iff), &
    1059                zstophym(iff), zoutm(iff))
     1055               zstophym, zoutm(iff))
    10601056       endif
    10611057      end subroutine histdef3d
  • LMDZ4/branches/LMDZ4-dev/libf/phylmd/physiq.F

    r1168 r1176  
     1!
     2! $Id$
     3!
    14c#define IO_DEBUG
    25
     
    14201423     .                   lmt_pas
    14211424c
    1422 cIM200505        ecrit_mth = NINT(86400./dtime *ecritphy)  ! tous les ecritphy jours
    1423 c        IF (ok_mensuel) THEN
    1424 c        WRITE(lunout,*)'La frequence de sortie mensuelle est de ',
    1425 c    .                   ecrit_mth
    1426 c        ENDIF
    1427 c        ecrit_day = NINT(86400./dtime *1.0)  ! tous les jours
    1428 c        IF (ok_journe) THEN
    1429 c        WRITE(lunout,*)'La frequence de sortie journaliere est de ',
    1430 c    .                   ecrit_day
    1431 c        ENDIF
    1432 cIM 130904 BEG
    1433 cIM 080205      ecrit_hf = 86400./dtime *0.25  ! toutes les 6h
    1434 cIM 170305     
    1435 c        ecrit_hf = 86400./dtime/12.  ! toutes les 2h
    1436 cIM 230305     
    1437 cIM200505        ecrit_hf = 86400./dtime *0.25  ! toutes les 6h
    1438 c
    1439 cIM200505        ecrit_hf2mth = ecrit_day/ecrit_hf*30
    1440 c
    1441 cIM200505        IF (ok_journe) THEN
    1442 cIM200505        WRITE(lunout,*)'La frequence de sortie hf est de ',
    1443 cIM200505    .                   ecrit_hf
    1444 cIM200505        ENDIF
    1445 cIM 130904 END
    1446 ccc         ecrit_ins = NINT(86400./dtime *0.5)  ! 2 fois par jour
    1447 ccc         ecrit_ins = NINT(86400./dtime *0.25)  ! 4 fois par jour
    1448 c        ecrit_ins = NINT(86400./dtime/48.)  ! a chaque pas de temps ==> PB. dans time_counter pour 1mois
    1449 c        ecrit_ins = NINT(86400./dtime/12.)  ! toutes les deux heures
    1450 cIM200505        ecrit_ins = NINT(86400./dtime/8.)  ! toutes les trois heures
    1451 cIM200505        IF (ok_instan) THEN
    1452 cIM200505        WRITE(lunout,*)'La frequence de sortie instant. est de ',
    1453 cIM200505    .                   ecrit_ins
    1454 cIM200505        ENDIF
    1455 cIM200505        ecrit_reg = NINT(86400./dtime *0.25)  ! 4 fois par jour
    1456 cIM200505        IF (ok_region) THEN
    1457 cIM200505        WRITE(lunout,*)'La frequence de sortie region est de ',
    1458 cIM200505    .                   ecrit_reg
    1459 cIM200505        ENDIF
    1460 cIM 030306 BEG
    1461 cIM ecrit_hf2mth = nombre de pas de temps de calcul de hf par mois apres lequel on ecrit
    1462 cIM : ne pas modifier ecrit_hf2mth
    1463 c
    14641425cIM 250308bad guide        ecrit_hf2mth = 30*1/ecrit_hf
    14651426         ecrit_hf2mth = ecrit_mth/ecrit_hf
    1466 c ecrit_ins en secondes, chaque pas de temps de la physique
    1467          ecrit_ins = dtime
    1468 cIM on passe les frequences de jours en secondes : ecrit_ins, ecrit_hf, ecrit_day, ecrit_mth, ecrit_tra, ecrit_reg
     1427
    14691428         ecrit_hf = ecrit_hf * un_jour
    14701429!IM
     
    14741433!IM
    14751434         ecrit_mth = ecrit_mth * un_jour
     1435         ecrit_ins = ecrit_ins * un_jour
    14761436         ecrit_reg = ecrit_reg * un_jour
    14771437         ecrit_tra = ecrit_tra * un_jour
  • LMDZ4/branches/LMDZ4-dev/makegcm

    r1167 r1176  
    11#!/bin/csh
    22#
    3 # $Id$
     3# $Header$
    44#
    55#set verbose echo
     
    2424set OPTIMI=' -ftrace '
    2525set OPT_LINUX='-O3'
     26set OPT_LINUX="-i4 -r8 -O3"
    2627set io=ioipsl
    2728
    2829set FC_LINUX=g95
    29 if ( FC_LINUX == g95 ) then
    30    set OPT_LINUX="-i4 -r8 -O3"
    31 else
    32    set OPT_LINUX="-O2 -Munroll -Mnoframe -Mautoinline -Mcache_align"
    33 endif
    34 
     30#set FC_LINUX=pgf90
    3531
    3632########################################################################
     
    5248#setenv NCDFINC /distrib/local/netcdf/pgi_32bits/include
    5349#setenv NCDFLIB /distrib/local/netcdf/pgi_32bits/lib/
    54 #setenv IOIPSLDIR /d4/fairhead/Install_LMDZ4_FH/LMDZ4preV4/modipsl/lib/
    55 #setenv MODIPSLDIR /d4/fairhead/Install_LMDZ4_FH/LMDZ4preV4/modipsl/lib/
    56 #setenv NCDFINC /d4/fairhead/Install_LMDZ4_FH/LMDZ4preV4/netcdf-3.6.1/include
    57 #setenv NCDFLIB /d4/fairhead/Install_LMDZ4_FH/LMDZ4preV4/netcdf-3.6.1/lib
     50#setenv IOIPSLDIR /data/lfairlmd/Install/LMDZ20090409.trunk/modipsl/lib
     51#setenv MODIPSLDIR /data/lfairlmd/Install/LMDZ20090409.trunk/modipsl/lib
     52#setenv NCDFINC /data/lfairlmd/Install/LMDZ20090409.trunk/netcdf-3.6.1/include
     53#setenv NCDFLIB /data/lfairlmd/Install/LMDZ20090409.trunk/netcdf-3.6.1/lib
    5854
    5955
     
    259255else if $LINUX then
    260256#################
    261    if ( $FC_LINUX == pgf90 || $FC_LINUX == g95 ) then
     257   if ( $FC_LINUX == "pgf90" ) then
     258     set optim="-fast "
     259     set optim90=" -fast "
     260     set optimtru90=" -fast -c -Mfree "
     261#     set optim=" "
     262#     set optim90="  "
     263#     set optimtru90=" -c -Mfree "
     264   else if ( $FC_LINUX == 'g95' ) then
    262265     set optim=" $OPT_LINUX "
    263266     set optim90=" $OPT_LINUX "
Note: See TracChangeset for help on using the changeset viewer.