[Technical post about ongoing project.]
To examine colours of one quasar in CFHT imaging:
Locate g, r, i images of quasar. [in this example, they are 1571 + 386p, 397p, 408p]
Create coordinates file of comparison stars on same chip which are not saturated in any filter and thus can be used to calculate the aperture correction in all filters:
photcal> head j224733.coo.1
1066 1271
1204 3015
208 2956
686 1348
521 1321
Create coordinates file of quasar:
photcal> head j224733.coo.2
752 1385
In IRAF, load noao.digiphot, type "datapars", and make sure these parameters are set:
(ccdread= RDNOISE) CCD readout noise image header keyword
(gain = ) CCD gain image header keyword
(readnoi= 0.) CCD readout noise in electrons
(epadu = 1.) Gain in electrons per count
(exposur= EXPTIME) Exposure time image header keyword
(airmass= AIRMASS) Airmass image header keyword
(filter = FILTER) Filter image header keyword
In photpars, I set:
apertur= 5,7.5,10,12.5,15,17.5,20,22.5,25,27.5,30,35,40,45,50
which I recommend doing, to help identify any outlier stars in the aperture correction phase.
Photometer comparison stars & quasars separately:
(I couldn't get e.g. "phot 1571386p.fits[ccd03]" to work, so I first copied the extensions to individual images, but I see now that I should have just done "phot 1571386p.fits[3]".)
(I couldn't get e.g. "phot 1571386p.fits[ccd03]" to work, so I first copied the extensions to individual images, but I see now that I should have just done "phot 1571386p.fits[3]".)
imcopy 1571386p.fits[ccd03] 1571386p03.fits
phot 1571386p03.fits coo=j224733.coo.1 interac-
phot 1571386p03.fits coo=j224733.coo.2 interac-
imcopy 1571397p.fits[ccd03] 1571397p03.fits
phot 1571397p03.fits coo=j224733.coo.1 interac-
phot 1571397p03.fits coo=j224733.coo.2 interac-
imcopy 1571408p.fits[ccd03] 1571408p03.fits
phot 1571408p03.fits coo=j224733.coo.1 interac-
phot 1571408p03.fits coo=j224733.coo.2 interac-
Use output to calculate aperture correction between aperture 1 (5 pixels) and aperture 9 (25 pixels) using the "mkapfile" task in the "photcal" package in noao.digiphot:
mkapf 1571386p03.fits.mag.1 9 1571386p03.apcor.1 small=1 large=9
mkapf 1571397p03.fits.mag.1 9 1571397p03.apcor.1 small=1 large=9 nparams=2
mkapf 1571408p03.fits.mag.1 9 1571408p03.apcor.1 small=1 large=9
[r-band apcor wouldn't converge unless number of free parameters was reduced]
Extract quasar magnitude and apply aperture correction in each filter (all IRAF commands):
#g:
txdump 1571386p03.fits.mag.2 mag yes | scan (x)
txdump 1571386p03.fits.mag.2 merr yes | scan (y)
fields 1571386p03.apcor.1 3 | sort num+ rev+ | scan (z)
y=sqrt(y**2.+z**2.)
fields 1571386p03.apcor.1 2 | sort num+ rev+ | scan (z)
x=x+z
printf("%7.3f %6.3f %8.3f\n",x,y,z, >> "1571386p03.mea")
#r:
txdump 1571397p03.fits.mag.2 mag yes | scan (x)
txdump 1571397p03.fits.mag.2 merr yes | scan (y)
fields 1571397p03.apcor.1 3 | sort num+ rev+ | scan (z)
y=sqrt(y**2.+z**2.)
fields 1571397p03.apcor.1 2 | sort num+ rev+ | scan (z)
x=x+z
printf("%7.3f %6.3f %8.3f\n",x,y,z, >> "1571397p03.mea")
#i:
txdump 1571408p03.fits.mag.2 mag yes | scan (x)
txdump 1571408p03.fits.mag.2 merr yes | scan (y)
fields 1571408p03.apcor.1 3 | sort num+ rev+ | scan (z)
y=sqrt(y**2.+z**2.)
fields 1571408p03.apcor.1 2 | sort num+ rev+ | scan (z)
x=x+z
printf("%7.3f %6.3f %8.3f\n",x,y,z, >> "1571408p03.mea")
head 1571*p03.mea
===> 1571386p03.mea <=== -6.1195 0.023 -0.307 g
===> 1571397p03.mea <=== -6.374 0.014 -0.178 r
===> 1571408p03.mea <=== -6.437 0.014 -0.214 i
Extract quasar magnitude and apply aperture correction in each filter (all IRAF commands):
#g:
txdump 1571386p03.fits.mag.2 mag yes | scan (x)
txdump 1571386p03.fits.mag.2 merr yes | scan (y)
fields 1571386p03.apcor.1 3 | sort num+ rev+ | scan (z)
y=sqrt(y**2.+z**2.)
fields 1571386p03.apcor.1 2 | sort num+ rev+ | scan (z)
x=x+z
printf("%7.3f %6.3f %8.3f\n",x,y,z, >> "1571386p03.mea")
#r:
txdump 1571397p03.fits.mag.2 mag yes | scan (x)
txdump 1571397p03.fits.mag.2 merr yes | scan (y)
fields 1571397p03.apcor.1 3 | sort num+ rev+ | scan (z)
y=sqrt(y**2.+z**2.)
fields 1571397p03.apcor.1 2 | sort num+ rev+ | scan (z)
x=x+z
printf("%7.3f %6.3f %8.3f\n",x,y,z, >> "1571397p03.mea")
#i:
txdump 1571408p03.fits.mag.2 mag yes | scan (x)
txdump 1571408p03.fits.mag.2 merr yes | scan (y)
fields 1571408p03.apcor.1 3 | sort num+ rev+ | scan (z)
y=sqrt(y**2.+z**2.)
fields 1571408p03.apcor.1 2 | sort num+ rev+ | scan (z)
x=x+z
printf("%7.3f %6.3f %8.3f\n",x,y,z, >> "1571408p03.mea")
head 1571*p03.mea
===> 1571386p03.mea <=== -6.1195 0.023 -0.307 g
===> 1571397p03.mea <=== -6.374 0.014 -0.178 r
===> 1571408p03.mea <=== -6.437 0.014 -0.214 i
Table of values useful for calculating calibrated magnitudes:
filter g r i
exptime 52.071 85.049 144.052
X_? 1.295 1.225 1.153
?_c 26.485 26.020 25.840
?_c_err 0.0098 0.0076 0.0070
?_X 0.148 0.0 0.0830
?_K -0.15 -0.10 -0.040
g,r,i -6.1195 -6.374 -6.437
Calculate calibrated magnitudes; R then G then I:
#R = r + r_c + r_K*(X_r-1)
= -6.374 + 26.020 -0.10*0.225 # 19.624
#Rerr
= sqrt(0.014**2.+0.0076**2.) # 0.016
#G
=(-6.1195 + 26.485 + -0.15*0.295 - 0.148*19.624)/(1-0.148) # 20.442
#Gerr
= sqrt(0.023**2.+0.0098**2.) # 0.025
#I
=(-6.437+25.840+ -0.04*0.153 +0.083*19.624)/(1+0.083) # 19.414
#Ierr
= sqrt(0.014**2.+0.0070**2.) # 0.016
G R I
20.442 19.624 19.414
+-0.025 0.016 0.016
=20.442-19.624; = sqrt(0.025**2.+0.016**2.) #G-R & err
=19.624-19.414; =sqrt(0.016**2.+0.016**2.) #R-I & err
G-R = 0.82 +- 0.03
R-I = 0.21 +- 0.02
These values match those observed in Stripe 82 for this quasar. No evidence that the blue shape of the BOSS spectra in between S82 and CFHT epochs is real.
(A check of one comparison star confirms that the CFHT magnitude scale is close enough to the SDSS magnitude scale that the above conclusion will not be invalidated by systematic errors.)