Ignore:
Timestamp:
Apr 12, 2012, 5:35:34 PM (13 years ago)
Author:
slebonnois
Message:

SL: mise a jour de conf_gcm (cosmetique)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.COMMON/libf/dyn3dpar/conf_gcm.F

    r495 r617  
    3838#include "serre.h"
    3939#include "comdissnew.h"
    40 !#include "clesphys.h"
    4140#include "iniprint.h"
    4241#include "temps.h"
     
    4443
    4544! FH 2008/05/09 On elimine toutes les clefs physiques dans la dynamique
     45! #include "clesphys.h"
    4646c
    4747c
     
    201201
    202202!Config  Key  = nsplit_phys
    203 !Config  Desc = nombre d'iteration de la physique
    204 !Config  Def  = 240
    205 !Config  Help = nombre d'itration de la physique
    206 !
     203!Config  Desc = nombre de subdivisions par pas physique
     204!Config  Def  = 1
     205!Config  Help = nombre de subdivisions par pas physique
    207206       nsplit_phys = 1
    208207       CALL getin('nsplit_phys',nsplit_phys)
     
    422421       ip_ebil_dyn = 0
    423422       CALL getin('ip_ebil_dyn',ip_ebil_dyn)
    424 !
    425 
    426 
    427 ccc  ....   P. Le Van , ajout  le 7/03/95 .pour le zoom ...
    428 c     .........   (  modif  le 17/04/96 )   .........
    429 c
    430       IF( etatinit ) GO TO 100
    431 
    432 !Config  Key  = clon
    433 !Config  Desc = centre du zoom, longitude
    434 !Config  Def  = 0
    435 !Config  Help = longitude en degres du centre
    436 !Config         du zoom
    437        clonn = 0.
    438        CALL getin('clon',clonn)
    439 
    440 !Config  Key  = clat
    441 !Config  Desc = centre du zoom, latitude
    442 !Config  Def  = 0
    443 !Config  Help = latitude en degres du centre du zoom
    444 !Config         
    445        clatt = 0.
    446        CALL getin('clat',clatt)
    447 
    448 c
    449 c
    450       IF( ABS(clat - clatt).GE. 0.001 )  THEN
    451         write(lunout,*)'conf_gcm: La valeur de clat passee par run.def',
    452      &    ' est differente de celle lue sur le fichier  start '
    453         STOP
    454       ENDIF
    455 
    456 !Config  Key  = grossismx
    457 !Config  Desc = zoom en longitude
    458 !Config  Def  = 1.0
    459 !Config  Help = facteur de grossissement du zoom,
    460 !Config         selon la longitude
    461        grossismxx = 1.0
    462        CALL getin('grossismx',grossismxx)
    463 
    464 
    465       IF( ABS(grossismx - grossismxx).GE. 0.001 )  THEN
    466         write(lunout,*)'conf_gcm: La valeur de grossismx passee par ',
    467      &  'run.def est differente de celle lue sur le fichier  start '
    468         STOP
    469       ENDIF
    470 
    471 !Config  Key  = grossismy
    472 !Config  Desc = zoom en latitude
    473 !Config  Def  = 1.0
    474 !Config  Help = facteur de grossissement du zoom,
    475 !Config         selon la latitude
    476        grossismyy = 1.0
    477        CALL getin('grossismy',grossismyy)
    478 
    479       IF( ABS(grossismy - grossismyy).GE. 0.001 )  THEN
    480         write(lunout,*)'conf_gcm: La valeur de grossismy passee par ',
    481      & 'run.def est differente de celle lue sur le fichier  start '
    482         STOP
    483       ENDIF
    484      
    485       IF( grossismx.LT.1. )  THEN
    486         write(lunout,*)
    487      &       'conf_gcm: ***  ATTENTION !! grossismx < 1 .   *** '
    488          STOP
    489       ELSE
    490          alphax = 1. - 1./ grossismx
    491       ENDIF
    492 
    493 
    494       IF( grossismy.LT.1. )  THEN
    495         write(lunout,*)
    496      &       'conf_gcm: ***  ATTENTION !! grossismy < 1 .   *** '
    497          STOP
    498       ELSE
    499          alphay = 1. - 1./ grossismy
    500       ENDIF
    501 
    502       write(lunout,*)'conf_gcm: alphax alphay',alphax,alphay
    503 c
    504 c    alphax et alphay sont les anciennes formulat. des grossissements
    505 c
    506 c
    507 
    508 !Config  Key  = fxyhypb
    509 !Config  Desc = Fonction  hyperbolique
    510 !Config  Def  = y
    511 !Config  Help = Fonction  f(y)  hyperbolique  si = .true. 
    512 !Config         sinon  sinusoidale
    513        fxyhypbb = .TRUE.
    514        CALL getin('fxyhypb',fxyhypbb)
    515 
    516       IF( .NOT.fxyhypb )  THEN
    517          IF( fxyhypbb )     THEN
    518             write(lunout,*)' ********  PBS DANS  CONF_GCM  ******** '
    519             write(lunout,*)' *** fxyhypb lu sur le fichier start est ',
    520      *       'F alors  qu il est  T  sur  run.def  ***'
    521               STOP
    522          ENDIF
    523       ELSE
    524          IF( .NOT.fxyhypbb )   THEN
    525             write(lunout,*)' ********  PBS DANS  CONF_GCM  ******** '
    526             write(lunout,*)' ***  fxyhypb lu sur le fichier start est ',
    527      *        'T alors  qu il est  F  sur  run.def  ****  '
    528               STOP
    529          ENDIF
    530       ENDIF
    531 c
    532 !Config  Key  = dzoomx
    533 !Config  Desc = extension en longitude
    534 !Config  Def  = 0
    535 !Config  Help = extension en longitude  de la zone du zoom 
    536 !Config         ( fraction de la zone totale)
    537        dzoomxx = 0.0
    538        CALL getin('dzoomx',dzoomxx)
    539 
    540       IF( fxyhypb )  THEN
    541        IF( ABS(dzoomx - dzoomxx).GE. 0.001 )  THEN
    542         write(lunout,*)'conf_gcm: La valeur de dzoomx passee par ',
    543      *  'run.def est differente de celle lue sur le fichier  start '
    544         STOP
    545        ENDIF
    546       ENDIF
    547 
    548 !Config  Key  = dzoomy
    549 !Config  Desc = extension en latitude
    550 !Config  Def  = 0
    551 !Config  Help = extension en latitude de la zone  du zoom 
    552 !Config         ( fraction de la zone totale)
    553        dzoomyy = 0.0
    554        CALL getin('dzoomy',dzoomyy)
    555 
    556       IF( fxyhypb )  THEN
    557        IF( ABS(dzoomy - dzoomyy).GE. 0.001 )  THEN
    558         write(lunout,*)'conf_gcm: La valeur de dzoomy passee par ',
    559      * 'run.def est differente de celle lue sur le fichier  start '
    560         STOP
    561        ENDIF
    562       ENDIF
    563      
    564 !Config  Key  = taux
    565 !Config  Desc = raideur du zoom en  X
    566 !Config  Def  = 3
    567 !Config  Help = raideur du zoom en  X
    568        tauxx = 3.0
    569        CALL getin('taux',tauxx)
    570 
    571       IF( fxyhypb )  THEN
    572        IF( ABS(taux - tauxx).GE. 0.001 )  THEN
    573         write(lunout,*)'conf_gcm: La valeur de taux passee par ',
    574      * 'run.def est differente de celle lue sur le fichier  start '
    575         STOP
    576        ENDIF
    577       ENDIF
    578 
    579 !Config  Key  = tauyy
    580 !Config  Desc = raideur du zoom en  Y
    581 !Config  Def  = 3
    582 !Config  Help = raideur du zoom en  Y
    583        tauyy = 3.0
    584        CALL getin('tauy',tauyy)
    585 
    586       IF( fxyhypb )  THEN
    587        IF( ABS(tauy - tauyy).GE. 0.001 )  THEN
    588         write(lunout,*)'conf_gcm: La valeur de tauy passee par ',
    589      * 'run.def est differente de celle lue sur le fichier  start '
    590         STOP
    591        ENDIF
    592       ENDIF
    593 
    594 cc
    595       IF( .NOT.fxyhypb  )  THEN
    596 
    597 !Config  Key  = ysinus
    598 !Config  IF   = !fxyhypb
    599 !Config  Desc = Fonction en Sinus
    600 !Config  Def  = y
    601 !Config  Help = Fonction  f(y) avec y = Sin(latit.) si = .true.
    602 !Config         sinon y = latit.
    603        ysinuss = .TRUE.
    604        CALL getin('ysinus',ysinuss)
    605 
    606         IF( .NOT.ysinus )  THEN
    607           IF( ysinuss )     THEN
    608             write(lunout,*)' ********  PBS DANS  CONF_GCM  ******** '
    609             write(lunout,*)' *** ysinus lu sur le fichier start est F',
    610      *       ' alors  qu il est  T  sur  run.def  ***'
    611             STOP
    612           ENDIF
    613         ELSE
    614           IF( .NOT.ysinuss )   THEN
    615             write(lunout,*)' ********  PBS DANS  CONF_GCM  ******** '
    616             write(lunout,*)' *** ysinus lu sur le fichier start est T',
    617      *        ' alors  qu il est  F  sur  run.def  ****  '
    618               STOP
    619           ENDIF
    620         ENDIF
    621       ENDIF ! of IF( .NOT.fxyhypb  )
    622 c
     423
    623424!Config  Key  = offline
    624425!Config  Desc = Nouvelle eau liquide
     
    681482      CALL getin('ok_dyn_ave',ok_dyn_ave)
    682483
    683       write(lunout,*)' #########################################'
    684       write(lunout,*)' Configuration des parametres du gcm: '
    685       write(lunout,*)' planet_type = ', planet_type
    686       write(lunout,*)' calend = ', calend
    687       write(lunout,*)' dayref = ', dayref
    688       write(lunout,*)' anneeref = ', anneeref
    689       write(lunout,*)' nday = ', nday
    690       if (less1day) then
    691       write(lunout,*)' Run only for a fraction of day ! '
    692       write(lunout,*)' fractday = ', fractday
    693       endif
    694       write(lunout,*)' day_step = ', day_step
    695       write(lunout,*)' iperiod = ', iperiod
    696       write(lunout,*)' nsplit_phys = ', nsplit_phys
    697       write(lunout,*)' iconser = ', iconser
    698       write(lunout,*)' iecri = ', iecri
    699       write(lunout,*)' periodav = ', periodav
    700       write(lunout,*)' output_grads_dyn = ', output_grads_dyn
    701       write(lunout,*)' dissip_period = ', dissip_period
    702       write(lunout,*)' lstardis = ', lstardis
    703       write(lunout,*)' nitergdiv = ', nitergdiv
    704       write(lunout,*)' nitergrot = ', nitergrot
    705       write(lunout,*)' niterh = ', niterh
    706       write(lunout,*)' tetagdiv = ', tetagdiv
    707       write(lunout,*)' tetagrot = ', tetagrot
    708       write(lunout,*)' tetatemp = ', tetatemp
    709       write(lunout,*)' coefdis = ', coefdis
    710       write(lunout,*)' purmats = ', purmats
    711       write(lunout,*)' read_start = ', read_start
    712       write(lunout,*)' iflag_phys = ', iflag_phys
    713       write(lunout,*)' iphysiq = ', iphysiq
    714       write(lunout,*)' iflag_trac = ', iflag_trac
    715       write(lunout,*)' clonn = ', clonn
    716       write(lunout,*)' clatt = ', clatt
    717       write(lunout,*)' grossismx = ', grossismx
    718       write(lunout,*)' grossismy = ', grossismy
    719       write(lunout,*)' fxyhypbb = ', fxyhypbb
    720       write(lunout,*)' dzoomxx = ', dzoomxx
    721       write(lunout,*)' dzoomy = ', dzoomyy
    722       write(lunout,*)' tauxx = ', tauxx
    723       write(lunout,*)' tauyy = ', tauyy
    724       write(lunout,*)' offline = ', offline
    725       write(lunout,*)' type_trac = ', type_trac
    726       write(lunout,*)' config_inca = ', config_inca
    727       write(lunout,*)' ok_dynzon = ', ok_dynzon
    728       write(lunout,*)' ok_dyn_ins = ', ok_dyn_ins
    729       write(lunout,*)' ok_dyn_ave = ', ok_dyn_ave
    730 
    731       RETURN
    732 c   ...............................................
    733 c
    734 100   CONTINUE
     484!Config  Key  = use_filtre_fft
     485!Config  Desc = flag d'activation des FFT pour le filtre
     486!Config  Def  = false
     487!Config  Help = permet d'activer l'utilisation des FFT pour effectuer
     488!Config         le filtrage aux poles.
     489      use_filtre_fft=.FALSE.
     490      CALL getin('use_filtre_fft',use_filtre_fft)
     491
     492      IF (use_filtre_fft .AND. grossismx /= 1.0) THEN
     493        write(lunout,*)'WARNING !!! '
     494        write(lunout,*)"Le zoom en longitude est incompatible",
     495     &                 " avec l'utilisation du filtre FFT ",
     496     &                 "---> filtre FFT désactivé "
     497       use_filtre_fft=.FALSE.
     498      ENDIF
     499
     500!Config  Key  = use_mpi_alloc
     501!Config  Desc = Utilise un buffer MPI en memoire globale
     502!Config  Def  = false
     503!Config  Help = permet d'activer l'utilisation d'un buffer MPI
     504!Config         en memoire globale a l'aide de la fonction MPI_ALLOC.
     505!Config         Cela peut ameliorer la bande passante des transferts MPI
     506!Config         d'un facteur 2 
     507      use_mpi_alloc=.FALSE.
     508      CALL getin('use_mpi_alloc',use_mpi_alloc)
     509
     510!Config  Key  = omp_chunk
     511!Config  Desc = taille des blocs openmp
     512!Config  Def  = 1
     513!Config  Help = defini la taille des packets d'iteration openmp
     514!Config         distribuee a chaque tache lors de l'entree dans une
     515!Config         boucle parallelisee
     516 
     517      omp_chunk=1
     518      CALL getin('omp_chunk',omp_chunk)
     519
     520!Config key = ok_strato
     521!Config  Desc = activation de la version strato
     522!Config  Def  = .FALSE.
     523!Config  Help = active la version stratosphérique de LMDZ de F. Lott
     524
     525      ok_strato=.TRUE.
     526      CALL getin('ok_strato',ok_strato)
     527
     528!Config  Key  = ok_gradsfile
     529!Config  Desc = activation des sorties grads du guidage
     530!Config  Def  = n
     531!Config  Help = active les sorties grads du guidage
     532
     533       ok_gradsfile = .FALSE.
     534       CALL getin('ok_gradsfile',ok_gradsfile)
     535
     536!Config  Key  = ok_limit
     537!Config  Desc = creation des fichiers limit dans create_etat0_limit
     538!Config  Def  = y
     539!Config  Help = production du fichier limit.nc requise
     540
     541       ok_limit = .TRUE.
     542       CALL getin('ok_limit',ok_limit)
     543
     544!Config  Key  = ok_etat0
     545!Config  Desc = creation des fichiers etat0 dans create_etat0_limit
     546!Config  Def  = y
     547!Config  Help = production des fichiers start.nc, startphy.nc requise
     548
     549      ok_etat0 = .TRUE.
     550      CALL getin('ok_etat0',ok_etat0)
     551
     552!Config  Key  = grilles_gcm_netcdf
     553!Config  Desc = creation de fichier grilles_gcm.nc dans create_etat0_limit
     554!Config  Def  = n
     555      grilles_gcm_netcdf = .FALSE.
     556      CALL getin('grilles_gcm_netcdf',grilles_gcm_netcdf)
     557
     558c----------------------------------------
     559ccc  ....   P. Le Van , ajout  le 7/03/95 .pour le zoom ...
     560c     .........   (  modif  le 17/04/96 )   .........
     561c
     562C ZOOM PARAMETERS ... the ones read in start.nc prevail anyway ! (SL, 2012)
     563c
     564c----------------------------------------
     565      IF( etatinit ) then
     566
    735567!Config  Key  = clon
    736568!Config  Desc = centre du zoom, longitude
     
    835667       CALL getin('ysinus',ysinus)
    836668c
    837 !Config  Key  = offline
    838 !Config  Desc = Nouvelle eau liquide
    839 !Config  Def  = n
    840 !Config  Help = Permet de mettre en route la
    841 !Config         nouvelle parametrisation de l'eau liquide !
    842        offline = .FALSE.
    843        CALL getin('offline',offline)
    844        IF (offline .AND. adjust) THEN
    845           WRITE(lunout,*)
    846      &         'WARNING : option offline does not work with adjust=y :'
    847           WRITE(lunout,*) 'the files defstoke.nc, fluxstoke.nc ',
    848      &         'and fluxstokev.nc will not be created'
    849           WRITE(lunout,*)
    850      &         'only the file phystoke.nc will still be created '
    851        END IF
    852 
    853 !Config  Key  = type_trac
    854 !Config  Desc = Choix de couplage avec model de chimie INCA ou REPROBUS
    855 !Config  Def  = lmdz
    856 !Config  Help =
    857 !Config         'lmdz' = pas de couplage, pur LMDZ
    858 !Config         'inca' = model de chime INCA
    859 !Config         'repr' = model de chime REPROBUS
    860       type_trac = 'lmdz'
    861       CALL getin('type_trac',type_trac)
    862 
    863 !Config  Key  = config_inca
    864 !Config  Desc = Choix de configuration de INCA
    865 !Config  Def  = none
    866 !Config  Help = Choix de configuration de INCA :
    867 !Config         'none' = sans INCA
    868 !Config         'chem' = INCA avec calcul de chemie
    869 !Config         'aero' = INCA avec calcul des aerosols
    870       config_inca = 'none'
    871       CALL getin('config_inca',config_inca)
    872 
    873 !Config  Key  = ok_dynzon
    874 !Config  Desc = calcul et sortie des transports
    875 !Config  Def  = n
    876 !Config  Help = Permet de mettre en route le calcul des transports
    877 !Config         
    878       ok_dynzon = .FALSE.
    879       CALL getin('ok_dynzon',ok_dynzon)
    880 
    881 !Config  Key  = ok_dyn_ins
    882 !Config  Desc = sorties instantanees dans la dynamique
    883 !Config  Def  = n
    884 !Config  Help =
    885 !Config         
    886       ok_dyn_ins = .FALSE.
    887       CALL getin('ok_dyn_ins',ok_dyn_ins)
    888 
    889 !Config  Key  = ok_dyn_ave
    890 !Config  Desc = sorties moyennes dans la dynamique
    891 !Config  Def  = n
    892 !Config  Help =
    893 !Config         
    894       ok_dyn_ave = .FALSE.
    895       CALL getin('ok_dyn_ave',ok_dyn_ave)
    896 
    897 !Config  Key  = use_filtre_fft
    898 !Config  Desc = flag d'activation des FFT pour le filtre
    899 !Config  Def  = false
    900 !Config  Help = permet d'activer l'utilisation des FFT pour effectuer
    901 !Config         le filtrage aux poles.
    902       use_filtre_fft=.FALSE.
    903       CALL getin('use_filtre_fft',use_filtre_fft)
    904 
    905       IF (use_filtre_fft .AND. grossismx /= 1.0) THEN
    906         write(lunout,*)'WARNING !!! '
    907         write(lunout,*)"Le zoom en longitude est incompatible",
    908      &                 " avec l'utilisation du filtre FFT ",
    909      &                 "---> filtre FFT désactivé "
    910        use_filtre_fft=.FALSE.
     669c----------------------------------------
     670       else ! etatinit=false
     671c----------------------------------------
     672
     673!Config  Key  = clon
     674!Config  Desc = centre du zoom, longitude
     675!Config  Def  = 0
     676!Config  Help = longitude en degres du centre
     677!Config         du zoom
     678       clonn = 0.
     679       CALL getin('clon',clonn)
     680
     681!Config  Key  = clat
     682!Config  Desc = centre du zoom, latitude
     683!Config  Def  = 0
     684!Config  Help = latitude en degres du centre du zoom
     685!Config         
     686       clatt = 0.
     687       CALL getin('clat',clatt)
     688
     689c
     690c
     691      IF( ABS(clat - clatt).GE. 0.001 )  THEN
     692        write(lunout,*)'conf_gcm: La valeur de clat passee par run.def',
     693     &    ' est differente de celle lue sur le fichier  start '
     694        STOP
     695      ENDIF
     696
     697!Config  Key  = grossismx
     698!Config  Desc = zoom en longitude
     699!Config  Def  = 1.0
     700!Config  Help = facteur de grossissement du zoom,
     701!Config         selon la longitude
     702       grossismxx = 1.0
     703       CALL getin('grossismx',grossismxx)
     704
     705
     706      IF( ABS(grossismx - grossismxx).GE. 0.001 )  THEN
     707        write(lunout,*)'conf_gcm: La valeur de grossismx passee par ',
     708     &  'run.def est differente de celle lue sur le fichier  start '
     709        STOP
     710      ENDIF
     711
     712!Config  Key  = grossismy
     713!Config  Desc = zoom en latitude
     714!Config  Def  = 1.0
     715!Config  Help = facteur de grossissement du zoom,
     716!Config         selon la latitude
     717       grossismyy = 1.0
     718       CALL getin('grossismy',grossismyy)
     719
     720      IF( ABS(grossismy - grossismyy).GE. 0.001 )  THEN
     721        write(lunout,*)'conf_gcm: La valeur de grossismy passee par ',
     722     & 'run.def est differente de celle lue sur le fichier  start '
     723        STOP
    911724      ENDIF
    912725     
    913  
     726      IF( grossismx.LT.1. )  THEN
     727        write(lunout,*)
     728     &       'conf_gcm: ***  ATTENTION !! grossismx < 1 .   *** '
     729         STOP
     730      ELSE
     731         alphax = 1. - 1./ grossismx
     732      ENDIF
     733
     734
     735      IF( grossismy.LT.1. )  THEN
     736        write(lunout,*)
     737     &       'conf_gcm: ***  ATTENTION !! grossismy < 1 .   *** '
     738         STOP
     739      ELSE
     740         alphay = 1. - 1./ grossismy
     741      ENDIF
     742
     743      write(lunout,*)'conf_gcm: alphax alphay',alphax,alphay
     744c
     745c    alphax et alphay sont les anciennes formulat. des grossissements
     746c
     747c
     748
     749!Config  Key  = fxyhypb
     750!Config  Desc = Fonction  hyperbolique
     751!Config  Def  = y
     752!Config  Help = Fonction  f(y)  hyperbolique  si = .true. 
     753!Config         sinon  sinusoidale
     754       fxyhypbb = .TRUE.
     755       CALL getin('fxyhypb',fxyhypbb)
     756
     757      IF( .NOT.fxyhypb )  THEN
     758         IF( fxyhypbb )     THEN
     759            write(lunout,*)' ********  PBS DANS  CONF_GCM  ******** '
     760            write(lunout,*)' *** fxyhypb lu sur le fichier start est ',
     761     *       'F alors  qu il est  T  sur  run.def  ***'
     762              STOP
     763         ENDIF
     764      ELSE
     765         IF( .NOT.fxyhypbb )   THEN
     766            write(lunout,*)' ********  PBS DANS  CONF_GCM  ******** '
     767            write(lunout,*)' ***  fxyhypb lu sur le fichier start est ',
     768     *        'T alors  qu il est  F  sur  run.def  ****  '
     769              STOP
     770         ENDIF
     771      ENDIF
     772c
     773!Config  Key  = dzoomx
     774!Config  Desc = extension en longitude
     775!Config  Def  = 0
     776!Config  Help = extension en longitude  de la zone du zoom 
     777!Config         ( fraction de la zone totale)
     778       dzoomxx = 0.0
     779       CALL getin('dzoomx',dzoomxx)
     780
     781      IF( fxyhypb )  THEN
     782       IF( ABS(dzoomx - dzoomxx).GE. 0.001 )  THEN
     783        write(lunout,*)'conf_gcm: La valeur de dzoomx passee par ',
     784     *  'run.def est differente de celle lue sur le fichier  start '
     785        STOP
     786       ENDIF
     787      ENDIF
     788
     789!Config  Key  = dzoomy
     790!Config  Desc = extension en latitude
     791!Config  Def  = 0
     792!Config  Help = extension en latitude de la zone  du zoom 
     793!Config         ( fraction de la zone totale)
     794       dzoomyy = 0.0
     795       CALL getin('dzoomy',dzoomyy)
     796
     797      IF( fxyhypb )  THEN
     798       IF( ABS(dzoomy - dzoomyy).GE. 0.001 )  THEN
     799        write(lunout,*)'conf_gcm: La valeur de dzoomy passee par ',
     800     * 'run.def est differente de celle lue sur le fichier  start '
     801        STOP
     802       ENDIF
     803      ENDIF
    914804     
    915 !Config  Key  = use_mpi_alloc
    916 !Config  Desc = Utilise un buffer MPI en m�moire globale
    917 !Config  Def  = false
    918 !Config  Help = permet d'activer l'utilisation d'un buffer MPI
    919 !Config         en m�moire globale a l'aide de la fonction MPI_ALLOC.
    920 !Config         Cela peut am�liorer la bande passante des transferts MPI
    921 !Config         d'un facteur 2 
    922       use_mpi_alloc=.FALSE.
    923       CALL getin('use_mpi_alloc',use_mpi_alloc)
    924 
    925 !Config  Key  = omp_chunk
    926 !Config  Desc = taille des blocs openmp
    927 !Config  Def  = 1
    928 !Config  Help = defini la taille des packets d'it�ration openmp
    929 !Config         distribu�e � chaque t�che lors de l'entr�e dans une
    930 !Config         boucle parall�lis�e
    931  
    932       omp_chunk=1
    933       CALL getin('omp_chunk',omp_chunk)
    934 
    935 !Config key = ok_strato
    936 !Config  Desc = activation de la version strato
    937 !Config  Def  = .FALSE.
    938 !Config  Help = active la version stratosphérique de LMDZ de F. Lott
    939 
    940       ok_strato=.TRUE.
    941       CALL getin('ok_strato',ok_strato)
    942 
    943 !Config  Key  = ok_gradsfile
    944 !Config  Desc = activation des sorties grads du guidage
    945 !Config  Def  = n
    946 !Config  Help = active les sorties grads du guidage
    947 
    948        ok_gradsfile = .FALSE.
    949        CALL getin('ok_gradsfile',ok_gradsfile)
    950 
    951 !Config  Key  = ok_limit
    952 !Config  Desc = creation des fichiers limit dans create_etat0_limit
     805!Config  Key  = taux
     806!Config  Desc = raideur du zoom en  X
     807!Config  Def  = 3
     808!Config  Help = raideur du zoom en  X
     809       tauxx = 3.0
     810       CALL getin('taux',tauxx)
     811
     812      IF( fxyhypb )  THEN
     813       IF( ABS(taux - tauxx).GE. 0.001 )  THEN
     814        write(lunout,*)'conf_gcm: La valeur de taux passee par ',
     815     * 'run.def est differente de celle lue sur le fichier  start '
     816        STOP
     817       ENDIF
     818      ENDIF
     819
     820!Config  Key  = tauyy
     821!Config  Desc = raideur du zoom en  Y
     822!Config  Def  = 3
     823!Config  Help = raideur du zoom en  Y
     824       tauyy = 3.0
     825       CALL getin('tauy',tauyy)
     826
     827      IF( fxyhypb )  THEN
     828       IF( ABS(tauy - tauyy).GE. 0.001 )  THEN
     829        write(lunout,*)'conf_gcm: La valeur de tauy passee par ',
     830     * 'run.def est differente de celle lue sur le fichier  start '
     831        STOP
     832       ENDIF
     833      ENDIF
     834
     835cc
     836      IF( .NOT.fxyhypb  )  THEN
     837
     838!Config  Key  = ysinus
     839!Config  IF   = !fxyhypb
     840!Config  Desc = Fonction en Sinus
    953841!Config  Def  = y
    954 !Config  Help = production du fichier limit.nc requise
    955 
    956        ok_limit = .TRUE.
    957        CALL getin('ok_limit',ok_limit)
    958 
    959 !Config  Key  = ok_etat0
    960 !Config  Desc = creation des fichiers etat0 dans create_etat0_limit
    961 !Config  Def  = y
    962 !Config  Help = production des fichiers start.nc, startphy.nc requise
    963 
    964       ok_etat0 = .TRUE.
    965       CALL getin('ok_etat0',ok_etat0)
    966 
    967 !Config  Key  = grilles_gcm_netcdf
    968 !Config  Desc = creation de fichier grilles_gcm.nc dans create_etat0_limit
    969 !Config  Def  = n
    970       grilles_gcm_netcdf = .FALSE.
    971       CALL getin('grilles_gcm_netcdf',grilles_gcm_netcdf)
     842!Config  Help = Fonction  f(y) avec y = Sin(latit.) si = .true.
     843!Config         sinon y = latit.
     844       ysinuss = .TRUE.
     845       CALL getin('ysinus',ysinuss)
     846
     847        IF( .NOT.ysinus )  THEN
     848          IF( ysinuss )     THEN
     849            write(lunout,*)' ********  PBS DANS  CONF_GCM  ******** '
     850            write(lunout,*)' *** ysinus lu sur le fichier start est F',
     851     *       ' alors  qu il est  T  sur  run.def  ***'
     852            STOP
     853          ENDIF
     854        ELSE
     855          IF( .NOT.ysinuss )   THEN
     856            write(lunout,*)' ********  PBS DANS  CONF_GCM  ******** '
     857            write(lunout,*)' *** ysinus lu sur le fichier start est T',
     858     *        ' alors  qu il est  F  sur  run.def  ****  '
     859              STOP
     860          ENDIF
     861        ENDIF
     862      ENDIF ! of IF( .NOT.fxyhypb  )
     863
     864      endif ! etatinit
     865c----------------------------------------
     866
    972867
    973868      write(lunout,*)' #########################################'
    974       write(lunout,*)' Configuration des parametres de cel0'
    975      &             //'_limit: '
     869      write(lunout,*)' Configuration des parametres lus via run.def '
    976870      write(lunout,*)' planet_type = ', planet_type
    977871      write(lunout,*)' calend = ', calend
Note: See TracChangeset for help on using the changeset viewer.