Exemple #1
0
    def add_component(self, catalog_format, catalog_name,
                      object_name, plot_pivot=False, **ecpl_params):
        """ Read necessary parameters from FITS file and plot butterfly

        Parameters:
        catalog_format = 'hess', 'fermi'
        catalog_name = FITS file name
        object_name  = object name string in 'name' column

        Note: Since every catalog has columns with different
        names and units, a general SED plotting is not possible.
        Instead for each catalog type a handler function that
        deals converts to a standard format is called.

        @todo: Possibly pass plotting parameters along here by
        appending them to the ecpl_params dictionary
        -> I don't think this works at the moment!!!"""
        from atpy import Table
        # Get the catalog from file and initialize some things
        self.catalog_format = catalog_format
        self.catalog_name = catalog_name
        self.object_name = object_name
        self.catalog = Table(catalog_name).data
        # Build a dictionary of parameters needed for the plot
        self.ecpl_params = ecpl_params
        self.get_ecpl_params()
        # Plot curve
        self.plot_ecpl(plot_pivot=plot_pivot, **ecpl_params)
        # Plot points if present
        if self.plot_points is not None:
            # Get the values needed for plotting
            e = self.plot_points[0]
            f = self.plot_points[1]
            f_err = self.plot_points[2]
            e_err = self.plot_points[3]
            is_ul = self.plot_points[4]
            for ii in range(e.size):
                self.plot_point(e[ii], f[ii],
                                f_err=f_err[ii],
                                e_err=[[e_err[0][ii]], [e_err[1][ii]]],
                                ul=is_ul[ii])
            # Remove so that it doesn't get plotted again.
            self.plot_points = None
#program to genorate stellar masses from optical colours and 2mass magnitudes. For
# galaxies that only have a bt mag then we will fit a function to the 
# other galaxies giving a fuction for btmag to stellar mass.

# Chris Fuller 15 July 2013

#import mods
from atpy import Table
import numpy as np
from os.path import join as pj
import matplotlib.pyplot as plt

#Inputs
folder = "/Users/chrisfuller/Dropbox/phd/herchel/fornax/final_outputs/"
cat = Table(pj(folder,"stellar-mass-fornax_v2.fits"))

###################### Functions ############################################################

# bell et al 2003
# log10 (M/L) - a + (b x color)
def stellar_mass(band, col, sun_band):
    #constants used below    
    a = -0.206
    b =  0.135
    
    #distance modules of fornax
    dist_mod = 31.24
    
    #convernt to abs mag
    Band = band - dist_mod
    
# making sed fit output for Coma Galaxies for thesis
# Chris Fuller, May 2013

import numpy as np
from atpy import Table
import matplotlib.pyplot as plt

folder = "/Users/chrisfuller/Dropbox/phd/herchel/coma/final_outputs/" # input/output folder
fname = 'coma_supercluster_cal12_pacscorrected.fits' #input name
cat = Table(folder+fname,type='fits')

cat = cat.where(cat.DMASS_TYPE == 2)

bands = ['100', '160', '250', '350', '500']

#inverse_bands =  np.array([500.,350.,250.,160.,100.], dtype=np.float)

#physical constants
h = 6.626e-34
c = 3.0e+8
k = 1.38e-23

########## functions ###############
#this gives a flux in jy for a wavelength, this uses a fixed beta
#wavelength = microns, distance = Mpc, mass = log10 solar mass
def modb(mass,temp,distance,wavelength):
    m = (10**mass)*2E30 #converts mass into kg
    d = distance*3.08567758E22 #converts Mpc to m
    wav = wavelength*1E-6 #convert micron to m
    
    k_l = kappa(wav)
Exemple #4
0
class SED(list):
    """Class to plot GeV -- TeV SEDs

    Internally the same units as in the Fermi catalog are used:
    - Energies in MeV
    - Flux densities in cm^-2 s^-2 MeV^-1
    - Fluxes in cm^-2 s^-1
    - Energy fluxes in erg cm^-2 s^-1"""
    """
    def add_Fermi(self, name):
        try:
            self._fermi
            self.append(self._fermi.sed_component(name))
        except
        component = catalog.sed_component(name)
        self.append(component)
    """
    def add(self, names, catalogs):
        for name in names:
            for catalog in catalogs:
                try:
                    component = catalog.sed_component(name)
                    self.append(component)
                    logging.info('%s found in %s',
                                 name, catalog.table.table_name)
                except ValueError as e:
                    logging.warning(e)
                    logging.warning('%s not found in %s',
                                    name, catalog.table.table_name)
                    pass

    def plot(self, filename='sed.png', xlim=(8e-2, 2e5), ylim=(1e-14, 1e-8)):
        import matplotlib.pyplot as plt
        plt.figure()
        plt.ylabel(r'E$^2$ dF/DE (erg cm$^{-2}$ s$^{-1}$)')
        plt.xlabel('Energy (GeV)')
        plt.loglog()
        logging.info('Plotting {0} components in SED'.format(len(self)))
        for component in self:
            component.plot()
        plt.xlim(xlim)
        plt.ylim(ylim)
        plt.legend()
        logging.info('Writing {0}'.format(filename))
        plt.savefig(filename)

    def add_component(self, catalog_format, catalog_name,
                      object_name, plot_pivot=False, **ecpl_params):
        """ Read necessary parameters from FITS file and plot butterfly

        Parameters:
        catalog_format = 'hess', 'fermi'
        catalog_name = FITS file name
        object_name  = object name string in 'name' column

        Note: Since every catalog has columns with different
        names and units, a general SED plotting is not possible.
        Instead for each catalog type a handler function that
        deals converts to a standard format is called.

        @todo: Possibly pass plotting parameters along here by
        appending them to the ecpl_params dictionary
        -> I don't think this works at the moment!!!"""
        from atpy import Table
        # Get the catalog from file and initialize some things
        self.catalog_format = catalog_format
        self.catalog_name = catalog_name
        self.object_name = object_name
        self.catalog = Table(catalog_name).data
        # Build a dictionary of parameters needed for the plot
        self.ecpl_params = ecpl_params
        self.get_ecpl_params()
        # Plot curve
        self.plot_ecpl(plot_pivot=plot_pivot, **ecpl_params)
        # Plot points if present
        if self.plot_points is not None:
            # Get the values needed for plotting
            e = self.plot_points[0]
            f = self.plot_points[1]
            f_err = self.plot_points[2]
            e_err = self.plot_points[3]
            is_ul = self.plot_points[4]
            for ii in range(e.size):
                self.plot_point(e[ii], f[ii],
                                f_err=f_err[ii],
                                e_err=[[e_err[0][ii]], [e_err[1][ii]]],
                                ul=is_ul[ii])
            # Remove so that it doesn't get plotted again.
            self.plot_points = None

    def get_ecpl_params(self):
        """Build self.ecpl_params dictionary
        by parsing one of the supported catalogs"""
        if self.catalog_format == 'hess':
            self.get_ecpl_params_hess_cat()
        elif self.catalog_format == 'fermi':
            self.get_ecpl_params_fermi_cat()
        # Change numpy types to regular types
        # and replace nan values with 0
        for key, value in self.ecpl_params.items():
            if isinstance(value, np.float32):
                value = float(value)
            if isinstance(value, np.int16):
                value = int(value)

    def get_ecpl_params_fermi_cat(self):
        """ Build self.ecpl_params dictionary from Fermi catalog fields """
        i = self.find_object_index('source_name')
        # Set all plot parameters:
        self.ecpl_params['e_pivot'] = self.catalog.field('Pivot_Energy')[i]
        self.ecpl_params['e_min'] = 1e2
        self.ecpl_params['e_max'] = 1e5
        self.ecpl_params['e_cut'] = 0.0
        self.ecpl_params['e_cut_err'] = 0.0
        self.ecpl_params['e_scale'] = 1
        self.ecpl_params['norm'] = self.catalog.field('Flux_Density')[i]
        self.ecpl_params['norm_err'] = self.catalog.field('Unc_Flux_Density')[i]
        self.ecpl_params['norm_scale'] = 1
        self.ecpl_params['index'] = self.catalog.field('Spectral_Index')[i]
        self.ecpl_params['index_err'] = self.catalog.field('Unc_Spectral_Index')[i]
        self.ecpl_params['color'] = 'green'
        self.ecpl_params['butterfly'] = True
        # Set flux point data
        self.plot_points = self.get_flux_points_fermi(i)
        # Add text label
        fmt = '%s\n%s, %s\n' + \
            r'S = %3.1f, C = %3.1f, $\Gamma = %1.2f \pm %1.2f$'
        values = (self.object_name,
                  self.catalog.field('class1')[i],
                  self.catalog.field('assoc1')[i],
                  self.catalog.field('signif_avg')[i],
                  self.catalog.field('curvature_index')[i],
                  self.catalog.field('spectral_index')[i],
                  self.catalog.field('unc_spectral_index')[i]
                  )
        self.ax.text(0.05, 0.95, fmt % values,
                     horizontalalignment='left',
                     verticalalignment='top',
                     transform=self.ax.transAxes)
# Program to Name galaxies

#scaling relations plots
#Chris Fuller

#import mods
from atpy import Table
import numpy as np
from os.path import join as pj
import matplotlib.pyplot as plt

#Inputs
folder = "/Users/chrisfuller/Dropbox/phd/herchel/coma/final_outputs/" # input/output folder
fname = 'coma_supercluster_cal12_pacscorrected.fits' #input name
cat = Table(pj(folder,fname)


cat.add_column('OBJECT_NAME_PAPER', Mgas)

#cat.write(pj(folder,'test-dust-v2.fits'), overwrite=True)

#program to create mass and parameter fuctions
# Chris Fuller, June 2014

#import mods
from atpy import Table
import numpy as np
from os.path import join as pj
import matplotlib.pyplot as plt
from lmfit import minimize, Parameters, report_fit
from matplotlib.ticker import MaxNLocator

#Inputs
folder = "/Users/chrisfuller/Dropbox/phd/herchel/coma/final_outputs/" # input/output folder
fname = 'coma_supercluster_cal12_pacscorrected.fits' #input name
cat = Table(pj(folder,fname))
virgo = Table('/Users/chrisfuller/Dropbox/phd/herchel/virgo/virgo-all-data-v2.fits')
fornax = Table('/Users/chrisfuller/Dropbox/phd/herchel/fornax/final_outputs/stellar-mass-fornax_final.fits')
cat = cat.where(cat.F250 >= 50.0E-3)

D_coma = 100.0*3.0857E22
D_virgo = 14.0*3.0857E22
D_fornax = 19.0*3.0857E22
#D_virgo = np.array(virgo.MPG*3.0857E22, dtype=np.float64)

#add columns coma
L250 = cat.F250 * (4.*np.pi*D_coma**2) * 10E-26
L250[np.nan_to_num(L250) > 0.0] = np.log10(L250[np.nan_to_num(L250) > 0.0])
cat.add_column('L250', L250)

#add columns virgo 
L250_virgo = virgo.F250 * (4.*np.pi*D_virgo**2) * 10E-26
Exemple #7
0
              'font.family': 'serif',
              'figure.subplot.hspace': .5,
              'figure.subplot.wspace': .15,
              'figure.subplot.left': 0.05,
              'figure.subplot.right': 0.95,
              'figure.subplot.top': 0.95,
              'figure.subplot.bottom': 0.05,
              'figure.figsize': fig_size}
    pylab.rcParams.update(params)

def randomFraction(arr, f):
    return (np.random.rand(len(arr)) < f)


tablename = sys.argv[1]
t = Table(tablename)
t.add_column('nii_ha', t.nii_6584_flux / t.halpha_flux)

sample_filter = (t.redshift < 0.17) & (t.redshift > 0.04)
sample_filter &= (t.m_r < 17.77)


# Completeness in redshift
bounds = [0.04, 0.17, -23.5, -18.5]

redshift = t.redshift[sample_filter]
Mr = t.r[sample_filter]

set_eps_output_1()
pylab.figure()
pylab.axis(bounds)
#import
print 'importing modules...'
from atpy import Table
import numpy as np
from os.path import join as pj
import matplotlib.pyplot as plt
from matplotlib.ticker import MaxNLocator
#remove numpy runtime warings
#np.seterr(invalid='ignore')

#Inputs
print 'reading in cats'
folder = "/Users/chrisfuller/Dropbox/phd/herchel/coma/final_outputs/" # input/output folder
cat_name = 'coma_supercluster_cal12.fits' #input name
cat = Table(pj(folder,cat_name))
cluster = cat.where(cat['RADIUS_VIR'] <=  1.0)
filament = cat.where(cat['RADIUS_VIR'] >  1.0)

#User variables
params = ['SMASS','Mr'] #, 'g', 'r', 'i', 'z'] #parameters to check against detection rates
detCols = ['F250','NGPFLUX250']#, 'RERUNF250'] #detection rate columns
N = 4 #number of bins
morphological_types = ['early', 'late', 'inter'] #morphological types
morphological_colours = ['r', 'b', 'g'] #colous for each line
xlabs = ['$log_{10}(M_{star}/$M$_{\odot})$','$(M_{r})$']
texts = ['(This paper)', 'NGP H-ATLAS Catalogue', 'RERUN FLUX250'] 

### Functions ###
def plot_sub(sub, dcol, para, bins):
#program that reads in results from Matt's SED fitter and 
# then creates a unfied dust mass cloumn

import numpy as np  
from os.path import join as pj
from atpy import Table
import matplotlib.pyplot as plt
import pylab as pl

cat = Table("/Users/chrisfuller/Dropbox/phd/herchel/coma/sed-fits/sed-all.fits")

bands = ["F500","F350","F250","F160","F100"]
""" Create detected column """
cat.remove_columns(['DETECTED']) 

""" Loop through cat bands and add number to detected col """

for i in range(len(bands)):
	band = bands[i]

	cat.add_column('D' + band[-3:], [0]*len(cat))

	flux = np.nan_to_num(cat[band])

	w = np.where(flux != 0.0)[0]

	cat['D' + band[-3:]][w] = 1

total = cat.D500 + cat.D350 + cat.D250 + cat.D160 + cat.D100

Exemple #10
0
# Chris Fuller, April 2014

#import mods
from atpy import Table
import numpy as np
from os.path import join as pj
import matplotlib.pyplot as plt
from lmfit import minimize, Parameters, report_fit
from matplotlib.ticker import MaxNLocator
import scipy


#Inputs
folder = "/Users/chrisfuller/Dropbox/phd/herchel/coma/final_outputs/" # input/output folder
fname = 'coma_supercluster_cal12.fits' #input name
cat = Table(pj(folder,fname))
cat.add_column('DUST_STARS_BELL', cat.DMASS - cat.SMASS_BELL)
cat.add_column('all', cat.g)
cat.all = 1
#caculated extra columns
cat.add_column('G2D', cat.HI_ALL2 - cat.DMASS)
cat.add_column('G2S', cat.HI_ALL2 - cat.SMASS)
cat.add_column('SFR2D', cat.SRF - cat.DMASS)
cat.add_column('colour', cat.g - cat.r)

#convert radius vir to log10
cat.RADIUS_VIR = np.log10(cat.RADIUS_VIR)

#select currentCat galaxies
firCat = cat.where(cat.DMASS_TYPE != 0)
gasCat = cat.where(np.nan_to_num(cat.HI_ALL2) > 0.0)
# various parameters across the hubble sequence
# using the goldmine morphology
# Chris Fuller, April 2014

#import mods
from atpy import Table
import numpy as np
from os.path import join as pj
import matplotlib.pyplot as plt
from lmfit import minimize, Parameters, report_fit
from matplotlib.ticker import MaxNLocator

#Inputs
folder = "/Users/chrisfuller/Dropbox/phd/herchel/coma/final_outputs/" # input/output folder
fname = 'coma_supercluster_cal12.fits' #input name
cat = Table(pj(folder,fname))

#convert radius vir to log10
cat.add_column('G2S', cat.GMASS - cat.SMASS)
cat.add_column('G2D', cat.GMASS - cat.DMASS)
cat.add_column('SFR2D', cat.SRF - cat.DMASS)

w1 = np.where(cat.goldmine == 13)[0]
cat.goldmine[w1] = 9
w2 = np.where(cat.goldmine == 18)[0]
cat.goldmine[w2] = 8

#select detected galaxies
#cat = cat.where(np.nan_to_num(cat.K) != 0.0)
cat = cat.where((np.nan_to_num(cat.goldmine+10) != 0.0) & (cat.goldmine > -1000.0) & (cat.D250 == 1))
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.ticker import MaxNLocator

#switches
no_morph = 3 #number of morphology bins between 0 and 1
no_density = 4 #number of sigma and radial density bins between logmin and logmax
sfactor = 0.0
colours = ['r', 'g', 'b']
types = ['early', 'inter', 'late']
from lmfit import minimize, Parameters,report_fit

detect_col = 'F250' #'F250' 

#Inputs 
cat = Table("/Users/chrisfuller/Documents/phd/herchel/coma/final_outputs/coma_supercluster_cal12_pacscorrected.fits")
#cat = cat.where(cat.SMASS > 9.1)

cat.RADIUS_VIR = np.log10(cat.RADIUS_VIR)

###################### functions ######################
def er(a,b):
    return np.sqrt(a)  / b

def super_histogram(a, bins, sfactor):
	#create temp array to hold histogram
	hist = []

	#loop through bins
	for ii in range(0, len(bins)-1):
		width = bins[ii+1] - bins[ii]
# Chris Fuller, April 2014

#import mods
from atpy import Table
import numpy as np
from os.path import join as pj
import matplotlib.pyplot as plt
from lmfit import minimize, Parameters, report_fit
from matplotlib.ticker import MaxNLocator
import scipy

#Inputs
folder = "/Users/chrisfuller/Dropbox/phd/herchel/coma/final_outputs/" # input/output folder
fname = 'coma_supercluster_cal12.fits' #input nametest.fits
#fname = 'test.fits'
cat = Table(pj(folder,fname))
cat.add_column('all', cat.g)
cat.all = 1

#cat = cat.where(cat.bptclass ==1)


#convert radius vir to log10
cat.RADIUS_VIR = np.log10(cat.RADIUS_VIR)
cat.add_column('G2S', cat.HI_ALL2 - cat.SMASS)
cat.add_column('G2D', cat.HI_ALL2 - cat.DMASS)


#select detected galaxies
#cat = cat.where(np.nan_to_num(cat.K) != 0.0)
detected = cat.where((np.nan_to_num(cat.HI_ALL2) > 0.0) & (cat.D250 == 1)) 
#program to plot STELLAR MASS
# Chris Fuller, April 2014

#import mods
from atpy import Table
import numpy as np
from os.path import join as pj
import matplotlib.pyplot as plt
from lmfit import minimize, Parameters, report_fit
from matplotlib.ticker import MaxNLocator
import scipy

#Inputs
folder = "/Users/chrisfuller/Dropbox/phd/herchel/coma/final_outputs/" # input/output folder
fname = 'coma_supercluster_cal12.fits' #input name
cat = Table(pj(folder,fname))
cat.add_column('all', cat.g)
cat.all = 1

#convert radius vir to log10
cat.RADIUS_VIR = np.log10(cat.RADIUS_VIR)

#select detected galaxies
#cat = cat.where(np.nan_to_num(cat.K) != 0.0)
detected = cat.where(cat.DMASS_TYPE != 0)
undetected = cat.where(cat.DMASS_TYPE == 0)

cats = [detected, undetected]
du  = ['FIR-detected', 'FIR-undetected']
lisy = ['-', '--']
mark = ['*', '+']
#into the folder and let it work its magic. This dose'nt inlcude that bg fit 
# Chris Fuller March 2014
import os
import numpy as np  
from os.path import join as pj
import aplpy as ap
from atpy import Table
import matplotlib.pyplot as plt
###################### inputs ######################
gal_name = 'CCC2099'

folder_fig = '/Users/chrisfuller/Dropbox/phd/herchel/coma/fig_gen/' + gal_name + '/'
folder_cat = '/Users/chrisfuller/Dropbox/phd/herchel/coma/final_outputs/'

print "reading in cat"
cat = Table(pj(folder_cat,"coma_supercluster_cal12.fits"))

#select galaxy
galaxy = cat.where(cat.OBJECT == gal_name)

#change dir to folder directory
os.chdir(folder_fig)

#################### functions ###################

#function to plot FIR contours
def plottabw(name,fname,texts,x,y):
    print name
    #find optical parameters
    a,b,pa = galaxy.FULLMAJAX[0],galaxy.FULLMINAX[0], galaxy.PA[0]
    #pa = pa + 90.
#program to plot FIR properties 
# Chris Fuller, April 2014

#import mods
from atpy import Table
import numpy as np
from os.path import join as pj
import matplotlib.pyplot as plt
from lmfit import minimize, Parameters, report_fit
from matplotlib.ticker import MaxNLocator


#Inputs
folder = "/Users/chrisfuller/Dropbox/phd/herchel/coma/final_outputs/" # input/output folder
fname = 'coma_supercluster_cal12_pacscorrected.fits' #input name
cat = Table(pj(folder,fname))

selection = cat.where(cat.DMASS_TYPE == 2)
#selection = cat.where((cat.DMASS_TYPE == 2) & (cat.F160 > (43.8*10**-3)*3.0) & (cat.F100 > (24.0*10**-3)*3.0))


types = ['early', 'inter', 'late'] 
labels = ['early', 'uncertain', 'late'] 
colours = ['r', 'g', 'b']
ylims = [10, 39, 78]
#quanties on the yaxis
xlabs = ['$Log_{10} (M_{dust} / $M$_{\odot}$)', 'Dust Temp. (K)','$Log_{10} (M_{dust} / M_{stars}$)']

	
#create figure and subplots
fig, subs = plt.subplots(nrows=3, ncols=3, sharex=False, sharey=False, squeeze=False, figsize = (8., 4.), facecolor='w',edgecolor='w')
Exemple #17
0
# Program to grab SDSS images for the HRS matched to size of SPIRE PLW
# written 29th May 2012

# import modules
import numpy as np
import os
import sys
from os.path import join as pj
from atpy import Table

print 'reading in cats'
folder = "/Users/chrisfuller/Dropbox/phd/herchel/coma/final_outputs/" # input/output folder
cat_name = 'coma_supercluster_cal12.fits' #input name
cat = Table(pj(folder,cat_name))

cat = cat.where((cat.goldmine < 2) & (cat.goldmine > -10) & (cat.late == 1))

npix=400
pixScale = 0.4

# outfolder
outFolder = '/Users/chrisfuller/Desktop/'

os.chdir(outFolder)

for i in range(len(cat)):
    name = cat.OBJECT[i]
    coord = cat.GRA2000[i], cat.GDEC2000[i]

 
    outFile = name  + "-SDSS.jpg"
from os.path import join as pj

#switches
no_morph = 3 #number of morphology bins between 0 and 1
no_density = 5 #number of sigma and radial density bins between logmin and logmax
sfactor = 1.0
colours = ['r', 'g', 'b']
types = ['Early', 'Inter', 'Late']


morph= 'pS0' #columb morphology data is taken from
detect_col = 'F250_ngp_test' #'F250' 

#Inputs
#cat = Table("/Users/chrisfuller/Dropbox/phd/herchel/coma/final_outputs/coma_supercluster_cal12.fits")
cat = Table("/Users/chrisfuller/Dropbox/phd/herchel/coma/final_outputs/test.fits")

###################### functions ######################
def er(a,b):
    return np.sqrt(a)  / b

def super_histogram(a, bins, sfactor):
	#create temp array to hold histogram
	hist = []

	#loop through bins
	for ii in range(0, len(bins)-1):
		width = bins[ii+1] - bins[ii]
		lower = bins[ii] - width*sfactor
		upper = bins[ii+1] + width*sfactor
#program to create mass and parameter fuctions
# Chris Fuller, June 2014

#import mods
from atpy import Table
import numpy as np
from os.path import join as pj
import matplotlib.pyplot as plt
from lmfit import minimize, Parameters, report_fit
from matplotlib.ticker import MaxNLocator

#Inputs
folder = "/Users/chrisfuller/Dropbox/phd/herchel/coma/final_outputs/" # input/output folder
fname = 'coma_supercluster_cal12_pacscorrected.fits' #input name
cat = Table(pj(folder,fname))
virgo = Table('/Users/chrisfuller/Dropbox/phd/herchel/virgo/virgo-all-data-v2.fits')
fornax = Table('/Users/chrisfuller/Dropbox/phd/herchel/fornax/final_outputs/stellar-mass-fornax_final.fits')
cat = cat.where(cat.F250 >= 50.0E-3)

D_coma = 100.0*3.0857E22
#D_virgo = 14.0*3.0857E22
#D_fornax = 19.0*3.0857E22
#D_virgo = np.array(virgo.MPG*3.0857E22, dtype=np.float64)


#volumes
volumes = [114.2, 2872.8]#, 62.4, 3.4] #volume Mpc using spere and cylender 
#volumes  = [114.2, 38782.8]
#volumes= [1.0, 1.0]
#cats  
cats = [cat.where(cat.RADIUS_VIR <= 1.0), cat.where(cat.RADIUS_VIR > 1.0)]#, [-1.,3.6E7,0.006], [-0.9,5.7E7,0.7]]
def get_test_runlist():
    """Get a runlist for the tests"""
    from atpy import Table
    table = Table()
    table.add_column('Run', [18373, 20581])
    table.add_column('Start_Time', ['2004-01-19 19:51:26', '2004-04-27 23:31:59'])
    table.add_column('Duration', [1580.0, 1682.0])
    table.add_column('GLON', [184.557, 359.346])
    table.add_column('GLAT', [-5.784, 0.410])
    return table
Exemple #21
0
prefix = "/Users/ncrighton/Projects/MPIA_QSO_LBG/Cloudy/J0004/comp1"

names = sorted(glob(prefix + "/uvb_k0[0246]/*tilted*tbl"))

fig1 = pl.figure(figsize=(5.1, 4.7))
fig1.subplots_adjust(left=0.2, bottom=0.15, top=0.96, right=0.96)
fig2 = pl.figure(figsize=(5.1, 4.7))
fig2.subplots_adjust(left=0.2, bottom=0.15, top=0.96, right=0.96)
ax1 = fig1.add_subplot(111)
ax2 = fig2.add_subplot(111)

for ax in (ax1, ax2):
    N0 = -21
    for i, n in enumerate(names):
        T = Table(n)
        ind = T.energy.searchsorted(0.99)
        if i == len(names) - 1:
            ref = T
            ref.log10jnu = T.log10jnu - T.log10jnu[ind] + N0
        color = '0.5' if i != 2 else 'k'
        ax.semilogx(T.energy,
                    T.log10jnu - T.log10jnu[ind] + N0,
                    '-',
                    color=color)

puttext(0.04,
        0.07,
        '$\mathrm{Haardt\ & \ Madau}$\n$2012,\ z=2.5$',
        ax=ax1,
        ha='left')
#program to create mass and parameter fuctions
# Chris Fuller, June 2014

#import mods
from atpy import Table
import numpy as np
from os.path import join as pj
import matplotlib.pyplot as plt
from lmfit import minimize, Parameters, report_fit
from matplotlib.ticker import MaxNLocator

#Inputs
folder = "/Users/chrisfuller/Dropbox/phd/herchel/coma/final_outputs/" # input/output folder
fname = 'coma_supercluster_cal12.fits' #input name
cat = Table(pj(folder,fname))
virgo = Table('/Users/chrisfuller/Dropbox/phd/herchel/virgo/virgo-all-data-v2.fits')
fornax = Table('/Users/chrisfuller/Dropbox/phd/herchel/fornax/final_outputs/stellar-mass-fornax_final.fits')
cat = cat.where(cat.F250 >= 50.0E-3)


D_coma = 100.0*3.0857E22
D_virgo = 14.0*3.0857E22
D_fornax = 19.0*3.0857E22
#D_virgo = np.array(virgo.MPG*3.0857E22, dtype=np.float64)

#add columns coma
L250 = cat.F250 * (4.*np.pi*D_coma**2) * 10E-26
L250[np.nan_to_num(L250) > 0.0] = np.log10(L250[np.nan_to_num(L250) > 0.0])
cat.add_column('L250', L250)
cat.add_column('colour', cat.g - cat.r)
#cat.add_column('my_morph', cat.pS0 - cat.pE0)
if len(y) > 3:#program to create functions


#import mods
from atpy import Table
import numpy as np
from os.path import join as pj
import matplotlib.pyplot as plt
from lmfit import minimize, Parameters, report_fit
from matplotlib.ticker import MaxNLocator
 

#Inputs
folder = "/Users/chrisfuller/Dropbox/phd/herchel/coma/final_outputs/" # input/output folder
fname = 'coma_supercluster_cal12.fits' #input name
cat = Table(pj(folder,fname))
virgo = Table('/Users/chrisfuller/Dropbox/phd/herchel/virgo/virgo-all-data.fits')
fornax = Table('/Users/chrisfuller/Dropbox/phd/herchel/fornax/final_outputs/stellar-mass-fornax_final.fits')
cat = cat.where(cat.F250 >= 50.0E-3)

D_coma = 100.0*3.0857E22
D_virgo = 14.0*3.0857E22
D_fornax = 19.0*3.0857E22
#D_virgo = np.array(virgo.MPG*3.0857E22, dtype=np.float64)

#add columns coma
L250 = cat.F250 * (4.*np.pi*D_coma**2) * 10E-26
L250[np.nan_to_num(L250) > 0.0] = np.log10(L250[np.nan_to_num(L250) > 0.0])
cat.add_column('L250', L250)

#add columns virgo 
#program to plot STELLAR MASS
# Chris Fuller, April 2014

#import mods
from atpy import Table
import numpy as np
from os.path import join as pj
import matplotlib.pyplot as plt
from lmfit import minimize, Parameters, report_fit
from matplotlib.ticker import MaxNLocator
import scipy

#Inputs
folder = "/Users/chrisfuller/Dropbox/phd/herchel/coma/final_outputs/" # input/output folder
fname = 'coma_supercluster_cal12.fits' #input name
cat = Table(pj(folder,fname))


#convert radius vir to log10
cat.RADIUS_VIR = np.log10(cat.RADIUS_VIR)


#switchs
N_den = 7 #number of density bins
N = 60
bin_type = 'fixed'

coeffs_dict = {} #dic to hold coeffs


#quanties on x axcis
#program that takes 250um flux assumes a dust temp of 20K and then asigns dust mass based on this
#Chris Fuller Feb 2014

import numpy as np
from atpy import Table
from astropy import units as u
from os.path import join as pj

#Inputs
folder = "/Users/chrisfuller/Dropbox/phd/herchel/coma/final_outputs/" # input/output folder
input_cat = 'coma_supercluster_cal12.fits' #input name
output_name= 'coma_supercluster_cal12-test.fits'

#read in catalogue
cat = Table(pj(folder,input_cat))

#column headers
flux_col = 'F250'

redshift = 0.023100
wav = 250.0 #um
T_dust = 20 #K
distance = 100.0 #Mpc

#all my galaxies are at a fixed distance and thus readshift so the program will
#create arrays of these, athought they could be fed into the fuction for each 
# individual galaxy

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 
#function that takes a flux at a single wavelenght, and returns a dust mass   #
# it requires a redshift, distance, flux, and wavelength_observed			  #
#program to plot STELLAR MASS
# Chris Fuller, April 2014

#import mods
from atpy import Table
import numpy as np
from os.path import join as pj
import matplotlib.pyplot as plt
from lmfit import minimize, Parameters, report_fit
from matplotlib.ticker import MaxNLocator
import scipy

#Inputs
folder = "/Users/chrisfuller/Dropbox/phd/herchel/coma/final_outputs/" # input/output folder
fname = 'coma_supercluster_cal12.fits' #input name
cat = Table(pj(folder,fname))
cat.add_column('all', cat.g)
cat.all = 1
cat.add_column('colour', cat.g - cat.r)

#cat = cat.where(cat.bptclass ==1)

#convert radius vir to log10
cat.RADIUS_VIR = np.log10(cat.RADIUS_VIR)

#select detected galaxies
#cat = cat.where(np.nan_to_num(cat.K) != 0.0)
detected = cat.where((cat.DMASS_TYPE != 0) & (np.nan_to_num(cat.METAL) > 0.0)) 
undetected = cat.where((cat.DMASS_TYPE == 0) & (np.nan_to_num(cat.METAL) > 0.0)) 

cats = [detected, undetected]
# Chris Fuller, April 2014

#import mods
from atpy import Table
import numpy as np
from os.path import join as pj
import matplotlib.pyplot as plt
from lmfit import minimize, Parameters, report_fit
from matplotlib.ticker import MaxNLocator
import scipy


#Inputs
folder = "/Users/chrisfuller/Dropbox/phd/herchel/coma/final_outputs/" # input/output folder
fname = 'coma_supercluster_cal12.fits' #input name
cat = Table(pj(folder,fname))
cat.add_column('DUST_STARS_BELL', cat.DMASS - cat.SMASS_BELL)
cat.add_column('all', cat.g)
cat.all = 1

#convert radius vir to log10
cat.RADIUS_VIR = np.log10(cat.RADIUS_VIR)

#select detected galaxies
detected = cat.where(cat.DMASS_TYPE != 0)


#switchs
N_den = 7 #number of density bins
N = 60
bin_type = 'fixed'
#code the reads in the main table and then sets ngp fluxes to 0 if sep gt 3.5
#Chris Fuller, March 2014

#import modules and functions
print 'importing modules and functions...'
from atpy import Table
from numpy import where, float
from os.path import join as pj

#inputs 
print 'reading in data...'
folder = "/Users/chrisfuller/Dropbox/phd/herchel/coma/final_outputs/" # input/output folder
cat_name = 'coma_supercluster_cal12.fits' #input name
cat = Table(pj(folder,cat_name))

#bands 
bands = ['500', '350', '250'] #f250_1a

#find where sep is greater than 3.5"
w_sp = where(cat.Separation_mine_npg > 3.5)[0]

#loop through bands
for band in bands:
	print 'starting ' + band

	#extract fluxes
	new_fluxes = cat['f' + band + '_1a']
	w_sn = where((new_fluxes / cat['e' + band + '_1a']) < 3.0)[0]

	#set all fluxes greater than 3.5 to 0
	new_fluxes[w_sp] = 0.0
# numbers of each sample
# Chris Fuller, July - 2014

#import mods
from atpy import Table
import numpy as np
from os.path import join as pj

#Inputs
folder = "/Users/chrisfuller/Dropbox/phd/herchel/coma/final_outputs/" # input/output folder
fname = 'coma_supercluster_cal12.fits' #input name
cat = Table(pj(folder,fname))
cat.add_column('DUST_STARS_BELL', cat.DMASS - cat.SMASS_BELL)
cat.add_column('all', cat.g)
cat.all = 1
#caculated extra columns
cat.add_column('D2G', - cat.HI_ALL2 +cat.DMASS)
cat.add_column('G2S', cat.HI_ALL2 - cat.SMASS)
cat.add_column('SFR2G', cat.SRF - cat.HI_ALL2)
cat.add_column('SFR2D', cat.SRF - cat.DMASS)
cat.add_column('colour', cat.g - cat.r)


#select currentCat galaxies
firCat = cat.where(cat.DMASS_TYPE != 0)
gasCat = cat.where(np.nan_to_num(cat.HI_ALL2) > 0.0)
metalCat = cat.where(np.nan_to_num(cat.METAL) > 0.0)
gasfirCat = cat.where((cat.DMASS_TYPE != 0) & (np.nan_to_num(cat.HI_ALL2) > 0.0))
sedCat = cat.where(cat.DMASS_TYPE == 2)
hCat = cat.where(np.nan_to_num(cat.H) != 0)
jCat = cat.where(np.nan_to_num(cat.J) != 0)
Exemple #30
0

import pylab as plt
from atpy import Table

prefix = "/Users/ncrighton/Projects/MPIA_QSO_LBG/Cloudy/J0004/comp1"

name, = glob(prefix + "/uvb_k04/*tilted*tbl")

fig1 = pl.figure(figsize=(7.1,4.7))
fig1.subplots_adjust(left=0.15, bottom=0.15, top=0.96,right=0.96)
ax = fig1.add_subplot(111)


N0 = -21
ref = Table(name)
ind = ref.energy.searchsorted(0.99)
ref.log10jnu = ref.log10jnu - ref.log10jnu[ind] + N0
ax.plot(np.log10(ref.energy), ref.log10jnu - ref.log10jnu[ind] + N0, '-', color='k')

xvals = np.log10((IP * u.eV).to(u.Ry).value)

y = np.interp(xvals, np.log10(ref.energy), ref.log10jnu)

from barak.absorb import split_trans_name


xdiff = np.diff(xvals)

direction = ['up']
previousdown = False
#plot goldmine hist of early late and inter
# Chris Fuller, March 2014

#import
print 'importing modules...'
from atpy import Table
from numpy import histogram, arange, sqrt
from os.path import join as pj
from matplotlib.pyplot import subplots, show, subplots_adjust, legend
from matplotlib.ticker import MaxNLocator

#Inputs
print 'reading in cats'
folder = "/Users/chrisfuller/Dropbox/phd/herchel/coma/final_outputs/" # input/output folder
cat_name = 'coma_supercluster_cal12_pacscorrected.fits' #input name
cat = Table(pj(folder,cat_name))

early = cat.where(cat.early == 1)
late  = cat.where(cat.late  == 1)
inter = cat.where(cat.inter == 1)


cats = [early, late, inter]
cols = ['r', 'b', 'g']

morph = ['early', 'late', 'inter']

fig, subs = subplots(nrows=1, ncols=1, sharex=True, sharey=False, squeeze=True, figsize = (8.0,4.5), facecolor='w',edgecolor='w')

sub1 = subs
#scaling relations plots
#Chris Fuller

#import mods
from atpy import Table
import numpy as np
from os.path import join as pj
import matplotlib.pyplot as plt
from lmfit import minimize, Parameters, report_fit
from matplotlib.ticker import MaxNLocator
from scipy.stats import pearsonr 
np.seterr(all='ignore')
#Inputs
folder = "/Users/chrisfuller/Dropbox/phd/herchel/coma/final_outputs/" # input/output folder
fname = 'coma_supercluster_cal12_pacscorrected.fits' #input name
cat = Table(pj(folder,fname))


#caculated extra columns
cat.add_column('D2G', - cat.HI_ALL2 +cat.DMASS)
cat.add_column('G2S', cat.HI_ALL2 - cat.SMASS)
cat.add_column('SFR2G', cat.SRF - cat.HI_ALL2)
cat.add_column('SFR2D', cat.SRF - cat.DMASS)
cat.add_column('colour', cat.g - cat.r)


#select currentCat galaxies
firCat = cat.where(cat.DMASS_TYPE != 0)
gasCat = cat.where(np.nan_to_num(cat.HI_ALL2) > 0.0)
metalCat = cat.where(np.nan_to_num(cat.METAL) > 0.0)
gasfirCat = cat.where((cat.DMASS_TYPE != 0) & (np.nan_to_num(cat.HI_ALL2) > 0.0))
Exemple #33
0
def get_test_runlist():
    """Get a runlist for the tests"""
    from atpy import Table
    table = Table()
    table.add_column('Run', [18373, 20581])
    table.add_column('Start_Time',
                     ['2004-01-19 19:51:26', '2004-04-27 23:31:59'])
    table.add_column('Duration', [1580.0, 1682.0])
    table.add_column('GLON', [184.557, 359.346])
    table.add_column('GLAT', [-5.784, 0.410])
    return table