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

Last change on this file since 808 was 764, checked in by Laurent Fairhead, 18 years ago

Merge entre la version V3_conv et le HEAD
YM, JG, LF

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 24.3 KB
Line 
1!
2! $Header$
3!
4c
5c
6      SUBROUTINE conf_gcm( tapedef, etatinit, clesphy0 )
7c
8      use IOIPSL
9      use misc_mod
10      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
604      write(lunout,*)' #########################################'
605      write(lunout,*)' Configuration des parametres du gcm: '
606      write(lunout,*)' dayref = ', dayref
607      write(lunout,*)' anneeref = ', anneeref
608      write(lunout,*)' nday = ', nday
609      write(lunout,*)' day_step = ', day_step
610      write(lunout,*)' iperiod = ', iperiod
611      write(lunout,*)' iconser = ', iconser
612      write(lunout,*)' iecri = ', iecri
613      write(lunout,*)' periodav = ', periodav
614      write(lunout,*)' idissip = ', idissip
615      write(lunout,*)' lstardis = ', lstardis
616      write(lunout,*)' nitergdiv = ', nitergdiv
617      write(lunout,*)' nitergrot = ', nitergrot
618      write(lunout,*)' niterh = ', niterh
619      write(lunout,*)' tetagdiv = ', tetagdiv
620      write(lunout,*)' tetagrot = ', tetagrot
621      write(lunout,*)' tetatemp = ', tetatemp
622      write(lunout,*)' coefdis = ', coefdis
623      write(lunout,*)' purmats = ', purmats
624      write(lunout,*)' iflag_phys = ', iflag_phys
625      write(lunout,*)' iphysiq = ', iphysiq
626      write(lunout,*)' ecritphy = ', ecritphy
627      write(lunout,*)' cycle_diurne = ', cycle_diurne
628      write(lunout,*)' soil_model = ', soil_model
629      write(lunout,*)' new_oliq = ', new_oliq
630      write(lunout,*)' ok_orodr = ', ok_orodr
631      write(lunout,*)' ok_orolf = ', ok_orolf
632      write(lunout,*)' ok_limitvrai = ', ok_limitvrai
633      write(lunout,*)' nbapp_rad = ', nbapp_rad
634      write(lunout,*)' iflag_con = ', iflag_con
635      write(lunout,*)' clonn = ', clonn
636      write(lunout,*)' clatt = ', clatt
637      write(lunout,*)' grossismx = ', grossismx
638      write(lunout,*)' grossismy = ', grossismy
639      write(lunout,*)' fxyhypbb = ', fxyhypbb
640      write(lunout,*)' dzoomxx = ', dzoomxx
641      write(lunout,*)' dzoomy = ', dzoomyy
642      write(lunout,*)' tauxx = ', tauxx
643      write(lunout,*)' tauyy = ', tauyy
644      write(lunout,*)' offline = ', offline
645
646      RETURN
647c   ...............................................
648c
649100   CONTINUE
650!Config  Key  = clon
651!Config  Desc = centre du zoom, longitude
652!Config  Def  = 0
653!Config  Help = longitude en degres du centre
654!Config         du zoom
655       clon = 0.
656       CALL getin('clon',clon)
657
658!Config  Key  = clat
659!Config  Desc = centre du zoom, latitude
660!Config  Def  = 0
661!Config  Help = latitude en degres du centre du zoom
662!Config         
663       clat = 0.
664       CALL getin('clat',clat)
665
666!Config  Key  = grossismx
667!Config  Desc = zoom en longitude
668!Config  Def  = 1.0
669!Config  Help = facteur de grossissement du zoom,
670!Config         selon la longitude
671       grossismx = 1.0
672       CALL getin('grossismx',grossismx)
673
674!Config  Key  = grossismy
675!Config  Desc = zoom en latitude
676!Config  Def  = 1.0
677!Config  Help = facteur de grossissement du zoom,
678!Config         selon la latitude
679       grossismy = 1.0
680       CALL getin('grossismy',grossismy)
681
682      IF( grossismx.LT.1. )  THEN
683        PRINT *,' ***  ATTENTION !! grossismx < 1 .   *** '
684         STOP
685      ELSE
686         alphax = 1. - 1./ grossismx
687      ENDIF
688
689
690      IF( grossismy.LT.1. )  THEN
691        PRINT *,' ***  ATTENTION !! grossismy < 1 .   *** '
692         STOP
693      ELSE
694         alphay = 1. - 1./ grossismy
695      ENDIF
696
697      PRINT *,' alphax alphay defrun ',alphax,alphay
698c
699c    alphax et alphay sont les anciennes formulat. des grossissements
700c
701c
702
703!Config  Key  = fxyhypb
704!Config  Desc = Fonction  hyperbolique
705!Config  Def  = y
706!Config  Help = Fonction  f(y)  hyperbolique  si = .true. 
707!Config         sinon  sinusoidale
708       fxyhypb = .TRUE.
709       CALL getin('fxyhypb',fxyhypb)
710
711!Config  Key  = dzoomx
712!Config  Desc = extension en longitude
713!Config  Def  = 0
714!Config  Help = extension en longitude  de la zone du zoom 
715!Config         ( fraction de la zone totale)
716       dzoomx = 0.0
717       CALL getin('dzoomx',dzoomx)
718
719!Config  Key  = dzoomy
720!Config  Desc = extension en latitude
721!Config  Def  = 0
722!Config  Help = extension en latitude de la zone  du zoom 
723!Config         ( fraction de la zone totale)
724       dzoomy = 0.0
725       CALL getin('dzoomy',dzoomy)
726
727!Config  Key  = taux
728!Config  Desc = raideur du zoom en  X
729!Config  Def  = 3
730!Config  Help = raideur du zoom en  X
731       taux = 3.0
732       CALL getin('taux',taux)
733
734!Config  Key  = tauy
735!Config  Desc = raideur du zoom en  Y
736!Config  Def  = 3
737!Config  Help = raideur du zoom en  Y
738       tauy = 3.0
739       CALL getin('tauy',tauy)
740
741!Config  Key  = ysinus
742!Config  IF   = !fxyhypb
743!Config  Desc = Fonction en Sinus
744!Config  Def  = y
745!Config  Help = Fonction  f(y) avec y = Sin(latit.) si = .true.
746!Config         sinon y = latit.
747       ysinus = .TRUE.
748       CALL getin('ysinus',ysinus)
749c
750!Config  Key  = offline
751!Config  Desc = Nouvelle eau liquide
752!Config  Def  = n
753!Config  Help = Permet de mettre en route la
754!Config         nouvelle parametrisation de l'eau liquide !
755       offline = .FALSE.
756       CALL getin('offline',offline)
757      write(lunout,*)' offline = ', offline
758
759
760      write(lunout,*)' #########################################'
761      write(lunout,*)' Configuration des parametres du gcm: '
762      write(lunout,*)' dayref = ', dayref
763      write(lunout,*)' anneeref = ', anneeref
764      write(lunout,*)' nday = ', nday
765      write(lunout,*)' day_step = ', day_step
766      write(lunout,*)' iperiod = ', iperiod
767      write(lunout,*)' iconser = ', iconser
768      write(lunout,*)' iecri = ', iecri
769      write(lunout,*)' periodav = ', periodav
770      write(lunout,*)' idissip = ', idissip
771      write(lunout,*)' lstardis = ', lstardis
772      write(lunout,*)' nitergdiv = ', nitergdiv
773      write(lunout,*)' nitergrot = ', nitergrot
774      write(lunout,*)' niterh = ', niterh
775      write(lunout,*)' tetagdiv = ', tetagdiv
776      write(lunout,*)' tetagrot = ', tetagrot
777      write(lunout,*)' tetatemp = ', tetatemp
778      write(lunout,*)' coefdis = ', coefdis
779      write(lunout,*)' purmats = ', purmats
780      write(lunout,*)' iflag_phys = ', iflag_phys
781      write(lunout,*)' iphysiq = ', iphysiq
782      write(lunout,*)' ecritphy = ', ecritphy
783      write(lunout,*)' cycle_diurne = ', cycle_diurne
784      write(lunout,*)' soil_model = ', soil_model
785      write(lunout,*)' new_oliq = ', new_oliq
786      write(lunout,*)' ok_orodr = ', ok_orodr
787      write(lunout,*)' ok_orolf = ', ok_orolf
788      write(lunout,*)' ok_limitvrai = ', ok_limitvrai
789      write(lunout,*)' nbapp_rad = ', nbapp_rad
790      write(lunout,*)' iflag_con = ', iflag_con
791      write(lunout,*)' clonn = ', clonn
792      write(lunout,*)' clatt = ', clatt
793      write(lunout,*)' grossismx = ', grossismx
794      write(lunout,*)' grossismy = ', grossismy
795      write(lunout,*)' fxyhypbb = ', fxyhypbb
796      write(lunout,*)' dzoomx = ', dzoomx
797      write(lunout,*)' dzoomy = ', dzoomy
798      write(lunout,*)' taux = ', taux
799      write(lunout,*)' tauy = ', tauy
800      write(lunout,*)' offline = ', offline
801c
802      RETURN
803      END
Note: See TracBrowser for help on using the repository browser.