source: LMDZ4/branches/IPSL-CM4_IPCC_patches/libf/dyn3d/conf_gcm.F @ 540

Last change on this file since 540 was 540, checked in by (none), 20 years ago

This commit was manufactured by cvs2svn to create branch
'IPSL-CM4_IPCC_patches'.

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