source: LMDZ4/trunk/libf/dyn3d/conf_gcm.F @ 1227

Last change on this file since 1227 was 1146, checked in by Laurent Fairhead, 16 years ago

Réintegration dans le tronc des modifications issues de la branche LMDZ-dev
comprises entre la révision 1074 et 1145
Validation: une simulation de 1 jour en séquentiel sur PC donne les mêmes
résultats entre la trunk et la dev
LF

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