cigale Documentation Release v0.5 Author April 27, 2015 CONTENTS 1 Installation of CIGALE 2 CIGALE organisation 2.1 Upper level modules 2.2 Submodules . . . . 2.3 Running CIGALE . 2.4 Indices and tables . Python Module Index 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 5 5 16 22 23 i ii cigale Documentation, Release v0.5 For comments, questions, requests please send emails to: Denis Burgarella <[email protected]> and/or Médéric Boquien <[email protected]>. To download a PDF version of this manual: CONTENTS 1 cigale Documentation, Release v0.5 2 CONTENTS CHAPTER ONE INSTALLATION OF CIGALE The present beta version of CIGALE runs under Python 3 (at least Version 3.3). We recommend using ANACONDA to install Python 3: <https://store.continuum.io/cshop/anaconda/> To install ANACONDA, you type successively the following command in a BASH terminal: • [download anaconda python distribution] • Install anaconda • bash • conda update conda • conda update anaconda • conda create -n py3 python=3.4 anaconda for Python 3.4 (Note that you can also create, in parallel, the same thing for Python 2.7: conda create -n py2 python=2.7 anaconda • source activate py3 • conda install astropy numpy scipy sqlite sqlalchemy matplotlib configobj Then, you could come back to your preferred and beloved shell. To install CIGALE, you need to proceed as follows: To install CIGALE, you need to proceed as follows (two options are possible for the cigale installation proper): • download the latest archive of CIGALE from <http://cigale.lam.fr/>. cigale_v0.5_24Apr2015.tar.gz The latest version is 1. Method 1: • pip install cigale_v0.5_24Apr2015.tar.gz (or the latest available version) to install CIGALE 2. Method 2: • You decompress cigale_v0.5_24Apr2015.tar.gz (or the latest available version) • cd cigale_v0.5_24Apr2015 • python setup.py build • python setup.py develop If you need to add filters not in the CIGALE database, you have to proceed as follows, depending on whether you wish to use method 1 or method 2 as above (but in any case, adding filters means that the file data.db must be deleted and re-created. If data.db already exists, you will have an error): • download the latest archive of CIGALE from <http://cigale.lam.fr/> • You decompress cigale_v0.5_24Apr2015.tar.gz (or the latest available version) 3 cigale Documentation, Release v0.5 • cd cigale_v0.5_24Apr2015 1. Method 1: • If you already installed CIGALE as explained above in Method 1, you need first to uninstall it: pip uninstall pcigale • You add the new fiters (one /cigale_v0.5_24Apr2015/database_builder/filters/ file ‘name_filter.dat’ for each filter) in for each filter) in • cd cigale_v0.5_24Apr2015 (where the file ‘setup.py’ should be) • You type: pip install . (note that there is a dot ”.” after “pip install”). 2. Method 2: • delete the file /pcigale/data/data.db • You add the new fiters (one /cigale_v0.5_24Apr2015/database_builder/filters/ file ‘name_filter.dat’ • then, you rebuild it: python setup.py build [To get ‘cigale’ to be recognized as a command, you might have to add the location of the executable to your path. For the bash shell, for instance, you add to your .bash_profile: “PATH=$HOME/.local/bin:$PATH“ or for the tcshrc shell, you add to your .cshrc: “setenv PATH $HOME/.local/bin:$PATH”. Note that you can check this location for the executable via “which pcigale“ or “find . -name pcigale” from your home directory, which should return ./.local/bin] 4 Chapter 1. Installation of CIGALE CHAPTER TWO CIGALE ORGANISATION 2.1 Upper level modules Two main modules form CIGALE: 1. the module creation_modules, 2. the module analysis_modules to which we can add 3. an optional module pcigale-plots that builds for each of the studied objects a plot containing the observed spectral energy distribution (SED), the best model SED and the best model spectrum with the unreddened and reddened stellar emission(s), the dust emission, the AGN emission, the radio emission and the lines. 2.2 Submodules The following list of submodules are used to create the modelled spectra. You might select one of the SFH modules, one of the SSP modules and optionally, the nebular emission module, the AGN module and one of the dust attenuation modules plus one of the dust emission template modules. You can also add the radio‘module. Finally, you use the ‘redshifting + IGM attenuation module. All of them are listed in pcigale.ini. 2.2.1 Input SFH modules Double decreasing exponential star formation history module This module implements a star formation history (SFH) composed of two decreasing exponentials. pcigale.creation_modules.sfh2exp.Module alias of Sfh2Exp class pcigale.creation_modules.sfh2exp.Sfh2Exp(name=None, blank=False, **kwargs) Bases: pcigale.creation_modules.CreationModule Double decreasing exponential Star Formation History This module sets the SED star formation history (SFH) as a combination of two exp(-t/𝜏 ) exponentials. out_parameter_list = OrderedDict([(‘tau_main’, ‘e-folding time of the main stellar population model in Myr.’), (‘tau parameter_list = OrderedDict([(‘tau_main’, (‘float’, ‘e-folding time of the main stellar population model in Myr.’, 600 5 cigale Documentation, Release v0.5 6 Chapter 2. CIGALE organisation cigale Documentation, Release v0.5 process(sed) Add a double decreasing exponential Star Formation History. ** Parameters ** sed: pcigale.sed.SED object Delayed tau model for star formation history This module implements a star formation history (SFH) described as a delayed rise of the SFR up to a maximum, followed by an exponential decrease. pcigale.creation_modules.sfhdelayed.Module alias of SFHDelayed class pcigale.creation_modules.sfhdelayed.SFHDelayed(name=None, **kwargs) Bases: pcigale.creation_modules.CreationModule blank=False, Delayed tau model for Star Formation History This module sets the SED star formation history (SFH) proportional to time, with a declining exponential parametrised with a time-scale (tau_main). out_parameter_list = OrderedDict([(‘tau_main’, ‘e-folding time of the main stellar population model in Myr.’), (‘age parameter_list = OrderedDict([(‘tau_main’, (‘float’, ‘e-folding time of the main stellar population model in Myr.’, No process(sed) ** Parameters ** sed : pcigale.sed.SED object Read star formation history from file module This module reads the star formation history in a file. pcigale.creation_modules.sfhfromfile.Module alias of SfhFromFile class pcigale.creation_modules.sfhfromfile.SfhFromFile(name=None, **kwargs) Bases: pcigale.creation_modules.CreationModule blank=False, Module reading the SFH from a file This module is used to read the Star Formation Histories from a FITS or VO-Table file. The first column must contain the time values (in Myr) and each other column may contain the Star Formation Rates (in solar mass per year) corresponding. Each SFR may be cut and normalised to 1 solar mass produced at the desired age. parameter_list = OrderedDict([(‘filename’, (‘str’, ‘Name of the file containing the SFH. The first column must be the process(sed) Add the SFH read from the file. ** Parameters ** sed: pcigale.sed.SED object parameters: dictionary containing the parameters 2.2. Submodules 7 cigale Documentation, Release v0.5 2.2.2 Input SSP modules Bruzual and Charlot (2003) stellar emission module This module implements the Bruzual and Charlot (2003) Single Stellar Populations. class pcigale.creation_modules.bc03.BC03(name=None, blank=False, **kwargs) Bases: pcigale.creation_modules.CreationModule Bruzual and Charlot (2003) stellar emission module This SED creation module convolves the SED star formation history with a Bruzual and Charlot (2003) single stellar population to add a stellar component to the SED. out_parameter_list = OrderedDict([(‘sfr’, ‘Instantaneous Star Formation Rate in solar mass per year, at the age of t parameter_list = OrderedDict([(‘imf’, (‘int’, ‘Initial mass function: 0 (Salpeter) or 1 (Chabrier).’, 0)), (‘metallicity’, ( process(sed) Add the convolution of a Bruzual and Charlot SSP to the SED ** Parameters ** sed: pcigale.sed.SED SED object. pcigale.creation_modules.bc03.Module alias of BC03 Maraston (2005) stellar emission module This module implements the Maraston (2005) Single Stellar Populations. class pcigale.creation_modules.m2005.M2005(name=None, blank=False, **kwargs) Bases: pcigale.creation_modules.CreationModule Maraston (2005) stellar emission module This SED creation module convolves the SED star formation history with a Maraston (2005) single stellar population to add a stellar component to the SED. Information added to the SED: • imf, metallicity, galaxy_age • mass_total, mass_alive, mass_white_dwarf,mass_neutron, mass_black_hole: stellar masses in solar mass. • age: age of the oldest stars in the galaxy. • old_young_separation_age: age (in Myr) separating the young and the old star populations (if 0, there is only one population) • mass_total_old, mass_alive_old, mass_white_dwarf_old, mass_neutron_old, mass_black_hole_old, : old star population masses. • mass_total_young, mass_alive_young, mass_white_dwarf_young, mass_black_hole_young: young star population mass_neutron_young, masses. out_parameter_list = OrderedDict([(‘sfr’, ‘Instantaneous Star Formation Rate in solar mass per year, at the age of t parameter_list = OrderedDict([(‘imf’, (‘int’, ‘Initial mass function: 0 (Salpeter) or 1 (Kroupa)’, 0)), (‘metallicity’, (‘fl 8 Chapter 2. CIGALE organisation cigale Documentation, Release v0.5 process(sed) Add the convolution of a Maraston 2005 SSP to the SED ** Parameters ** sed: pcigale.sed.SED SED object. pcigale.creation_modules.m2005.Module alias of M2005 2.2.3 Input nebular emission module pcigale.creation_modules.nebular.Module alias of NebularEmission class pcigale.creation_modules.nebular.NebularEmission(name=None, **kwargs) Bases: pcigale.creation_modules.CreationModule blank=False, Module computing the nebular emission from the ultraviolet to the near-infrared. It includes both the nebular lines and the nubular continuum. It takes into account the escape fraction and the absorption by dust. Given the number of Lyman continuum photons, we compute the H𝛽 line luminosity. We then compute the other lines using the metallicity-dependent templates that provide the ratio between individual lines and H𝛽. The nebular continuum is scaled directly from the number of ionizing photons. out_parameter_list = OrderedDict([(‘logU’, ‘Ionisation parameter’), (‘f_esc’, ‘Fraction of Lyman continuum photon parameter_list = OrderedDict([(‘logU’, (‘float’, ‘Ionisation parameter’, -2.0)), (‘f_esc’, (‘float’, ‘Fraction of Lyman co process(sed) Add the nebular emission lines ** Parameters ** sed: pcigale.sed.SED object parameters: dictionary containing the parameters 2.2.4 Input attenuation law modules Charlot and Fall (2000) power law attenuation module This module implements the attenuation based on a power law as defined in Charlot and Fall (2000) with a UV bump added. pcigale.creation_modules.dustatt_powerlaw.Module alias of PowerLawAtt class pcigale.creation_modules.dustatt_powerlaw.PowerLawAtt(name=None, blank=False, **kwargs) Bases: pcigale.creation_modules.CreationModule Power law attenuation module This module computes the attenuation using a power law as defined in Charlot and Fall (2000). The attenuation can be computed on the whole spectrum or on a specific contribution and is added to the SED as a negative contribution. out_parameter_list = OrderedDict([(‘Av’, ‘V-band attenuation.’), (‘Av_old_factor’, ‘Reduction factor for the V-band 2.2. Submodules 9 cigale Documentation, Release v0.5 parameter_list = OrderedDict([(‘Av_young’, (‘float’, ‘V-band attenuation of the young population.’, 1.0)), (‘Av_old_fa process(sed) Add the dust attenuation to the SED. ** Parameters ** sed: pcigale.sed.SED object pcigale.creation_modules.dustatt_powerlaw.alambda_av(wavelength, delta, bump_wave, bump_width, bump_ampl) Compute the complete attenuation curve A(𝜆)/Av The continuum is a power law (𝜆 / 𝜆v) ** 𝛿 to which is added a UV bump. ** Parameters ** wavelength: array of floats The wavelength grid (in nm) to compute the attenuation curve on. delta: float Slope of the power law. bump_wave: float Central wavelength (in nm) of the UV bump. bump_width: float Width (FWHM, in nm) of the UV bump. bump_ampl: float Amplitude of the UV bump. ** Returns ** attenuation: array of floats The A(𝜆)/Av attenuation at each wavelength of the grid. pcigale.creation_modules.dustatt_powerlaw.power_law(wavelength, delta) Compute the power law (𝜆 / 𝜆v)^𝛿 ** Parameters ** wavelength: array of float Wavelength grid in nm. delta: float Power law slope. ** Returns ** a numpy array of floats pcigale.creation_modules.dustatt_powerlaw.uv_bump(wavelength, central_wave, gamma, ebump) Compute the Lorentzian-like Drude profile. ** Parameters ** wavelength: array of floats Wavelength grid in nm. central_wave: float Central wavelength of the bump in nm. gamma: float Width (FWHM) of the bump in nm. ebump: float Amplitude of the bump. ** Returns ** a numpy array of floats Calzetti et al. (2000) and Leitherer et al. (2002) attenuation module This module implements the Calzetti et al. (2000) and Leitherer et al. (2002) attenuation formulae, adding an UVbump and a power law. 10 Chapter 2. CIGALE organisation cigale Documentation, Release v0.5 class pcigale.creation_modules.dustatt_calzleit.CalzLeit(name=None, **kwargs) Bases: pcigale.creation_modules.CreationModule blank=False, Calzetti + Leitherer attenuation module This module computes the dust attenuation using the formulae from Calzetti et al. (2000) and Leitherer et al. (2002). The attenuation can be computed on the whole spectrum or on a specific contribution and is added to the SED as a negative contribution. out_parameter_list = OrderedDict([(‘E_BVs’, ‘E(B-V), the colour excess of the stellar continuum light for each popu parameter_list = OrderedDict([(‘E_BVs_young’, (‘float’, ‘E(B-V)*, the colour excess of the stellar continuum light fo process(sed) Add the CCM dust attenuation to the SED. ** Parameters ** sed: pcigale.sed.SED object pcigale.creation_modules.dustatt_calzleit.Module alias of CalzLeit pcigale.creation_modules.dustatt_calzleit.a_vs_ebv(wavelength, bump_width, power_slope) Compute the complete attenuation curve A(𝜆)/E(B-V)* bump_wave, bump_ampl, The Leitherer et al. (2002) formula is used bellow 150 nm (even if it is defined only after 91.2 nm) and the Calzetti et al. (2000) formula is used after 150 (we do an extrapolation after 2200 nm). When the attenuation becomes negative, it is kept to 0. This continuum is multiplied by the power law and then the UV bump is added. ** Parameters ** wavelength: array of floats The wavelength grid (in nm) to compute the attenuation curve on. bump_wave: float Central wavelength (in nm) of the UV bump. bump_width: float Width (FWHM, in nm) of the UV bump. bump_ampl: float Amplitude of the UV bump. power_slope: float Slope of the power law. ** Returns ** attenuation: array of floats The A(𝜆)/E(B-V)* attenuation at each wavelength of the grid. pcigale.creation_modules.dustatt_calzleit.k_calzetti2000(wavelength) Compute the Calzetti et al. (2000) A(lambda)/E(B-V) Given a wavelength grid, this function computes the selective attenuation A(lambda)/E(B-V) using the formula from Calzetti at al. (2000). This formula is given for wavelengths between 120 nm and 2200 nm, but this function makes the computation outside. ** Parameters ** wavelength: array of floats Wavelength grid in nm. ** Returns ** a numpy array of floats 2.2. Submodules 11 cigale Documentation, Release v0.5 pcigale.creation_modules.dustatt_calzleit.k_leitherer2002(wavelength) Compute the Leitherer et al. (2002) A(lambda)/E(B-V) Given a wavelength grid, this function computes the selective attenuation A(lambda)/E(B-V) using the formula from Leitherer at al. (2002). This formula is given for wavelengths between 91.2 nm and 180 nm, but this function makes the computation outside. ** Parameters ** wavelength: array of floats Wavelength grid in nm. ** Returns ** a numpy array of floats pcigale.creation_modules.dustatt_calzleit.power_law(wavelength, delta) Power law ‘centered’ on 550 nm.. ** Parameters ** wavelength: array of floats The wavelength grid in nm. delta: float The slope of the power law. ** Returns ** array of floats pcigale.creation_modules.dustatt_calzleit.uv_bump(wavelength, central_wave, gamma, ebump) Compute the Lorentzian-like Drude profile. ** Parameters ** wavelength: array of floats Wavelength grid in nm. central_wave: float Central wavelength of the bump in nm. gamma: float Width (FWHM) of the bump in nm. ebump: float Amplitude of the bump. ** Returns ** a numpy array of floats 2.2.5 Input IR emission template modules Dale et al. (2014) IR models module This module implements the Dale (2014) infra-red models. class pcigale.creation_modules.dale2014.Dale2014(name=None, blank=False, **kwargs) Bases: pcigale.creation_modules.CreationModule Dale et al. (2014) templates IR re-emission Given an amount of attenuation (e.g. resulting from the action of a dust attenuation module) this module normalises the Dale et al (2014) template corresponding to a given 𝛼 to this amount of energy and add it to the SED. Information added to the SED: NAME_fracAGN, NAME_alpha. out_parameter_list = OrderedDict([(‘fracAGN’, ‘Contribution of the AGN’), (‘alpha’, ‘Alpha slope’), (‘lir’, ‘Total IR parameter_list = OrderedDict([(‘fracAGN’, (‘float’, ‘AGN fraction [it is not recommended to combine this AGN emis 12 Chapter 2. CIGALE organisation cigale Documentation, Release v0.5 process(sed) Add the IR re-emission contributions ** Parameters ** sed: pcigale.sed.SED object parameters: dictionary containing the parameters pcigale.creation_modules.dale2014.Module alias of Dale2014 Updated Draine and Li (2007) IR models module This module implements the updated Draine and Li (2007) infrared models. class pcigale.creation_modules.dl2014.DL2014(name=None, blank=False, **kwargs) Bases: pcigale.creation_modules.CreationModule Updated Draine and Li (2007) templates IR re-emission module Given an amount of attenuation (e.g. resulting from the action of a dust attenuation module) this module normalises the updated Draine and Li (2007) model corresponding to a given set of parameters to this amount of energy and add it to the SED. Information added to the SED: NAME_alpha. out_parameter_list = OrderedDict([(‘qpah’, ‘Mass fraction of PAH’), (‘umin’, ‘Minimum radiation field’), (‘alpha’, parameter_list = OrderedDict([(‘qpah’, (‘float’, ‘Mass fraction of PAH. Possible values are: 0.47, 1.12, 1.77, 2.50, 3.19 process(sed) Add the IR re-emission contributions ** Parameters ** sed: pcigale.sed.SED object parameters: dictionary containing the parameters pcigale.creation_modules.dl2014.Module alias of DL2014 Casey (2012) IR models module This module implements the Casey (2012) infra-red models. class pcigale.creation_modules.casey2012.Casey2012(name=None, **kwargs) Bases: pcigale.creation_modules.CreationModule blank=False, Casey (2012) templates IR re-emission Given an amount of attenuation (e.g. resulting from the action of a dust attenuation module) this module normalises the Casey (2012) template corresponding to a given 𝛼 to this amount of energy and add it to the SED. out_parameter_list = OrderedDict([(‘temperature’, ‘Temperature of the dust in K.’), (‘beta’, ‘Emissivity index of th parameter_list = OrderedDict([(‘temperature’, (‘float’, ‘Temperature of the dust in K.’, 35)), (‘beta’, (‘float’, ‘Emissiv process(sed) Add the IR re-emission contributions. ** Parameters ** sed: pcigale.sed.SED object 2.2. Submodules 13 cigale Documentation, Release v0.5 pcigale.creation_modules.casey2012.Module alias of Casey2012 2.2.6 Input Fritz AGN emission template module Fritz et al. (2006) AGN dust torus emission module This module implements the Fritz et al. (2006) models. class pcigale.creation_modules.fritz2006.Fritz2006(name=None, **kwargs) Bases: pcigale.creation_modules.CreationModule blank=False, Fritz et al. (2006) AGN dust torus emission The AGN emission is computed from the library of Fritz et al. (2006) from which all of the models are available. They take into account two emission components linked to the AGN. The first one is the isotropic emission of the central source, which is assumed to be point-like. This emission is a composition of power laws with variable indices, in the wavelength range of 0.001-20 microns. The second one is the thermal and scattering dust torus emission. The conservation of the energy is always verified within 1% for typical solutions, and up to 10% in the case of very high optical depth and non-constant dust density. We refer the reader to Fritz et al. (2006) for more information on the library. The relative normalization of these components is handled through a parameter which is the fraction of the total IR luminosity due to the AGN so that: L_AGN = fracAGN * L_IRTOT, where L_AGN is the AGN luminosity, fracAGN is the contribution of the AGN to the total IR luminosity (L_IRTOT), i.e. L_Starburst+L_AGN. out_parameter_list = OrderedDict([(‘fracAGN’, ‘Contribution of the AGN’), (‘agn.therm_luminosity’, ‘Luminosity parameter_list = OrderedDict([(‘r_ratio’, (‘float’, ‘Ratio of the maximum to minimum radii of the dust torus. Possibl process(sed) Add the IR re-emission contributions ** Parameters ** sed: pcigale.sed.SED object parameters: dictionary containing the parameters pcigale.creation_modules.fritz2006.Module alias of Fritz2006 2.2.7 Radio module (related to the SFR not to the AGN) Radio module This module implements the radio emission of galaxies, taking into account only the non-thermal emission. The thermal emission is handled by the nebular module. The parameters that this module takes as input are: • the value of the coefficient of the FIR/radio correlation • the value of the spectral index of the power law emission from synchrotron. pcigale.creation_modules.radio.Module alias of Radio class pcigale.creation_modules.radio.Radio(name=None, blank=False, **kwargs) Bases: pcigale.creation_modules.CreationModule Radio emission 14 Chapter 2. CIGALE organisation cigale Documentation, Release v0.5 Given the number of Lyman photons, the module computes the free-free (thermal) emission of galaxies. Based on the SN collapse rate, the module computes the synchrotron (non-thermal) emission of galaxies. out_parameter_list = OrderedDict([(‘qir’, ‘The value of the FIR/radio correlation coefficient.’), (‘alpha’, ‘The slope parameter_list = OrderedDict([(‘qir’, (‘float’, ‘The value of the FIR/radio correlation coefficient.’, 2.58)), (‘alpha’, (‘fl process(sed) Add the radio contribution. ** Parameters ** sed: pcigale.sed.SED object 2.2.8 Redshifting + IGM attenuation module Redshifting module This module implements the redshifting of a SED. The SED must be rest-frame or the module will raise en exception when processing it. Note that this module, contrary to the other SED creation modules, actually changes the individual luminosity contributions as it redshifts everyone. Also note that doing this, this module does not rely on the SED object interface but on its inner implementations. That means that if the SED object is changed, this module may need to be adapted. pcigale.creation_modules.redshifting.Module alias of Redshifting class pcigale.creation_modules.redshifting.Redshifting(name=None, **kwargs) Bases: pcigale.creation_modules.CreationModule blank=False, Redshift a SED This module redshift a rest-frame SED. If the SED is already redshifted, an exception is raised. parameter_list = OrderedDict([(‘redshift’, (‘float’, ‘Redshift to apply to the galaxy. Leave empty to use the redshifts f process(sed) Redshift the SED ** Parameters ** sed: pcigale.sed.SED object pcigale.creation_modules.redshifting.igm_transmission(wavelength, redshift) Intergalactic transmission (Meiksin, 2006) Compute the intergalactic transmission as described in Meiksin, 2006. ** Parameters ** wavelength: array like of floats The wavelength(s) in nm. redshift: float The redshift. Must be strictly positive. ** Returns ** igm_transmission: numpy array of floats The intergalactic transmission at each input wavelength. 2.2. Submodules 15 cigale Documentation, Release v0.5 2.2.9 Plotting SEDs, PDFs, Chi^2 pcigale_plots.chi2(config) Plot the 𝜒² values of analysed variables. pcigale_plots.main() pcigale_plots.pdf(config) Plot the PDF of analysed variables. pcigale_plots.sed(config, sed_type, nologo) Plot the best SED with associated observed and modelled fluxes. 2.3 Running CIGALE To run CIGALE, you need to build an input file that contains the following information (you should pay attention to the column names): id M81 Arp220 ... cB58 redshift 0. 0. ... 2.92 Filter1 flux_mJy Filter1_err error_mJy ... ... ... ... FilterN flux_mJy FilterN_err error_mJy flux_mJy error_mJy ... ... flux_mJy error_mJy ... flux_mJy ... error_mJy ... ... ... ... ... flux_mJy ... error_mJy If the redshift is set to 0., it means 10 pc for CIGALE. Note that the redshifts are not mandatory, they can be provided using the input file pcigale.ini. The information about the type of data that you provide to CIGALE is coded as follow: All the filters listed in the above input file should be in the database. To enter new filters, you should provide CIGALE with a file that you will put in the directory database_builder/filters and re-build the database python setup.py build. Once this preparation is finished, you will start CIGALE proper: • pcigale init that builds an empty form called pcigale.ini that will define CIGALE‘s context • you need to edit this pcigale.ini file and fill it in as appropriate. You need to provide the photometry file, which modules you wish to use, what method to use and finally how any threads (this is machine-dependent) you want to use to run CIGALE. # File containing the observation data to be fitted. Each flux column # must have the name of the corresponding filter, the error columns are # suffixed with '_err'. The values must be in mJy. data_file = # Order of the modules use for SED creation. Available modules:SFH: # sfh2exp, sfhfromfile ; SSP: bc03, m2005 ; Nebular: nebular ; # Attenuation: dustatt_calzleit, dustatt_powerlaw ; Dust model: # casey2012, dh2002, dl2007 ; AGN: dale2014, fritz2006 ; redshift: # redshifting (mandatory!). creation_modules = , # Method used for statistical analysis. Available methods: pdf_analysis, # savefluxes. analysis_method = 16 Chapter 2. CIGALE organisation cigale Documentation, Release v0.5 2.3. Running CIGALE 17 cigale Documentation, Release v0.5 # Number of CPU cores available. This computer has 4 cores. cores = • The file should looks somewhat like this after filling it out. Note that the order of the modules is important and should follow the Organisation above with one module from each of the submodule lists. # File containing the observation data to be fitted. Each flux column # must have the name of the corresponding filter, the error columns are # suffixed with '_err'. The values must be in mJy. data_file = # Order of the modules use for SED creation. Available modules:SFH: # sfh2exp, sfhfromfile ; SSP: bc03, m2005 ; Nebular: nebular ; # Attenuation: dustatt_calzleit, dustatt_powerlaw ; Dust model: # casey2012, dh2002, dl2007 ; AGN: dale2014, fritz2006 ; redshift: # redshifting (mandatory!). creation_modules = , # Method used for statistical analysis. Available methods: pdf_analysis, # savefluxes. analysis_method = # Number of CPU cores available. This computer has 4 cores. cores = • pcigale genconf that builds a more elaborate file and contains the parameter lists associated to each of the selected modules. Note that CIGALE would run if you keep the default values but, of course, the scientific results are not guaranteed ;-) # File containing the observation data to be fitted. Each flux column # must have the name of the corresponding filter, the error columns are # suffixed with '_err'. The values must be in mJy. data_file = photometry.mag # Order of the modules use for SED creation. Available modules:SFH: # sfh2exp, sfhfromfile ; SSP: bc03, m2005 ; Nebular: nebular ; # Attenuation: dustatt_calzleit, dustatt_powerlaw ; Dust model: # casey2012, dh2002, dl2007 ; AGN: dale2014, fritz2006 ; redshift: # redshifting (mandatory!). creation_modules = sfh2exp, m2005, dustatt_calzleit, dh2002, redshifting # Method used for statistical analysis. Available methods: pdf_analysis, # savefluxes. analysis_method = pdf_analysis # Number of CPU cores available. This computer has 4 cores. cores = 4 # List of the columns in the observation data file to use for the # fitting. column_list = FUV, FUV_err, NUV, NUV_err, WFI_U38, WFI_U38_err, WFI_U, WFI_U_err, WFI_B, WFI_B_err, WFI_V, WFI_V_err, WFI_R, WFI_R_err, WFI_I, WFI_I_err, WFI_z, WFI_z_err, IRAC1, IRAC1_err, IRAC2, IRAC2_err, IRAC3, IRAC3_err, IRAC4, IRAC4_err, MIPS1, MIPS1_err, PACS_green, PACS_green_err, PACS_red, PACS_red_err # Configuration of the SED creation modules. [sed_creation_modules] 18 Chapter 2. CIGALE organisation cigale Documentation, Release v0.5 [[sfh2exp]] # e-folding time of the main stellar population model in Myr. tau_main = 6000.0 # e-folding time of the late starburst population model in Myr. tau_burst = 50.0 # Mass fraction of the late burst population. f_burst = 0.01 # Age of the oldest stars in the galaxy in Myr. The precision is 1 Myr. age = 13000.0 # Age of the late burst in Myr. Precision is 1 Myr. burst_age = 20.0 [[m2005]] # Initial mass function: 0 (Salpeter) or 1 (Kroupa) imf = 0 # Metallicity. Possible values are: 0.001, 0.01, 0.02, 0.04. metallicity = 0.02 # Age [Myr] of the separation between the young and the old star # populations. The default value in 10^7 years (10 Myr). Set to 0 not to # differentiate ages (only an old population). separation_age = 10 [[dustatt_calzleit]] # E(B-V)*, the colour excess of the stellar continuum light for the # young population. E_BVs_young = 0.3 # Reduction factor for the E(B-V)* of the old population compared to the # young one (<1). E_BVs_old_factor = 0.44 # Central wavelength of the UV bump in nm. uv_bump_wavelength = 217.5 # Width (FWHM) of the UV bump in nm. uv_bump_width = 35.0 # Amplitude of the UV bump. For the Milky Way: 3. uv_bump_amplitude = 0.0 # Slope delta of the power law modifying the attenuation curve. powerlaw_slope = 0.0 # Filters for which the attenuation will be computed and added to the # SED information dictionary. You can give several filter names # separated by a & (don't use commas). filters = V_B90 & FUV [[dh2002]] # Alpha slope. Possible values between 0.0625 and 4.000. alpha = 2.0 [[redshifting]] # Redshift to apply to the galaxy. Leave empty to use the redshiftsfrom # the input file. redshift = # Configuration of the statistical analysis method. [analysis_configuration] # List of the variables (in the SEDs info dictionaries) for which the # statistical analysis will be done. analysed_variables = sfr, average_sfr # If true, save the best SED for each observation to a file. 2.3. Running CIGALE 19 cigale Documentation, Release v0.5 save_best_sed = False # If true, for each observation and each analysed variable save the # reduced chi2. save_chi2 = False # If true, for each observation and each analysed variable save the # probability density function. save_pdf = False # If true, for each object check whether upper limits are present and # analyse them. lim_flag = False • pcigale check tells you how many models will be created by CIGALE per redshift bin. Not that the best precision used by CIGALE is Delta-z = 0.01 The main parameters that can be analysed are listed below. Note that some of them are not free, see notes after the table. To get an exhaustive list, you have to look into the modules themselves in the directory pcigale/create_module. Table 2.1: Which parameters to analyse in CIGALE Treat Module sfh2exp ‘‘ ‘‘ ‘‘ ‘‘ ‘‘ ‘‘ ‘‘ sfhdelayed ‘‘ ‘‘ ‘‘ ‘‘ sfh2fromfile ‘‘ ‘‘ ‘‘ m2005 ‘‘ ‘‘ ‘‘ ‘‘ ‘‘ ‘‘ ‘‘ ‘‘ ‘‘ bc03 ‘‘ ‘‘ ‘‘ ‘‘ ‘‘ 20 Quantity Parameter sfh.tau_main sfh.tau_burst sfh.f_burst sfh.burst_age age sfr sfr10Myrs sfr100Myrs sfh.tau_main age sfr sfr10Myrs sfr100Myrs sfh.id sfr sfr10Myrs sfr100Myrs stellar.imf stellar.metallicity stellar.old_young_separation_age stellar.mass_total_old stellar.mass_alive_old stellar.mass_total_young stellar.mass_alive_young stellar.mass_total stellar.mass_alive galaxy_mass stellar.imf stellar.metallicity stellar.old_young_separation_age stellar.m_star_young stellar.n_ly_young stellar.m_star_old Description Description e-folding [Myr] time of the main stellar population model e-folding [Myr] time of the late starburst population model Mass fraction of the late burst population (0 to 1) Age [Myr] for the burst Age [Myr] of the oldest stars in the galaxy Instantaneous star formation rate Star formation rate averaged over 10 Myrs Star formation rate averaged over 100 Myrs e-folding [Myr] time of the main stellar population model Age [Myr] of the oldest stars in the galaxy Instantaneous star formation rate Star formation rate averaged over 10 Myrs Star formation rate averaged over 100 Myrs id of the input SFH Instantaneous star formation rate Star formation rate averaged over 10 Myrs Star formation rate averaged over 100 Myrs IMF of the stellar model Metallicity of the stellar model Age of the sepation old/young stars Stellar mass of old stars Stellar mass of old stars Stellar mass of young Stellar mass of young stars Total stellar mass of stars Total stellar mass alive Total mass of the galaxy IMF of the stellar model Metallicity of the stellar model Age of the sepation old/young stars Stellar mass of young stellar population Number of Ly continuum photons from young stellar population Stellar mass of old stellar population Continued on next page Chapter 2. CIGALE organisation cigale Documentation, Release v0.5 Treat ‘‘ ‘‘ dustatt_calzleit ‘‘ ‘‘ ‘‘ ‘‘ dale2014 ‘‘ ‘‘ dl2007 ‘‘ ‘‘ ‘‘ ‘‘ dl2014 ‘‘ ‘‘ ‘‘ ‘‘ fritz2007 ‘‘ ‘‘ ‘‘ ‘‘ ‘‘ ‘‘ nebular ‘‘ redshifting Table 2.1 – continued from previous page Quantity Description stellar.n_ly_old Number of Lyman cont photons from old stellar population galaxy_mass Total mass of the galaxy attenuation.uv_bump_wavelength Central wavelength [nm] of the 217.5nm UV bump attenuation.uv_bump_width Width (FWHM) of the 217.5nm UV bump in nm stellar.old_young_separation_age Age of the sepation old/young stars attenuation.uv_bump_amplitude Amplitude of the UV bump. For the Milky Way: 3 attenuation.powerlaw_slope Slope delta of the power law modifying the attenuation curve dust.luminosity Estimated dust luminosity using an energy balance dust.alpha Parameter alpha (1) of the 64 IR templates in Dale (2014) agn.fracAGN AGN fraction [0.0, 1.0[ in Dale (2014) dust.luminosity Estimated dust luminosity using an energy balance dust.qpah Parameter q_PAH in Draine & Li (2007) templates dust.umin Parameter U_min in Draine & Li (2007) templates dust.umax Parameter U_max in Draine & Li (2007) templates dust.gamma Parameter gamma in Draine & Li (2007) templates dust.luminosity Estimated dust luminosity using an energy balance dust.qpah Parameter q_PAH in Draine & Li (2014) updated templates dust.umin Parameter U_min (2) in Draine & Li (2014) updated templates dust.alpha Parameter alpha in Draine & Li (2014) updated templates dust.gamma Parameter gamma in Draine & Li (2014) updated templates r_ratio Ratio of the maximum to minimum radii of the dust torus (2) tau Optical depth at 9.7 microns (3) beta Parameter beta (4) in Fritz (2007) gamma Parameter gamma (5) in Fritz (2007) opening_angle Full opening angle of the dust torus (6) psy Angle between AGN axis and line of sight (7) fracAGN AGN fraction [0.0, 1.0[ in Fritz (2007) f_esc Fraction of Lyman continuum photons escaping the galaxy f_dust Fraction of Lyman continuum photons absorbed by dust ‘‘ To date, CIGALE cannot perform an analysis on redshifts 1. for alpha in Dale2014, possible values are: 0.0625, 0.1250, 0.1875, 0.2500, 0.3125, 0.3750, 0.4375, 0.5625, 0.6250, 0.6875, 0.7500, 0.8125, 0.8750, 0.9375, 1.0000, 1.0625, 1.1250, 1.1875, 1.2500, 1.3750, 1.4375, 1.5000, 1.5625, 1.6250, 1.6875, 1.7500, 1.8125, 1.8750, 1.9375, 2.0000, 2.0625, 2.1875, 2.2500, 2.3125, 2.3750, 2.4375, 2.5000, 2.5625, 2.6250, 2.6875, 2.7500, 2.8125, 2.8750, 3.0000, 3.0625, 3.1250, 3.1875, 3.2500, 3.3125, 3.3750, 3.4375, 3.5000, 3.5625, 3.6250, 3.6875, 3.8125, 3.8750, 3.9375, 4.0000 0.5000, 1.3125, 2.1250, 2.9375, 3.7500, 2. for r_ratio in Fritz (2007), possible values are: 10, 30, 60, 100, 150 3. for tau in Fritz (2007), possible values are: 0.1, 0.3, 0.6, 1.0, 2.0, 3.0, 6.0, 10.0 4. for beta in Fritz (2007), possible values are: -1.00, -0.75, -0.50, -0.25, 0.00 5. for gamma in Fritz (2007), possible values are: 0.0, 2.0, 4.0, 6.0 6. for the opening angle in Fritz (2007), possible values are: 60., 100., 140. 7. for the angle psy in Fritz (2007), possible values are: 0.001, 10.100, 20.100, 30.100, 40.100, 50.100, 60.100, 70.100, 80.100 • pcigale run will finally launch CIGALE and give you results. First best_models.txt that gives you the parameters for the best-fit models for each object. Second, analysis_results.txt that shows the results from the Bayesian analysis for each object: 2.3. Running CIGALE 21 cigale Documentation, Release v0.5 • pcigale-plots followed by either ‘sed ’ or ‘chi2’ or ‘pdf’ will create the corresponding plots in the /out directory. Note that to be able to make SED plots, you first should have set “save_best_sed = True” in the pcigale.ini file before doing pcigale run. • pcigale-plots sed –type=mJy [–nologo] -> plot the SED in mJy • pcigale-plots sed –type=lum [–nologo] -> plot the SED in luminosity (Watt) The plot above shows an example of an output plot from the run illustrated in this document. 2.4 Indices and tables • genindex • modindex • search 22 Chapter 2. CIGALE organisation PYTHON MODULE INDEX p pcigale.creation_modules.bc03, 8 pcigale.creation_modules.casey2012, 13 pcigale.creation_modules.dale2014, 12 pcigale.creation_modules.dl2014, 13 pcigale.creation_modules.dustatt_calzleit, 10 pcigale.creation_modules.dustatt_powerlaw, 9 pcigale.creation_modules.fritz2006, 14 pcigale.creation_modules.m2005, 8 pcigale.creation_modules.nebular, 9 pcigale.creation_modules.radio, 14 pcigale.creation_modules.redshifting, 15 pcigale.creation_modules.sfh2exp, 5 pcigale.creation_modules.sfhdelayed, 7 pcigale.creation_modules.sfhfromfile, 7 pcigale_plots, 16 23
© Copyright 2024