Ignore:
Timestamp:
Jul 30, 2008, 5:50:03 PM (16 years ago)
Author:
Laurent Fairhead
Message:

Mise a jour de dyn3dpar par rapport a dyn3d, inclusion OpenMP et filtre FFT YM
LF

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ4/trunk/libf/dyn3dpar/conf_gcm.F

    r960 r985  
    88      use IOIPSL
    99      use misc_mod
     10      use mod_filtre_fft, ONLY : use_filtre_fft
     11      use mod_hallo, ONLY : use_mpi_alloc
     12      use parallel, ONLY : omp_chunk
    1013      IMPLICIT NONE
    1114c-----------------------------------------------------------------------
     
    3437#include "serre.h"
    3538#include "comdissnew.h"
    36 #include "clesphys.h"
     39!#include "clesphys.h"
    3740#include "iniprint.h"
     41
     42! FH 2008/05/09 On elimine toutes les clefs physiques dans la dynamique
    3843c
    3944c
     
    298303c
    299304
    300 !Config  Key  = ecritphy
    301 !Config  Desc = Frequence d'ecriture de la physique
    302 !Config  Def  = 1
    303 !Config  Help = frequence  de l'ecriture du fichier histphy
    304 !Config         en jours.
    305        ecritphy = 1
    306        CALL getin('ecritphy',ecritphy)
    307 
    308 !Config  Key  = cycle_diurne
    309 !Config  Desc = Cycle ddiurne
    310 !Config  Def  = y
    311 !Config  Help = Cette option permet d'eteidre le cycle diurne.
    312 !Config         Peut etre util pour accelerer le code !
    313        cycle_diurne = .TRUE.
    314        CALL getin('cycle_diurne',cycle_diurne)
    315 
    316 !Config  Key  = soil_model
    317 !Config  Desc = Modele de sol
    318 !Config  Def  = y
    319 !Config  Help = Choix du modele de sol (Thermique ?)
    320 !Config         Option qui pourait un string afin de pouvoir
    321 !Config         plus de choix ! Ou meme une liste d'options !
    322        soil_model = .TRUE.
    323        CALL getin('soil_model',soil_model)
    324 
    325 !Config  Key  = new_oliq
    326 !Config  Desc = Nouvelle eau liquide
    327 !Config  Def  = y
    328 !Config  Help = Permet de mettre en route la
    329 !Config         nouvelle parametrisation de l'eau liquide !
    330        new_oliq = .TRUE.
    331        CALL getin('new_oliq',new_oliq)
    332 
    333 !Config  Key  = ok_orodr
    334 !Config  Desc = Orodr ???
    335 !Config  Def  = y
    336 !Config  Help = Y en a pas comprendre !
    337 !Config         
    338        ok_orodr = .TRUE.
    339        CALL getin('ok_orodr',ok_orodr)
    340 
    341 !Config  Key  =  ok_orolf
    342 !Config  Desc = Orolf ??
    343 !Config  Def  = y
    344 !Config  Help = Connais pas !
    345        ok_orolf = .TRUE.
    346        CALL getin('ok_orolf', ok_orolf)
    347 
    348 !Config  Key  = ok_limitvrai
    349 !Config  Desc = Force la lecture de la bonne annee
    350 !Config  Def  = n
    351 !Config  Help = On peut forcer le modele a lire le
    352 !Config         fichier SST de la bonne annee. C'est une tres bonne
    353 !Config         idee, pourquoi ne pas mettre toujours a y ???
    354        ok_limitvrai = .FALSE.
    355        CALL getin('ok_limitvrai',ok_limitvrai)
    356 
    357 !Config  Key  = nbapp_rad
    358 !Config  Desc = Frequence d'appel au rayonnement
    359 !Config  Def  = 12
    360 !Config  Help = Nombre  d'appels des routines de rayonnements
    361 !Config         par jour.
    362        nbapp_rad = 12
    363        CALL getin('nbapp_rad',nbapp_rad)
    364 
    365 !Config  Key  = iflag_con
    366 !Config  Desc = Flag de convection
    367 !Config  Def  = 2
    368 !Config  Help = Flag  pour la convection les options suivantes existent :
    369 !Config         1 pour LMD,
    370 !Config         2 pour Tiedtke,
    371 !Config         3 pour CCM(NCAR) 
    372        iflag_con = 2
    373        CALL getin('iflag_con',iflag_con)
    374 !
     305
    375306!Config  Key  = ip_ebil_dyn
    376307!Config  Desc = PRINT level for energy conserv. diag.
     
    384315       CALL getin('ip_ebil_dyn',ip_ebil_dyn)
    385316!
    386 
    387       DO i = 1, longcles
    388        clesphy0(i) = 0.
    389       ENDDO
    390                           clesphy0(1) = FLOAT( iflag_con )
    391                           clesphy0(2) = FLOAT( nbapp_rad )
    392 
    393        IF( cycle_diurne  ) clesphy0(3) =  1.
    394        IF(   soil_model  ) clesphy0(4) =  1.
    395        IF(     new_oliq  ) clesphy0(5) =  1.
    396        IF(     ok_orodr  ) clesphy0(6) =  1.
    397        IF(     ok_orolf  ) clesphy0(7) =  1.
    398        IF(  ok_limitvrai ) clesphy0(8) =  1.
    399317
    400318
     
    633551      write(lunout,*)' purmats = ', purmats
    634552      write(lunout,*)' iflag_phys = ', iflag_phys
    635       write(lunout,*)' iphysiq = ', iphysiq
    636       write(lunout,*)' ecritphy = ', ecritphy
    637       write(lunout,*)' cycle_diurne = ', cycle_diurne
    638       write(lunout,*)' soil_model = ', soil_model
    639       write(lunout,*)' new_oliq = ', new_oliq
    640       write(lunout,*)' ok_orodr = ', ok_orodr
    641       write(lunout,*)' ok_orolf = ', ok_orolf
    642       write(lunout,*)' ok_limitvrai = ', ok_limitvrai
    643       write(lunout,*)' nbapp_rad = ', nbapp_rad
    644       write(lunout,*)' iflag_con = ', iflag_con
    645553      write(lunout,*)' clonn = ', clonn
    646554      write(lunout,*)' clatt = ', clatt
     
    777685      CALL getin('config_inca',config_inca)
    778686
     687!Config  Key  = use_filtre_fft
     688!Config  Desc = flag d'activation des FFT pour le filtre
     689!Config  Def  = false
     690!Config  Help = permet d'activer l'utilisation des FFT pour effectuer
     691!Config         le filtrage aux poles.
     692      use_filtre_fft=.FALSE.
     693      CALL getin('use_filtre_fft',use_filtre_fft)
     694     
     695!Config  Key  = use_mpi_alloc
     696!Config  Desc = Utilise un buffer MPI en mémoire globale
     697!Config  Def  = false
     698!Config  Help = permet d'activer l'utilisation d'un buffer MPI
     699!Config         en mémoire globale a l'aide de la fonction MPI_ALLOC.
     700!Config         Cela peut améliorer la bande passante des transferts MPI
     701!Config         d'un facteur 2 
     702      use_mpi_alloc=.FALSE.
     703      CALL getin('use_mpi_alloc',use_mpi_alloc)
     704
     705!Config  Key  = omp_chunk
     706!Config  Desc = taille des blocs openmp
     707!Config  Def  = 1
     708!Config  Help = defini la taille des packets d'itération openmp
     709!Config         distribuée à chaque tâche lors de l'entrée dans une
     710!Config         boucle parallélisée
     711 
     712      omp_chunk=1
     713      CALL getin('omp_chunk',omp_chunk)
    779714
    780715      write(lunout,*)' #########################################'
     
    799734      write(lunout,*)' purmats = ', purmats
    800735      write(lunout,*)' iflag_phys = ', iflag_phys
    801       write(lunout,*)' iphysiq = ', iphysiq
    802       write(lunout,*)' ecritphy = ', ecritphy
    803       write(lunout,*)' cycle_diurne = ', cycle_diurne
    804       write(lunout,*)' soil_model = ', soil_model
    805       write(lunout,*)' new_oliq = ', new_oliq
    806       write(lunout,*)' ok_orodr = ', ok_orodr
    807       write(lunout,*)' ok_orolf = ', ok_orolf
    808       write(lunout,*)' ok_limitvrai = ', ok_limitvrai
    809       write(lunout,*)' nbapp_rad = ', nbapp_rad
    810       write(lunout,*)' iflag_con = ', iflag_con
    811       write(lunout,*)' clonn = ', clonn
    812       write(lunout,*)' clatt = ', clatt
     736      write(lunout,*)' clon = ', clon
     737      write(lunout,*)' clat = ', clat
    813738      write(lunout,*)' grossismx = ', grossismx
    814739      write(lunout,*)' grossismy = ', grossismy
     
    820745      write(lunout,*)' offline = ', offline
    821746      write(lunout,*)' config_inca = ', config_inca
     747      write(lunout,*)' use_filtre_fft = ', use_filtre_fft
     748      write(lunout,*)' use_mpi_alloc = ', use_mpi_alloc
     749      write(lunout,*)' omp_chunk = ', omp_chunk
    822750c
    823751      RETURN
Note: See TracChangeset for help on using the changeset viewer.