30 character*80 amname(*)
31 character*132 textpart(16)
33 integer namta(3,*),nam,nam_,istep,istat,n,key,i,namtot,
34 & namtot_,irstrt,iline,ipol,inl,ipoinp(2,*),inp(3,*),ipos,
37 real*8 amta(2,*),x,y,shiftx,shifty
44 if((istep.gt.0).and.(irstrt.ge.0))
then 45 write(*,*)
'*ERROR reading *AMPLITUDE: *AMPLITUDE should be' 46 write(*,*)
' placed before all step definitions' 52 write(*,*)
'*ERROR reading *AMPLITUDE: increase nam_' 60 if(textpart(i)(1:5).eq.
'NAME=')
then 61 amname(nam)=textpart(i)(6:85)
62 if(textpart(i)(86:86).ne.
' ')
then 63 write(*,*)
'*ERROR reading *AMPLITUDE: amplitude' 64 write(*,*)
' name is too long' 65 write(*,*)
' (more than 80 characters)' 66 write(*,*)
' amplitude name:',textpart(i)(1:132)
69 elseif(textpart(i)(1:14).eq.
'TIME=TOTALTIME')
then 71 elseif(textpart(i)(1:4).eq.
'USER')
then 75 elseif(textpart(i)(1:18).eq.
'DEFINITION=TABULAR')
then 77 elseif(textpart(i)(1:14).eq.
'VALUE=RELATIVE')
then 79 elseif(textpart(i)(1:6).eq.
'SHIFTX')
then 80 read(textpart(i)(8:27),
'(f20.0)',iostat=istat) shiftx
81 if(istat.gt.0)
call inputerror(inpc,ipoinpc,iline,
83 elseif(textpart(i)(1:6).eq.
'SHIFTY')
then 84 read(textpart(i)(8:27),
'(f20.0)',iostat=istat) shifty
85 if(istat.gt.0)
call inputerror(inpc,ipoinpc,iline,
89 &
'*WARNING reading *AMPLITUDE: parameter not recognized:' 91 & textpart(i)(1:index(textpart(i),
' ')-1)
99 write(*,*)
'*ERROR reading *AMPLITUDE: Amplitude has no name' 108 namtot=namta(2,nam-1)
110 namta(1,nam)=namtot+1
114 call getnewline(inpc,textpart,istat,n,key,iline,ipol,inl,
115 & ipoinp,inp,ipoinpc)
116 if((istat.lt.0).or.(key.eq.1))
exit 118 if(textpart(2*i-1)(1:1).ne.
' ')
then 120 if(namtot.gt.namtot_)
then 122 &
'*ERROR reading *AMPLITUDE: increase namtot_' 125 read(textpart(2*i-1),
'(f20.0)',iostat=istat) x
126 if(istat.gt.0)
call inputerror(inpc,ipoinpc,iline,
128 read(textpart(2*i),
'(f20.0)',iostat=istat) y
129 if(istat.gt.0)
call inputerror(inpc,ipoinpc,iline,
131 amta(1,namtot)=x+shiftx
132 amta(2,namtot)=y+shifty
140 if(namta(1,nam).gt.namta(2,nam))
then 141 ipos=index(amname(nam),
' ')
143 &
'*WARNING reading *AMPLITUDE: *AMPLITUDE definition ',
144 & amname(nam)(1:ipos-1)
145 write(*,*)
' has no data points'
subroutine getnewline(inpc, textpart, istat, n, key, iline, ipol, inl, ipoinp, inp, ipoinpc)
Definition: getnewline.f:21