dir='/data/colors/c2pu/6100/' gFile='6100-Kunitomoikkansai_LightCurve_20170302T205749076_SDSSgp_LightCurves.txt' iFile='6100-Kunitomoikkansai_LightCurve_20170302T205749076_SDSSip_LightCurves.txt' rFile='6100-Kunitomoikkansai_LightCurve_20170302T205749076_SDSSrp_LightCurves.txt' zFile='6100-Kunitomoikkansai_LightCurve_20170302T205749076_SDSSzp_LightCurves.txt' readcol, dir+gFile, delimiter=',', mjdG, mG, uG, format='(D,F,F)', /Silent readcol, dir+rFile, delimiter=',', mjdR, mR, uR, format='(D,F,F)', /Silent readcol, dir+iFile, delimiter=',', mjdI, mI, uI, format='(D,F,F)', /Silent readcol, dir+zFile, delimiter=',', mjdZ, mZ, uZ, format='(D,F,F)', /Silent nbG = n_elements(mG) nbR = n_elements(mR) nbI = n_elements(mI) nbZ = n_elements(mZ) nbT = nbG+nbR+nbI+nbZ eLC = {jd:0.D, mag:0., unc:0., filt:''} lc=replicate(eLC, nbT) lc.jd = [mjdG, mjdR, mjdI, mjdZ]+2400000.5d lc.mag= [mG, mR, mI, mZ] lc.unc= [uG, uR, uI, uZ] lc.filt=[replicate('g',nbG),replicate('r',nbR),replicate('i',nbI),replicate('z',nbZ)] eFilt={id:'', color:'', size:0., symbol:''} filt=replicate(eFilt,4) filt[0]={id:'g', color:'green', size:1.0, symbol:'Filled Circle'} filt[1]={id:'r', color:'blue', size:1.0, symbol:'Filled Square'} filt[2]={id:'i', color:'red', size:2.0, symbol:'FilledUpTriangle'} filt[3]={id:'z', color:'navy', size:2.0, symbol:'FilledDownTriangle'} nbF = 4 ; window, 2 cgplot, lc.jd, lc.mag, /yNoZ, psym='Open Circle', symSize=1.2 colV = fltarr( nbF, nbF, nbT ) colN = intarr( nbF, nbF ) ;----- measure color for kF=0, nbF-1 do begin fId = where( strCmp(filt[kF].id, lc.filt), nbLocFilt ) cgplot, /OverPlot, lc[fId].jd, lc[fId].mag, /yNoZ, psym=filt[kF].symbol, color=filt[kF].color, symSize=filt[kF].size for kLF=0, nbLocFilt-2 do begin locArr = fID[ kLF:kLF+1 ] cgplot, /OverPlot, lc[locArr].jd, lc[locArr].mag ;--III.3.1/B-- Loop Over Observations In-Between bracket = where( lc.jd gt lc[locArr[0]].jd and lc.jd lt lc[locArr[1]].jd, nbBracket ) for kB=0, nbBracket-1 do begin ;--III.3.1/C-- Find other Filter Id oFilt = lc[bracket[kB]].filt oId = where( strCmp(oFilt, filt.id) ) oId=oId[0] ;--III.3.1/D-- Find other Filter Mag + Time oTime = lc[bracket[kB]].jd oMag = lc[bracket[kB]].mag cgPlot, /OverPlot, oTime, oMag, psym=filt[oId].symbol, color=filt[oId].color, symSize=filt[oId].size ;--III.3.1/E-- Interpolate interp = interpol( lc[locArr].mag, lc[locArr].jd, oTime, /Spline ) cgPlot, /OverPlot, oTime, interp, psym=filt[kF].symbol, color=filt[kF].color, symSize=filt[kF].size cgPlot, /OverPlot, [oTime,oTime], [oMag,interp] ; stop colV[kF, oId, colN[kF, oId]] += interp-oMag colN[kF, oId]++ endfor endfor endfor print, colN nbComb = 0 for kF=0, nbF-1 do for kO=kF+1, nbF-1 do nbComb++ stat = {col:fltarr(nbComb), $ ;-Average colors unc:fltarr(nbComb), $ ;-Standard deviation colors N:fltarr(nbComb)} ;-Number of measures kComb=0 print, ' Color N Color Uncert SNR stdRES' for kF=0, nbF-1 do for kO=kF+1, nbF-1 do begin colId = filt[kF].id+'-'+filt[kO].id nbEval=colN[kF,kO] if nbEval gt 0 then begin evalArr = colV[kF,kO,0:nbEval-1] stat.N[kComb] = nbEval stat.col[kComb] = mean(evalArr) stat.unc[kComb] = stddev(evalArr) print, colId, stat.N[kComb], stat.col[kComb], stat.unc[kComb], $ format='(A-8,2x,I4,2x,F7.4,2x,F7.4)' kComb++ endif endfor ;---- dirty classification ; C B S L X D K Q V A ;R slMin=[-0.5, -0.5, 0.6, 0.9, 0.25, 0.6, 0.6, 0.5, 0.5, 2.15] ; 0.5, slMax=[ 0.6, 0.0, 2.5, 2.5, 0.9, 2.5, 1.1, 0.95, 2.5, 2.8] ;2.5, ziMin=[-0.235,-0.2,-0.30,-0.04,-0.04,0.05,-0.11, -0.3 ,-0.7, -0.3] ;-0.35, ziMax=[ 0.15, 0.0, -0.04,0.05, 0.15, 0.3, -0.04, -0.2, -0.3,-0.15] ; -0.30, ;shifting z-i up to account for difference between transform and no transform for loop=0,n_elements(ziMin)-1 do begin if loop eq 1 then goto, skipB ziMin(loop)=ziMin(loop)+0.035 ziMax(loop)=ziMax(loop)+0.035 skipB: endfor demeoTAXO = ['A','B','C','Cb','Cg','Cgh','Ch','D','K','L','O','Q','R','S','Sa','Sq','Sr','Sv','T','V','X','Xc','Xe','Xk'] class=[ 2, 1 , 13, 9, 20, 7, 8, 11, 19, 0 ] ; C B S L X D K Q V A nbHandClass = n_elements( class ) ;-Solar Colours SunUmG = 1.40 & SunUmG_err = 0.08 SunGmG = 0.00 & SunGmG_err = 0.00 SunRmG = -0.45 & SunRmG_err = 0.02 SunImG = -0.55 & SunImG_err = 0.03 SunZmG = -0.61 & SunZmG_err = 0.04 col=fltarr(4) col[1] = - stat.col[0] col[2] = - stat.col[1] col[3] = - stat.col[2] unc=fltarr(4) unc[1] = - stat.unc[0] unc[2] = - stat.unc[1] unc[3] = - stat.unc[2] refl=fltarr(4) refl[0] = 10.^( -0.4* (col[0]-SunGmG) ) refl[1] = 10.^( -0.4* (col[1]-SunRmG) ) refl[2] = 10.^( -0.4* (col[2]-SunImG) ) refl[3] = 10.^( -0.4* (col[3]-SunZmG) ) err=fltarr(4) err[0] = abs(0.4*alog(10.)*refl[0] * (unc[0] + SunGmG_err) ) err[1] = abs(0.4*alog(10.)*refl[1] * (unc[1] + SunRmG_err) ) err[2] = abs(0.4*alog(10.)*refl[2] * (unc[2] + SunImG_err) ) err[3] = abs(0.4*alog(10.)*refl[3] * (unc[3] + SunZmG_err) ) wave=[0.4686, 0.6166, 0.7480, 0.8932 ] cgPlot, wave, refl, pSym='Filled Circle', yRange=[0.5,1.5] cgPlot, /OverPlot, wave, refl zi = [ refl[3]-refl[2], $ err[3]-err[2] ] ind=[0,1,2] lin3 = linfit( wave[ind], refl[ind] ) gri= lin3[1] print, gri, zi end ;; C B S L X D K Q V A ;R ;slMin=[-0.5, -0.5, 0.6, 0.9, 0.25, 0.6, 0.6, 0.5, 0.5, 2.15] ; 0.5, ;slMax=[ 0.6, 0.0, 2.5, 2.5, 0.9, 2.5, 1.1, 0.95, 2.5, 2.8] ;2.5, ;ziMin=[-0.235,-0.2,-0.30,-0.04,-0.04,0.05,-0.11, -0.3 ,-0.7, -0.3] ;-0.35, ;xziMax=[ 0.15, 0.0, -0.04,0.05, 0.15, 0.3, -0.04, -0.2, -0.3,-0.15] ; -0.30,