6 SUBROUTINE defrun( tapedef, etatinit, clesphy0 )
26 REAL clesphy0( longcles )
30 #include "dimensions.h"
34 #include "comdissnew.h"
41 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
83 OPEN( tapedef,file =
'gcm.def',status=
'old',form=
'formatted')
86 READ (tapedef,9000) ch1,ch2,ch3
87 WRITE(tapeout,9000) ch1,ch2,ch3
89 READ (tapedef,9001) ch1,ch4
90 READ (tapedef,*) dayref
91 WRITE(tapeout,9001) ch1,
'dayref'
92 WRITE(tapeout,*) dayref
94 READ (tapedef,9001) ch1,ch4
95 READ (tapedef,*) anneeref
96 WRITE(tapeout,9001) ch1,
'anneeref'
97 WRITE(tapeout,*) anneeref
99 READ (tapedef,9001) ch1,ch4
100 READ (tapedef,*) nday
101 WRITE(tapeout,9001) ch1,
'nday'
102 WRITE(tapeout,*) nday
104 READ (tapedef,9001) ch1,ch4
105 READ (tapedef,*) day_step
106 WRITE(tapeout,9001) ch1,
'day_step'
107 WRITE(tapeout,*) day_step
109 READ (tapedef,9001) ch1,ch4
110 READ (tapedef,*) iperiod
111 WRITE(tapeout,9001) ch1,
'iperiod'
112 WRITE(tapeout,*) iperiod
114 READ (tapedef,9001) ch1,ch4
115 READ (tapedef,*) iapp_tracvl
116 WRITE(tapeout,9001) ch1,
'iapp_tracvl'
117 WRITE(tapeout,*) iapp_tracvl
119 READ (tapedef,9001) ch1,ch4
120 READ (tapedef,*) iconser
121 WRITE(tapeout,9001) ch1,
'iconser'
122 WRITE(tapeout,*) iconser
124 READ (tapedef,9001) ch1,ch4
125 READ (tapedef,*) iecri
126 WRITE(tapeout,9001) ch1,
'iecri'
127 WRITE(tapeout,*) iecri
129 READ (tapedef,9001) ch1,ch4
130 READ (tapedef,*) periodav
131 WRITE(tapeout,9001) ch1,
'periodav'
132 WRITE(tapeout,*) periodav
134 READ (tapedef,9001) ch1,ch4
135 READ (tapedef,*) dissip_period
136 WRITE(tapeout,9001) ch1,
'dissip_period'
137 WRITE(tapeout,*) dissip_period
141 READ (tapedef,9001) ch1,ch4
142 READ (tapedef,*) lstardis
143 WRITE(tapeout,9001) ch1,
'lstardis'
144 WRITE(tapeout,*) lstardis
146 READ (tapedef,9001) ch1,ch4
148 WRITE(tapeout,9001) ch1,
'nitergdiv'
151 READ (tapedef,9001) ch1,ch4
153 WRITE(tapeout,9001) ch1,
'nitergrot'
156 READ (tapedef,9001) ch1,ch4
158 WRITE(tapeout,9001) ch1,
'niterh'
161 READ (tapedef,9001) ch1,ch4
163 WRITE(tapeout,9001) ch1,
'tetagdiv'
166 READ (tapedef,9001) ch1,ch4
168 WRITE(tapeout,9001) ch1,
'tetagrot'
171 READ (tapedef,9001) ch1,ch4
173 WRITE(tapeout,9001) ch1,
'tetatemp'
176 READ (tapedef,9001) ch1,ch4
178 WRITE(tapeout,9001) ch1,
'coefdis'
181 READ (tapedef,9001) ch1,ch4
183 WRITE(tapeout,9001) ch1,
'purmats'
188 READ (tapedef,9001) ch1,ch4
190 WRITE(tapeout,9001) ch1,
'iflag_phys'
193 READ (tapedef,9001) ch1,ch4
194 READ (tapedef,*) iphysiq
195 WRITE(tapeout,9001) ch1,
'iphysiq'
196 WRITE(tapeout,*) iphysiq
199 READ (tapedef,9001) ch1,ch4
201 WRITE(tapeout,9001) ch1,
'cycle_diurne'
204 READ (tapedef,9001) ch1,ch4
206 WRITE(tapeout,9001) ch1,
'soil_model'
209 READ (tapedef,9001) ch1,ch4
211 WRITE(tapeout,9001) ch1,
'new_oliq'
214 READ (tapedef,9001) ch1,ch4
216 WRITE(tapeout,9001) ch1,
'ok_orodr'
219 READ (tapedef,9001) ch1,ch4
221 WRITE(tapeout,9001) ch1,
'ok_orolf'
224 READ (tapedef,9001) ch1,ch4
226 WRITE(tapeout,9001) ch1,
'ok_limitvrai'
229 READ (tapedef,9001) ch1,ch4
231 WRITE(tapeout,9001) ch1,
'nbapp_rad'
234 READ (tapedef,9001) ch1,ch4
236 WRITE(tapeout,9001) ch1,
'iflag_con'
256 IF( etatinit ) go to 100
258 READ (tapedef,9001) ch1,ch4
259 READ (tapedef,*) clonn
260 WRITE(tapeout,9001) ch1,
'clon'
261 WRITE(tapeout,*) clonn
262 IF( abs(
clon - clonn).GE. 0.001 )
THEN
264 ' La valeur de clon passee par run.def est diffe *rente de celle lue sur le fichier start '
268 READ (tapedef,9001) ch1,ch4
269 READ (tapedef,*) clatt
270 WRITE(tapeout,9001) ch1,
'clat'
271 WRITE(tapeout,*) clatt
273 IF( abs(
clat - clatt).GE. 0.001 )
THEN
275 ' La valeur de clat passee par run.def est diffe *rente de celle lue sur le fichier start '
279 READ (tapedef,9001) ch1,ch4
280 READ (tapedef,*) grossismxx
281 WRITE(tapeout,9001) ch1,
'grossismx'
282 WRITE(tapeout,*) grossismxx
284 IF( abs(
grossismx - grossismxx).GE. 0.001 )
THEN
286 ' La valeur de grossismx passee par run.def est , differente de celle lue sur le fichier start '
290 READ (tapedef,9001) ch1,ch4
291 READ (tapedef,*) grossismyy
292 WRITE(tapeout,9001) ch1,
'grossismy'
293 WRITE(tapeout,*) grossismyy
295 IF( abs(
grossismy - grossismyy).GE. 0.001 )
THEN
297 ' La valeur de grossismy passee par run.def est , differente de celle lue sur le fichier start '
302 WRITE(tapeout,*)
' *** ATTENTION !! grossismx < 1 . *** '
310 WRITE(tapeout,*)
' *** ATTENTION !! grossismy < 1 . *** '
320 READ (tapedef,9001) ch1,ch4
321 READ (tapedef,*) fxyhypbb
322 WRITE(tapeout,9001) ch1,
'fxyhypbb'
323 WRITE(tapeout,*) fxyhypbb
327 WRITE(tapeout,*)
' ******** PBS DANS DEFRUN ******** '
328 WRITE(tapeout,*)
' *** fxyhypb lu sur le fichier start est F'
329 *,
' alors qu il est T sur run.def ***'
333 IF( .NOT.fxyhypbb )
THEN
334 WRITE(tapeout,*)
' ******** PBS DANS DEFRUN ******** '
335 WRITE(tapeout,*)
' *** fxyhypb lu sur le fichier start est t'
336 *,
' alors qu il est F sur run.def ***'
341 READ (tapedef,9001) ch1,ch4
342 READ (tapedef,*) dzoomxx
343 WRITE(tapeout,9001) ch1,
'dzoomx'
344 WRITE(tapeout,*) dzoomxx
346 READ (tapedef,9001) ch1,ch4
347 READ (tapedef,*) dzoomyy
348 WRITE(tapeout,9001) ch1,
'dzoomy'
349 WRITE(tapeout,*) dzoomyy
351 READ (tapedef,9001) ch1,ch4
352 READ (tapedef,*) tauxx
353 WRITE(tapeout,9001) ch1,
'taux'
354 WRITE(tapeout,*) tauxx
356 READ (tapedef,9001) ch1,ch4
357 READ (tapedef,*) tauyy
358 WRITE(tapeout,9001) ch1,
'tauy'
359 WRITE(tapeout,*) tauyy
363 IF( abs(
dzoomx - dzoomxx).GE. 0.001 )
THEN
365 ' La valeur de dzoomx passee par run.def est dif *ferente de celle lue sur le fichier start '
369 IF( abs(
dzoomy - dzoomyy).GE. 0.001 )
THEN
371 ' La valeur de dzoomy passee par run.def est dif *ferente de celle lue sur le fichier start '
375 IF( abs(
taux - tauxx).GE. 0.001 )
THEN
377 ' La valeur de taux passee par run.def est differente * de celle lue sur le fichier start '
381 IF( abs(tauy - tauyy).GE. 0.001 )
THEN
383 ' La valeur de tauy passee par run.def est differente * de celle lue sur le fichier start '
391 READ (tapedef,9001) ch1,ch4
392 READ (tapedef,*) ysinuss
393 WRITE(tapeout,9001) ch1,
'ysinus'
394 WRITE(tapeout,*) ysinuss
397 IF( .NOT.ysinus )
THEN
399 WRITE(6,*)
' ******** PBS DANS DEFRUN ******** '
400 WRITE(tapeout,*)
'** ysinus lu sur le fichier start est F',
401 *
' alors qu il est T sur run.def ***'
405 IF( .NOT.ysinuss )
THEN
406 WRITE(6,*)
' ******** PBS DANS DEFRUN ******** '
407 WRITE(tapeout,*)
'** ysinus lu sur le fichier start est T',
408 *
' alors qu il est F sur run.def ***'
423 READ (tapedef,9001) ch1,ch4
424 READ (tapedef,*)
clon
425 WRITE(tapeout,9001) ch1,
'clon'
426 WRITE(tapeout,*)
clon
428 READ (tapedef,9001) ch1,ch4
429 READ (tapedef,*)
clat
430 WRITE(tapeout,9001) ch1,
'clat'
431 WRITE(tapeout,*)
clat
433 READ (tapedef,9001) ch1,ch4
435 WRITE(tapeout,9001) ch1,
'grossismx'
438 READ (tapedef,9001) ch1,ch4
440 WRITE(tapeout,9001) ch1,
'grossismy'
444 WRITE(tapeout,*)
'*** ATTENTION !! grossismx < 1 . *** '
451 WRITE(tapeout,*)
' *** ATTENTION !! grossismy < 1 . *** '
458 READ (tapedef,9001) ch1,ch4
460 WRITE(tapeout,9001) ch1,
'fxyhypb'
463 READ (tapedef,9001) ch1,ch4
465 WRITE(tapeout,9001) ch1,
'dzoomx'
468 READ (tapedef,9001) ch1,ch4
470 WRITE(tapeout,9001) ch1,
'dzoomy'
473 READ (tapedef,9001) ch1,ch4
474 READ (tapedef,*)
taux
475 WRITE(tapeout,9001) ch1,
'taux'
476 WRITE(tapeout,*)
taux
478 READ (tapedef,9001) ch1,ch4
479 READ (tapedef,*) tauy
480 WRITE(tapeout,9001) ch1,
'tauy'
481 WRITE(tapeout,*) tauy
483 READ (tapedef,9001) ch1,ch4
484 READ (tapedef,*) ysinus
485 WRITE(tapeout,9001) ch1,
'ysinus'
486 WRITE(tapeout,*) ysinus
490 9000
FORMAT(3(/,a72))
491 9001
FORMAT(/,a72,/,a12)