| 1 |
|
| 2 |
#include "ctrparam.h" |
| 3 |
|
| 4 |
subroutine senint(s) |
| 5 |
parameter(nsen=200) |
| 6 |
common/cldfdb/coefcl(3),CLDFEED,SEN_dat |
| 7 |
logical CLDFEED |
| 8 |
character * 120 SEN_dat |
| 9 |
dimension sens(nsen),cfcl(nsen) |
| 10 |
data ifisrt /0/ |
| 11 |
if(ifirst.eq.0) then |
| 12 |
open (543,file=SEN_dat,form='formatted',status='old') |
| 13 |
do i=1,nsen |
| 14 |
read (543,*,end=500),cfcl(i),sens(i) |
| 15 |
c read (543,100),cfcl(i),sens(i) |
| 16 |
enddo |
| 17 |
500 continue |
| 18 |
nsenr=i-1 |
| 19 |
ifirst=1 |
| 20 |
print *,' Number of points in SEN_dat file ',nsenr |
| 21 |
endif |
| 22 |
if(s.lt.sens(1))then |
| 23 |
ip=2 |
| 24 |
go to 200 |
| 25 |
elseif(s.ge.sens(nsenr))then |
| 26 |
ip=nsenr |
| 27 |
go to 200 |
| 28 |
endif |
| 29 |
do i=1,nsenr |
| 30 |
if(s.lt.sens(i))then |
| 31 |
ip=i |
| 32 |
go to 200 |
| 33 |
endif |
| 34 |
enddo |
| 35 |
200 continue |
| 36 |
im=ip-1 |
| 37 |
cf=(cfcl(im)*(sens(ip)-s)+cfcl(ip)*(s-sens(im))) |
| 38 |
& /(sens(ip)-sens(im)) |
| 39 |
do i=1,3 |
| 40 |
coefcl(i)=cf |
| 41 |
enddo |
| 42 |
100 format(f9.6,f5.2) |
| 43 |
return |
| 44 |
end |