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

Last change on this file since 630 was 630, checked in by Laurent Fairhead, 20 years ago

Import d'une version parallele de la dynamique YM
LF

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 23.9 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      DO i = 1, longcles
376       clesphy0(i) = 0.
377      ENDDO
378                          clesphy0(1) = FLOAT( iflag_con )
379                          clesphy0(2) = FLOAT( nbapp_rad )
380
381       IF( cycle_diurne  ) clesphy0(3) =  1.
382       IF(   soil_model  ) clesphy0(4) =  1.
383       IF(     new_oliq  ) clesphy0(5) =  1.
384       IF(     ok_orodr  ) clesphy0(6) =  1.
385       IF(     ok_orolf  ) clesphy0(7) =  1.
386       IF(  ok_limitvrai ) clesphy0(8) =  1.
387
388
389ccc  ....   P. Le Van , ajout  le 7/03/95 .pour le zoom ...
390c     .........   (  modif  le 17/04/96 )   .........
391c
392      IF( etatinit ) GO TO 100
393
394!Config  Key  = clon
395!Config  Desc = centre du zoom, longitude
396!Config  Def  = 0
397!Config  Help = longitude en degres du centre
398!Config         du zoom
399       clonn = 0.
400       CALL getin('clon',clonn)
401
402!Config  Key  = clat
403!Config  Desc = centre du zoom, latitude
404!Config  Def  = 0
405!Config  Help = latitude en degres du centre du zoom
406!Config         
407       clatt = 0.
408       CALL getin('clat',clatt)
409
410c
411c
412      IF( ABS(clat - clatt).GE. 0.001 )  THEN
413        PRINT *,' La valeur de clat passee par run.def est differente de
414     *  celle lue sur le fichier  start '
415        STOP
416      ENDIF
417
418!Config  Key  = grossismx
419!Config  Desc = zoom en longitude
420!Config  Def  = 1.0
421!Config  Help = facteur de grossissement du zoom,
422!Config         selon la longitude
423       grossismxx = 1.0
424       CALL getin('grossismx',grossismxx)
425
426
427      IF( ABS(grossismx - grossismxx).GE. 0.001 )  THEN
428        PRINT *,' La valeur de grossismx passee par run.def est differente 
429     *  de celle lue sur le fichier  start '
430        STOP
431      ENDIF
432
433!Config  Key  = grossismy
434!Config  Desc = zoom en latitude
435!Config  Def  = 1.0
436!Config  Help = facteur de grossissement du zoom,
437!Config         selon la latitude
438       grossismyy = 1.0
439       CALL getin('grossismy',grossismyy)
440
441      IF( ABS(grossismy - grossismyy).GE. 0.001 )  THEN
442        PRINT *,' La valeur de grossismy passee par run.def est differen
443     * te de celle lue sur le fichier  start '
444        STOP
445      ENDIF
446     
447      IF( grossismx.LT.1. )  THEN
448        PRINT *,' ***  ATTENTION !! grossismx < 1 .   *** '
449         STOP
450      ELSE
451         alphax = 1. - 1./ grossismx
452      ENDIF
453
454
455      IF( grossismy.LT.1. )  THEN
456        PRINT *,' ***  ATTENTION !! grossismy < 1 .   *** '
457         STOP
458      ELSE
459         alphay = 1. - 1./ grossismy
460      ENDIF
461
462      PRINT *,' alphax alphay defrun ',alphax,alphay
463c
464c    alphax et alphay sont les anciennes formulat. des grossissements
465c
466c
467
468!Config  Key  = fxyhypb
469!Config  Desc = Fonction  hyperbolique
470!Config  Def  = y
471!Config  Help = Fonction  f(y)  hyperbolique  si = .true. 
472!Config         sinon  sinusoidale
473       fxyhypbb = .TRUE.
474       CALL getin('fxyhypb',fxyhypbb)
475
476      IF( .NOT.fxyhypb )  THEN
477           IF( fxyhypbb )     THEN
478              PRINT *,' ********  PBS DANS  DEFRUN  ******** '
479              PRINT *,' *** fxyhypb lu sur le fichier start est F ',
480     *       'alors  qu il est  T  sur  run.def  ***'
481              STOP
482           ENDIF
483      ELSE
484           IF( .NOT.fxyhypbb )   THEN
485              PRINT *,' ********  PBS DANS  DEFRUN  ******** '
486              PRINT *,' ***  fxyhypb lu sur le fichier start est T ',
487     *        'alors  qu il est  F  sur  run.def  ****  '
488              STOP
489           ENDIF
490      ENDIF
491c
492!Config  Key  = dzoomx
493!Config  Desc = extension en longitude
494!Config  Def  = 0
495!Config  Help = extension en longitude  de la zone du zoom 
496!Config         ( fraction de la zone totale)
497       dzoomxx = 0.0
498       CALL getin('dzoomx',dzoomxx)
499
500      IF( fxyhypb )  THEN
501       IF( ABS(dzoomx - dzoomxx).GE. 0.001 )  THEN
502        PRINT *,' La valeur de dzoomx passee par run.def est differente
503     *  de celle lue sur le fichier  start '
504        STOP
505       ENDIF
506      ENDIF
507
508!Config  Key  = dzoomy
509!Config  Desc = extension en latitude
510!Config  Def  = 0
511!Config  Help = extension en latitude de la zone  du zoom 
512!Config         ( fraction de la zone totale)
513       dzoomyy = 0.0
514       CALL getin('dzoomy',dzoomyy)
515
516      IF( fxyhypb )  THEN
517       IF( ABS(dzoomy - dzoomyy).GE. 0.001 )  THEN
518        PRINT *,' La valeur de dzoomy passee par run.def est differente
519     * de celle lue sur le fichier  start '
520        STOP
521       ENDIF
522      ENDIF
523     
524!Config  Key  = taux
525!Config  Desc = raideur du zoom en  X
526!Config  Def  = 3
527!Config  Help = raideur du zoom en  X
528       tauxx = 3.0
529       CALL getin('taux',tauxx)
530
531      IF( fxyhypb )  THEN
532       IF( ABS(taux - tauxx).GE. 0.001 )  THEN
533        PRINT *,' La valeur de taux passee par run.def est differente
534     * de celle lue sur le fichier  start '
535        STOP
536       ENDIF
537      ENDIF
538
539!Config  Key  = tauyy
540!Config  Desc = raideur du zoom en  Y
541!Config  Def  = 3
542!Config  Help = raideur du zoom en  Y
543       tauyy = 3.0
544       CALL getin('tauy',tauyy)
545
546      IF( fxyhypb )  THEN
547       IF( ABS(tauy - tauyy).GE. 0.001 )  THEN
548        PRINT *,' La valeur de tauy passee par run.def est differente
549     * de celle lue sur le fichier  start '
550        STOP
551       ENDIF
552      ENDIF
553
554cc
555      IF( .NOT.fxyhypb  )  THEN
556
557!Config  Key  = ysinus
558!Config  IF   = !fxyhypb
559!Config  Desc = Fonction en Sinus
560!Config  Def  = y
561!Config  Help = Fonction  f(y) avec y = Sin(latit.) si = .true.
562!Config         sinon y = latit.
563       ysinuss = .TRUE.
564       CALL getin('ysinus',ysinuss)
565
566        IF( .NOT.ysinus )  THEN
567           IF( ysinuss )     THEN
568              PRINT *,' ********  PBS DANS  DEFRUN  ******** '
569              PRINT *,' *** ysinus lu sur le fichier start est F ',
570     *       'alors  qu il est  T  sur  run.def  ***'
571              STOP
572           ENDIF
573        ELSE
574           IF( .NOT.ysinuss )   THEN
575              PRINT *,' ********  PBS DANS  DEFRUN  ******** '
576              PRINT *,' ***  ysinus lu sur le fichier start est T ',
577     *        'alors  qu il est  F  sur  run.def  ****  '
578              STOP
579           ENDIF
580        ENDIF
581      ENDIF
582c
583!Config  Key  = offline
584!Config  Desc = Nouvelle eau liquide
585!Config  Def  = n
586!Config  Help = Permet de mettre en route la
587!Config         nouvelle parametrisation de l'eau liquide !
588       offline = .FALSE.
589       CALL getin('offline',offline)
590
591
592      write(lunout,*)' #########################################'
593      write(lunout,*)' Configuration des parametres du gcm: '
594      write(lunout,*)' dayref = ', dayref
595      write(lunout,*)' anneeref = ', anneeref
596      write(lunout,*)' nday = ', nday
597      write(lunout,*)' day_step = ', day_step
598      write(lunout,*)' iperiod = ', iperiod
599      write(lunout,*)' iconser = ', iconser
600      write(lunout,*)' iecri = ', iecri
601      write(lunout,*)' periodav = ', periodav
602      write(lunout,*)' idissip = ', idissip
603      write(lunout,*)' lstardis = ', lstardis
604      write(lunout,*)' nitergdiv = ', nitergdiv
605      write(lunout,*)' nitergrot = ', nitergrot
606      write(lunout,*)' niterh = ', niterh
607      write(lunout,*)' tetagdiv = ', tetagdiv
608      write(lunout,*)' tetagrot = ', tetagrot
609      write(lunout,*)' tetatemp = ', tetatemp
610      write(lunout,*)' coefdis = ', coefdis
611      write(lunout,*)' purmats = ', purmats
612      write(lunout,*)' iflag_phys = ', iflag_phys
613      write(lunout,*)' iphysiq = ', iphysiq
614      write(lunout,*)' ecritphy = ', ecritphy
615      write(lunout,*)' cycle_diurne = ', cycle_diurne
616      write(lunout,*)' soil_model = ', soil_model
617      write(lunout,*)' new_oliq = ', new_oliq
618      write(lunout,*)' ok_orodr = ', ok_orodr
619      write(lunout,*)' ok_orolf = ', ok_orolf
620      write(lunout,*)' ok_limitvrai = ', ok_limitvrai
621      write(lunout,*)' nbapp_rad = ', nbapp_rad
622      write(lunout,*)' iflag_con = ', iflag_con
623      write(lunout,*)' clonn = ', clonn
624      write(lunout,*)' clatt = ', clatt
625      write(lunout,*)' grossismx = ', grossismx
626      write(lunout,*)' grossismy = ', grossismy
627      write(lunout,*)' fxyhypbb = ', fxyhypbb
628      write(lunout,*)' dzoomxx = ', dzoomxx
629      write(lunout,*)' dzoomy = ', dzoomyy
630      write(lunout,*)' tauxx = ', tauxx
631      write(lunout,*)' tauyy = ', tauyy
632      write(lunout,*)' offline = ', offline
633
634      RETURN
635c   ...............................................
636c
637100   CONTINUE
638!Config  Key  = clon
639!Config  Desc = centre du zoom, longitude
640!Config  Def  = 0
641!Config  Help = longitude en degres du centre
642!Config         du zoom
643       clon = 0.
644       CALL getin('clon',clon)
645
646!Config  Key  = clat
647!Config  Desc = centre du zoom, latitude
648!Config  Def  = 0
649!Config  Help = latitude en degres du centre du zoom
650!Config         
651       clat = 0.
652       CALL getin('clat',clat)
653
654!Config  Key  = grossismx
655!Config  Desc = zoom en longitude
656!Config  Def  = 1.0
657!Config  Help = facteur de grossissement du zoom,
658!Config         selon la longitude
659       grossismx = 1.0
660       CALL getin('grossismx',grossismx)
661
662!Config  Key  = grossismy
663!Config  Desc = zoom en latitude
664!Config  Def  = 1.0
665!Config  Help = facteur de grossissement du zoom,
666!Config         selon la latitude
667       grossismy = 1.0
668       CALL getin('grossismy',grossismy)
669
670      IF( grossismx.LT.1. )  THEN
671        PRINT *,' ***  ATTENTION !! grossismx < 1 .   *** '
672         STOP
673      ELSE
674         alphax = 1. - 1./ grossismx
675      ENDIF
676
677
678      IF( grossismy.LT.1. )  THEN
679        PRINT *,' ***  ATTENTION !! grossismy < 1 .   *** '
680         STOP
681      ELSE
682         alphay = 1. - 1./ grossismy
683      ENDIF
684
685      PRINT *,' alphax alphay defrun ',alphax,alphay
686c
687c    alphax et alphay sont les anciennes formulat. des grossissements
688c
689c
690
691!Config  Key  = fxyhypb
692!Config  Desc = Fonction  hyperbolique
693!Config  Def  = y
694!Config  Help = Fonction  f(y)  hyperbolique  si = .true. 
695!Config         sinon  sinusoidale
696       fxyhypb = .TRUE.
697       CALL getin('fxyhypb',fxyhypb)
698
699!Config  Key  = dzoomx
700!Config  Desc = extension en longitude
701!Config  Def  = 0
702!Config  Help = extension en longitude  de la zone du zoom 
703!Config         ( fraction de la zone totale)
704       dzoomx = 0.0
705       CALL getin('dzoomx',dzoomx)
706
707!Config  Key  = dzoomy
708!Config  Desc = extension en latitude
709!Config  Def  = 0
710!Config  Help = extension en latitude de la zone  du zoom 
711!Config         ( fraction de la zone totale)
712       dzoomy = 0.0
713       CALL getin('dzoomy',dzoomy)
714
715!Config  Key  = taux
716!Config  Desc = raideur du zoom en  X
717!Config  Def  = 3
718!Config  Help = raideur du zoom en  X
719       taux = 3.0
720       CALL getin('taux',taux)
721
722!Config  Key  = tauy
723!Config  Desc = raideur du zoom en  Y
724!Config  Def  = 3
725!Config  Help = raideur du zoom en  Y
726       tauy = 3.0
727       CALL getin('tauy',tauy)
728
729!Config  Key  = ysinus
730!Config  IF   = !fxyhypb
731!Config  Desc = Fonction en Sinus
732!Config  Def  = y
733!Config  Help = Fonction  f(y) avec y = Sin(latit.) si = .true.
734!Config         sinon y = latit.
735       ysinus = .TRUE.
736       CALL getin('ysinus',ysinus)
737c
738!Config  Key  = offline
739!Config  Desc = Nouvelle eau liquide
740!Config  Def  = n
741!Config  Help = Permet de mettre en route la
742!Config         nouvelle parametrisation de l'eau liquide !
743       offline = .FALSE.
744       CALL getin('offline',offline)
745      write(lunout,*)' offline = ', offline
746
747
748      write(lunout,*)' #########################################'
749      write(lunout,*)' Configuration des parametres du gcm: '
750      write(lunout,*)' dayref = ', dayref
751      write(lunout,*)' anneeref = ', anneeref
752      write(lunout,*)' nday = ', nday
753      write(lunout,*)' day_step = ', day_step
754      write(lunout,*)' iperiod = ', iperiod
755      write(lunout,*)' iconser = ', iconser
756      write(lunout,*)' iecri = ', iecri
757      write(lunout,*)' periodav = ', periodav
758      write(lunout,*)' idissip = ', idissip
759      write(lunout,*)' lstardis = ', lstardis
760      write(lunout,*)' nitergdiv = ', nitergdiv
761      write(lunout,*)' nitergrot = ', nitergrot
762      write(lunout,*)' niterh = ', niterh
763      write(lunout,*)' tetagdiv = ', tetagdiv
764      write(lunout,*)' tetagrot = ', tetagrot
765      write(lunout,*)' tetatemp = ', tetatemp
766      write(lunout,*)' coefdis = ', coefdis
767      write(lunout,*)' purmats = ', purmats
768      write(lunout,*)' iflag_phys = ', iflag_phys
769      write(lunout,*)' iphysiq = ', iphysiq
770      write(lunout,*)' ecritphy = ', ecritphy
771      write(lunout,*)' cycle_diurne = ', cycle_diurne
772      write(lunout,*)' soil_model = ', soil_model
773      write(lunout,*)' new_oliq = ', new_oliq
774      write(lunout,*)' ok_orodr = ', ok_orodr
775      write(lunout,*)' ok_orolf = ', ok_orolf
776      write(lunout,*)' ok_limitvrai = ', ok_limitvrai
777      write(lunout,*)' nbapp_rad = ', nbapp_rad
778      write(lunout,*)' iflag_con = ', iflag_con
779      write(lunout,*)' clonn = ', clonn
780      write(lunout,*)' clatt = ', clatt
781      write(lunout,*)' grossismx = ', grossismx
782      write(lunout,*)' grossismy = ', grossismy
783      write(lunout,*)' fxyhypbb = ', fxyhypbb
784      write(lunout,*)' dzoomx = ', dzoomx
785      write(lunout,*)' dzoomy = ', dzoomy
786      write(lunout,*)' taux = ', taux
787      write(lunout,*)' tauy = ', tauy
788      write(lunout,*)' offline = ', offline
789c
790      RETURN
791      END
Note: See TracBrowser for help on using the repository browser.