Skip to content

Instantly share code, notes, and snippets.

@emirkmo
Created September 11, 2015 11:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save emirkmo/5d4767f7956804e82663 to your computer and use it in GitHub Desktop.
Save emirkmo/5d4767f7956804e82663 to your computer and use it in GitHub Desktop.
{
"cells": [
{
"cell_type": "code",
"execution_count": 51,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Using matplotlib backend: MacOSX\n",
"Populating the interactive namespace from numpy and matplotlib\n"
]
}
],
"source": [
"%pylab\n",
"%matplotlib inline"
]
},
{
"cell_type": "code",
"execution_count": 52,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"##Imports\n",
"#import pylab\n",
"#import numpy\n",
"import matplotlib.pyplot as plt\n",
"from __future__ import division\n",
"from scipy.integrate import simps\n",
"from pysynphot import observation\n",
"from pysynphot import spectrum"
]
},
{
"cell_type": "code",
"execution_count": 53,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"#Import Filters Bandpasses\n",
"filename='/Users/Emir/Astro/GROND/GROND_filtercurves.txt'\n",
"filters=numpy.genfromtxt(filename,unpack=True,names=True)\n",
"\n",
"#For GROND: A\tgBand\trBand\tiBand\tzBand\tJBand\tHBand\tKBand\n",
"names= filters.dtype.names[1:-1]"
]
},
{
"cell_type": "code",
"execution_count": 54,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"#Import Spectra\n",
"specpath='/Users/Emir/Astro/SN1b-Thesis/Ogle-131/spec-OGLE-2014-131.ascii'\n",
"sn=numpy.genfromtxt(specpath,usecols=(0,1), unpack=True, skiprows=0,names=('A','Flux'))\n"
]
},
{
"cell_type": "code",
"execution_count": 55,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"redshift=0.085\n",
"LuminosityDistance=399e6\n",
"ABmagdefinition=2\n"
]
},
{
"cell_type": "code",
"execution_count": 56,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.legend.Legend at 0x10e38b190>"
]
},
"execution_count": 56,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x110b45190>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"def filters_plot(x,y,filterslist=filters):\n",
" for f in y:\n",
" plt.plot(filterslist[x],filterslist[f],label=f)\n",
" return \n",
"\n",
"#Test Filter Bandpasses\n",
"plt.figure()\n",
"filters_plot('A',names)\n",
"plt.plot(sn['A']/10,sn['Flux']/numpy.median(sn['Flux']))\n",
"plt.legend()"
]
},
{
"cell_type": "code",
"execution_count": 57,
"metadata": {
"collapsed": false,
"scrolled": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Warning, 7 of 1200 bins contained negative fluxes; they have been set to zero.\n"
]
}
],
"source": [
"#Resample Spectrum in to Filter Bandpass Wavelength Scale\n",
"def rebin_spec(wave, specin, wavnew):\n",
" spec = spectrum.ArraySourceSpectrum(wave=wave, flux=specin)\n",
" f = np.ones(len(wave))\n",
" filt = spectrum.ArraySpectralElement(wave, f, waveunits='angstrom')\n",
" obs = observation.Observation(spec, filt, binset=wavnew, force='taper')\n",
" \n",
" return obs.binflux\n",
"\n",
"rebin=rebin_spec(sn['A'],sn['Flux'],(filters['A']*10.0))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now we need a 2nd Copy of the spectrum that is redshifted!"
]
},
{
"cell_type": "code",
"execution_count": 58,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"def z(wavelength,z=0.0):\n",
" return (wavelength/(1.0+z))\n",
"\n",
"sn_z=z(sn['A'],redshift)\n",
"rebin_z=rebin_spec(sn_z,sn['Flux'],(filters['A']*10.0))"
]
},
{
"cell_type": "code",
"execution_count": 59,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"rebinned_bands=[]\n",
"rebinned_bands_z=[]\n",
"for name in names:\n",
" rebinned_bands.append(rebin*(filters[name]))\n",
" rebinned_bands_z.append(rebin_z*(filters[name]))\n",
" \n",
"#Multiply New spectra by filter bandpasses\n",
"rebinned_gband=rebin*(filters['gBand'])\n",
"rebinned_rband=rebin*(filters['rBand'])\n",
"rebinned_iband=rebin*(filters['iBand'])\n",
"rebinned_zband=rebin*(filters['zBand'])\n",
"rebinned_Jband=rebin*(filters['JBand'])\n",
"\n",
"#Multiply New redshifted spectra by filter bandpasses\n",
"rebinned_gband_z=rebin_z*(filters['gBand'])\n",
"rebinned_rband_z=rebin_z*(filters['rBand'])\n",
"rebinned_iband_z=rebin_z*(filters['iBand'])\n",
"rebinned_zband_z=rebin_z*(filters['zBand'])\n",
"rebinned_Jband_z=rebin_z*(filters['JBand'])"
]
},
{
"cell_type": "code",
"execution_count": 60,
"metadata": {
"collapsed": false,
"scrolled": true
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.legend.Legend at 0x10e5a7fd0>"
]
},
"execution_count": 60,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nhAAAAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x10e5a7110>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure()\n",
"for i,name in enumerate(names):\n",
" plt.plot(filters['A']*10,rebinned_bands[i],label=str(name)+' spec')\n",
"plt.yscale('log')\n",
"plt.legend()"
]
},
{
"cell_type": "code",
"execution_count": 61,
"metadata": {
"collapsed": false,
"scrolled": true
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.legend.Legend at 0x11083f090>"
]
},
"execution_count": 61,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nNdOnTwegpKSEa665hsmTJ5OZmcn111/Pm2++WWvV09y5c4mLiyMrK4u0tDTuvPPOKttXr17Nt99+\ny3fffUdiYqJj3e3ExEQee+wx3n77bY4cOcKQIUOIj48HIDc3l9///vdceeWVZGRkkJyczLBhw5r1\nnjUnDRTKdeyB4rXlpVx8sW21vUralK3qIiKkp6cTFhZGSEgIvXv35sILL+Tiiy927HPDDTcQFhaG\nxWLh7rvvpri4mJ9++smxfciQIcTFxSEiTJo0ie3btwPw9ddfU1ZW5li2dOzYsVVWuavO19eXlJQU\n0tLS8PX15aKLLqqyffbs2YSGhtK5c2fuuusuXn/9dQD+/e9/M2fOHHr37o3FYmHOnDls27aNAwcO\n8O6779KxY0dmzZqFr68vbdu2JSYmpjlvYbPSFe6U69hX8/Lb8BHRE+LrXmlPtQhJktQs54k1sU06\n3hhDx44dOWgvhubk5HDHHXcwefJkVqxYAcDChQtZtmwZ6enpiAg5OTkcOXLEcY6oqCjH48DAQIqK\niqioqCA9Pb3GZUtra6N44oknmDt3LjExMYSFhXHPPfdw8803O7Z37nx8hECXLl1IT08HbCvczZw5\nk3vuuafK+dLS0khNTaV79+6NuTVuoYFCuU7lOsW5ufj723pVtbT1WFRVTf2Cd5Xg4GDi4+Md7QMb\nNmzgySef5JNPPnGsdBceHl6vBukOHTrUuGxpz549a9w/KiqK559/HoCNGzfy+9//nqFDhzq+6A8c\nOECfPn0cjyuDUJcuXZg7d66juqn69RISEurz0lsErXpSrtO1KzzzjG1uEI6PDleqofLy8khISKB/\nf9u67Lm5uXh7e9OuXTtKSkpYsGABOTk59TrX4MGD8fb2dixb+tZbb/HNN9/Uuv+qVatITbWNIw4N\nDUVEqqx9vXDhQrKysjh48CCLFy9m/Hjb6gm33347jz76KDt37gQgOzubVatWATBy5EgyMjJ4+umn\nKS4uJjc3l82bNzf8xpwiGiiUazktktGhg22E+Me/+x0R3lqYVTWr7B6bnp7uGEdhtVrJysritdde\nA2xLmMbFxdGrVy+sVisBAQF06dLlhHNUPy/Y2hzeeustXnzxRSIiInjjjTcYO3ZsrfnZsmULF154\nIUFBQYwePZrFixdjtVod20ePHs25557LoEGDGDlyJLfccgsA11xzDbNnz2bChAmEhIRw9tlns27d\n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\nGa4kxg0AAAAASUVORK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x11083f610>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure()\n",
"for i,name in enumerate(names):\n",
" plt.plot(filters['A']*10,rebinned_bands_z[i],label=str(name)+' spec')\n",
"plt.yscale('log')\n",
"plt.legend()"
]
},
{
"cell_type": "code",
"execution_count": 62,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'zBand': 4.5391227565656917e-18, 'gBand': 1.9226202851457163e-21, 'HBand': 0.0, 'rBand': 5.5893811168653355e-18, 'iBand': 9.0949174390115679e-18, 'JBand': 0.0}\n",
"{'zBand': 1.5123345561126846e-18, 'gBand': 6.789970059372933e-22, 'HBand': 0.0, 'rBand': 8.1595829036405756e-18, 'iBand': 7.2715946546568702e-18, 'JBand': 0.0}\n"
]
}
],
"source": [
"#Obtain Photometry by integrating using Simpson's rule integrator:\n",
"I_list=[]\n",
"I_list_z=[]\n",
"for i,name in enumerate(names):\n",
" I_list.append(simps(rebinned_bands[i],(filters['A']*10.0))/simps(filters[name],(filters['A']*10.0)))\n",
" I_list_z.append(simps(rebinned_bands_z[i],(filters['A']*10.0))/simps(filters[name],(filters['A']*10.0)))\n",
" \n",
"I_mean_flux=dict(zip(names,I_list))\n",
"I_mean_flux_z=dict(zip(names,I_list_z))\n",
"\n",
" \n",
"print I_mean_flux\n",
"print I_mean_flux_z "
]
},
{
"cell_type": "code",
"execution_count": 63,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'zBand': 8947.1247600079678, 'gBand': 4528.2550293305194, 'HBand': 16375.063481284889, 'rBand': 6159.984462554552, 'iBand': 7621.7239398495867, 'JBand': 12406.776208044283}\n"
]
}
],
"source": [
"#Calculate Lambda Pivot\n",
"\n",
"def calc_lambda_pivot(lam,R):\n",
" lambdapivotsq=simps(R,lam)/simps(R,1.0/lam)\n",
" return (lambdapivotsq*-1.0)**(1.0/2)\n",
"\n",
"pivotlist=[]\n",
"for name in names:\n",
" pivotlist.append(calc_lambda_pivot((filters['A']*10.0),filters[name]))\n",
"lambdapivotlist=dict(zip(names,pivotlist)) \n",
"\n",
"print lambdapivotlist"
]
},
{
"cell_type": "code",
"execution_count": 64,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'zBand': 1.2136274234550904e-05, 'gBand': 1.3167451980836855e-09, 'HBand': 0.0, 'rBand': 7.0838510961028142e-06, 'iBand': 1.7646218677245223e-05, 'JBand': 0.0}\n",
"{'zBand': 4.0435361394055139e-06, 'gBand': 4.6502476541454414e-10, 'HBand': 0.0, 'rBand': 1.0341264817546109e-05, 'iBand': 1.4108555714641863e-05, 'JBand': 0.0}\n"
]
}
],
"source": [
"#Get Fv_r in Jy.\n",
"def Fnu(Fl,lpivot):\n",
" return (3.34e4)*((lpivot)**2)*Fl\n",
" #return (Fl*(lpivot**2.0)/(3e8))\n",
"\n",
" \n",
"Fv={} \n",
"for key in lambdapivotlist:\n",
" Fv[key]=Fnu(I_mean_flux[key],lambdapivotlist[key])\n",
"print Fv\n",
"\n",
"\n",
"##REDSHIFTED\n",
"Fv_z={} \n",
"for key in lambdapivotlist:\n",
" Fv_z[key]=Fnu(I_mean_flux_z[key],lambdapivotlist[key])\n",
"print Fv_z"
]
},
{
"cell_type": "code",
"execution_count": 65,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'zBand': 21.310213453314233, 'gBand': 11.39875435811004, 'HBand': -inf, 'rBand': 20.725673559153453, 'iBand': 21.716629142079505, 'JBand': -inf}\n",
"{'zBand': 20.116903322508175, 'gBand': 10.268690205861851, 'HBand': -inf, 'rBand': 21.13643414904362, 'iBand': 21.473706393835624, 'JBand': -inf}\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/Emir/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/IPython/kernel/__main__.py:14: RuntimeWarning: divide by zero encountered in log10\n"
]
}
],
"source": [
"#Calculate AB Mag\n",
"#Regular\n",
"def ABmag(fv):\n",
" return (-5.0/2)*numpy.log10(fv)+8.90\n",
"\n",
"#SDSS\n",
"def ABmag_sdss(fv):\n",
" return -2.5*numpy.log10(fv)-48.60\n",
"\n",
"#GROND\n",
"#THIS NEEDS TO BE IN JANSKIES i.e. 1Jy is 1e-23 of cgs spectral irradience w/r/t freq.\n",
"#Divide by 1e-23 before input.\n",
"def ABmag_Grond(fv):\n",
" return -1*((2.5*(29-numpy.log10(fv)))-48.6)\n",
"\n",
"#Set ABmag conversion function\n",
"ABmagfunctionlist=[ABmag,ABmag_sdss,ABmag_Grond]\n",
"ABmagfunction=ABmagfunctionlist[ABmagdefinition]\n",
"#ABmagfunction=ABmag_sdss\n",
"#ABmagfunction=ABmag\n",
"\n",
"abmags_sn={}\n",
"for key in Fv:\n",
" abmags_sn[key]=ABmagfunction(Fv[str(key)]/1e-23) #Conversion\n",
"print abmags_sn\n",
"\n",
"##REDSHIFTED\n",
"abmags_sn_z={}\n",
"for key in Fv_z:\n",
" abmags_sn_z[key]=ABmagfunction(Fv_z[str(key)]/1e-23) #Conversion\n",
"print abmags_sn_z"
]
},
{
"cell_type": "code",
"execution_count": 66,
"metadata": {
"collapsed": false,
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"zBand Kcorr is 1.19331013081\n",
"gBand Kcorr is 1.13006415225\n",
"HBand Kcorr is nan\n",
"rBand Kcorr is -0.41076058989\n",
"iBand Kcorr is 0.242922748244\n",
"JBand Kcorr is nan\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/Emir/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/IPython/kernel/__main__.py:13: RuntimeWarning: invalid value encountered in double_scalars\n"
]
}
],
"source": [
"#Calculate Distance Modulus Given Luminosity distance\n",
"def distance_mod(DL):\n",
" return -5.0*(numpy.log10(DL)-1)\n",
"\n",
"\n",
"#DISTANCE MODULUS\n",
"DM=LuminosityDistance\n",
"for key in abmags_sn:\n",
" #Calculate Absolute AB Mag of synphot, using DM of 399.9 Mpc from NED\n",
" Abs_mag_key=abmags_sn[key]+distance_mod(DM)\n",
" #Calculate Absolute AB mag of r-band photometry:\n",
" Abs_mag_key_z=abmags_sn_z[key]+distance_mod(DM)\n",
" print str(key)+' Kcorr is', Abs_mag_key-Abs_mag_key_z\n",
" \n",
"#print 'Peak mag is', 20.219-5*(numpy.log10(399.9e6)-1)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**DISTANCE MODULUS IS** **-38.005** assuming 2015 plank H0 of 67.8, 0.3Omega M, and 0.7Omega Lambda in a flat universe to get DL of 399.9Mpc."
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment