pro fit_pfun,ssa,cld,mod_rad,mod_angle,mod_pfun,i_rad,albedo,radius,chi2_min

ttt=fix(ssa)

nr=100
mn=fltarr(nr)
chi2=fltarr(nr)

for i=0,nr-1 do begin ; assume radius is less than 100 nm
    mpf=mod_pfun(i,ttt)
    mn(i)= total(cld*mpf)/total(mpf*mpf)
    diff=cld  - (mn(i)*mpf)
    weight=sqrt(2.*abs(cld))
    chi2(i)=total((diff^2)/weight)
endfor

chi2_min=min(chi2,i_best)
albedo=mn(i_best)
radius=mod_rad(i_best)
i_rad=i_best

return
end
