Changeset 1699


Ignore:
Timestamp:
Dec 20, 2012, 2:28:23 PM (12 years ago)
Author:
lguez
Message:

Same as revision 1698 for dyn3dmem

Location:
LMDZ5/trunk/libf/dyn3dmem
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • LMDZ5/trunk/libf/dyn3dmem/comdissnew.h

    r1658 r1699  
    1212
    1313      COMMON/comdissnew/ lstardis,nitergdiv,nitergrot,niterh,tetagdiv,  &
    14      &                   tetagrot,tetatemp,coefdis 
     14     &                   tetagrot,tetatemp,coefdis, vert_prof_dissip
    1515
    1616      LOGICAL lstardis
    1717      INTEGER nitergdiv, nitergrot, niterh
     18
     19      integer vert_prof_dissip ! vertical profile of horizontal dissipation
     20!     Allowed values:
     21!     0: rational fraction, function of pressure
     22!     1: tanh of altitude
     23
    1824      REAL     tetagdiv, tetagrot,  tetatemp, coefdis
    1925
  • LMDZ5/trunk/libf/dyn3dmem/conf_gcm.F

    r1673 r1699  
    66      SUBROUTINE conf_gcm( tapedef, etatinit, clesphy0 )
    77c
     8      USE control_mod
    89#ifdef CPP_IOIPSL
    910      use IOIPSL
     
    1718      use mod_hallo, ONLY : use_mpi_alloc
    1819      use parallel, ONLY : omp_chunk
    19       USE control_mod
    2020      USE infotrac, ONLY : type_trac
     21      use assert_m, only: assert
     22
    2123      IMPLICIT NONE
    2224c-----------------------------------------------------------------------
     
    4446#include "serre.h"
    4547#include "comdissnew.h"
    46 !#include "clesphys.h"
    47 #include "iniprint.h"
    4848#include "temps.h"
    4949#include "comconst.h"
    5050
    5151! FH 2008/05/09 On elimine toutes les clefs physiques dans la dynamique
     52! #include "clesphys.h"
     53#include "iniprint.h"
    5254c
    5355c
     
    106108        OPEN(UNIT=lunout,FILE='lmdz.out_0000',ACTION='write',
    107109     &          STATUS='unknown',FORM='formatted')
    108 
    109110      ENDIF
    110111
     
    186187
    187188!Config  Key  = nsplit_phys
    188 !Config  Desc = nombre d'iteration de la physique
    189 !Config  Def  = 240
    190 !Config  Help = nombre d'itration de la physique
    191 !
    192189       nsplit_phys = 1
    193190       CALL getin('nsplit_phys',nsplit_phys)
     
    326323       CALL getin('tau_top_bound',tau_top_bound)
    327324
    328 !
    329325!Config  Key  = coefdis
    330326!Config  Desc = coefficient pour gamdissip
     
    609605      type_trac = 'lmdz'
    610606      CALL getin('type_trac',type_trac)
    611 
    612607
    613608!Config  Key  = config_inca
     
    831826
    832827!Config  Key  = ok_dynzon
    833 !Config  Desc = calcul et sortie des transports
     828!Config  Desc = sortie des transports zonaux dans la dynamique
    834829!Config  Def  = n
    835830!Config  Help = Permet de mettre en route le calcul des transports
     
    867862        write(lunout,*)"Le zoom en longitude est incompatible",
    868863     &                 " avec l'utilisation du filtre FFT ",
    869      &                 "---> filtre FFT désactivé "
     864     &                 "---> FFT filter not active"
    870865       use_filtre_fft=.FALSE.
    871866      ENDIF
     
    900895      ok_strato=.FALSE.
    901896      CALL getin('ok_strato',ok_strato)
     897
     898      vert_prof_dissip = merge(1, 0, ok_strato .and. llm==39)
     899      CALL getin('vert_prof_dissip', vert_prof_dissip)
     900      call assert(vert_prof_dissip == 0 .or. vert_prof_dissip ==  1,
     901     $     "bad value for vert_prof_dissip")
    902902
    903903!Config  Key  = ok_gradsfile
     
    970970      write(lunout,*)' type_trac = ', type_trac
    971971      write(lunout,*)' config_inca = ', config_inca
    972       write(lunout,*)' ok_dynzon = ', ok_dynzon 
     972      write(lunout,*)' ok_dynzon = ', ok_dynzon
    973973      write(lunout,*)' ok_dyn_ins = ', ok_dyn_ins
    974974      write(lunout,*)' ok_dyn_ave = ', ok_dyn_ave
  • LMDZ5/trunk/libf/dyn3dmem/gcm.F

    r1673 r1699  
    420420
    421421      CALL inidissip( lstardis, nitergdiv, nitergrot, niterh   ,
    422      *                tetagdiv, tetagrot , tetatemp              )
     422     *                tetagdiv, tetagrot , tetatemp, vert_prof_dissip)
    423423
    424424c-----------------------------------------------------------------------
  • LMDZ5/trunk/libf/dyn3dmem/inidissip.F90

    r1673 r1699  
    33!
    44SUBROUTINE inidissip ( lstardis,nitergdiv,nitergrot,niterh  , &
    5      tetagdiv,tetagrot,tetatemp             )
     5     tetagdiv,tetagrot,tetatemp, vert_prof_dissip)
    66  !=======================================================================
    77  !   initialisation de la dissipation horizontale
     
    2525  INTEGER,INTENT(in) :: nitergdiv,nitergrot,niterh
    2626  REAL,INTENT(in) :: tetagdiv,tetagrot,tetatemp
     27
     28  integer, INTENT(in):: vert_prof_dissip
     29  ! Vertical profile of horizontal dissipation
     30  ! Allowed values:
     31  ! 0: rational fraction, function of pressure
     32  ! 1: tanh of altitude
    2733
    2834! Local variables:
     
    167173  !   --------------------------------------------------
    168174
    169   if (ok_strato .and. llm==39) then
     175  if (vert_prof_dissip == 1) then
    170176     do l=1,llm
    171177        pseudoz=8.*log(preff/presnivs(l))
Note: See TracChangeset for help on using the changeset viewer.