subroutine int_Bz(val,eval) implicit none integer i,n parameter(n=1101) double precision temp, norm double precision val,eval,slop,y_int common/bfield/temp(1101),norm(1101) c write (*,*) 'Give z Position (mm)' c read (*,*) val c write(6,*) temp(1), norm(1) c write(6,*) temp(2), norm(2) c write(6,*) temp(1100), norm(1100) c write(6,*) temp(1101), norm(1101) * do i=1,n-1 if(val.lt.temp(1).or.val.gt.temp(n)) then write(*,*) val,temp(1),temp(n) write(*,*) 'z value is out of range ... intBz code' stop elseif(val.eq.temp(i)) then eval = norm(i) elseif(val.eq.temp(i+1)) then eval = norm(i+1) elseif(val.gt.temp(i).and.val.lt.temp(i+1)) then slop = (norm(i+1)-norm(i))/(temp(i+1)-temp(i)) y_int = norm(i) - slop*temp(i) eval = slop*val+y_int goto 100 !-KG else continue endif enddo 100 eval = eval*1.236 !magnify intBz. Elog sim. post 11 -KG c write (*,*) 'Bz_INT = ', eval return end