Sesar 2010 RR Lyrae (Stripe 82)¶
The primary dataset available is the 483 RR Lyrae from Sesar 2010. This dataset contains observations of 483 RR Lyrae stars in Stripe 82 over approximately a decade, along with observational metadata, derived metadata, and templates derived from the code.
Observed Light Curves¶
The photometric light curves for these stars can be downloaded and accessed
via the fetch_rrlyrae()
function. For example:
In [1]: from gatspy.datasets import fetch_rrlyrae
In [2]: rrlyrae = fetch_rrlyrae()
In [3]: len(rrlyrae.ids)
Out[3]: 483
As you can see, the result of the download is an object which contains the data
for all 483 lightcurves. You can fetch an individual lightcurve using the
get_lightcurve
method, which takes a lightcurve id as an argument:
In [4]: lcid = rrlyrae.ids[0]
In [5]: t, mag, dmag, filts = rrlyrae.get_lightcurve(lcid)
Let’s use matplotlib to visualize this data, and get a feel for what is there:
(Source code, png, hires.png, pdf)
This gives a nice visual indication of what the data look like.
RR Lyrae Metadata¶
Along with the main lightcurve observations, the dataset tools give access to
two sets of metadata associated with the lightcurves. There is the observational
metadata available from the get_obsmeta()
method, and the fit metadata
available in the get_metadata()
method.
The observational metadata includes quantities like RA, Dec, extinction, etc. Details are in Table 3 of Sesar (2010).
In [6]: obsmeta = rrlyrae.get_obsmeta(lcid)
In [7]: print(obsmeta.dtype.names)
('id', 'RA', 'DEC', 'rExt', 'd', 'RGC', 'u', 'g', 'r', 'i', 'z', 'V', 'ugmin', 'ugmin_err', 'grmin', 'grmin_err')
The fit metadata includes quantities like the period, type of RR Lyrae, etc. Details are in Table 2 of Sesar (2010).
In [8]: metadata = rrlyrae.get_metadata(lcid)
In [9]: print(metadata.dtype.names)
('id', 'type', 'P', 'uA', 'u0', 'uE', 'uT', 'gA', 'g0', 'gE', 'gT', 'rA', 'r0', 'rE', 'rT', 'iA', 'i0', 'iE', 'iT', 'zA', 'z0', 'zE', 'zT')
For example, we can use the period from the metadata to phase the lightcurve as follows:
In [10]: period = metadata['P']
In [11]: phase = (t / period) % 1
Using this, we can plot the phased lightcurve, which lets us more easily see the structure across the observations:
(Source code, png, hires.png, pdf)
These periods were determined within Sesar 2010 via a template fitting approach.
RR Lyrae Templates¶
gatspy
also provides a loader for the empirical RR Lyrae templates derived
in Sesar 2010. These are available via the
fetch_rrlyrae_templates()
function:
In [12]: from gatspy.datasets import fetch_rrlyrae_templates
In [13]: templates = fetch_rrlyrae_templates()
In [14]: len(templates.ids)
Out[14]: 98
There are 98 templates spread among the five bands, which can be referenced by their id:
In [15]: templates.ids[:10]
Out[15]: ['0g', '0i', '0r', '0u', '0z', '100g', '100i', '100r', '100u', '100z']
Each of these templates is normalized from 0 to 1 in phase, and from 0 to 1 in
magnitude. For example, plotting template '100'
we see:
(Source code, png, hires.png, pdf)
For more information on these templates, see the discussion in Sesar (2010).
Generated Lightcurves¶
Using the RR Lyrae templates, it is possible to simulate observations of RR
Lyrae stars. gatspy
provides the RRLyraeGenerated
class as an interface for this.
In order to make the observations as realistic as possible, these lightcurves
are based on one of the 483 Stripe 82 RR Lyrae compiled by Sesar (2010):
In [16]: from gatspy.datasets import fetch_rrlyrae, RRLyraeGenerated
In [17]: rrlyrae = fetch_rrlyrae()
In [18]: lcid = rrlyrae.ids[0]
In [19]: gen = RRLyraeGenerated(lcid, random_state=0)
In [20]: mag = gen.generated('g', [51080.0, 51080.5], err=0.3)
In [21]: mag.round(2)
Out[21]: array([ 17.74, 17.04])
This will create observations drawn from the best-fit template with the given magnitude error. Here let’s use the observed times and errors to compare a realization of the generated light curve to the true observed data:
(Source code, png, hires.png, pdf)
Here the observed data are the faint circles, while the generated data are the small points with errorbars. With this tool, it is easy to mimic observations of fainter RR Lyrae which follow the properties of the RR Lyrae observed in Stripe 82.