source: LMDZ4/branches/V3_test/libf/dyn3d/conf_gcm.F @ 4291

Last change on this file since 4291 was 703, checked in by (none), 19 years ago

This commit was manufactured by cvs2svn to create branch 'V3_test'.

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