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

Last change on this file since 965 was 960, checked in by lsce, 16 years ago
  • Ajoute du parametre config_inca dans conf_gcm.F config_inca='none'(sans INCA, par defaut) config_inca='chem'(avec INCA config chemie) config_inca='aero'(avec INCA config aerosol)
  • Menage parmis les cles CPP INCA
  • Enleve le calcul d'omega dans calfis.F et active le calcul correspondant dans advtrac.F(avant uniquement pour INCA).

JG

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