; 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 makechiarr_spemd_help print, 'makechiarr_spemd,,kap,chi,axratio,angle,gamma,corerad' end pro makechiarr_spemd, filename, surf, ordcritrad, ordsh, ordsa, ordgam, ordcr restore,'/home/rwayth/idl/surfacetempl.dat' chidata = read_ascii(filename, TEMPLATE = template_sersic) ; 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 "Ellipticity" ; field 15 ellipticity ; field 16 "Orient_Angle" ; field 17 shear angle (degrees) ; field 18 "Gamma:" ; field 19 spemd gamma ; field 20 "Core_rad:" ; field 21 core rad ; field 22 date ; field 23 time ; field 24 "main:" ; field 25 "img_DoConjGradient" ; field 26 "returned" ; field 27 return value ; field 28 "Chi" ; field 29 "Squ:" ; field 30 chi-square value ; field 31 "Entropy:" ; field 32 entropy ; field 33,34 "Reduced chisqu:" ; field 35 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)])]) sgsize = size([uniq(chidata.FIELD19[sort(chidata.FIELD19)])]) scsize = size([uniq(chidata.FIELD21[sort(chidata.FIELD21)])]) shord = fltarr(shsize[1]) saord = fltarr(sasize[1]) critradord = fltarr(mssize[1]) crord = fltarr(scsize[1]) gamord = fltarr(sgsize[1]) print,'Kappa size: ',strtrim(string(mssize[1]),2),', Ellip size: ',strtrim(string(shsize[1]),2),'. Ang size: ',strtrim(string(sasize[1]),2),', gam size: ',strtrim(string(sgsize[1]),2),'. Core rad: ',strtrim(string(scsize[1]),2),'.' surface = fltarr(mssize[1], shsize[1],sasize[1],sgsize[1],scsize[1]) for k=0, mssize[1]-1 do begin critradord[k] = chidata.FIELD13[k*sasize[1]*shsize[1]*scsize[1]*sgsize[1]] for l=0, shsize[1] -1 do begin shord[l] = chidata.FIELD15[l*sasize[1]*scsize[1]*sgsize[1]] for i=0,sasize[1]-1 do begin saord[i] = chidata.FIELD17[i*scsize[1]*sgsize[1]] for m=0, sgsize[1]-1 do begin gamord[m] = chidata.FIELD19[m*scsize[1]] for j=0, scsize[1]-1 do begin crord[j] = chidata.FIELD21[j] surface[k,l,i,m,j] = chidata.FIELD30[k*sasize[1]*shsize[1]*scsize[1]*sgsize[1] + l*scsize[1]*sasize[1]*sgsize[1] + i*scsize[1]*sgsize[1] + m*scsize[1] + j] endfor endfor endfor endfor endfor surf = surface ordsh = shord ordsa = saord ordcritrad = critradord ordcr = crord ordgam = gamord end