Foreground: Modeling Codes

Below is a list and short description of publicly available codes to estimate Galactic and Solar System foregrounds, with emphasis on diffuse emission at microwave frequencies. The left-most column provides a model name, followed by links to the code's location, the associated publication, and a table showing dependencies of each model on template maps, where applicable.

A list of tools that are useful for cleaning foregrounds from observations is also available. These include items such as Commander and SMICA.

Click on Name, Year or Simulates to sort by that column.

Galactic Emission Models
Name Year Description Simulates
Ultra-long Wavelength Sky Model with Absorption (ULSA)
Code, ADS, Templates Used
2021 Python code for evaluating an observation-based sky model that includes the effect of free-free absorption and is valid down to frequencies ≲ 10 MHz. The model includes Galactic, circum-galactic and isotropic extragalactic components. Model inputs include the Planck Commander2 emission measure and electron temperature maps (Planck Collaboration X 2016) and the NE2001 3D distribution of Galactic electron density (Cordes and Lazio 2002, 2003). The Commander2 results are used to subtract free-free from observed skymaps at 35, 38, 40, 45, 50, 60, 70, 74, 80, and 408 MHz. Fitting to this 408 MHz map solves for an adopted parameterization of the 408 MHz 3D synchrotron emissivity distribution. Fitting to all of the maps after smoothing to a common resolution of 5 degrees solves for synchrotron spectral index. Three spectral index options are available: constant, frequency dependent or direction dependent. The emissivity and spectral index results are used with the NE2001 model to generate the output skymap at the user specified frequency. The source code link provides access to maps at different frequencies for different models and some animated figures, in addition to the source code. I
Code, ADS, Maps
2021 Model to compute thermal dust Galactic foreground emission in the microwave regime at arcminute resolution. The 3-D aspect of the model invokes a generated population of dust filaments of varying size that are misaligned with respect to an adopted configuration of the local magnetic field. Dust emission from all filaments along the line of sight is integrated to produce full-sky HEALPix maps of the IQU Stokes parameters. The filament model does not reproduce the specific spatial features observed by Planck on large scales (ℓ ≲ 50). Therefore, the model computes all-scale Q and U maps as the hybrid sum of a large-scale template map based on Planck 353 GHz and smaller-scale emission from the filament model. The filament model also incorporates frequency decorrelation. Code is python and C++, requiring MPI. Simulated maps at selected frequencies between 20 - 353 GHz are also available. IQU
Python Global Diffuse Sky Models (PyGDSM)
Code, ADS, Templates Used
2021 PyGDSM is a Python interface to models for diffuse Galactic emission in total intensity between 10 MHz - 5 THz. The package includes interfaces to the Global Sky Model (GSM, Oliveira-Costa et. al. 2008), the 2016 update to GSM from Zheng et. al., and the Low Frequency Sky Model (LFSM, Dowell et. al. 2017). In general, the python interfaces are not wrappers of the original code: instead they provide a uniform application programming interface with some additional features such as healpy integration for imaging, and sky rotation for observed skies. I
Low Frequency Sky Model
Code, ADS, Templates Used
2017 The Low Frequency Sky Model (LFSM) is an updated model of the radio sky between 10 and 408 MHz. The model builds off the analysis approach used for the Global Sky Model of de Oliveira-Costa et al. (2008). It is based on a principal component analysis of data at 10, 22, 40, 45, 50, 60, 70, 80, 408, 819, 1419, 23000, 33000, 41000, 61000, and 94000 MHz. I
Global Sky Model (GSM)
Code, Python Code, ADS, Templates Used
2016. 2008 The GSM is a template-based model derived from a principal component analysis of radio and microwave survey data in total intensity only. It can be used to predict the total intensity emission from 10MHz to 5THz based on the four components found by the principal component analysis (PCA). The analysis assumes spectral dependence that is constant on the sky but unconstrained in frequency (i.e., not just power laws), and the resulting components approximately correspond to combinations of synchrotron, free-free, thermal dust and spinning dust emission.
The above is an update to the original version of the GSM discussed in de Oliveira-Costa et al.(2008) Code for the original implementation is here.
HervÌas-Caimapo etal
Code, ADS, Templates Used
2016 A template-based Python code for modeling diffuse, polarized synchrotron and thermal dust emission. This tool uses the Planck foreground products for synchrotron and dust emission, parametrized and spatially varying spectral models (e.g., power laws with curvature) in order to produce simulations of the sky at any frequency. This tool includes the option to add constrained realizations of stochastic (Gaussian) components at small scales. It can also include a polarized emission component from anomalous microwave emission (AME). It includes the ability to observe the modeled sky with a theoretical instrument with a given bandpass, beam, and noise sensitivity. It is meant to be simpler and more flexible than the PSM, and it is also primarily intended for providing simulated inputs for, e.g., planning future CMB missions. IQU
Python Sky Model (PySM)
Code, ADS, Templates Used
2016 Python code to simulate maps of Galactic emission in intensity and polarization at microwave frequencies (10-500 GHz) based on data templates from Haslam 408 MHz, WMAP and Planck surveys. Synchrotron, thermal dust, free-free, and anomalous microwave emission components may be simulated over the whole sky, in addition to the Cosmic Microwave Background. Empirical forms are used to describe the frequency dependence of each component, with options for alternative forms. Capability to include instrumental response and noise is included at a basic level. A prescription is provided for adding small-scale realizations of these components on spatial scales less than roughly 1 degree. IQU
Meisner & Finkbeiner
Code, ADS, Templates Used
2015 Model predictions of Galactic thermal dust total intensity emission at 6.1 arcmin resolution from 100 GHz to 3000 GHz, based on a parameterization of the dust spectrum derived from Planck, DIRBE and IRAS data as the sum of two modified black bodies. The method serves as an alternative to single component modified black body models. Dust optical depth and temperature maps are also available. The original analysis based on FIRAS, DIRBE and IRAS data is described by Finkbeiner etal 1999 I
Planck Sky Model (PSM)
Code, ADS, Templates Used
2014 A template-based tool that represents the pre-Planck knowledge of the sky from GHz-THz frequencies in intensity and polarization based on multi-wavelength full-sky observations.. Its modeled emission components include the CMB, synchrotron, thermal dust, free-free, CO, SZ, point sources, CIB, and UCHII regions. The input templates are normalized and extrapolated following parametrized and spatially varying spectral models (e.g., power laws with curvature) in order to produce simulations of the sky at any frequency. This tool includes the option to add small scale structure from constrained realizations of stochastic (Gaussian) components for the CMB, SZ, point sources, synchrotron and dust emission. It also includes the ability to observe the modeled sky with a theoretical instrument with a given bandpass, beam, and noise sensitivity. This code is primarily intended to provide simulated inputs for testing mission mapmaking pipelines, testing component separation algorithms, or planning future CMB missions. IQU
Code, ADS
2009 A C++ code for simulating polarized Galactic synchrotron and thermal dust emission as well as Faraday rotation measure (RM) based on physical, 3D models of Galactic magnetic fields, thermal electrons, cosmic ray leptons, and dust density. It uses a HEALPix-based grid refined with distance to integrate through a 3D Galaxy model to create full-sky simulations that take into account Faraday effects, realizations of random magnetic fields, and beam and depth depolarization. All included models have been constrained by comparison with various observations described in the literature. This is a physical modeling tool (rather than phenomenological, like the PSM) but it can also optionally combine the ?pure model? observables with intensity templates. It is modular to allow users to add their own field or particle models, either coded analytically or as gridded inputs. Its primary purpose is full-sky, physical modeling of the magnetized interstellar medium and informing methods of component separation by including realistic models of the fields, including the random fields, in 3D. IQU+

Zodiacal Light Models
Name Year Description Simulates
DIRBE Zodi Model
Code, ADS
1998 IDL code for calculating the Kelsall/etal:1998 zodiacal light model for DIRBE bands between 1.2 and 240 um using parameterized functional forms for the geometry of the main cloud, bands and earth orbit 'blobs' emissivity and scattering functions. I
Spitzer Zodiacal Light Model
Python wrapper, On-line tool, JWST Backgrounds tool
2017, 2018 This a version of the DIRBE team zodiacal light model that uses a combination of parameter values from Kelsall et al. 1998 and Reach et al. 1997 for the zodiacal dust cloud and asteroid bands. The Python wrapper of M. Shannon evaluates the model for Spitzer observations. It calls C code that has been modified from the original Spitzer team code to account for a couple of bugs. The modified C code is available. The on-line tool can evaluate the zodiacal light spectrum from this model in the range 0.5 to 1000 microns. The JWST backgrounds tool can evaluate the spectrum from this model in the range 0.5 to 30 microns. Python code it uses is available here. I
Wright Zodiacal Light Model
On-line tool
2017 This is the model of Wright 1998 as parameterized by Gorjian et al. 2000. This model is similar to that of Kelsall et al. 1998. Its parameters were obtained by fitting DIRBE observations with the constraint that residual 25 micron intensity after zodiacal light subtraction be zero at high Galactic latitude. The on-line tool can evaluate the spectrum from this model in the range 0.5 to 1000 microns. I
ZodiPy Tool
Code, ADS
2022 ZodiPy is a Python package for modelling the zodiacal emission seen by an arbitrary Solar System observer, which can be used for removal of both thermal emission and scattered sunlight from interplanetary dust in astrophysical data. The code implements the COBE DIRBE interplanetary dust model and the Planck extension, which allows for zodiacal emission predictions at infrared wavelength in the 1.25-240 μm range and at microwave frequencies in the 30-857 GHz range. The predicted zodiacal emission may be extrapolated to frequencies and wavelengths not covered by the built-in models to produce forecasts for future experiments. The predictions can be calculated either in the form or timestreams or in binned HEALPix maps. I

A service of the HEASARC and of the Astrophysics Science Division at NASA/GSFC
Goddard Space Flight Center, National Aeronautics and Space Administration
HEASARC Director: Dr. Alan P. Smale
LAMBDA Director: Dr. Thomas M. Essinger-Hileman
NASA Official: Dr. Thomas M. Essinger-Hileman
Web Curator: Mr. Michael R. Greason