manual - CIGALE

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