source: LMDZ4/trunk/libf/dyn3dpar/conf_gcm.F @ 1119

Last change on this file since 1119 was 1046, checked in by lmdzadmin, 16 years ago

Modifs guidage pour utiliser des champs de guidage sur niveaux hybrides
Ajout cle logique ok_gradsfile (.false. par defaut) pour activer sorties grads du guidage
FC/IM

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 23.3 KB
Line 
1!
2! $Header$
3!
4c
5c
6      SUBROUTINE conf_gcm( tapedef, etatinit, clesphy0 )
7c
8      use IOIPSL
9      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
13      IMPLICIT NONE
14c-----------------------------------------------------------------------
15c     Auteurs :   L. Fairhead , P. Le Van  .
16c
17c     Arguments :
18c
19c     tapedef   :
20c     etatinit  :     = TRUE   , on ne  compare pas les valeurs des para-
21c     -metres  du zoom  avec  celles lues sur le fichier start .
22c      clesphy0 :  sortie  .
23c
24       LOGICAL etatinit
25       INTEGER tapedef
26
27       INTEGER        longcles
28       PARAMETER(     longcles = 20 )
29       REAL clesphy0( longcles )
30c
31c   Declarations :
32c   --------------
33#include "dimensions.h"
34#include "paramet.h"
35#include "control.h"
36#include "logic.h"
37#include "serre.h"
38#include "comdissnew.h"
39!#include "clesphys.h"
40#include "iniprint.h"
41
42! FH 2008/05/09 On elimine toutes les clefs physiques dans la dynamique
43c
44c
45c   local:
46c   ------
47
48      CHARACTER ch1*72,ch2*72,ch3*72,ch4*12
49      REAL clonn,clatt,grossismxx,grossismyy
50      REAL dzoomxx,dzoomyy, tauxx,tauyy
51      LOGICAL  fxyhypbb, ysinuss
52      INTEGER i
53     
54c
55c  -------------------------------------------------------------------
56c
57c       .........     Version  du 29/04/97       ..........
58c
59c   Nouveaux parametres nitergdiv,nitergrot,niterh,tetagdiv,tetagrot,
60c      tetatemp   ajoutes  pour la dissipation   .
61c
62c   Autre parametre ajoute en fin de liste de tapedef : ** fxyhypb **
63c
64c  Si fxyhypb = .TRUE. , choix de la fonction a derivee tangente hyperb.
65c    Sinon , choix de fxynew  , a derivee sinusoidale  ..
66c
67c   ......  etatinit = . TRUE. si defrun  est appele dans ETAT0_LMD  ou
68c         LIMIT_LMD  pour l'initialisation de start.dat (dic) et
69c                de limit.dat ( dic)                        ...........
70c           Sinon  etatinit = . FALSE .
71c
72c   Donc etatinit = .F.  si on veut comparer les valeurs de  grossismx ,
73c    grossismy,clon,clat, fxyhypb  lues sur  le fichier  start  avec
74c   celles passees  par run.def ,  au debut du gcm, apres l'appel a
75c    lectba . 
76c   Ces parmetres definissant entre autres la grille et doivent etre
77c   pareils et coherents , sinon il y aura  divergence du gcm .
78c
79c-----------------------------------------------------------------------
80c   initialisations:
81c   ----------------
82      adjust=.false.
83      call getin('adjust',adjust)
84     
85      itaumax=0
86      call getin('itaumax',itaumax);
87      if (itaumax<=0) itaumax=HUGE(itaumax)
88     
89!Config  Key  = lunout
90!Config  Desc = unite de fichier pour les impressions
91!Config  Def  = 6
92!Config  Help = unite de fichier pour les impressions
93!Config         (defaut sortie standard = 6)
94      lunout=6
95      CALL getin('lunout', lunout)
96      IF (lunout /= 5 .and. lunout /= 6) THEN
97        OPEN(lunout,FILE='lmdz.out')
98      ENDIF
99
100!Config  Key  = prt_level
101!Config  Desc = niveau d'impressions de débogage
102!Config  Def  = 0
103!Config  Help = Niveau d'impression pour le débogage
104!Config         (0 = minimum d'impression)
105      prt_level = 0
106      CALL getin('prt_level',prt_level)
107
108c-----------------------------------------------------------------------
109c  Parametres de controle du run:
110c-----------------------------------------------------------------------
111
112!Config  Key  = dayref
113!Config  Desc = Jour de l'etat initial
114!Config  Def  = 1
115!Config  Help = Jour de l'etat initial ( = 350  si 20 Decembre ,
116!Config         par expl. ,comme ici ) ... A completer
117      dayref=1
118      CALL getin('dayref', dayref)
119
120!Config  Key  = anneeref
121!Config  Desc = Annee de l'etat initial
122!Config  Def  = 1998
123!Config  Help = Annee de l'etat  initial
124!Config         (   avec  4  chiffres   ) ... A completer
125      anneeref = 1998
126      CALL getin('anneeref',anneeref)
127
128!Config  Key  = raz_date
129!Config  Desc = Remise a zero de la date initiale
130!Config  Def  = 0 (pas de remise a zero)
131!Config  Help = Remise a zero de la date initiale
132!Config         0 pas de remise a zero, on garde la date du fichier restart
133!Config         1 prise en compte de la date de gcm.def avec remise a zero
134!Config         des compteurs de pas de temps
135      raz_date = 0
136      CALL getin('raz_date', raz_date)
137
138!Config  Key  = nday
139!Config  Desc = Nombre de jours d'integration
140!Config  Def  = 10
141!Config  Help = Nombre de jours d'integration
142!Config         ... On pourait aussi permettre des mois ou des annees !
143      nday = 10
144      CALL getin('nday',nday)
145
146!Config  Key  = day_step
147!Config  Desc = nombre de pas par jour
148!Config  Def  = 240
149!Config  Help = nombre de pas par jour (multiple de iperiod) (
150!Config          ici pour  dt = 1 min )
151       day_step = 240
152       CALL getin('day_step',day_step)
153
154!Config  Key  = iperiod
155!Config  Desc = periode pour le pas Matsuno
156!Config  Def  = 5
157!Config  Help = periode pour le pas Matsuno (en pas de temps)
158       iperiod = 5
159       CALL getin('iperiod',iperiod)
160
161!Config  Key  = iapp_tracvl
162!Config  Desc = frequence du groupement des flux
163!Config  Def  = iperiod
164!Config  Help = frequence du groupement des flux (en pas de temps)
165       iapp_tracvl = iperiod
166       CALL getin('iapp_tracvl',iapp_tracvl)
167
168!Config  Key  = iconser
169!Config  Desc = periode de sortie des variables de controle
170!Config  Def  = 240 
171!Config  Help = periode de sortie des variables de controle
172!Config         (En pas de temps)
173       iconser = 240 
174       CALL getin('iconser', iconser)
175
176!Config  Key  = iecri
177!Config  Desc = periode d'ecriture du fichier histoire
178!Config  Def  = 1
179!Config  Help = periode d'ecriture du fichier histoire (en jour)
180       iecri = 1
181       CALL getin('iecri',iecri)
182
183
184!Config  Key  = periodav
185!Config  Desc = periode de stockage fichier histmoy
186!Config  Def  = 1
187!Config  Help = periode de stockage fichier histmoy (en jour)
188       periodav = 1.
189       CALL getin('periodav',periodav)
190
191!Config  Key  = idissip
192!Config  Desc = periode de la dissipation
193!Config  Def  = 10
194!Config  Help = periode de la dissipation
195!Config         (en pas) ... a completer !
196       idissip = 10
197       CALL getin('idissip',idissip)
198
199ccc  ....   P. Le Van , modif le 29/04/97 .pour la dissipation  ...
200ccc
201
202!Config  Key  = lstardis
203!Config  Desc = choix de l'operateur de dissipation
204!Config  Def  = y
205!Config  Help = choix de l'operateur de dissipation
206!Config         'y' si on veut star et 'n' si on veut non-start !
207!Config         Moi y en a pas comprendre !
208       lstardis = .TRUE.
209       CALL getin('lstardis',lstardis)
210
211
212!Config  Key  = nitergdiv
213!Config  Desc = Nombre d'iteration de gradiv
214!Config  Def  = 1
215!Config  Help = nombre d'iterations de l'operateur de dissipation
216!Config         gradiv
217       nitergdiv = 1
218       CALL getin('nitergdiv',nitergdiv)
219
220!Config  Key  = nitergrot
221!Config  Desc = nombre d'iterations de nxgradrot
222!Config  Def  = 2
223!Config  Help = nombre d'iterations de l'operateur de dissipation 
224!Config         nxgradrot
225       nitergrot = 2
226       CALL getin('nitergrot',nitergrot)
227
228
229!Config  Key  = niterh
230!Config  Desc = nombre d'iterations de divgrad
231!Config  Def  = 2
232!Config  Help = nombre d'iterations de l'operateur de dissipation
233!Config         divgrad
234       niterh = 2
235       CALL getin('niterh',niterh)
236
237
238!Config  Key  = tetagdiv
239!Config  Desc = temps de dissipation pour div
240!Config  Def  = 7200
241!Config  Help = temps de dissipation des plus petites longeur
242!Config         d'ondes pour u,v (gradiv)
243       tetagdiv = 7200.
244       CALL getin('tetagdiv',tetagdiv)
245
246!Config  Key  = tetagrot
247!Config  Desc = temps de dissipation pour grad
248!Config  Def  = 7200
249!Config  Help = temps de dissipation des plus petites longeur
250!Config         d'ondes pour u,v (nxgradrot)
251       tetagrot = 7200.
252       CALL getin('tetagrot',tetagrot)
253
254!Config  Key  = tetatemp
255!Config  Desc = temps de dissipation pour h
256!Config  Def  = 7200
257!Config  Help =  temps de dissipation des plus petites longeur
258!Config         d'ondes pour h (divgrad)   
259       tetatemp  = 7200.
260       CALL getin('tetatemp',tetatemp )
261
262!Config  Key  = coefdis
263!Config  Desc = coefficient pour gamdissip
264!Config  Def  = 0
265!Config  Help = coefficient pour gamdissip 
266       coefdis = 0.
267       CALL getin('coefdis',coefdis)
268
269!Config  Key  = purmats
270!Config  Desc = Schema d'integration
271!Config  Def  = n
272!Config  Help = Choix du schema d'integration temporel.
273!Config         y = pure Matsuno sinon c'est du Matsuno-leapfrog
274       purmats = .FALSE.
275       CALL getin('purmats',purmats)
276
277!Config  Key  = ok_guide
278!Config  Desc = Guidage
279!Config  Def  = n
280!Config  Help = Guidage
281       ok_guide = .FALSE.
282       CALL getin('ok_guide',ok_guide)
283
284c    ...............................................................
285
286!Config  Key  = iflag_phys
287!Config  Desc = Avec ls physique
288!Config  Def  = 1
289!Config  Help = Permet de faire tourner le modele sans
290!Config         physique.
291       iflag_phys = 1
292       CALL getin('iflag_phys',iflag_phys)
293
294
295!Config  Key  =  iphysiq
296!Config  Desc = Periode de la physique
297!Config  Def  = 5
298!Config  Help = Periode de la physique en pas de temps de la dynamique.
299       iphysiq = 5
300       CALL getin('iphysiq', iphysiq)
301
302ccc   .... P.Le Van, ajout le 03/01/96 pour l'ecriture phys ...
303c
304
305
306!Config  Key  = ip_ebil_dyn
307!Config  Desc = PRINT level for energy conserv. diag.
308!Config  Def  = 0
309!Config  Help = PRINT level for energy conservation diag. ;
310!               les options suivantes existent :
311!Config         0 pas de print
312!Config         1 pas de print
313!Config         2 print,
314       ip_ebil_dyn = 0
315       CALL getin('ip_ebil_dyn',ip_ebil_dyn)
316!
317
318
319ccc  ....   P. Le Van , ajout  le 7/03/95 .pour le zoom ...
320c     .........   (  modif  le 17/04/96 )   .........
321c
322      IF( etatinit ) GO TO 100
323
324!Config  Key  = clon
325!Config  Desc = centre du zoom, longitude
326!Config  Def  = 0
327!Config  Help = longitude en degres du centre
328!Config         du zoom
329       clonn = 0.
330       CALL getin('clon',clonn)
331
332!Config  Key  = clat
333!Config  Desc = centre du zoom, latitude
334!Config  Def  = 0
335!Config  Help = latitude en degres du centre du zoom
336!Config         
337       clatt = 0.
338       CALL getin('clat',clatt)
339
340c
341c
342      IF( ABS(clat - clatt).GE. 0.001 )  THEN
343        PRINT *,' La valeur de clat passee par run.def est differente de
344     *  celle lue sur le fichier  start '
345        STOP
346      ENDIF
347
348!Config  Key  = grossismx
349!Config  Desc = zoom en longitude
350!Config  Def  = 1.0
351!Config  Help = facteur de grossissement du zoom,
352!Config         selon la longitude
353       grossismxx = 1.0
354       CALL getin('grossismx',grossismxx)
355
356
357      IF( ABS(grossismx - grossismxx).GE. 0.001 )  THEN
358        PRINT *,' La valeur de grossismx passee par run.def est differente 
359     *  de celle lue sur le fichier  start '
360        STOP
361      ENDIF
362
363!Config  Key  = grossismy
364!Config  Desc = zoom en latitude
365!Config  Def  = 1.0
366!Config  Help = facteur de grossissement du zoom,
367!Config         selon la latitude
368       grossismyy = 1.0
369       CALL getin('grossismy',grossismyy)
370
371      IF( ABS(grossismy - grossismyy).GE. 0.001 )  THEN
372        PRINT *,' La valeur de grossismy passee par run.def est differen
373     * te de celle lue sur le fichier  start '
374        STOP
375      ENDIF
376     
377      IF( grossismx.LT.1. )  THEN
378        PRINT *,' ***  ATTENTION !! grossismx < 1 .   *** '
379         STOP
380      ELSE
381         alphax = 1. - 1./ grossismx
382      ENDIF
383
384
385      IF( grossismy.LT.1. )  THEN
386        PRINT *,' ***  ATTENTION !! grossismy < 1 .   *** '
387         STOP
388      ELSE
389         alphay = 1. - 1./ grossismy
390      ENDIF
391
392      PRINT *,' alphax alphay defrun ',alphax,alphay
393c
394c    alphax et alphay sont les anciennes formulat. des grossissements
395c
396c
397
398!Config  Key  = fxyhypb
399!Config  Desc = Fonction  hyperbolique
400!Config  Def  = y
401!Config  Help = Fonction  f(y)  hyperbolique  si = .true. 
402!Config         sinon  sinusoidale
403       fxyhypbb = .TRUE.
404       CALL getin('fxyhypb',fxyhypbb)
405
406      IF( .NOT.fxyhypb )  THEN
407           IF( fxyhypbb )     THEN
408              PRINT *,' ********  PBS DANS  DEFRUN  ******** '
409              PRINT *,' *** fxyhypb lu sur le fichier start est F ',
410     *       'alors  qu il est  T  sur  run.def  ***'
411              STOP
412           ENDIF
413      ELSE
414           IF( .NOT.fxyhypbb )   THEN
415              PRINT *,' ********  PBS DANS  DEFRUN  ******** '
416              PRINT *,' ***  fxyhypb lu sur le fichier start est T ',
417     *        'alors  qu il est  F  sur  run.def  ****  '
418              STOP
419           ENDIF
420      ENDIF
421c
422!Config  Key  = dzoomx
423!Config  Desc = extension en longitude
424!Config  Def  = 0
425!Config  Help = extension en longitude  de la zone du zoom 
426!Config         ( fraction de la zone totale)
427       dzoomxx = 0.0
428       CALL getin('dzoomx',dzoomxx)
429
430      IF( fxyhypb )  THEN
431       IF( ABS(dzoomx - dzoomxx).GE. 0.001 )  THEN
432        PRINT *,' La valeur de dzoomx passee par run.def est differente
433     *  de celle lue sur le fichier  start '
434        STOP
435       ENDIF
436      ENDIF
437
438!Config  Key  = dzoomy
439!Config  Desc = extension en latitude
440!Config  Def  = 0
441!Config  Help = extension en latitude de la zone  du zoom 
442!Config         ( fraction de la zone totale)
443       dzoomyy = 0.0
444       CALL getin('dzoomy',dzoomyy)
445
446      IF( fxyhypb )  THEN
447       IF( ABS(dzoomy - dzoomyy).GE. 0.001 )  THEN
448        PRINT *,' La valeur de dzoomy passee par run.def est differente
449     * de celle lue sur le fichier  start '
450        STOP
451       ENDIF
452      ENDIF
453     
454!Config  Key  = taux
455!Config  Desc = raideur du zoom en  X
456!Config  Def  = 3
457!Config  Help = raideur du zoom en  X
458       tauxx = 3.0
459       CALL getin('taux',tauxx)
460
461      IF( fxyhypb )  THEN
462       IF( ABS(taux - tauxx).GE. 0.001 )  THEN
463        PRINT *,' La valeur de taux passee par run.def est differente
464     * de celle lue sur le fichier  start '
465        STOP
466       ENDIF
467      ENDIF
468
469!Config  Key  = tauyy
470!Config  Desc = raideur du zoom en  Y
471!Config  Def  = 3
472!Config  Help = raideur du zoom en  Y
473       tauyy = 3.0
474       CALL getin('tauy',tauyy)
475
476      IF( fxyhypb )  THEN
477       IF( ABS(tauy - tauyy).GE. 0.001 )  THEN
478        PRINT *,' La valeur de tauy passee par run.def est differente
479     * de celle lue sur le fichier  start '
480        STOP
481       ENDIF
482      ENDIF
483
484cc
485      IF( .NOT.fxyhypb  )  THEN
486
487!Config  Key  = ysinus
488!Config  IF   = !fxyhypb
489!Config  Desc = Fonction en Sinus
490!Config  Def  = y
491!Config  Help = Fonction  f(y) avec y = Sin(latit.) si = .true.
492!Config         sinon y = latit.
493       ysinuss = .TRUE.
494       CALL getin('ysinus',ysinuss)
495
496        IF( .NOT.ysinus )  THEN
497           IF( ysinuss )     THEN
498              PRINT *,' ********  PBS DANS  DEFRUN  ******** '
499              PRINT *,' *** ysinus lu sur le fichier start est F ',
500     *       'alors  qu il est  T  sur  run.def  ***'
501              STOP
502           ENDIF
503        ELSE
504           IF( .NOT.ysinuss )   THEN
505              PRINT *,' ********  PBS DANS  DEFRUN  ******** '
506              PRINT *,' ***  ysinus lu sur le fichier start est T ',
507     *        'alors  qu il est  F  sur  run.def  ****  '
508              STOP
509           ENDIF
510        ENDIF
511      ENDIF
512c
513!Config  Key  = offline
514!Config  Desc = Nouvelle eau liquide
515!Config  Def  = n
516!Config  Help = Permet de mettre en route la
517!Config         nouvelle parametrisation de l'eau liquide !
518       offline = .FALSE.
519       CALL getin('offline',offline)
520
521!Config  Key  = config_inca
522!Config  Desc = Choix de configuration de INCA
523!Config  Def  = none
524!Config  Help = Choix de configuration de INCA :
525!Config         'none' = sans INCA
526!Config         'chem' = INCA avec calcul de chemie
527!Config         'aero' = INCA avec calcul des aerosols
528      config_inca = 'none'
529      CALL getin('config_inca',config_inca)
530
531
532      write(lunout,*)' #########################################'
533      write(lunout,*)' Configuration des parametres du gcm: '
534      write(lunout,*)' dayref = ', dayref
535      write(lunout,*)' anneeref = ', anneeref
536      write(lunout,*)' nday = ', nday
537      write(lunout,*)' day_step = ', day_step
538      write(lunout,*)' iperiod = ', iperiod
539      write(lunout,*)' iconser = ', iconser
540      write(lunout,*)' iecri = ', iecri
541      write(lunout,*)' periodav = ', periodav
542      write(lunout,*)' idissip = ', idissip
543      write(lunout,*)' lstardis = ', lstardis
544      write(lunout,*)' nitergdiv = ', nitergdiv
545      write(lunout,*)' nitergrot = ', nitergrot
546      write(lunout,*)' niterh = ', niterh
547      write(lunout,*)' tetagdiv = ', tetagdiv
548      write(lunout,*)' tetagrot = ', tetagrot
549      write(lunout,*)' tetatemp = ', tetatemp
550      write(lunout,*)' coefdis = ', coefdis
551      write(lunout,*)' purmats = ', purmats
552      write(lunout,*)' iflag_phys = ', iflag_phys
553      write(lunout,*)' clonn = ', clonn
554      write(lunout,*)' clatt = ', clatt
555      write(lunout,*)' grossismx = ', grossismx
556      write(lunout,*)' grossismy = ', grossismy
557      write(lunout,*)' fxyhypbb = ', fxyhypbb
558      write(lunout,*)' dzoomxx = ', dzoomxx
559      write(lunout,*)' dzoomy = ', dzoomyy
560      write(lunout,*)' tauxx = ', tauxx
561      write(lunout,*)' tauyy = ', tauyy
562      write(lunout,*)' offline = ', offline
563      write(lunout,*)' config_inca = ', config_inca
564
565      RETURN
566c   ...............................................
567c
568100   CONTINUE
569!Config  Key  = clon
570!Config  Desc = centre du zoom, longitude
571!Config  Def  = 0
572!Config  Help = longitude en degres du centre
573!Config         du zoom
574       clon = 0.
575       CALL getin('clon',clon)
576
577!Config  Key  = clat
578!Config  Desc = centre du zoom, latitude
579!Config  Def  = 0
580!Config  Help = latitude en degres du centre du zoom
581!Config         
582       clat = 0.
583       CALL getin('clat',clat)
584
585!Config  Key  = grossismx
586!Config  Desc = zoom en longitude
587!Config  Def  = 1.0
588!Config  Help = facteur de grossissement du zoom,
589!Config         selon la longitude
590       grossismx = 1.0
591       CALL getin('grossismx',grossismx)
592
593!Config  Key  = grossismy
594!Config  Desc = zoom en latitude
595!Config  Def  = 1.0
596!Config  Help = facteur de grossissement du zoom,
597!Config         selon la latitude
598       grossismy = 1.0
599       CALL getin('grossismy',grossismy)
600
601      IF( grossismx.LT.1. )  THEN
602        PRINT *,' ***  ATTENTION !! grossismx < 1 .   *** '
603         STOP
604      ELSE
605         alphax = 1. - 1./ grossismx
606      ENDIF
607
608
609      IF( grossismy.LT.1. )  THEN
610        PRINT *,' ***  ATTENTION !! grossismy < 1 .   *** '
611         STOP
612      ELSE
613         alphay = 1. - 1./ grossismy
614      ENDIF
615
616      PRINT *,' alphax alphay defrun ',alphax,alphay
617c
618c    alphax et alphay sont les anciennes formulat. des grossissements
619c
620c
621
622!Config  Key  = fxyhypb
623!Config  Desc = Fonction  hyperbolique
624!Config  Def  = y
625!Config  Help = Fonction  f(y)  hyperbolique  si = .true. 
626!Config         sinon  sinusoidale
627       fxyhypb = .TRUE.
628       CALL getin('fxyhypb',fxyhypb)
629
630!Config  Key  = dzoomx
631!Config  Desc = extension en longitude
632!Config  Def  = 0
633!Config  Help = extension en longitude  de la zone du zoom 
634!Config         ( fraction de la zone totale)
635       dzoomx = 0.0
636       CALL getin('dzoomx',dzoomx)
637
638!Config  Key  = dzoomy
639!Config  Desc = extension en latitude
640!Config  Def  = 0
641!Config  Help = extension en latitude de la zone  du zoom 
642!Config         ( fraction de la zone totale)
643       dzoomy = 0.0
644       CALL getin('dzoomy',dzoomy)
645
646!Config  Key  = taux
647!Config  Desc = raideur du zoom en  X
648!Config  Def  = 3
649!Config  Help = raideur du zoom en  X
650       taux = 3.0
651       CALL getin('taux',taux)
652
653!Config  Key  = tauy
654!Config  Desc = raideur du zoom en  Y
655!Config  Def  = 3
656!Config  Help = raideur du zoom en  Y
657       tauy = 3.0
658       CALL getin('tauy',tauy)
659
660!Config  Key  = ysinus
661!Config  IF   = !fxyhypb
662!Config  Desc = Fonction en Sinus
663!Config  Def  = y
664!Config  Help = Fonction  f(y) avec y = Sin(latit.) si = .true.
665!Config         sinon y = latit.
666       ysinus = .TRUE.
667       CALL getin('ysinus',ysinus)
668c
669!Config  Key  = offline
670!Config  Desc = Nouvelle eau liquide
671!Config  Def  = n
672!Config  Help = Permet de mettre en route la
673!Config         nouvelle parametrisation de l'eau liquide !
674       offline = .FALSE.
675       CALL getin('offline',offline)
676
677!Config  Key  = config_inca
678!Config  Desc = Choix de configuration de INCA
679!Config  Def  = none
680!Config  Help = Choix de configuration de INCA :
681!Config         'none' = sans INCA
682!Config         'chem' = INCA avec calcul de chemie
683!Config         'aero' = INCA avec calcul des aerosols
684      config_inca = 'none'
685      CALL getin('config_inca',config_inca)
686
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)
714
715!Config key = ok_strato
716!Config  Desc = activation de la version strato
717!Config  Def  = .FALSE.
718!Config  Help = active la version stratosphérique de LMDZ de F. Lott
719
720      ok_strato=.FALSE.
721      CALL getin('ok_strato',ok_strato)
722
723!Config  Key  = ok_gradsfile
724!Config  Desc = activation des sorties grads du guidage
725!Config  Def  = n
726!Config  Help = active les sorties grads du guidage
727
728       ok_gradsfile = .FALSE.
729       CALL getin('ok_gradsfile',ok_gradsfile)
730
731      write(lunout,*)' #########################################'
732      write(lunout,*)' Configuration des parametres du gcm: '
733      write(lunout,*)' dayref = ', dayref
734      write(lunout,*)' anneeref = ', anneeref
735      write(lunout,*)' nday = ', nday
736      write(lunout,*)' day_step = ', day_step
737      write(lunout,*)' iperiod = ', iperiod
738      write(lunout,*)' iconser = ', iconser
739      write(lunout,*)' iecri = ', iecri
740      write(lunout,*)' periodav = ', periodav
741      write(lunout,*)' idissip = ', idissip
742      write(lunout,*)' lstardis = ', lstardis
743      write(lunout,*)' nitergdiv = ', nitergdiv
744      write(lunout,*)' nitergrot = ', nitergrot
745      write(lunout,*)' niterh = ', niterh
746      write(lunout,*)' tetagdiv = ', tetagdiv
747      write(lunout,*)' tetagrot = ', tetagrot
748      write(lunout,*)' tetatemp = ', tetatemp
749      write(lunout,*)' coefdis = ', coefdis
750      write(lunout,*)' purmats = ', purmats
751      write(lunout,*)' iflag_phys = ', iflag_phys
752      write(lunout,*)' clon = ', clon
753      write(lunout,*)' clat = ', clat
754      write(lunout,*)' grossismx = ', grossismx
755      write(lunout,*)' grossismy = ', grossismy
756      write(lunout,*)' fxyhypbb = ', fxyhypbb
757      write(lunout,*)' dzoomx = ', dzoomx
758      write(lunout,*)' dzoomy = ', dzoomy
759      write(lunout,*)' taux = ', taux
760      write(lunout,*)' tauy = ', tauy
761      write(lunout,*)' offline = ', offline
762      write(lunout,*)' config_inca = ', config_inca
763      write(lunout,*)' use_filtre_fft = ', use_filtre_fft
764      write(lunout,*)' use_mpi_alloc = ', use_mpi_alloc
765      write(lunout,*)' omp_chunk = ', omp_chunk
766      write(lunout,*)' ok_strato = ', ok_strato
767      write(lunout,*)' ok_gradsfile = ', ok_gradsfile
768c
769      RETURN
770      END
Note: See TracBrowser for help on using the repository browser.