c	
C	LC1 model #309
C
	COMMON /FUN/ pr(1452),ob(1452)
	real d(1452,2)
	external funk,pp
	call sas('lc1.dat','lc1309.lst','lc1309.fit')
	call assign(1,'lc1316.par')
	write(7,"(' *** LC1 model 309: variable FLMP ***')")
	read(9,"(8x,f7.4)")d
	call runstp(funk,968,1452,-2,d,ob,pr,pp)
	stop
	end
	SUBROUTINE FUNK
	COMMON /STEP/ NV,NTRACE,MATRIX,CHISQ,MASK(1000),X(1000)
	COMMON /FUN/ pr(1452),ob(1452)
	COMMON /TEST/ NFB,CRIT
	real vi(22,22),au(22,22),bi(22,22)
	equivalence (pr(1),au),(pr(485),vi),(pr(969),bi)
	integer r,s
	real v(22,22),a(22,22)
	static nz
	equivalence (x(1),v),(x(485),a)
	data ii/0/

	if(ii.eq.1)go to 99
	read(1,"(11f7.4)")v,a
	ii=1
99	nz=0
	do 98 j=1,968
	if(x(j).le.0.02)nz=nz+1
98	if(x(j).le.0.02)x(j)=0.0
	ntrace=0
	do 40 s=1,22
        sum=0.
	do 45 r=1,22
45 	sum=sum+v(r,s)
	if(sum.eq.0.0)sum=1.0
	do 40 r=1,22
40	vi(r,s)=v(r,s)/sum

	do 50 s=1,22
        sum=0.
	do 55 r=1,22
55 	sum=sum+a(r,s)
	if(sum.eq.0.0)sum=1.0
	do 50 r=1,22
50	au(r,s)=a(r,s)/sum

	   do 60 s=1,22
	      sum=0.
	      do 65 r=1,22
	      bi(r,s)=v(r,s)*a(r,s)
65	      sum=sum+bi(r,s)
	      if(sum.eq.0.0)sum=1.0
	      do 60 r=1,22
60	      bi(r,s)=bi(r,s)/sum
	call cchi(ob(969),pr(969),484)
	rbi=sqrt(chisq/484.)
	call cchi(ob,pr,1452)
	RETURN
	entry pp(is,rmsd)
	write(7,117)is,rmsd,rbi,968-nz,v,a
117	format(/' Sub  'i2' rmsd,rbi,np= '2f7.4,i4/44(' v  = '11f7.4/),
&	44(' a  = '11f7.4/))
	ii=0
	return
	end
