28 character*80 amname(*)
29 character*132 textpart(16)
31 integer namta(3,*),nam,nam_,istep,istat,n,key,i,namtot,
32 & namtot_,irstrt,iline,ipol,inl,ipoinp(2,*),inp(3,*),ipos,
38 real*8 amta(2,*),x,tpmin,tpmax,tpinc
42 if((istep.gt.0).and.(irstrt.ge.0))
then 43 write(*,*)
'*ERROR in timepointss: *AMPLITUDE should be' 44 write(*,*)
' placed before all step definitions' 50 write(*,*)
'*ERROR in timepointss: increase nam_' 58 if(textpart(i)(1:5).eq.
'NAME=')
then 59 amname(nam)=textpart(i)(6:85)
60 if(textpart(i)(86:86).ne.
' ')
then 62 &
'*ERROR in timepointss: amplitude name too long' 63 write(*,*)
' (more than 80 characters)' 64 write(*,*)
' amplitude name:',textpart(i)(1:132)
67 elseif(textpart(i)(1:14).eq.
'TIME=TOTALTIME')
then 69 elseif(textpart(i)(1:8).eq.
'GENERATE')
then 73 &
'*WARNING in timepointss: parameter not recognized:' 75 & textpart(i)(1:index(textpart(i),
' ')-1)
83 write(*,*)
'*ERROR in timepointss: Amplitude has no name' 96 call getnewline(inpc,textpart,istat,n,key,iline,ipol,inl,
98 if((istat.lt.0).or.(key.eq.1))
exit 101 if(textpart(i)(1:1).ne.
' ')
then 103 if(namtot.gt.namtot_)
then 105 &
'*ERROR in timepointss: increase namtot_' 108 read(textpart(i),
'(f20.0)',iostat=istat) x
109 if(istat.gt.0)
call inputerror(inpc,ipoinpc,iline,
118 read(textpart(1)(1:20),
'(f20.0)',iostat=istat) tpmin
119 if(istat.gt.0)
call inputerror(inpc,ipoinpc,iline,
121 read(textpart(2)(1:20),
'(f20.0)',iostat=istat) tpmax
122 if(istat.gt.0)
call inputerror(inpc,ipoinpc,iline,
124 read(textpart(3)(1:20),
'(f20.0)',iostat=istat) tpinc
125 if(istat.gt.0)
call inputerror(inpc,ipoinpc,iline,
128 nttp=int((tpmax-tpmin)/tpinc)
130 if(namtot+2+nttp.gt.namtot_)
then 131 write(*,*)
'*ERROR in timepoints: increase namtot_' 134 amta(1,namtot+1)=tpmin
136 amta(1,namtot+1+i)=tpmin+(i*tpinc)
142 if(textpart(9)(1:1).ne.
' ')
then 143 write(*,*)
'*WARNING reading *TIME POINTS:' 144 write(*,*)
' only 8 entries per line allowed' 145 write(*,*)
' 9th entry and above will be discarded' 151 if(namta(1,nam).gt.namta(2,nam))
then 152 ipos=index(amname(nam),
' ')
153 write(*,*)
'*WARNING in timepointss: *TIME POINTS definition ',
154 & amname(nam)(1:ipos-1)
155 write(*,*)
' has no data points'
subroutine getnewline(inpc, textpart, istat, n, key, iline, ipol, inl, ipoinp, inp, ipoinpc)
Definition: getnewline.f:21