; load the chi-squared data from filtered lensview log ; grep out lines with "main: Starting minimis" and "main: ImgDoConjGradient returned" ; from the log file. Then load them with this. ; Works for a single value of crit radius. You should chop up the filtered ; file to unique vel dispersions ; surf: the chi-squared value ; ordsh: the shear ordinate ; ordsa: the shear angle ordinate pro makechiarr3, filename, surf, ordcritrad, ordsh, ordsa restore,'/home/rwayth/idl/surfacetempl.dat' chidata = read_ascii(filename, TEMPLATE = template3) ; field 7 "lensoffset" ; field 8 "x:" ; field 9 x offset ; field 10 "offsety:" ; field 11 y offset ; field 12 "Critrad:" or some mass scale ; field 13 mass_scale ; field 14 "shear/Ellipticity" ; field 15 shear ; field 16 "shear_angle/Orient_Angle" ; field 17 shear angle (degrees) ; field 18 "date" ; field 19 "time" ; field 20 "main:" ; field 21 "img_DoConjGradient" ; field 22 "returned" ; field 23 return value ; field 24 "Chi" ; field 25 "Squ:" ; field 26 chi-square value ; field 27 "Entropy:" ; field 28 entropy ; field 29,30 "Reduced chisqu" ; field 31 reduced chisqu xosize = size([uniq(chidata.FIELD09[sort(chidata.FIELD09)])]) yosize = size([uniq(chidata.FIELD11[sort(chidata.FIELD11)])]) mssize = size([uniq(chidata.FIELD13[sort(chidata.FIELD13)])]) shsize = size([uniq(chidata.FIELD15[sort(chidata.FIELD15)])]) sasize = size([uniq(chidata.FIELD17[sort(chidata.FIELD17)])]) shord = fltarr(shsize[1]) saord = fltarr(sasize[1]) critradord = fltarr(mssize[1]) print,'Mass scale size: ',mssize[1],', Shear size: ',shsize[1],'. Shear ang size: ',sasize[1] surface = fltarr(mssize[1], shsize[1],sasize[1]) for k=0, mssize[1]-1 do begin critradord[k] = chidata.FIELD13[k*sasize[1]*shsize[1]] for l=0, shsize[1] -1 do begin shord[l] = chidata.FIELD15[l*sasize[1]] for i=0,sasize[1]-1 do begin saord[i] = chidata.FIELD17[i] surface[k,l,i] = chidata.FIELD26[k*sasize[1]*shsize[1] + l*sasize[1] + i] endfor endfor endfor surf = surface ordsh = shord ordsa = saord ordcritrad = critradord end