SCF Version 2.0 Code Page


The Spectral Correlation Function (SCF) was introduced by Alyssa Goodman and collaborators as a statistical test to verify the validity of theoretical models of molecular clouds ( Rosolowsky et al. 1999). It measures the spatial correlation between spectral line profiles within a spectral map. Both the velocity and the density distribution in the source affect the value of the SCF. When computing the SCF, the effect of noise must be taken into account. This is discussed in detail in Padoan, Rosolowsky & Goodman (2001). In Padoan, Goodman & Juvela (2003), empirical correlations are found by computing the SCF for several J=1-0 13CO maps of molecular clouds. It is shown that some models match those correlations while other don't. An interesting application of the SCF is the possibility of estimating the gas scale-height of galactic disks seen face-on. The thickness of the Large Magellanic Cloud has been mapped with this method (Padoan et al. 2001).


Click on the link to download

The program to compute the SCF is written in very basic IDL and is readable even with virtually no IDL knowledge. If new to IDL, just type:

to start idl, and


to start the program, where 'filename' is the name of the FITS file, and dv the width of the velocity channels in the observations.

The program first reads the data file and computes: rms noise and signal, average spectrum, map of integrated and peak intensities, average line width of individual spectra and standard deviation of the mean spectrum (sigma(v)). Before the SCF is computed, a velocity window is selected, with width 4 times the size of sigma(v). The SCF is computed only inside this velocity window, centered at each map position around the local average velocity. The spectrum quality, Q, of each spectral profile is also computed inside this velocity window. Q is defined as the rms signal inside the window devided by the rms noise computed over the whole map.

Then the spatial lags for the computation of the SCF are chosen and the grid of shifts is generated. This grid is used to compute the coordinate of all pixels at a distance equal to "lag" from a given position. The SCF is computed as the average of the correlations between the central spectrum and all the spectra around it at a distance "lag". Since the shifts are periodic, one needs to eliminate the cases where one spectrum would be compared with another one outside of the map. This step is not necessary when computing the SCF from simulations with periodic boundary conditions.

The program plots the mean spectrum and the final SCF values averaged over the whole map versus the lags. It also shows an image of integrated intensity next to an image of the SCF values over the map, updated at each lag. It finally prints out the lag and the average SCF value for that lag.

This is just a basic program provided to the community to make sure that our results can be replicated by others. An example of a FITS file of a C18O map of Heiles Cloud 2 is alo provided as an example. Just type:


and see how it works. For more details see the numerous comments within the program.

BACK to the SCF homepage.