Introduction

For convenience, the ACS Team implemented the Zeropoint Calculator webtool to compute time-dependent zeropoints for all supported observing modes as well as a python module, acszpt. We strongly advised users to use this calculator or python module to compute the zeropoints required for photometric calibration of their observation. For convenience, we provide examples below demonstrating how to use the acszpt module on this webpage. 

This webpage contains information for how to calibrate photometric measurements made with the HST/ACS instrument. There are several supporting documents linked below which give a more detailed explanation of many topics and methods used to in the photometric calibration of the ACS instrument. The topics on this page will be suitable for most users performing basic aperture photometry. Aperture correction tables can be found on the Aperture Corrections webpage.

Summary of Changes Made in Deriving the 2016 ACS/WFC Zeropoints

Bohlin (2016; hereafter ISR 2016-03) continues the work documented in ACS ISRs 2011-022011-03, and 2012-01 by performing the most precise set of flux calibration for the HRC and WFC cameras to date. The data are comprised of ~18 orbits of the primary hot white dwarf stars G191B2B, GC153, and GD71, which are used to define the ACS flux calibration and its change over time, spanning a ~7 year period from August 2009 to March 2016. The average decline in sensitivity is 0.061% ± 0.007% per year across all filters, which differs at most by <1σ from the measured rate of 0.035% ± 0.037% for F850LP; therefore, the average loss rate is adopted for all WFC data taken after SM4 (2009.4). Even with gain adjustments made after the revival of the ACS WFC to match post-SM4 photometry to 2002.4 epoch photometry of 47 Tuc for F606W (ACS ISR 2011-03), an additional (small) shift in sensitivity by 0.997 improves the match at F606W. These adjustments range from 0.996 to 1.007 for the other filters. After applying corrections for sensitivity loss and renormalizing, the new observations and newly reprocessed data for F435W and F814W required shifts to each filter's bandpass transmission function to reduce the maximum error. Once all of the adjustments are made, the fully corrected photometry at the WFC1-1K reference point in the eight broadband filters achieves the 1% precision goal.

Comparing the WFC PHOTFLAM results of ISR 2016-03 with Sirianni et al. (2005) for 2002.16 epoch reveals differences ranging from 5% smaller for F660N to 1% larger for F550M, while the eight broadband filters are 1−3% smaller. For the HRC, differences range from 0−3% smaller, except for F344N, where the new calibration is 3% larger. These differences are due mostly to changes in the CALSPEC reference spectral energy distributions (SEDs) and to a refined and expanded set of ACS observations of these standard stars.

Photometric Systems

Here we define several terms generally used in the photometric analysis of HST/ACS observations.

Flux: 

The average flux F (units: erg cm−2 s−1 Å−1) over an ACS bandpass is F= N x PHOTFLAM, where N is the count rate in an infinite aperture. For count rates Nap in a given aperture, N=Nap/EE where EE is the fractional encircled energy. Encircled energy curves may be found on the Aperture Corrections webpage. For more general information, see chapter 5 of the ACS Data Handbook. For instrument specific information see ISR 2016-03 (HRC and WFC)  or ISR 2016-05 (SBC).

VegaMag

The magnitude system in which Vega has an apparent magnitude of 0 at all wavelengths. Using the flux spectrum of Vega from the CALSPEC archive (FVega), the magnitude of a star with flux F in the VegaMag system is:

  • \(m = −2.5*log_{10}(F/F_{Vega})\)

STMag and ABMag

These magnitude systems differ from the VegaMag system in that they have an artifical reference flux for conversion to magnitude. The reference flux for STMag (3.63×10−9 erg cm−2 s−1 Å−1) is flat in wavelength space, while the reference for ABMag (3.63×10−20 erg cm−2 s−1 Hz−1) is flat in frequency space. The conversion between flux density and magnitude for these photometric systems are:

  • \(STMag = −2.5*log_{10}(F_{\lambda})−21.10 \)
  • \(ABMag = −2.5*log_{10}(F_{\nu})−48.60\)

Photometric Keywords in SCI Extensions of ACS Images

Here we describe several header keywords present in ACS FITS files. These keywords can be used to obtain photometric calibration information for your data.

  • PHOTMODE: Observation configuration for photometric calibration.
  • PHOTFLAM: Inverse sensitivity (units: erg cm−2 Å−1 electron−1). This represents the scaling factor necessary to transform an instrumental flux in units of electrons per second to a physical flux density.
  • PHOTZPT: STMag zeropoint.
  • PHOTPLAM: Pivot wavelength (units: Å)

The PHOTFLAM and PHOTPLAM header keywords are used to derive the instrumental zeropoint magnitudes, which are defined to be the magnitude of an object that produces one count per second. The instrumental magnitudes are defined as follows:

  • \(ZP_{ST} = −2.5*log_{10}( PHOTFLAM )−21.10\)

  • \(ZP_{AB} = −2.5*log_{10}( PHOTFLAM )-5*log_{10}⁡( PHOTPLAM )−2.408\)

In addition to being present in the image headers, the PHOTFLAM value for a given date can be calculated using the acszpt module. See the Examples below.

 

Examples

Calculating the Zeropoints for a Specific Date

The gradual loss in instrument sensitivity of the ACS detectors necessitates timedependent zeropoints. These time-dependent zeropoints can be retrieved via the web interface, ACS Zeropoints Calculator, or programmatically via the acszpt module. Below we demonstrate how to use the acszpt to generate zeropoints for the ACS/WFC detector on an arbitrarily chosen date:

 

from acstools import acszpt                                                       

# Specify the date, must be in ISO Format (YYYY-MM-DD)
date = '2016-04-01'                                                               

# Specify the detector
detector = 'WFC'                                                                  

# Create an instance of the Query class
q = acszpt.Query(date=date, detector=detector)                                    

# Fetch the results for all filters
zpt_table = q.fetch()

# Create an instance and search for a specific filter
q_filter = acszpt.Query(date=date, 
                        detector=detector, 
                        filt='F435W')

# Fetch the results for the F435W filter
filter_zpt = q_filter.fetch()

 

Converting Between Instrumental and Physical Fluxes/Magnitudes

In this example, we have a measurement of the fluxes of several point sources in 0.2 arcsecond (4 pixel) radius apertures using the ACS/WFC camera and the F555W filter taken on Jan 1, 2017. First, we will apply an aperture correction to our measurements. Aperture corrections from a variety of radii to the infinite aperture radius can be found on the Aperture Corrections webpage.  After the aperture corrections have been applied, we use the acszpt module to generate the STmag, ABmag, and VegaMag zeropoints and use them to convert the instrument magnitudes to physical magnitudes.

 

from acstools import acszpt
import numpy as np
from astropy.table import Table

# Create some fake fluxes in electrons per second.
instrumental_flux = np.array([5.2393, 7.2935, 3.2355, 4.9368])

# Apply the correction from 0.2" to infinity.
# For F555W, the correction is 0.841
correction_inf = 0.841
flux_inf = instrumental_flux / correction_inf

# Query the zeropoint calculator for the F555W zeropoint information
q = acszpt.Query(date='2017-01-01', detector='WFC', filt='F555W')
filter_zpt = q.fetch()

# Now convert instrumental fluxes to physical fluxes and magnitudes.
# F_lambda is the flux density in units of erg/sec/cm^2/Angstrom.
F_lambda = flux_inf * filter_zpt['PHOTFLAM']
m_st = -2.5 * np.log10(flux_inf) + filter_zpt['STmag'][0].value
m_ab = -2.5 * np.log10(flux_inf) + filter_zpt['ABmag'][0].value
m_vega = -2.5 * np.log10(flux_inf) + filter_zpt['VEGAmag'][0].value

# Assemble the values into an Astropy Table. Note that we could
# attach units to these columns, however advanced Astropy
# Tables use is outside the scope of this example.
phot_table = Table({'Measured Flux': instrumental_flux, 'F_lambda': F_lambda,
                    'ST Mag': m_st, 'AB Mag': m_ab, 'Vega Mag': m_vega}, 
                   names=['Measured Flux', 'F_lambda', 'ST Mag', 'AB Mag', 'Vega Mag'])

 

References

LAST UPDATED: 07/29/2019

Please Contact the HST Help Desk with any Questions

https://hsthelp.stsci.edu.