MANUAL

3_FSPS_manual

User Manual:

Open the PDF directly: View PDF PDF.
Page Count: 15

Manual for FSPS v3.1
July 15, 2018
1. Overview
The collection of fortran routines contained in this package allows the user to compute simple stellar pop-
ulations (SSPs) for a variety of IMFs and metallicities, and for a variety of assumptions regarding the
morphology of the horizontal branch, the blue straggler population, the post–AGB phase, and the location
in the HR diagram of the TP-AGB phase. A variety of simple and flexible prescriptions for attenuation
by dust are also included, as are dust emission models based on the Draine & Li 2007 dust models. From
these SSPs the user may then generate composite stellar populations (CSPs) for a variety of star formation
histories (SFHs) and dust attenuation prescriptions. Outputs include the spectra and magnitudes of the
SSPs and CSPs at arbitrary redshift. In addition to these fortran routines a collection of IDL routines are
provided that allow easy manipulation of the output.
The user is strongly encouraged to read Conroy et al. 2009 for an overview of stellar population synthesis
(SPS) and for details regarding this collection of routines. As of v2.0, this code has been extensively calibrated
against a suite of observational data (for details see Conroy & Gunn 2010). The code package is a in essence
a highly flexible SPS code and has therefore come to be called FSPS.
The rest of this manual is organized as follows. In §1 we briefly discuss the overall philosophy of the code
structure and highlight the main features. In §2 we present the routines, how they are used, and provide the
user with a basic program that demonstrates the use of the routines. §3 discusses the IDL routines provided
to read and manipulate the outputs from the fortran package. §4 discusses a variety of questions (ok, only
one) the user may have.
For a description of revisions since the initial release of the code, see the file REVISION HISTORY in
the doc directory. Installation instructions are also provided in that directory.
1.1 Downloading the code
As of v2.5, FSPS is now distributed via github: github.com/cconroy20/fsps (the googlecode SVN repos-
itory is no longer supported). The code can be checked out with standard github commands. Emails will
be sent to the mailing list whenever new versions become available (this is one reason why it is essential for
users of this code to be on the mailing list).
1.2 Environment variables
As mentioned on the webpage, you will need to set an environment variable called SPS HOME that points
to the root SPS directory (i.e. the directory that contains the src,OUTPUTS, etc. directories)
1.3 Inclusion of TP-AGB spectra
The TP-AGB empirical spectral library does not extend past the rest-frame K-band and so in previous
versions the integrated spectra were not reliable beyond λ2.4µm. Up to v2.2 the empirical TP-AGB
spectra were extrapolated with the BaSeL library for models at the same Teand the lowest surface gravities
available in the BaSeL library. As of v2.3, the TP-AGB spectra are extrapolated blueward with simpler linear
slopes (as advocated in Lancon & Wood 2002). The spectra of the carbon stars are now extrapolated redward
with the Aringer et al. 2009 synthetic carbon star spectral library. The spectra of the oxygen-rich TP-AGB
stars are now extrapolated with the latest version of the PHOENIX stellar spectral library (the BT-SETTL
library).
1.4 Units
This code produces two types of files. The first are spectral files (*.spec). The spectra are in units of
L/Hz, i.e. they are fν. Integrating over frequency generates the bolometric luminosity of the spectrum.
Wavelengths are in angstroms in vacuum, and the wavelength array for the stellar libraries can be found in
the files BaSeL3.1/basel.lambda and MILES/miles.lambda. The full wavelength array is also now printed
in the first line in the *.spec files. The second type of file contains magnitudes in a variety of filters. The
magnitude zero point (i.e., AB or Vega) is set by the variable compute vega mags described below. Both of
1
these output files contain information on the age, mass, bolometric luminosity, and star formation rate. All
of these quantities are in the log (base-10), with units of years, M,L, and Myr1, respectively.
1.5 Redshift Effects
The code allows the user to specify a redshift (see Section 3.1.2 below). As of v2.4, specifying a non-zero
redshift affects both the computed magnitudes and spectra. There are two qualitatively different options for
redshifting. See the parameter redshift colors below for more details. As of v2.5 the returned magnitudes
include both the relevant (1 + z) factors and the distance modulus. Also as of v2.5, IGM absorption via
Madau (1995) can be turned on and will attenuate the spectrum (and mags). This feature is enabled only
for non-zero redshifts.
1.6 Filters
The current release contains 105 filters. The filter names can be found in the file FILTER LIST in the data
directory. The actual filter definitions are in the file allfilters.dat in the same directory. The transmission
profiles in this file include atmospheric absorption and are in units of relative response per photon (as opposed
for example to relative response per unit power). The filters are normalized internally within the code. The
output magnitudes are listed in the filter order displayed in the FILTER LIST file. The user is cautioned to
use whenever possible the exact filter transmission curve appropriate for the data being considered. There
is, for example, no such thing as THE Bband filter. Differences of a few hundredths of a magnitude are
common between different definitions of a given filter such as B.
1.7 Computation of magnitudes
The AB magnitude through a filter b,mb, is defined according to the following formuale:
hfνib=RRb
γfνd ln ν
R(νb)βRb
γd ln ν(1)
mb=2.5log10(hfνib)48.60 (2)
where fνis the spectrum and Rb
γis the relative response per photon of the filter. The factor (νb)βin
the demoninator of Equation 1 may surprise those used to working with optical photometry. Indeed, for
UV, optical, and near-IR photometry, one usually adopts β= 0 (e.g., for the GALEX, SDSS, and 2MASS
surveys). However, IR photometry typically assumes a different calibration. For example, the IRAS,Spitzer
IRAC, and Herschel PACS and SPIRE magnitudes are frequently quoted assuming β= 1 while the Spitzer
MIPS filters adopt β= 2 (i.e., a 104K blackbody). The parameter νbis the central wavelength of the filter.
The motivation underlying this convention is that for sources with an intrinsic spectral slope β, the
bandpass-convolved flux quoted at frequency νbwill be precisely the flux at that frequency. For example,
observing a 104K blackbody through the MIPS filters with the above calibration will return a flux density at
the central frequency of the filter that is precisely the true flux at νb. In the end, this is merely a convention,
but one that must be handled carefully when comparing data to models. See the routine sps setup.f90 for
implementation.
1.8 Interpretation of the Land Tparameters
As described below, the user may modify the bolometric luminosity and effective temperature of the TP-
AGB phase by applying overall shifts in log(Lbol) and log(Teff ) via the parameters ∆Land ∆T. In previous
versions, these parameters were with respect to the default Padova model calculations circa 2008. As of v2.0,
these parameters represent shifts with respect to the best-fit values found in Conroy & Gunn 2010. In other
words, leaving these values set to 0.0 means that the user adopts the calibrations described in Section 3.1.3
in Conroy & Gunn 2010.
As of v2.5 these default settings of these parameters have been redefined in order to agree with the LFs
of AGB stars in the LMC; see Villaume et al. 2014 for details.
2
1.9 Dust absorption models
The philosophy of the primary dust absorption model closely follows the two component model of Charlot
& Fall (2000). In the general case there is dust associated with young stars (where the defintion of young
is defined by the parameter dust tesc) with an optical depth dust1 and a power-law attenuation curve
with index dust1 index. There is a second dust component affecting all stars equally and is implemented
as a uniform screen. This component has an optical depth dust2 and an attenuation curve specified by
the parameter dust type. Currently supported attenuation models include a power-law curve with index
dust index, a Milky-Way-like curve (following CCM89 but with a variable UV bump strength), a Calzetti
et al. (2000) curve, models from Witt & Gordon (2000) and the parameterized models from Kriek & Conroy
(2013). Note that one can specify an effective uniform screen (as commonly employed when implementing
the Calzetti curve, although technically one should not think of of the Calzetti law as representing a uniform
screen) by setting dust1= 0.0.
1.10 Dust emission model
A new feature in FSPS as of v2.3 is the option of including a model for dust emission (see the parameter
add dust emission below). Since there is currently no publication discussing this aspect of FSPS, a few
words regarding the details and implementation of the dust emission model are in order.
We have adopted the dust emission model of Draine & Li 2007 (DL07), which is a silicate-graphite-PAH
grain model. The model produces dust emission spectra from 1 104µm as a function of the interstellar
radiation field, U, expressed in units of the Milky Way radiation field. DL07 advocate constructing spec-
tra for entire galaxies by summing up emission spectra over a range of radiation field strengths, P(U)dU
approximated by a delta function at Umin and a power-law component from Umin < U Umax. As sug-
gested by DL07, we have fixed Umax = 106and the power-law slope to be α= 2.0. We therefore have:
P(U)dU = (1 γ)δ(UUmin) + γAU2, where (1 γ) is the fraction of dust mass exposed to starlight
intensity Umin and Ais a normalization constant. The DL07 model thus has three parameters, Umin,γ, and
qPAH, the latter parameter being the PAH fraction. These three parameters are contained in the parameter
set and are called duste umin,duste gamma,duste qpah. The user can define each of these parameters in
FSPS.
1.11 Circumstellar dust
Circumstellar dust around AGB stars is an option that can be included if the switch add agb dust model
is turned on, which it is by default. The circumstellar dust models are a grid of models derived from the
radiative transfer code DUSTY, see Villaume et al. 2015 for details.
1.12 AGN dust
Dust emission associated with an AGN torus is an option that can be included if the switch add agn dust
is turned on, which it is by default. In order for AGN dust to have an effect one must also set the pset
parameter fagn to a non-zero value; by default this is set to 0.0. The AGN dust model is from Nenkova
et al. 2008. Note that the models available within FSPS are a very small subset of the grids provided by
Nenkova et al.; i.e., aside from the overall amplitude, the only other free parameter is the Vband optical
depth of individual clouds.
1.13 Nebular emission
Nebular continuum and line emission is included within FSPS based on Cloudy tables provided by Nell
Byler. The details of these grids are presented in Byler et al. (2017). This feature is on by default, and
the relevant switch is add neb emission. One can also selectively turn off the continuum emission, choose
between Cloudy tables that do or do not include dust, and can vary the gas-phase metallicity and ionization
parameter.
1.14 Bursts of star formation
At present the user is able to specify a single burst time and burst strength. In the future it will be possible
to specify multiple bursts. Note that while the bursts are added into the spectrophotometric outputs, they
3
are not included in the output SFR columns. It is up to the user to add in these components by hand to the
resulting effective SFR.
1.15 Output quantities
The basic executable routines available in the public distribution of FSPS outputs two files containing
magnitudes and spectra. FSPS can also output two other files: color magnitude diagrams in all available
filters and spectral indices in the Lick system with several additional indices. In order to output these files
the user must modify the syntax calling compsp (specifically the write compsp variable).
1.16 BPASS models
As of v3.1, the BPASS stellar population models are now included in FSPS. These are binary stellar evolution
models (v2.2; Eldridge, Stanway et al. 2017) that are made available as SSP SEDs for a variety of ages,
metallicities, and IMFs. For this reason the BPASS models are handled differently than the other isochrone
models in FSPS. Specifically, because the models are tabulated directly as SSPs, the user cannot modify
the spectral library nor the adopted IMF. The BPASS models we have made available within FSPS are the
“-bin-imf135all 100” models, i.e., they assume a Salpeter IMF with an upper mass cutoff of 100M. We
have not included the very lowest metallicity model and have cut off the age grid at 15.8 Gyr.
1.17 How to use this code, generally speaking
The code provided in this package is optimally designed to be integrated into a larger fortran program. The
code reads all of the libraries into memory and then utilizes various routines to compute SSPs and CSPs.
The benefit of the structure of this package is that it allows the user to produce very large numbers of models
relatively quickly (e.g., 105models in 30 minutes on a 2.66 GHz Intel processor). It also allows one to
easily integrate SPS into particular science tasks.
For those more interested in generating quick results, rather than using the more flexible aspects of the
code, we also provide a routine that generates results after prompting the user for input. This program is
called autosps.exe. Note that all outputs are placed in the OUTPUTS directory, included in the tarball, by
default.
There is a well-maintained set of Python interfaces to FSPS, originally created by Dan Foreman-Mackey
and now maintained by Ben Johnson, available here: https://github.com/dfm/python-fsps.
2. Details of Fortran Routines
2.1 The sps vars.f90 Module: Common Variables, Parameters, and Structure Set-up
It is recommended that the user read through the sps vars.f90 module. This module must be called at
the beginning of every program that uses the routines described below. It sets up two types of variables:
common and parameters. Both parameters and common variables can be seen by all routines and thus
do not have to be explicitly passed during a call to a routine. The difference between the two is that the
parameters are defined once in sps vars.f90 and thereafter cannot be changed. The common variables, by
contrast, can be changed by various routines (see §3.1.1). Be careful when changing common variables! The
variables in this module are well-documented. Most parameters should not be changed.
The sps vars.f90 module also sets up structures (for those who are not familiar with fortran structures,
they are similar in many ways to structures in IDL). There are two main structures that are used extensively
in many routines. One of these is defined to conveniently handle the output of the compsp.f90 routine;
it should not be of much concern for most users. The second structure defines the parameter set. It is
sufficiently important to warrant a more detailed discussion (see §3.1.2).
2.1.1 Defining the isochrones and stellar libraries
At the top of the sps vars.f90 module there are lines that start with #define. These lines set switches that
tell the code to compile certain portions of the module depending on which switches are set. The switches
4
are binary, with ‘1’=on and ‘0’=off. So for example in the standard release of sps vars.f90 you will see:
#define BASEL 1
#define MILES 0
#define PADOVA 1
#define MIST 0
#define PARSEC 0
#define BASTI 0
#define GENEVA 0
which tells the code to use the BaSeL stellar library and the Padova isochrones. It is very important that
you ‘make clean’ every time you change one of these switches.
2.1.2 Common variables & parameters
We briefly describe several of the most important and most used common variables and parameters. These
parameters are defined in sps vars.f90.
add agb dust model Parameter to turn on/off the AGB circumstellar dust emission model presented
in Villaume et al. (2014). By default this is function is turned on as of v2.5.
add dust emission Parameter to turn on/off the dust emission model of Draine & Li (2007).
add agn dust Parameter to turn on/off the AGN dust emission model of Nenkova et al. (2008).
add igm absorption Parameter to turn on/off IGM absorption according to Madau (1995). By default
this option is turned off.
add neb emission Parameter to turn on/off the nebular emission model (both continuum and line
emission), based on Cloudy models from Nell Byler. By default this option is turned on.
add neb continuum Parameter to turn on/off the nebular continuum. By default this option is turned
on. add neb emission must be turned on for this option to have any effect.
add stellar remnants Parameter to turn on/off the inclusion of stellar remnants in the calculation
of stellar masses.
compute vega mags A switch that sets the zero points of the magnitude system:
0: AB system
1: Vega system
dust type Common variable defining the attenuation curve for the diffuse dust component:
0: power–law; see variable dust index below.
– 1: Milky Way extinction law parameterized by Cardelli et al. 1989, with variable UV bump
strength; see variables mwr and uvb below.
2: Calzetti et al. 2000 attenuation curve. Note that if this option is set then the dust attenuation
is applied to all starlight equally (not split by age), and therefore the only relevant parameter is
dust2 (defined below), which sets the overall normalization (you must set dust1= 0.0 for this to
work correctly).
3: allows the user to access a variety of attenuation curve models from Witt & Gordon 2000. See
the parameters wgp1,wgp2, and wgp3 in §3.1.2. In this case the parameters dust1 and dust2
have no effect because the WG00 models specify the full attenuation curve.
– 4: Kriek & Conroy (2013) attenuation curve. In this model the slope of the curve, set by the
variable dust index, is linked to the strength of the UV bump.
5
imf type Common variable defining the IMF type:
0: Salpeter 1955
1: Chabrier 2003
2: Kroupa 2001
3: van Dokkum 2008
4: Dave 2008
– 5: tabulated piece-wise power-law IMF, specified in imf.dat file located in the data directory
(or specified via the parameter imf filename; see below).
redshift colors
0: Magnitudes are computed at a fixed redshift specified in the parameter set (see below)
– 1: Magnitudes are computed at a redshift that corresponds to the age of the output SSP/CSP
(assuming a redshift–age relation appropriate for a WMAP5 cosmology). This switch is useful if
the user wants to compute the evolution in observed colors of a SSP/CSP.
smooth velocity Switch to smooth the spectrum in velocity space. If off, the spectrum is smoothed
in wavelength space. The degree of smoothing is determined by the variable sigma smooth in the
parameter set (see below).
smooth lsf Parameter to smooth the SSPs by a tabulated instrumental LSF provided in data/lsf.dat.
The assumed units are km/s (sigma, not FWHM). Turned off by default.
tpagb norm type Parameter to choose the normalization of the TP-AGB stars (only applies to the
Padova isochrones):
0: Default normalization of the Padova isochrones
1: Normalization from Conroy & Gunn (2010)
2: Normalization from Villaume et al. (2014)
time res incr Parameter setting the factor by which the resolution of the default isochrone age array
is increased. Default value is 2, which is sufficient for most purposes.
vactoair flag Parameter to write wavelengths in air rather than vacuum if set to 1. The default is
to write wavelengths in vacuum.
verbose Parameter that controls output to screen. If set to 1 a lot of output will be printed to screen,
if set to 0 the programs will be silent.
6
2.1.3 The Parameter Set
The parameter set is a structure defined in the sps vars.f90 module. It must be defined at the beginning
of every program for the various routines to properly work. This structure acts as the primary interface
between what the user would like to compute and the various subroutines that actually do the work. Simply
defining the structure at the beginning of the program will set all structure elements to their default values
(see the example program simple.f90). The elements of the structure, and the default values, are described
below. The parameters are organized by topic, e.g., star formation history, IMF, dust, and stellar evolution
parameters.
Basic Parameters
zred Redshift. If this value is non-zero and if redshift colors= 0, the magnitudes will be computed
for the spectrum placed at redshift zred.Default value is 0.0.
zmet Metallicity. The metallicity is specified as an integer ranging between 1 and 22 for the Padova
isochrones and between 1 and 10 for the BaSTI isochrones. A lookup table for the actual metallicities
corresponding to the integer values is provided at the end of this manual. Note that Z= 0.0190.
Default value is 1.
imf1 Logarithmic slope of the IMF over the range 0.08 < M < 0.5M. Only used if imf type= 2.
Default value is 1.3.
imf2 Logarithmic slope of the IMF over the range 0.5< M < 1.0M. Only used if imf type= 2.
Default value is 2.3.
imf3 Logarithmic slope of the IMF over the range 1.0< M < 100 M. Only used if imf type= 2.
Default value is 2.3.
vdmc IMF parameter defined in van Dokkum 2008. Only used if imf type= 3. Default value is 0.08.
mdave IMF parameter defined in Dave 2008. Only used if imf type= 4. Default value is 0.5.
evtype Only include isochrone points at a particular evolutionary phase specified in the isochrone
table (see data/ev phases.tex for phase options). Only available with the BaSTI isochrone option.
All phases used when set to -1. Default value is -1.
masscut Only include masses above masscut in the synthesis. Default value is 150.0.
imf filename Filename of the tabulated IMF file located in the data directory. If unset, the default
imf.dat is assumed. Only applies if imf type= 5.
mag compute Integer array of length nbands. Allows the user to choose which magnitudes are computed
from the filter list. 1=yes, 0=no. All magnitudes are still printed to the mag file, but if the particular
band has a value of 0 in this array, the output value will be 99. Default values are 1 for all bands.
sigma smooth Broadening of the spectrum, in units of km s1(if smooth velocity= 1) or ˚
A, (if
smooth velocity= 0). This specifies the width of the Gaussian in terms of σ,not FWHM. Default
value is 0.0.
min wave smooth Minimum wavelength, in ˚
A, that will be smoothed if sigma smooth>0. Default
value is 1000 ˚
A.
max wave smooth Maximum wavelength, in ˚
A, that will be smoothed if sigma smooth>0. Default
value is 10,000 ˚
A.
gas logu Value of the gas ionization parameter, U; relevant only for the nebular emission model Default
value is -2.0.
7
gas logz Value of the gas metallicity; relevant only for the nebular emission model Default value is
0.0.
igm factor Factor by which to multiply the default IGM absorption optical depth Default value is
1.0.
SFH Parameters
sfh defines the type of star formation history, normalized such that one solar mass of stars is formed
over the full SFH. Default value is 0.
0: SSP
– 1: A six parameter SFH (tau model plus a constant component and a burst), with parameters
tau,const,sf start,sf trunc,tburst, and fburst (see below).
– 2: Tabulated SFH defined in a file called sfh.dat that must reside in the data directory (or a
file specified via the parameter sfh filename; see below). The file must contain three columns.
The first column is time since the Big Bang in Gyr, the second is the SFR in units of solar masses
per year, the third is the absolute metallicity. An example is provided in the data directory. The
time grid in this file can be arbitrary (so long as the units are correct), but it is up to the user
to ensure that the tabulated sfh is well-sampled so that the outputs are stable. Obviously, highly
oscillatory data require dense sampling.
– 3: Reserved for special use of the tabulated SFH option. Allows the user to read in the tabu-
lated SFHs directly into the necessary arrays, bypassing the need to create sfh.dat files. Email
cconroy@cfa.harvard.edu if you would like further instructions for how to use this option.
4: This is the same as option 1 except that the tau-model component is replaced with a delayed
tau model of the form t et/τ .
5: Delayed tau model with a transition at a time sf trunc to a linearly decreasing SFH with the
slope specified by sf slope. See Simha et al. 2014 for details.
tau Defines e-folding time for the SFH, in Gyr. Only used if sfh= 1 or 4. The range is 0.1< τ <
102.Default value is 1.0.
const Defines the constant component of the SFH. This quantity is defined as the fraction of mass
formed in a constant mode of SF; the range is therefore 0 C1. Only used if sfh= 1 or 4. Default
value is 0.0.
sf start Start time of the SFH, in Gyr. Default value is 0.0.
sf trunc Truncation time of the SFH, in Gyr. If set to 0.0, there is no trunction. Default value is 0.0.
tage If set to a non-zero value, the compsp routine will compute the spectra and magnitudes only at
this age, and will therefore only output one age result. The units are Gyr. (The default is for compsp
to compute and return results from t0 to the maximum age in the isochrones). Default value is 0.0.
fburst Defines the fraction of mass formed in an instantaneous burst of star formation. Only used if
sfh= 1 or 4. Default value is 0.0.
tburst Defines the age of the Universe when the burst occurs, in Gyr. If tburst>tage then there is
no burst. Only used if sfh= 1 or 4. Default value is 11.0.
sf slope For sfh= 5, this is the slope of the SFR after time sf trunc.Default value is 0.0.
sfh filename Filename of the tabulated SFH file located in the data directory. If unset, the default
sfh.dat is assumed. Only applies if sfh= 2.
8
Dust Parameters
dust tesc Stars younger than dust tesc are attenuated by both dust1 and dust2, while stars older
are attenuated by dust2 only. Units are log(yrs). Default value is 7.0.
dust1 Dust parameter describing the attenuation of young stellar light, i.e. where tdust tesc (for
details, see Conroy et al. 2009a). Specifically, it is the opacity at 5500˚
A. Default value is 0.0.
dust2 Dust parameter describing the attenuation of old stellar light, i.e. where t >dust tesc (for
details, see Conroy et al. 2009a). Specifically, it is the opacity at 5500˚
A. Default value is 0.0.
frac nodust Fraction of starlight that is not attenuated by the diffuse dust component (i.e. that is
not affected by dust2). Default value is 0.0.
frac obrun Fraction of starlight that is not attenuated by the birth cloud dust component (i.e. that
is not affected by dust1). Default value is 0.0.
dust index Power–law index of the diffuse dust attenuation curve. Only used when dust type=0 or
4. Default value is -0.7.
dust1 index Power–law index of the birth cloud dust attenuation curve. Used for all dust types.
Default value is -1.0.
mwr The ratio of total to selective absorption which characterizes the MW extinction curve: R
AV/E(BV). Only used when dust type=1. Default value is 3.1.
uvb Parameter characterizing the strength of the 2175˚
A extinction feature with respect to the standard
Cardelli et al. determination for the MW. Only used when dust type=1. Default value is 1.0.
wgp1 Integer specifying the optical depth in the Witt & Gordon 2000 (WG00) models. Values range
from 1 18, corresponding to optical depths of
0.25,0.50,0.75,1.00,1.50,2.00,2.50,3.00,3.50,4.00,4.50,5.00,5.50,6.00,7.00,8.00,9.00,10.0. Note that
these optical depths are defined differently from the optical depths defined by the parameters dust1
and dust2. See WG00 for details.
wgp2 Integer specifying the type of large–scale geometry and extinction curve. Values range from
16, corresponding to MW+dusty, MW+shell, MW+cloudy, SMC+dusty, SMC+shell, SMC+cloudy.
MW= Milky Way extinction; SMC= Small Magellanic Cloud extinction. Dusty, shell, and cloudy
specify the geometry and are described in WG00.
wgp3 Integer specifying the local geometry for the WG00 dust models. A value of 1 corresponds to
a homogeneous distribution, and a value of 2 corresponds to a clumpy distribution. See WG00 for
details.
duste gamma Parameter of the Draine & Li (2007) dust emission model. Specifies the relative con-
tribution of dust heated at a radiation field strength of Umin and dust heated at Umin < U Umax.
Allowable range is 0.01.0. Default value is 0.01.
duste umin Parameter of the Draine & Li (2007) dust emission model. Specifies the minimum radiation
field strength in units of the MW value. Valid range is between 0.1 and 25.0. Default value is 1.0.
duste qpah Parameter of the Draine & Li (2007) dust emission model. Specifies the grain size distri-
bution through the fraction of grain mass in PAHs. This parameter has units of % and a valid range
of 0.010.0. Default value is 3.5.
fagn This parameter is the luminosity of the AGN expressed as a fraction of the stellar bolometric
luminosity. Default value is 0.0.
agn tau Vband optical depth of individual clouds in the AGN model of Nenkova et al. 2008. Default
value is 10.0.
9
Isochrone Parameters
redgb Modify weight given to the RGB. Only available with BaSTI isochrone set. Default value is 1.0.
dell Shift in log(Lbol) of the TP-AGB isochrones. Note that the meaning of this parameter and the
one below has changed to reflect the updated calibrations presented in Conroy & Gunn 2009. That is,
these parameters now refer to a modification about the calibrations presented in that paper. Default
value is 0.0.
delt Shift in log(Te) of the TP-AGB isochrones. Default value is 0.0.
fcstar Fraction of stars that the Padova isochrones identify as Carbon stars that FSPS assigns to a
Carbon star spectrum. Set this to 0.0 if for example the users wishes to turn all Carbon stars into
regular M-type stars. Valid range is 0.01.0. Default value is 1.0.
sbss Specific frequency of blue straggler stars. See Conroy et al. 2009a for details and a plausible
range. Default value is 0.0.
fbhb Fraction of horizontal branch stars that are blue. The blue HB stars are uniformly spread in
log(Teff ) to 104K. See Conroy et al. 2009a for details and a plausible range. Default value is 0.0.
pagb Weight given to the post–AGB phase. A value of 0.0 turns off post–AGB stars; a value of 1.0
implies that the Vassiliadis & Wood 1994 tracks are implemented as–is. Default value is 1.0.
2.2 Description of Fortran Routines
We now discuss the purpose and syntax of the routines in this package. §3.2.1 discusses the example routines
provided in FSPS that demonstrate how many of these routines are used. Routines included in the src
directory that are not discussed below are meant to only be accessed through other routines.
COMPSP(write compsp,nzin,outfile,mass ssp,lbol ssp,spec ssp,pset,ocompsp)
This routine takes as input mass ssp,lbol ssp, and spec ssp, which are the outputs of the routine
ssp gen.f90. The user must also provide the parameter set pset and filename for output in outfile, if
output is desired (a blank string may be specified if no output is desired). There are four possible outputs,
specified by write compsp: No output (0), output magnitudes (1), output spectra (2), output magnitudes
and spectra (3), output spectral indices (4), output color-magnitude diagrams (5). The outputs are written
to files with the output filename with .mags”, “.spec”, “.indx”, or “.cmd” appended.
A variety of output from this routine is saved in the ocompsp variable, which must be a structure as
defined in sps vars.f90. Again, see the example routine below.
The nzin parameter sets the number of metallicity points passed. For standard, single metallicity cal-
culations, set this value to one and simply pass the outputs from ssp gen.f90. However, if one wants to
compute spectra for an evolving metallicity (i.e. when computing a tabulated SFH, the metallicity history
may be specified), one needs to set this parameter to the number of metallicity elements available (in the
default release this is 22). One then must take care to pass the metallicity–dependent ssp gen.f90 outputs.
Currently the code only allows the specification of a metallicity history when passing tabulated SFH.
GETMAGS(zred,spec,mags)
The input is the redshift zred and spectrum spec. The output is an array of magnitudes mags for the
redshifted spectrum.
GETINDX(lambda,spec,indices)
This routine computes the spectral indices for the input spectrum spec with corresponding wavelength
array lambda, returning the indices in an array indices. The indices array must be defined with an array
length specified by the variable nindsps, which specifies the number of indices. The indices are defined in
the file allindices.dat in the data directory.
10
PZ CONVOL(yield,zave,spec pz,lbol pz,mass pz)
This routine convolves the full array of metallicity-dependent SSPs with a closed-box metallicity distri-
bution function (MDF). The yield is the only input. Outputs include the average metallicity (zave) and
the spectra, lbol, and mass integrated over the MDF. The full metallicity-dependent SSPs must have been
previously set up. An example of how to use this routine is provided in lesssimple.f90.
SFHSTAT(pos,model,ssfr6,ssfr7,ssfr8,ave age)
This routine returns basic statistics for a given star formation history. The inputs are the parameter
set (pos) and a single element output from the compsp routine (model). The outputs are the specific SFR
(SSFR), averaged over 106, 107, and 108yrs (ssfr6, ssfr7, ssfr8), and the mass-weighted average stellar
age (ave age). An example of how to use this routine is provided in simple.f90.
SPS SETUP(zin)
This routine must be called at least once before running any routines. It reads in all of the isochrones
and spectral libraries and stores them in a common block. If the user requires only one metallicity, then
that metallicity can be specified as zin. The metallicity must be specified as an integer corresponding to
the look-up table at the end of this manual. If the user wishes to read in all metallicities, then zin should
be set to -1.
SSP GEN(pset,mass ssp,lbol ssp,spec ssp)
This routine takes as input the parameter set, pset, and outputs the time-dependent mass, mass ssp,
bolometric luminosity, lbol ssp, and spectrum, spec ssp, of an SSP defined by the parameter set. Each
of these input variables must be properly defined at the beginning of the main routine. See the example
routines for guidance.
SMOOTHSPEC(lambda,spec,sigma,minl,maxl)
This routine broadens the input spectrum spec with corresponding wavelength array lambda by a velocity
dispersion sigma measured in km/s. Note that the velocity broadening is only approximate in that we are
ignoring the variation in dλwith λwithin each integration step.
WRITE ISOCHRONE(outfile,zz)
This routine writes the isochrones for all ages at a single metallicity to a file with name outfile. The
metallicity of the isochrone is specified via the variable zz in the internal integer metallicity units (see the
Table at the end of this manual). At each age the isochrone is written for all of the magnitudes specified in
the FILTER LIST file.
2.2.1. Example Routines
The code package contains several routines that highlight many of the features of FSPS. The routine
simple.f90 demonstrates the basic syntax required to generate simple models. In addition, there is a less
simple routine located in the src directory, called lesssimple.f90, that highlights some more advanced
features of the code.
3. Description of IDL Routines
res = read indx(file)
This function takes as input an index file and reads it into a simple IDL structure. The index file must be
created by the user (unlike the .spec and .mags files, which are automatically created in the compsp routine).
The format is the age followed by all of the indices defined in the file INDEX LIST.
11
res = read mags(file)
This function takes as input the magnitude file (*.mags) produced by compsp.f90. The output is an
IDL structure with elements including the some of the magnitudes listed in FILTER LIST and computed
by compsp.f90. Note that not all magnitudes computed and listed in the *.mags file are contained in the
resulting structure. This routine can be trivially modified to include other/all of the magnitudes computed.
res = read spec(file)
This function takes as input the spectra file (*.spec) produced by compsp.f90. The output is an IDL
structure with elements including the time-dependent spectrum computed by compsp.f90.
res = read cmd(file)
This function takes as input the CMD file (*.cmd) produced by compsp.f90. The output is an IDL
structure with elements including the time-dependent spectrum computed by compsp.f90.
res = read indx(file)
This function takes as input the index file (*.indx) produced by compsp.f90. The output is an IDL
structure with elements including the time-dependent spectrum computed by compsp.f90.
res = read fsps(file)
This function takes as input any file produced by compsp.f90. The function determines which type of
file was passed based on the filename (*.spec, *.mags, etc).
4. How do I....
4.1 add additional filters?
Adding additional filters is straightforward. There are three things the user must do: 1) modify the nbands
parameter in the sps vars.f90 routine; 2) add the filter to the allfilters.dat file located in the data
directory. Follow the format: there must be a line starting with a # sign, followed by two columns, the
first being the wavelength in angstroms, the second being the total throughput. The filter can be of any
resolution, and need not be properly normalized. 3) The user would be wise to add details of the filter to the
FILTER LIST file located in the data directory, although this is not, strictly speaking, necessary for proper
functioning of the code.
We would appreciate it if the user would email us if they add a filter so that we can include this filter in
later releases (thereby saving others the trouble of adding filters).
5. Acknowledgements
FSPS has been in active development since 2009 and has been developed and tested by a core group of
users over the years including Martin White, Ben Johnson, Nell Byler, Alexa Villaume, Joel Leja, and Demitri
Muna. Special thanks in particular to Ben Johnson who has re-written entire routines and has extensively
tested the outputs. I would also like to thank the many researchers who have made publicly available their
codes and/or models, which made it possible to include many of the features in FSPS, including B. Aringer,
Bruce Draine, Gary Ferland, Karl Gordon, Zeljko Ivezic, Ariane Lancon, Maia Nenkova, Linda Smith, the
Padova, BaSTI, and Geneva stellar evolution groups, and the teams responsible for the MILES and BaSeL
spectral libraries including Bob Kurucz, whose stellar atmosphere and spectral libraries underpine the BaSeL
library and the C3K spectral library under development.
The development of FSPS has been supported by Packard and Sloan foundation fellowships, NASA grants
NNX14AR86G and NNX15AK14G and NSF grant AST-1524161.
12
Table 1 Lookup table of metallicity values depends on the isochrone set being used.
zmet Z[log(Z/Z)] Z[log(Z/Z)] log(Z/Z)Z[log(Z/Z)] Z[log(Z/Z)] Z
Padova BaSTI MIST Geneva PARSEC BPASS
1 0.0002 (-1.98) 0.0003 (-1.82) -2.50 0.0010 (-1.30) 0.0001 (-2.18) 0.0001
2 0.0003 (-1.80) 0.0006 (-1.52) -2.00 0.0040 (-0.70) 0.0002(-1.88) 0.0010
3 0.0004 (-1.68) 0.0010 (-1.30) -1.75 0.0080 (-0.40) 0.0005 (-1.48) 0.0020
4 0.0005 (-1.58) 0.0020 (-1.00) -1.50 0.0200 (+0.00) 0.0010 (-1.18) 0.0030
5 0.0006 (-1.50) 0.0040 (-0.70) -1.25 0.0400 (+0.30) 0.0020 (-0.88) 0.0040
6 0.0008 (-1.38) 0.0080 (-0.40) -1.00 0.0040 (-0.58) 0.0060
7 0.0010 (-1.28) 0.0100 (-0.30) -0.75 0.0060 (-0.40) 0.0080
8 0.0012 (-1.20) 0.0200 (+0.00) -0.50 0.0080 (-0.28) 0.0100
9 0.0016 (-1.07) 0.0300 (+0.18) -0.25 0.0100 (-0.18) 0.0140
10 0.0020 (-0.98) 0.0400 (+0.30) +0.00 0.0140 (-0.04) 0.0200
11 0.0025 (-0.89) +0.25 0.0170 (+0.05) 0.0300
12 0.0031 (-0.79) +0.50 0.0200 (+0.12) 0.0400
13 0.0039 (-0.69) 0.0300 (+0.30)
14 0.0049 (-0.59) 0.0400 (+0.42)
15 0.0061 (-0.49) 0.0600 (+0.60)
16 0.0077 (-0.39)
17 0.0096 (-0.30)
18 0.0120 (-0.20)
19 0.0150 (-0.10)
20 0.0190 (+0.00)
21 0.0240 (+0.10)
22 0.0300 (+0.20)
Note. Z= 0.0190 for Padova, Z= 0.0200 for BaSTI and Geneva, Z= 0.0142 for MIST, Z= 0.0152 for PARSEC,
and Z= 0.020 for BPASS.
13
Table 2 Emission lines included in FSPS
923.148 Ly 923 H 1 923.156A
926.249 Ly 926 H 1 926.231A
930.751 Ly 930 H 1 930.754A
937.814 Ly 937 H 1 937.809A
949.742 Ly-δ949 H 1 949.749A
972.517 Ly-γ972 H 1 972.543A
1025.728 Ly-β1025 H 1 1025.73A
1215.6701 Ly-α1216 H 1 1215.68A
1640.42 He ii 1640 He 2 1640.00A
1661.241 O iii] 1661 O 3 1661.00A
1666.15 O iii] 1666 O 3 1666.00A
1812.205 [Ne iii] 1815 Ne 3 1815.00A
1854.716 [Al iii] 1855 Al 3 1855.00A
1862.7895 [Al iii] 1863 Al 3 1863.00A
1906.68 [C iii]C 3 1907.00A
1908.73 [C iii]C 3 1910.00A
2142.3 N ii] 2141 N 2 2141.00A
2321.664 [O iii] 2321 O 3 2321.00A
2324.21 C ii] 2326 C 2 2324.00A
2325.4 C ii] 2326 C 2 2325.00A
2326.11 C ii] 2326 C 2 2327.00A
2327.64 C ii] 2326 C 2 2328.00A
2328.83 C ii] 2326 C 2 2329.00A
2471.088 [O ii] 2471 O II 2471.00A
2661.146 [Al ii] 2660 Al 2 2660.00A
2669.951 [Al ii] 2670 Al 2 2670.00A
2796.352 Mg ii 2800 Mg 2 2795.53A
2803.53 Mg ii 2800 Mg 2 2802.71A
3109.98 [Ar iii] 3110 Ar 3 3109.00A
3343.5 [Ne iii] 3343 Ne 3 3343.00A
3722.75 [S iii] 3723 S 3 3722.00A
3727.1 [O ii] 3726 O II 3726.00A
3729.86 [O ii] 3729 O II 3729.00A
3798.987 H 3798 H 1 3797.92A
3836.485 H 3835 H 1 3835.40A
3869.86 [Ne iii] 3870 Ne 3 3869.00A
3889.75 He i3889 He 1 3888.63A
3890.166 H 3889 H 1 3889.07A
3968.59 [Ne iii] 3968 Ne 3 3968.00A
3971.198 H 3970 H 1 3970.09A
4069.75 [S ii] 4070 S II 4070.00A
4077.5 [S ii] 4078 S II 4078.00A
4102.892 H-δ4102 H 1 4101.76A
4341.692 H-γ4340 H 1 4340.49A
4364.435 [O iii] 4364 TOTL 4363.00A
4472.735 He i4472 He 1 4471.47A
4622.864 [C i] 4621 C 1 4621.00A
4725.47 [Ne iv] 4720 Ne 4 4720.00A
4862.71 H-β4861 H 1 4861.36A
4960.295 [O iii] 4960 O 3 4959.00A
5008.24 [O iii] 5007 O 3 5007.00A
5193.27 [Ar iii] 5193 Ar 3 5192.00A
5201.705 [N i] 5200 N 1 5200.00A
Table 3 Emission lines included in FSPS (cont.)
5519.242 [Cl iii] 5518 Cl 3 5518.00A
5539.411 [Cl iii] 5538 Cl 3 5538.00A
5578.89 [O i] 5578 O 1 5577.00A
5756.19 [N ii] 5756 N 2 5755.00A
5877.249 He i5877 He 1 5875.61A
6302.046 [O i] 6302 O 1 6300.00A
6313.81 [S iii] 6314 S 3 6312.00A
6365.535 [O i] 6365 O 1 6363.00A
6549.86 [N ii] 6549 N 2 6548.00A
6564.6 H-α6563 H 1 6562.85A
6585.27 [N ii] 6585 N 2 6584.00A
6679.995 He i6680 He 1 6678.15A
6718.294 [S ii] 6717 S II 6716.00A
6732.673 [S ii] 6732 S II 6731.00A
7067.138 He i7065 He 1 7065.18A
7137.77 [Ar iii] 7138 Ar 3 7135.00A
7321.94 [O ii] 7323 O II 7323.00A
7332.21 [O ii] 7332 O II 7332.00A
7334.17 [Ar iv] 7330 Ar 4 7331.00A
7753.19 [Ar iii] 7753 Ar 3 7751.00A
8581.06 [Cl ii] 8579 Cl 2 8579.00A
8729.53 [C i] 8727 C 1 8727.00A
9017.8 Pa 9015 H 1 9014.92A
9071.1 [S iii] 9071 S 3 9069.00A
9126.1 [Cl ii] 9124 Cl 2 9124.00A
9232.2 Pa 9229 H 1 9229.03A
9533.2 [S iii] 9533 S 3 9532.00A
9548.8 Pa 9546 H 1 9545.99A
9852.96 [C i] 9850 TOTL 9850.00A
10052.6 Pa-δ10050 H 1 1.00494m
10323.32 [S ii] 10331 S 2 1.03300m
10832.057 He i10829 He 1 1.08299m
10833.306 He i10833 He 1 1.08303m
10941.17 Pa-γ10939 H 1 1.09381m
12570.21 [Fe ii] 1.26µmFe 2 1.25668m
12821.578 Pa-β12819 H 1 1.28181m
17366.885 Br 17363 H 1 1.73621m
18179.2 Br 18175 H 1 1.81741m
18756.4 Pa-α18752 H 1 1.87511m
19450.89 Br-δ19447 H 1 1.94456m
21661.178 Br-γ21657 H 1 2.16553m
26258.71 Br-β26254 H 1 2.62515m
30392.02 Pf 30386 H 1 3.03837m
32969.8 Pf-δ32964 H 1 3.29609m
37405.76 Pf-γ37398 H 1 3.73953m
40522.79 Br-α40515 H 1 4.05116m
46537.8 Pf-β46529 H 1 4.65250m
51286.5 Hu-δ51277 H 1 5.12725m
59082.2 Hu-γ59071 H 1 5.90659m
69852.74 [Ar ii] 7µmAr 2 6.98000m
74599.0 Pf-α74585 H 1 7.45781m
75024.4 Hu-β75011 H 1 7.50043m
89913.8 [Ar iii] 9µmAr 3 9.00000m
14
Table 4 Emission lines included in FSPS (cont.)
105105.0 [S iv] 10.5µmS 4 10.5100m
123719.12 Hu-α12.4µmH 1 12.3685m
128135.48 [Ne ii] 12.8µmNe 2 12.8100m
143678.0 [Cl ii] 14.4µmCl 2 14.4000m
155551.0 [Ne iii] 15.5µmNe 3 15.5500m
187130.0 [S iii] 18.7µmS 3 18.6700m
218302.0 [Ar iii] 22µmAr 3 21.8300m
328709.0 [P ii] 32µmP 2 32.8700m
334800.0 [S iii] 33.5µmS 3 33.4700m
348140.0 [Si ii] 35µmSi 2 34.8140m
360135.0 [Ne iii] 36µmNe 3 36.0140m
518145.0 [O iii] 52µmO 3 51.8000m
573300.0 [N iii] 57µmN 3 57.2100m
606420.0 [P ii] 60µmP 2 60.6400m
631852.0 [O i] 63µmO 1 63.1700m
883564.0 [O iii] 88µmO 3 88.3300m
1218000.0 [N ii] 122µmN 2 121.700m
1455350.0 [O i] 145µmO 1 145.530m
1576429.62 [C ii] 157.7µmC 2 157.600m
2053000.0 [N ii] 205µmN 2 205.400m
3703700.0 [C i] 369µmC 1 369.700m
6097000.0 [C i] 610µmC 1 609.200m
15

Navigation menu