MC-Age — Estimating Stellar Population Ages with FSPS¶
About¶
This project uses FSPS, and python-FSPS to estimate the age of a stellar populations from a photometric SED. The code is available on github.
Science goal¶
We check local environment effects on SNIa by looking for correlations between Hubble Residual and the mass weighted average age of the local environment calculated from SDSS Scene Modeling Photometry. We also look at correlations between other variables including SALT2 stretch and color, and host galaxy stellar mass.
Data File Documentation¶
General Comments¶
These are the assumptions of the data file formats:
- tab separated values
- NOT dust corrected
- Contains these column names
- SNID, u, g, r, i, z, err_u, err_g, err_r, err_i, err_z, redshift, ra, dec
- ra and dec are assumed to be floats in degrees
- order is not important
Detailed Data Set Comments¶
Detailed comments and documentation on each data set file in the data/
folder.
RA & Dec are in degrees. PetroRad_r is in arcsec. Photometry is in magnitudes.
Main Data¶
campbell_local.tsv
- An original data set that combines information from
SDSS_Photometric_SNe_Ia.fits
(Campbell) and
SMP-photometry\
(Holtzman). * Hubble residuals (‘hr’) use the Malmquist bias corrected distances. * It was created viaCollecting Local SN Data.ipynb
with the data cuts in the paper: z < 0.5, simga_mag < 1.5 mag, HR < 0.7 mag. * N = 104- An original data set that combines information from
campbell_global.tsv
- The global photometry of the same hosts as
campbell_local.tsv
- Retrieval SEDs in the same way as
gupta_global.tsv
. - N = 104
- The global photometry of the same hosts as
campbell_formass.csv
- TODO
- a csv version of
campbell_global.tsv
- with
PetroRad_r
column removed
Calibration Data¶
ellipt_burst_global.tsv
- TODO
- note really SNID’s but rather galaxy number. More details are in the
notes
header
ellipt_burst_local.tsv
- Not needed therefore not there.
gupta_global.tsv
- The objects analyzed in Gupta 2011 but with the same quality cuts I performed on the Campbell/Holtzmann data set.
- This is the global photometry for the host galaxies of many SDSS-II SN. From DR12 via astroquery 0.3.4, by hand on SkyServer DR13, and Gupta 2011 redshift if none was found before
- N = 77
Gupta11_table2.???
- TODO
self_consistancey.tsv
- no need for RA and Dec in this file. Code skips dust correction for this data set.
H_0 analysis¶
riess_local.tsv
riess_global.tsv
riess_formass.csv
Others¶
- Table 7
- Table 8
- Table 9
Folders¶
calibration_sample_lc/
- Raw light curves
- & light curves in the form needed by
sncosmo
and will be analyses byget_salt_values.py
oldruns/
- original version of data folder. Used for much of the development. Was removed on 2018-07-27 for this current system.
SDSS - coadded
,SDSS - spectra
- Not used and are self evident
SMP-photometry
- “raw” data for from Holtzman scene modeling.
CampbellHoltzman_formass.csv
- This file was used as part of the inputs to
kcorrect
. - is a subset of
CampellHoltzman_global.tsv
- It was created via an older copy of
Collecting Local SN Data.ipynb
.
- This file was used as part of the inputs to
CampellHoltzman_global.tsv
- The global photometry of the same hosts as
CampellHoltzman.tsv
- Retrieval method is the same as
GobalPhotomtery-Gupta.tsv
.
- The global photometry of the same hosts as
circlePhotometry.tsv
final_mags.txt
- Output from Peter’s magnitude calculations.
galaxyPhotometry.tsv
- Am I even using this?
GlobalPhotometry-Gupta.tsv
- This is the global photometry for the host galaxies of many SDSS-II SN
From DR12 via astroquery 0.3.4, by hand on SkyServer DR13, and Gupta 2011 redshift if none was found before
* Gupta11_table2.txt
- The ascii version of table 2 from Gupta 2011. Paper has complete citation.
- tsv file is the same, I mean to only use the txt file but I appear to be using the tsv once in this whole setup.
Riess2016_calibrators.tsv
- These are the galaxies used to calibrate the SN $M_0$ value.
- They are first reported in Table 1 and used for the middle frame in figure 10.
- 101 is M101, 9391 is UGC 9391, and all the rest are NGC objects.
- The redshifts are from Simbad
- The photometry was done by Peter emailed to me on 2018-06-27 with the subject “final mags for cepheid hosts”
- “The uncertainties should be dominated by systematics and not statistical noise given the brightness of these objects. I would say that the relative uncertainty from band to band is 0.03 mag. The over-all uncertainty is larger as a slightly bigger aperture might include more light. But use 0.03 mag and we can inflate the errors on the mass.” – Peter
- Some objects are outside of SDSS footprint, but sadly PanSTARS did not observe in the u band:
‘’’
1365 0.005476 0.00001
1448 0.003895
2442 0.004846
4038 0.005593
5917 0.006472
‘’’
* Riess2016_calibrators_local.tsv
- Same as
Riess2016_calibrators.tsv
but for 1.5kpc radii apertures around the location of their SN.
Riess2016_formass.csv
- same as
Riess2016_calibrators.tsv
but saved as a csv rather than tsv. - except that these “redshifts” are derived from the median NED cephiad distance and assuming a H_0 = 73.8 km/s/Mpc as fit by Campbell 2013 and used throughout this paper.
- same as
SDSS_Photometric_SNe_Ia.fits
- This is the data released in Campbell 2013. It is the cosmological data
for the spectroscopic and photometrically classified SN Ia from SDSS. * It is originally available at http://www.icg.port.ac.uk/stable/campbelh/SDSS_Photometric_SNe_Ia.fits
lc/
- Raw light curves
- & light curves in the form needed by
sncosmo
and will be analyses byget_salt_values.py
ellipt_burst_global.tsv
- IC 219 host of SN 2005dm (elliptical
- NGC 524 host of SN 2000cx (elliptical)
- Arp 299 (starburst) host of many CC SN (local is 2010P)
- M82 (NGC 3034) (starburst) host of SN 2014J
Consistency Tests¶
Circle Test¶
The first test is to make sure the MCMC can get out the same result that FSPS
was given. Seeing the flow of the values
Input 1 (to FSPS) | Output 1 (from FSPS) | Input 2 (to spae) | Output 2 (from spea) |
---|---|---|---|
SFH parameters, redshift | SED | SED, redshift | SFH parameters |
So the output of spea
should be the same as the input to FSPS
.
Setting and generating the values in data/circlePhotometry.tsv
¶
Lets generate the needed stellar population. This should be the same as the default in calcualteAge.pyL427.
import fsps
sp = fsps.StellarPopulation(zcontinuous=2, cloudy_dust=True,
add_neb_emission = True, sfh=5)
sdss_bands = ['sdss_u', 'sdss_g', 'sdss_r', 'sdss_i', 'sdss_z']
Here are the different input 1, star formation histories in a table
name | logzsol | dust2 | tau | tStart | sfTrans | sfSlope | description |
---|---|---|---|---|---|---|---|
c1 | -0.5 | 0.1 | 0.5 | 1.5 | 9.0 | -1.0 | old |
c2 | -0.5 | 0.1 | 0.5 | 1.5 | 9.0 | 15.0 | sharp burst & young |
c3 | -0.5 | 0.1 | 7.0 | 3.0 | 10.0 | 15.0 | flat burst & young |
c4 | -0.5 | 0.1 | 7.0 | 3.0 | 13.0 | 0.0 | flat burst |
c5 | -1.5 | 0.1 | 0.5 | 1.5 | 9.0 | -1.0 | metal poor, like c1 |
c6 | -0.5 | 0.8 | 7.0 | 3.0 | 10.0 | 15.0 | dusty, like c2 |
c7 | -0.5 | 0.1 | 0.5 | 1.5 | 6.0 | 15.0 | mostly late linear, like c2 |
c8 | -0.5 | 0.1 | 0.1 | 8.0 | 12.0 | 20.0 | very young |
and as copyable code
logzsol, dust2, tau, tStart, sfTrans, sfSlope = -0.5, 0.1, 0.5, 1.5, 9.0, -1.0
logzsol, dust2, tau, tStart, sfTrans, sfSlope = -0.5, 0.1, 0.5, 1.5, 9.0, 15.0
logzsol, dust2, tau, tStart, sfTrans, sfSlope = -0.5, 0.1, 7.0, 3.0, 10.0, 15.0
logzsol, dust2, tau, tStart, sfTrans, sfSlope = -0.5, 0.1, 7.0, 3.0, 13.0, 0.0
logzsol, dust2, tau, tStart, sfTrans, sfSlope = -1.5, 0.1, 0.5, 1.5, 9.0, -1.0
logzsol, dust2, tau, tStart, sfTrans, sfSlope = -0.5, 0.8, 7.0, 3.0, 10.0, 15.0
logzsol, dust2, tau, tStart, sfTrans, sfSlope = -0.5, 0.1, 0.5, 1.5, 6.0, 15.0
logzsol, dust2, tau, tStart, sfTrans, sfSlope = -0.5, 0.1, 0.1, 8.0, 12.0, 20.0
sp.params['logzsol'] = logzsol
dust1 = 2.0*dust2
sp.params['dust1'] = dust1
sp.params['dust2'] = dust2
sp.params['tau'] = tau
sp.params['sf_start'] = tStart
sp.params['sf_trunc'] = sfTrans
sp.params['sf_slope'] = sfSlope
sp.get_mags(tage=13.185, redshift=0.05, bands=sdss_bands)
And the results can be found in data/circlePhotometry.tsv
available on GitHub with a boost of c = 25
comment on photometric uncertainties.
SED Check¶
Messier Objects¶
The paper coves this well.
Gupta Objects¶
The paper covers this well.
Script Documentation¶
These are the documentation for the helper scripts. These scripts are used for pre- and post-processing of data.
Combine Ages¶
API Documentation¶
Main usage¶
Usage and Options are available, correctly formated, via
fspsage.py -h
once installed.
fsps-age.py – Estimates the age of a Photometric SED using FSPS.
- Science goal:
- Check local environment effects on SNIa by looking for correlations between HR and the age of the local environment calculated from SDSS Scene Modeling Photometry
- Usage:
- fspsage.py burnin OBJID fspsage.py run DATASET JOBID JOBLENGTH [-d | –debug] fspsage.py (-h | –help) fspsage.py –version
- Option:
- burnin run a shorter run on specific objects only OBJID the SN (or Messier) ID of the object to observe run estimate age for a given data set DATASET analyses circle, messier, gupta, campbell, campbellG, and riess data sets JOBID the ID for the piece of the data set to be analyzed JOBLENGTH the total number of objects looked at -d –debug run shorter and with more logs -h –help show this screen –version show version
- Benjamin Rose
- brose3@nd.edu
- benjamin.rose@me.com
- University of Notre Dame
- 2017-01-19
- Python 3.5
-
fspsage.
burnin
(cli)[source]¶ Runs a smaller emcee.sampler to see how the sampling is progressing. Hopefully these values will not effect how it samples, but it will likely effect how well it sampled.
-
fspsage.
calculateAge
(SNID)[source]¶ # Get MCMC running and be able to calculate an age with uncertainties.
CalculateAge¶
Utilities¶
Indices and tables¶
Assumptions¶
- This code assumes you are using SDSS ugriz SED’s. There are several lines of code that would need to be updated if this assumption is changed. Hopefully they are marked with comments.