iSEDfit Bayesian Spectral Energy Distribution Modeling of Galaxies

John Moustakas


Stay tuned for the first public release!
(Site currently under construction.)

What is iSEDfit?

iSEDfit uses Bayesian inference to extract the physical properties of galaxies from their observed broadband photometric spectral energy distribution (SED). In its default mode, the inputs to iSEDfit are the measured photometry (fluxes and corresponding inverse variances) and a measurement of the galaxy redshift. Alternatively, iSEDfit can be used to estimate photometric redshifts from the input photometry alone.

Once the user has specified the priors (see below), iSEDfit calculates the marginalized posterior probability distributions for the physical parameters of interest, including the stellar mass, star-formation rate, dust content, star formation history, stellar metallicity, and so forth. iSEDfit also optionally computes K-corrections, and produces multiple "quality assurance" (QA) plots at each stage of the modeling procedure to aid in the interpretation of the prior parameter choices and subsequent fitting results.

Some of the principle advantages of iSEDfit compared to other publicly available SED-modeling software packages (see, for example, are:

Conditions of Use

The conditions of using the code released here are to send your email address to ude.aneis@sakatsuomj so that you may be informed of important updates and changes; and to cite J. Moustakas et al. 2013, which describes a a pre-public release version of the code. In addition, if you have any questions or bug reports please don't hesitate to contact me.

No warranty is expressed or implied regarding your use of this software.

Download & Setup

iSEDfit is distributed as part of my complete IDL library, impro, which lives as a publicly accessible git repository hosted at To download the latest version move into a local directory of your choice and paste the following into an xterm or terminal:

git clone

This command will create an impro directory with a pro/isedfit subdirectory which contains all the iSEDfit routines. Next, add an ${IMPRO_DIR} environment variable to your appropriate startup file, and the impro/pro subdirectory to your IDL path. For example, if you downloaded impro to /home/users/idl and you use the tcsh shell, you would add the following lines to your .tcshrc startup file (or .idlenv file):

setenv IMPRO_DIR /home/users/idl/impro
setenv IDL_PATH $IDL_PATH{:}+${IMPRO_DIR}/pro

Other Dependencies

iSEDfit relies on two other widely utilized IDL libraries, which need to be downloaded separately and installed. If you don't have these libraries already, get them! First, you will need the idlutils suite of IDL routines, which already includes a recent version of the Goddard Astronomy User's Library. And second you will also need to download and install Kcorrect, which is used by iSEDfit for its cosmology routines and to perform fast filter convolutions.

Simple Stellar Population (SSP) Models

The last ingredient iSEDfit requires is the set of simple stellar population model predictions generated by various stellar population synthesis (SPS) codes (see Appendix A of J. Moustakas et al. 2013 for details). Given an initial mass function (IMF), SPS models couple our knowledge of (and assumptions about!) stellar evolution for stars of a given stellar metallicity, alpha-enhancement ratio, and mass to empirical and/or theoretical stellar spectral libraries, in order to predict the temporal and spectral evolution of a "simple stellar population" (SSP) (see C. Conroy 2013 for a recent review). iSEDfit takes as input these SSPs and constructs Monte Carlo grids of possible galaxy star formation history, age, stellar metallicity, dust content, and other physical properties based on well-defined prior parameters selected by the user.

Download the current version of the available SSPs by clicking on this link: isedfit_ssp_dir_v1.0.tar.gz. Move the tarball to a directory of your choosing, unpack it, and then create an environment variable pointing to that directory so that iSEDfit can find the SSPs. For example, if you choose to place the SSPs in your home directory you would first unpack the file (cd ; tar xzvf isedfit_ssp_dir_v1.0.tar.gz) and then add the following environment variable to your .tcshrc (or similar) startup file:

setenv ISEDFIT_SSP_DIR ${HOME}/isedfit_ssp

The table below summarizes the currently available set of SSPs. These models were chosen primarily because of their broad wavelength coverage, making it possible to synthesize photometry across the rest-frame ultraviolet, optical, and near-infrared electromagnetic spectrum. If your favorite SPS model is missing please send me a note. Need to link to a document about these SSPs with references, details, etc. Need to explain the table!

SPS Model Isochrones Stellar Library Metallicity imf synthmodels
FSPS (v2.4) Padova (ca 2009, modified) MILES+BaSeL 0.0008-0.03 salp, chab, kroupa01 fsps_v2.4_miles
  Padova (ca 2009, modified) BaSeL 0.0002-0.03 salp, chab, kroupa01 fsps_v2.4_basel
BC03 Padova (ca 1994) STELIB+BaSeL 0.0004-0.05 salp, chab bc03_stelib
  Padova (ca 1994) BaSeL 0.0004-0.05 salp, chab bc03_basel
PEGASE-HR Padova (ca 1994) BaSeL 0.0001-0.05 salp, kroupa01 pegase
Maraston (2005) (See paper) BaSeL 0.001-0.04 salp, kroupa01 maraston05
BaSTI BaSTI Castelli & Kurucz 0.001-0.04 kroupa01 basti_ss
      0.001-0.04 kroupa01 basti_ae

Getting Started Quickly: An Example

The fastest way to get iSEDfit running on your dataset is by way of an example. Here, we will model 9-band photometry of 15,000 galaxies at z=0.05-0.2 with spectroscopic redshifts and ugriz photometry from the SDSS; far- and near-ultraviolet (FUV, NUV) photometry from the GALEX satellite; and infrared photometry at 3.4 and 4.6 microns from the WISE satellite. Specifically, the data assembled for this example were taken from the NYU Value-Added Galaxy Catalog Data Release 7.2, the GALEX GR6 Data Release, and the WISE All-Sky Data Release.

First, download the data and the example IDL routine Move the datafile into a directory of your choosing, and the IDL script into your IDL path. To be able to run this whole example you should only have to change the isedfit_dir pathname to point to the directory where you put the datafile, and to where you want all the iSEDfit output files written. (In detail the datafile can be wherever you want, but having it in the same directory simplifies this example.)

iSEDfit has been modularized so that tasks that are expensive computationally and in terms of disk I/O only have to be executed once. In the example script iSEDfit's most important routines can be called using the keywords; see each program's documentation for plenty of details. Each step is briefly described below:

  1. write_isedfit_paramfile The first critical step is to generate a parameter file which is used by every other iSEDfit routine. In this parameter file you specify your
  2. isedfit_montegrids
  3. isedfit_models
  4. isedfit_qaplot_models
  5. isedfit
  6. isedfit_kcorrect
  7. isedfit_qaplot_sed

Tips and Tricks

The Monte Carlo grids can get very large (many tens of GB, depending on the number of models generated and the spectral synthesis models that are adopted. Therefore 'montegrids_dir' can be set to an external hard drive, while 'isedfit_dir', which will contain the integrated photometry and the fitting results can be set to a smaller drive, e.g., like a laptop hard drive.

If you have a small sample spanning a wide redshift range then use the 'use_redshift' parameter. But the redshifts have to be sorted, otherwise the interpolations can't happen!'

Building multiple SFH grids. Show how to append to the parameter file. Also discuss the 'thissfhgrid' optional input.

Using 'outprefix'. For example, examining the effect of dropping certain bands of photometry (e.g., galex).

Truncated bursts.

If you are going to be working a lot with the posterior distributions then NDRAW should be set equal to NMODEL. This will result in large posterior distribution files but there will be no loss of precision as the full probabilities will be stored.

Frequently Asked Questions

  1. How many models do I need?
    The number of models you choose to fit depends on the diversity of your sample (whether in terms of redshift range or in intrinsic properties). I suggest you start with a relatively small number (~5000) and then test. Will also depend on the diversity (or lack thereof) of your sample.
  2. I seem to have run out of memory!
    Make galchunksize a smaller number.
  3. What is the list of filters and how do I add more?
    Write out a list of what we have so far. To add more contact me.
  4. What does the "i" in iSEDfit and your other programs stand for?
    No, I'm not trying to ride the Apple gravy train. The "i" stands for "Ioannis," which is my formal Greek name meaning "John."

Planned (and Unplanned!) Developments

Below is a list of expanded capabilities or improvements I would like to add to iSEDfit but have not yet had a chance to. If you find an item to be high-priority please let me know (especially if you're interested in doing some legwork), so that I can prioritize the list accordingly.


iSEDfit has been used in several publications to tackle a wide range of outstanding questions in galaxy evolution, by helping to analyze a diverse range of galaxy samples at all redshifts. If you publish a paper using iSEDfit please drop me a note so that I can add it to this (growing!) list.


The development and public release of iSEDfit has benefited from the intellectual input and coding capabilities of several people, to whom I am indebted. (If you are not on this list and think you should be, please don't hesitate to ping me!) My sincerest thanks to: James Aird (Durham), Michael Blanton (NYU), Aleks Diamond-Stanic (Wisconsin), Kristian Finlator (Copenhagen), Alexander Mendez (UCSD), Leonidas Moustakas (JPL), Gregory Rudnick (KU), Samir Salim (Indiana), and Christy Tremonti (Wisconsin).

Financial support for the development and public release of iSEDfit was provided in part by NSF CAREER grant AST-1055081 and NASA grant HST-GO-12065.35-A.