44 SUBROUTINE lecnoise(INOISE,ITABM1,NAMES_AND_TITLES)
54#include "implicit_f.inc"
61#include "scrnoi_c.inc"
71 INTEGER INOISE(*), ITABM1(*)
76 INTEGER ICODE,ITITLE(80),I,IFILNAM(2148),IWA(33),NOILEN,ITIT40(40),K,ITEST,J,INOITMP(NNOISE)
78 CHARACTER FILNAM*100, CH8*8 , EOR*8, CH40*40, CH80*80
79 CHARACTER(LEN=LTITLE) :: CARD
80 INTEGER :: LEN_TMP_NAME
81 CHARACTER(len=2148) :: TMP_NAME
85 CHARACTER,
EXTERNAL :: STRI*8
86 INTEGER,
EXTERNAL :: SYSFUS2
93 IF(rnoi==0 .AND. nnoiser/=0)rnoi=1
97 IF(nnoiser/=0.AND.ispmd==0)
THEN
98 WRITE(istdo,*)
'***WARNING A @T FILE WAS SAVED IN A PREVIOUS RUN'
99 WRITE(istdo,*)
' FILTERING WILL BE REINITIALIZED'
100 WRITE(iout,*)
'***WARNING A @T FILE WAS SAVED IN A PREVIOUS RUN'
101 WRITE(iout,*)
' IF YOU WANT TO RESUME DATA SAMPLING AS',
102 .
' BEFORE, PROVIDE ONLY LINE /@TFILE'
103 WRITE(iout,*)
' OTHERWISE THE FILTERING WILL BE REINITIALIZED',
104 .
' AND YOU MAY MISS SOME SAMPLES'
106 READ (iin,
'(10I10)')(inoise(i+nnoise),i=1,nnoise)
109 inoitmp(i)=sysfus2(inoise(i+nnoise),itabm1,numnod)
112 inoise(i)= inoitmp(i)
117 IF(inoitmp(i)==0)
THEN
118 CALL ancmsg(msgid=139,anmode=aninfo_blind,
119 . i1=inoise(i+nnoise))
125 inoise(2*nnoise+8)=noisev
126 inoise(2*nnoise+9)=noisep
127 inoise(2*nnoise+10)=noisea
129 IF(nnoiser==0.AND.ispmd==0)
THEN
130 CALL ancmsg(msgid=138,anmode=aninfo)
135 .
WRITE(iout,*)
' CONTINUING NOISE SAMPLING FROM PREVIOUS RUN'
137 IF(noisev/=0 .AND. inoise(2*nnoise+8)==0)
THEN
139 .
CALL ancmsg(msgid=140,anmode=aninfo,
143 IF(noisep/=0 .AND. inoise(2*nnoise+9)==0)
THEN
145 .
CALL ancmsg(msgid=140,anmode=aninfo,
149 IF(noisea/=0 .AND. inoise(2*nnoise+10)==0)
THEN
151 .
CALL ancmsg(msgid=140,anmode=aninfo,
152 . c1=
'ACCELERATIONS')
155 IF(itest==1)
CALL arret(2)
156 noisev=inoise(2*nnoise+8)
157 noisep=inoise(2*nnoise+9)
158 noisea=inoise(2*nnoise+10)
160 IF(noisev+noisep+noisea==0)noisev=1
163 IF(noisev/=0)
WRITE(iout,
'(A)')
' ... VELOCITIES'
164 IF(noisea/=0)
WRITE(iout,
'(A)')
' ... ACCELERATIONS'
165 IF(noisep/=0)
WRITE(iout,
'(A)')
' ... PRESSURES'
167 WRITE(iout,
'(10I10)') (inoise(i+nnoise),i=1,nnoise)
170 ncnois=3*(noisev+noisea)+noisep
177 noilen=
min(rootlen,7)
178 filnam=rootnam(1:noilen)//
'_'//chrun//
'_@.thy'
182 OPEN(unit=iunit,file=tmp_name(1:len_tmp_name),
183 . access=
'SEQUENTIAL',
184 . form=
'UNFORMATTED',status=
'UNKNOWN')
185 ELSEIF(itform==1.OR.itform==2)
THEN
186 OPEN(unit=iunit,file=tmp_name(1:len_tmp_name),
187 . access=
'SEQUENTIAL',
188 . form=
'FORMATTED',status=
'UNKNOWN')
189 ELSEIF(itform==3)
THEN
191 ifilnam(i)=ichar(tmp_name(i:i))
194 CALL open_c(ifilnam,len_tmp_name,0)
195 ELSEIF(itform==4)
THEN
197 ifilnam(i)=ichar(tmp_name(i:i))
200 CALL open_c(ifilnam,len_tmp_name,3)
202 ELSEIF(itform==5)
THEN
204 ifilnam(i)=ichar(tmp_name(i:i))
207 CALL open_c(ifilnam,len_tmp_name,6)
217 ELSEIF(itform==1)
THEN
219 WRITE(iunit,
'(A)')filnam(1:noilen+11)
220 WRITE(iunit,
'(2A)')ch8,card(1:72)
221 ELSEIF(itform==2)
THEN
222 WRITE(iunit,
'(2A)')filnam(1:noilen+11),
' FORMAT'
223 WRITE(iunit,
'(A,I5,A,I5,A)')eor,1,
'I',72,
'C'
224 WRITE(iunit,
'(I5,A)')icode,card(1:72)
225 ELSEIF(itform==3)
THEN
227 ititle(i)=ichar(card(i:i))
238 ch80(i:i)=char(ititle(i))
240 ch80(25:33) =
' RADIOSS '
241 ch80(34:59) =versio(2)(9:34)
244 ititle(i)=ichar(ch80(i:i))
247 READ(ch80,
'(20A4)')title
249 ELSEIF(itform==1)
THEN
250 WRITE(iunit,
'(A)')ch80
251 ELSEIF(itform==2)
THEN
252 WRITE(iunit,
'(2A)')filnam(1:rootlen+11),
' FORMAT'
253 WRITE(iunit,
'(A,I5,A)')eor,80,
'C'
254 WRITE(iunit,
'(A)')ch80
255 ELSEIF(itform==3)
THEN
267 CALL wrtdes(iwa,iwa,6,itform,0)
270 CALL wrtdes(iwa,iwa,1,itform,0)
277 READ(ch40,
'(10A4)')tit40
279 itit40(i)=ichar(ch40(i:i))
282 WRITE(iunit)1,tit40,0,1,1,0
283 ELSEIF(itform==1)
THEN
284 ELSEIF(itform==2)
THEN
285 WRITE(iunit,
'(A,I5,A,I5,A,I5,A)')eor,1,
'I',40,
'C',4,
'I'
286 WRITE(iunit,
'(I5,A,4I5)')1,ch40,0,1,1,0
287 ELSEIF(itform==3)
THEN
299 READ(ch40,
'(10A4)')tit40
301 itit40(i)=ichar(ch40(i:i))
305 ELSEIF(itform==1)
THEN
306 ELSEIF(itform==2)
THEN
307 WRITE(iunit,
'(A,I5,A,I5,A)')eor,1,
'I',40,
'C'
308 WRITE(iunit,
'(I5,A)')1,ch40
309 ELSEIF(itform==3)
THEN
336 READ(ch40,
'(10A4)')tit40
338 itit40(i)=ichar(ch40(i:i))
342 ELSEIF(itform==1)
THEN
343 ELSEIF(itform==2)
THEN
344 WRITE(iunit,
'(A,I5,A,I5,A)')eor,1,
'I',40,
'C'
345 WRITE(iunit,
'(I5,A)')1,ch40
346 ELSEIF(itform==3)
THEN
354 READ(ch40,
'(10A4)')tit40
356 itit40(i)=ichar(ch40(i:i))
359 WRITE(iunit)0,0,0,1,0,tit40
360 ELSEIF(itform==1)
THEN
361 ELSEIF(itform==2)
THEN
362 WRITE(iunit,
'(A,I5,A,I5,A)')eor,5,
'I',40,
'C'
363 WRITE(iunit,
'(5I5,A)')0,0,0,1,0,ch40
364 ELSEIF(itform==3)
THEN
374 CALL wrtdes(iwa,iwa,1,itform,0)
377 READ(ch40,
'(10A4)')tit40
379 itit40(i)=ichar(ch40(i:i))
383 WRITE(iunit)1,0,0,nnoise,ncnois,tit40
384 ELSEIF(itform==1)
THEN
385 ELSEIF(itform==2)
THEN
386 WRITE(iunit,
'(A,I5,A,I5,A)')eor,5,
'I',40,
'C'
387 WRITE(iunit,
'(5I5,A)')1,0,0,nnoise,ncnois,ch40
388 ELSEIF(itform==3)
THEN
401 WRITE(ch40,
'(I10)')inoise(i+nnoise)
402 READ(ch40,
'(10A4)')tit40
404 itit40(j)=ichar(ch40(j:j))
407 WRITE(iunit)inoise(i+nnoise),tit40
408 ELSEIF(itform==1)
THEN
409 ELSEIF(itform==2)
THEN
410 WRITE(iunit,
'(A,I5,A,I5,A)')eor,1,
'I',40,
'C'
411 WRITE(iunit,
'(I5,A)')inoise(i+nnoise),ch40
412 ELSEIF(itform==3)
THEN
441 CALL wrtdes(iwa,iwa,ncnois,itform,0)
445 999
FORMAT(///
' LIST OF VARIABLES SAVED IN NOISE FILE')
446 1000
FORMAT(///
' LIST OF NODES SAVED IN NOISE FILE')
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)