4 SUBROUTINE conf_gcm( tapedef, etatinit )
 
   26   LOGICAL,
INTENT(IN) :: etatinit
 
   27   INTEGER,
INTENT(IN) :: tapedef
 
   31   include 
"dimensions.h" 
   35   include 
"comdissnew.h" 
   43   CHARACTER ch1*72,ch2*72,ch3*72,ch4*12
 
   44   REAL clonn,clatt,grossismxx,grossismyy
 
   45   REAL dzoomxx,dzoomyy, tauxx,tauyy
 
   46   LOGICAL  fxyhypbb, ysinuss
 
   85      OPEN(
unit=
lunout,file=
'lmdz.out',action=
'write',                      &
 
   86           status=
'unknown',form=
'formatted')
 
  112   calend = 
'earth_360d' 
  113   CALL getin(
'calend', calend)
 
  238   CALL getin(
'lstardis',lstardis)
 
  298   CALL getin(
'dissip_zref',dissip_zref )
 
  313   CALL getin(
'mode_top_bound',mode_top_bound)
 
  378   test_etatinit: 
IF (.not. etatinit) 
then 
  385      CALL getin(
'clon',clonn)
 
  393      CALL getin(
'clat',clatt)
 
  395      IF( abs(
clat - clatt).GE. 0.001 )  
THEN 
  396         write(
lunout,*)
'conf_gcm: La valeur de clat passee par run.def', &
 
  397              ' est differente de celle lue sur le fichier  start ' 
  407      CALL getin(
'grossismx',grossismxx)
 
  409      IF( abs(
grossismx - grossismxx).GE. 0.001 )  
THEN 
  410         write(
lunout,*)
'conf_gcm: La valeur de grossismx passee par ', &
 
  411              'run.def est differente de celle lue sur le fichier  start ' 
  421      CALL getin(
'grossismy',grossismyy)
 
  423      IF( abs(
grossismy - grossismyy).GE. 0.001 )  
THEN 
  424         write(
lunout,*)
'conf_gcm: La valeur de grossismy passee par ', &
 
  425              'run.def est differente de celle lue sur le fichier  start ' 
  431              'conf_gcm: ***  ATTENTION !! grossismx < 1 .   *** ' 
  439              'conf_gcm: ***  ATTENTION !! grossismy < 1 .   *** ' 
  455      CALL getin(
'fxyhypb',fxyhypbb)
 
  459            write(
lunout,*)
' ********  PBS DANS  CONF_GCM  ******** ' 
  460            write(
lunout,*)
' *** fxyhypb lu sur le fichier start est ', &
 
  461                 'F alors  qu il est  T  sur  run.def  ***' 
  465         IF( .NOT.fxyhypbb )   
THEN 
  466            write(
lunout,*)
' ********  PBS DANS  CONF_GCM  ******** ' 
  467            write(
lunout,*)
' ***  fxyhypb lu sur le fichier start est ', &
 
  468                 'T alors  qu il est  F  sur  run.def  ****  ' 
  479      CALL getin(
'dzoomx',dzoomxx)
 
  482         IF( abs(
dzoomx - dzoomxx).GE. 0.001 )  
THEN 
  483            write(
lunout,*)
'conf_gcm: La valeur de dzoomx passee par ', &
 
  484                 'run.def est differente de celle lue sur le fichier  start ' 
  495      CALL getin(
'dzoomy',dzoomyy)
 
  498         IF( abs(
dzoomy - dzoomyy).GE. 0.001 )  
THEN 
  499            write(
lunout,*)
'conf_gcm: La valeur de dzoomy passee par ', &
 
  500                 'run.def est differente de celle lue sur le fichier  start ' 
  510      CALL getin(
'taux',tauxx)
 
  513         IF( abs(
taux - tauxx).GE. 0.001 )  
THEN 
  514            write(
lunout,*)
'conf_gcm: La valeur de taux passee par ', &
 
  515                 'run.def est differente de celle lue sur le fichier  start ' 
  525      CALL getin(
'tauy',tauyy)
 
  528         IF( abs(tauy - tauyy).GE. 0.001 )  
THEN 
  529            write(
lunout,*)
'conf_gcm: La valeur de tauy passee par ', &
 
  530                 'run.def est differente de celle lue sur le fichier  start ' 
  545         CALL getin(
'ysinus',ysinuss)
 
  547         IF( .NOT.ysinus )  
THEN 
  549               write(
lunout,*)
' ********  PBS DANS  CONF_GCM  ******** ' 
  550               write(
lunout,*)
' *** ysinus lu sur le fichier start est F', &
 
  551                    ' alors  qu il est  T  sur  run.def  ***' 
  555            IF( .NOT.ysinuss )   
THEN 
  556               write(
lunout,*)
' ********  PBS DANS  CONF_GCM  ******** ' 
  557               write(
lunout,*)
' *** ysinus lu sur le fichier start est T', &
 
  558                    ' alors  qu il est  F  sur  run.def  ****  ' 
  616      write(
lunout,*)
' #########################################' 
  617      write(
lunout,*)
' Configuration des parametres du gcm: ' 
  619      write(
lunout,*)
' calend = ', calend
 
  631      write(
lunout,*)
' lstardis = ', lstardis
 
  643      write(
lunout,*)
' clonn = ', clonn 
 
  644      write(
lunout,*)
' clatt = ', clatt
 
  647      write(
lunout,*)
' fxyhypbb = ', fxyhypbb
 
  648      write(
lunout,*)
' dzoomxx = ', dzoomxx
 
  649      write(
lunout,*)
' dzoomy = ', dzoomyy
 
  650      write(
lunout,*)
' tauxx = ', tauxx
 
  651      write(
lunout,*)
' tauyy = ', tauyy
 
  693              'conf_gcm: ***  ATTENTION !! grossismx < 1 .   *** ' 
  700         write(
lunout,*) 
'conf_gcm: ***ATTENTION !! grossismy < 1 . *** ' 
  748      CALL getin(
'tauy',tauy)
 
  757      CALL getin(
'ysinus',ysinus)
 
  820      CALL getin(
'vert_prof_dissip', vert_prof_dissip)
 
  821      call assert(vert_prof_dissip == 0 .or. vert_prof_dissip ==  1, &
 
  822           "bad value for vert_prof_dissip")
 
  829      ok_gradsfile = .
false.
 
  830      CALL getin(
'ok_gradsfile',ok_gradsfile)
 
  848      write(
lunout,*)
' #########################################' 
  849      write(
lunout,*)
' Configuration des parametres de cel0' &
 
  852      write(
lunout,*)
' calend = ', calend
 
  863      write(
lunout,*)
' lstardis = ', lstardis
 
  883      write(
lunout,*)
' tauy = ', tauy
 
  891      write(
lunout,*)
' ok_gradsfile = ', ok_gradsfile
 
!$Header!c!c!c include serre h!c REAL dzoomy
 
!$Header!c!c!c include serre h!c REAL alphax
 
integer, save iapp_tracvl
 
!$Id mode_top_bound COMMON comconstr omeg dissip_factz
 
character(len=4), save config_inca
 
!$Header!c!c!c include serre h!c REAL && grossismx
 
!$Header!c!c!c include serre h!c REAL clon
 
!$Id ysinus ok_gradsfile ok_limit
 
character(len=10), save planet_type
 
!$Id Turb_fcg_gcssold get_uvd hqturb_gcssold endif!large scale llm day day1 day day1 *dt_toga endif!time annee_ref dt_toga u_toga vq_toga w_prof vq_prof llm day day1 day day1 *dt_dice endif!time annee_ref dt_dice swup_dice vg_dice omega_dice tg_prof vg_profd w_profd omega_profd!do llm!print llm l llm
 
!$Id ysinus ok_gradsfile hybrid COMMON logici iflag_phys
 
!$Id mode_top_bound COMMON comconstr omeg dissip_zref tau_top_bound
 
logical, save output_grads_dyn
 
!$Id itapm1 ENDIF!IM on interpole les champs sur les niveaux STD de pression!IM a chaque pas de temps de la physique c!positionnement de l argument logique a false c!pour ne pas recalculer deux fois la meme chose!c!a cet effet un appel a plevel_new a ete deplace c!a la fin de la serie d appels c!la boucle DO nlevSTD a ete internalisee c!dans d ou la creation de cette routine c c!CALL false
 
!$Id ysinus ok_gradsfile ok_etat0
 
integer, save dissip_period
 
!FH On elimine toutes les clefs physiques dans la dynamique prt_level
 
subroutine conf_gcm(tapedef, etatinit)
 
!$Id itapm1 ENDIF!IM on interpole les champs sur les niveaux STD de pression!IM a chaque pas de temps de la physique c!positionnement de l argument logique a false c!pour ne pas recalculer deux fois la meme chose!c!a cet effet un appel a plevel_new a ete deplace c!a la fin de la serie d appels c!la boucle DO nlevSTD a ete internalisee c!dans d ou la creation de cette routine c c!CALL ulevSTD CALL &zphi philevSTD CALL &zx_rh rhlevSTD!DO klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon du jour ou toutes les read_climoz CALL true
 
character(len=4), save type_trac
 
!$Id ysinus ok_gradsfile hybrid COMMON logici iflag_trac LOGICAL purmats
 
!$Header!c!c!c include serre h!c REAL dzoomx
 
!$Id mode_top_bound COMMON comconstr omeg dissip_deltaz
 
!$Header!c!c!c include serre h!c REAL grossismy
 
!$Header!c!c!c include serre h!c REAL taux
 
integer, save nsplit_phys
 
!$Header!INCLUDE comdissip h COMMON comdissip tetatemp
 
integer, save ip_ebil_dyn
 
!$Header!c!c!c include serre h!c REAL clat
 
!$Header!c!c!c include serre h!c REAL alphay
 
!$Header!integer nvarmx s s unit
 
!$Header!gestion des impressions de sorties et de débogage la sortie standard prt_level COMMON comprint lunout
 
!$Header!INCLUDE comdissip h COMMON comdissip coefdis