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, *40, CH80*80
79 CHARACTER(LEN=LTITLE) ::
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
'
179 LEN_TMP_NAME = OUTFILE_NAME_LEN + NOILEN + 11
180 TMP_NAME=OUTFILE_NAME(1:OUTFILE_NAME_LEN)//FILNAM(1:LEN_TRIM(FILNAM))
182 OPEN(UNIT=IUNIT,FILE=TMP_NAME(1:LEN_TMP_NAME),
183 . ACCESS='sequential
',
184 . FORM='unformatted
',STATUS='unknown
')
185.OR.
ELSEIF(ITFORM==1ITFORM==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))
193 CALL CUR_FIL_C(IUNIT)
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)
213 CARD(1:LTITLE)=NAMES_AND_TITLES%TITLE(1:LTITLE)
216 ! ITFORM is no more used
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))
230 CALL WRITE_I_C(ICODE,1)
231 CALL WRITE_C_C(ITITLE,80)
236 CALL MY_CTIME(ITITLE)
238 CH80(I:I)=CHAR(ITITLE(I))
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
257 CALL WRITE_C_C(ITITLE,80)
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
290 CALL WRITE_C_C(ITIT40,40)
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
312 CALL WRITE_C_C(ITIT40,40)
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
349 CALL WRITE_C_C(ITIT40,40)
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
371 CALL WRITE_C_C(ITIT40,40)
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
393 CALL WRITE_I_C(NNOISE,1)
394 CALL WRITE_I_C(NCNOIS,1)
395 CALL WRITE_C_C(ITIT40,40)
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
414 CALL WRITE_I_C(INOISE(I+NNOISE),1)
415 CALL WRITE_C_C(ITIT40,40)
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 noise(dt2r, in, j, buf, v, a, ixs, elbuf_tab, iparg, weight, ixq)
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)