6 SUBROUTINE defrun( tapedef, etatinit, clesphy0 )
25 REAL clesphy0( longcles )
29 #include "dimensions.h"
33 #include "comdissnew.h"
40 CHARACTER ch1*72,ch2*72,ch3*72,ch4*12
42 REAL clonn,clatt,grossismxx,grossismyy
43 REAL dzoomxx,dzoomyy,tauxx,tauyy
44 LOGICAL fxyhypbb, ysinuss
82 OPEN( tapedef,file =
'gcm.def',status=
'old',form=
'formatted')
85 READ (tapedef,9000) ch1,ch2,ch3
86 WRITE(tapeout,9000) ch1,ch2,ch3
88 READ (tapedef,9001) ch1,ch4
89 READ (tapedef,*) dayref
90 WRITE(tapeout,9001) ch1,
'dayref'
91 WRITE(tapeout,*) dayref
93 READ (tapedef,9001) ch1,ch4
94 READ (tapedef,*) anneeref
95 WRITE(tapeout,9001) ch1,
'anneeref'
96 WRITE(tapeout,*) anneeref
98 READ (tapedef,9001) ch1,ch4
100 WRITE(tapeout,9001) ch1,
'nday'
101 WRITE(tapeout,*) nday
103 READ (tapedef,9001) ch1,ch4
104 READ (tapedef,*) day_step
105 WRITE(tapeout,9001) ch1,
'day_step'
106 WRITE(tapeout,*) day_step
108 READ (tapedef,9001) ch1,ch4
109 READ (tapedef,*) iperiod
110 WRITE(tapeout,9001) ch1,
'iperiod'
111 WRITE(tapeout,*) iperiod
113 READ (tapedef,9001) ch1,ch4
114 READ (tapedef,*) iapp_tracvl
115 WRITE(tapeout,9001) ch1,
'iapp_tracvl'
116 WRITE(tapeout,*) iapp_tracvl
118 READ (tapedef,9001) ch1,ch4
119 READ (tapedef,*) iconser
120 WRITE(tapeout,9001) ch1,
'iconser'
121 WRITE(tapeout,*) iconser
123 READ (tapedef,9001) ch1,ch4
124 READ (tapedef,*) iecri
125 WRITE(tapeout,9001) ch1,
'iecri'
126 WRITE(tapeout,*) iecri
128 READ (tapedef,9001) ch1,ch4
129 READ (tapedef,*) periodav
130 WRITE(tapeout,9001) ch1,
'periodav'
131 WRITE(tapeout,*) periodav
133 READ (tapedef,9001) ch1,ch4
134 READ (tapedef,*) dissip_period
135 WRITE(tapeout,9001) ch1,
'dissip_period'
136 WRITE(tapeout,*) dissip_period
140 READ (tapedef,9001) ch1,ch4
141 READ (tapedef,*) lstardis
142 WRITE(tapeout,9001) ch1,
'lstardis'
143 WRITE(tapeout,*) lstardis
145 READ (tapedef,9001) ch1,ch4
147 WRITE(tapeout,9001) ch1,
'nitergdiv'
150 READ (tapedef,9001) ch1,ch4
152 WRITE(tapeout,9001) ch1,
'nitergrot'
155 READ (tapedef,9001) ch1,ch4
157 WRITE(tapeout,9001) ch1,
'niterh'
160 READ (tapedef,9001) ch1,ch4
162 WRITE(tapeout,9001) ch1,
'tetagdiv'
165 READ (tapedef,9001) ch1,ch4
167 WRITE(tapeout,9001) ch1,
'tetagrot'
170 READ (tapedef,9001) ch1,ch4
172 WRITE(tapeout,9001) ch1,
'tetatemp'
175 READ (tapedef,9001) ch1,ch4
177 WRITE(tapeout,9001) ch1,
'coefdis'
180 READ (tapedef,9001) ch1,ch4
182 WRITE(tapeout,9001) ch1,
'purmats'
187 READ (tapedef,9001) ch1,ch4
189 WRITE(tapeout,9001) ch1,
'iflag_phys'
192 READ (tapedef,9001) ch1,ch4
193 READ (tapedef,*) iphysiq
194 WRITE(tapeout,9001) ch1,
'iphysiq'
195 WRITE(tapeout,*) iphysiq
200 READ (tapedef,9001) ch1,ch4
202 WRITE(tapeout,9001) ch1,
'cycle_diurne'
205 READ (tapedef,9001) ch1,ch4
207 WRITE(tapeout,9001) ch1,
'soil_model'
210 READ (tapedef,9001) ch1,ch4
212 WRITE(tapeout,9001) ch1,
'new_oliq'
215 READ (tapedef,9001) ch1,ch4
217 WRITE(tapeout,9001) ch1,
'ok_orodr'
220 READ (tapedef,9001) ch1,ch4
222 WRITE(tapeout,9001) ch1,
'ok_orolf'
225 READ (tapedef,9001) ch1,ch4
227 WRITE(tapeout,9001) ch1,
'ok_limitvrai'
230 READ (tapedef,9001) ch1,ch4
232 WRITE(tapeout,9001) ch1,
'nbapp_rad'
235 READ (tapedef,9001) ch1,ch4
237 WRITE(tapeout,9001) ch1,
'iflag_con'
257 IF( etatinit ) go to 100
259 READ (tapedef,9001) ch1,ch4
260 READ (tapedef,*) clonn
261 WRITE(tapeout,9001) ch1,
'clon'
262 WRITE(tapeout,*) clonn
263 IF( abs(
clon - clonn).GE. 0.001 )
THEN
265 ' La valeur de clon passee par run.def est diffe *rente de celle lue sur le fichier start '
269 READ (tapedef,9001) ch1,ch4
270 READ (tapedef,*) clatt
271 WRITE(tapeout,9001) ch1,
'clat'
272 WRITE(tapeout,*) clatt
274 IF( abs(
clat - clatt).GE. 0.001 )
THEN
276 ' La valeur de clat passee par run.def est diffe *rente de celle lue sur le fichier start '
280 READ (tapedef,9001) ch1,ch4
281 READ (tapedef,*) grossismxx
282 WRITE(tapeout,9001) ch1,
'grossismx'
283 WRITE(tapeout,*) grossismxx
285 IF( abs(
grossismx - grossismxx).GE. 0.001 )
THEN
287 ' La valeur de grossismx passee par run.def est , differente de celle lue sur le fichier start '
291 READ (tapedef,9001) ch1,ch4
292 READ (tapedef,*) grossismyy
293 WRITE(tapeout,9001) ch1,
'grossismy'
294 WRITE(tapeout,*) grossismyy
296 IF( abs(
grossismy - grossismyy).GE. 0.001 )
THEN
298 ' La valeur de grossismy passee par run.def est , differente de celle lue sur le fichier start '
303 WRITE(tapeout,*)
' *** ATTENTION !! grossismx < 1 . *** '
311 WRITE(tapeout,*)
' *** ATTENTION !! grossismy < 1 . *** '
321 READ (tapedef,9001) ch1,ch4
322 READ (tapedef,*) fxyhypbb
323 WRITE(tapeout,9001) ch1,
'fxyhypbb'
324 WRITE(tapeout,*) fxyhypbb
328 WRITE(tapeout,*)
' ******** PBS DANS DEFRUN ******** '
329 WRITE(tapeout,*)
' *** fxyhypb lu sur le fichier start est F'
330 *,
' alors qu il est T sur run.def ***'
334 IF( .NOT.fxyhypbb )
THEN
335 WRITE(tapeout,*)
' ******** PBS DANS DEFRUN ******** '
336 WRITE(tapeout,*)
' *** fxyhypb lu sur le fichier start est t'
337 *,
' alors qu il est F sur run.def ***'
342 READ (tapedef,9001) ch1,ch4
343 READ (tapedef,*) dzoomxx
344 WRITE(tapeout,9001) ch1,
'dzoomx'
345 WRITE(tapeout,*) dzoomxx
347 READ (tapedef,9001) ch1,ch4
348 READ (tapedef,*) dzoomyy
349 WRITE(tapeout,9001) ch1,
'dzoomy'
350 WRITE(tapeout,*) dzoomyy
352 READ (tapedef,9001) ch1,ch4
353 READ (tapedef,*) tauxx
354 WRITE(tapeout,9001) ch1,
'taux'
355 WRITE(tapeout,*) tauxx
357 READ (tapedef,9001) ch1,ch4
358 READ (tapedef,*) tauyy
359 WRITE(tapeout,9001) ch1,
'tauy'
360 WRITE(tapeout,*) tauyy
364 IF( abs(
dzoomx - dzoomxx).GE. 0.001 )
THEN
366 ' La valeur de dzoomx passee par run.def est dif *ferente de celle lue sur le fichier start '
370 IF( abs(
dzoomy - dzoomyy).GE. 0.001 )
THEN
372 ' La valeur de dzoomy passee par run.def est dif *ferente de celle lue sur le fichier start '
376 IF( abs(
taux - tauxx).GE. 0.001 )
THEN
378 ' La valeur de taux passee par run.def est differente * de celle lue sur le fichier start '
382 IF( abs(tauy - tauyy).GE. 0.001 )
THEN
384 ' La valeur de tauy passee par run.def est differente * de celle lue sur le fichier start '
392 READ (tapedef,9001) ch1,ch4
393 READ (tapedef,*) ysinuss
394 WRITE(tapeout,9001) ch1,
'ysinus'
395 WRITE(tapeout,*) ysinuss
398 IF( .NOT.ysinus )
THEN
400 WRITE(6,*)
' ******** PBS DANS DEFRUN ******** '
401 WRITE(tapeout,*)
'** ysinus lu sur le fichier start est F',
402 *
' alors qu il est T sur run.def ***'
406 IF( .NOT.ysinuss )
THEN
407 WRITE(6,*)
' ******** PBS DANS DEFRUN ******** '
408 WRITE(tapeout,*)
'** ysinus lu sur le fichier start est T',
409 *
' alors qu il est F sur run.def ***'
424 READ (tapedef,9001) ch1,ch4
425 READ (tapedef,*)
clon
426 WRITE(tapeout,9001) ch1,
'clon'
427 WRITE(tapeout,*)
clon
429 READ (tapedef,9001) ch1,ch4
430 READ (tapedef,*)
clat
431 WRITE(tapeout,9001) ch1,
'clat'
432 WRITE(tapeout,*)
clat
434 READ (tapedef,9001) ch1,ch4
436 WRITE(tapeout,9001) ch1,
'grossismx'
439 READ (tapedef,9001) ch1,ch4
441 WRITE(tapeout,9001) ch1,
'grossismy'
445 WRITE(tapeout,*)
'*** ATTENTION !! grossismx < 1 . *** '
452 WRITE(tapeout,*)
' *** ATTENTION !! grossismy < 1 . *** '
459 READ (tapedef,9001) ch1,ch4
461 WRITE(tapeout,9001) ch1,
'fxyhypb'
464 READ (tapedef,9001) ch1,ch4
466 WRITE(tapeout,9001) ch1,
'dzoomx'
469 READ (tapedef,9001) ch1,ch4
471 WRITE(tapeout,9001) ch1,
'dzoomy'
474 READ (tapedef,9001) ch1,ch4
475 READ (tapedef,*)
taux
476 WRITE(tapeout,9001) ch1,
'taux'
477 WRITE(tapeout,*)
taux
479 READ (tapedef,9001) ch1,ch4
480 READ (tapedef,*) tauy
481 WRITE(tapeout,9001) ch1,
'tauy'
482 WRITE(tapeout,*) tauy
484 READ (tapedef,9001) ch1,ch4
485 READ (tapedef,*) ysinus
486 WRITE(tapeout,9001) ch1,
'ysinus'
487 WRITE(tapeout,*) ysinus
491 9000
FORMAT(3(/,a72))
492 9001
FORMAT(/,a72,/,a12)