HMI Data Products
AIA Data Products
MDI Data Products
SHA Data Products
IRIS Data Products
SID Data Products

** Useful Links **

Global Helioseismology Products

Global helioseismology is the study of resonant modes of oscillation inside the Sun in order to infer properties of the interior.

Algorithm for calculation

The global helioseismology pipeline begins with a spherical harmonic decomposition. MDI produced two types of dopplergrams that have been used as input: full disk dopplergrams (fd_V) and vector-weighted dopplergrams (vw_V). The full disk data take advantage of the full resolution of the MDI instrument: 1024x1024 with about 2 arcsecond per pixel. Due to telemetry constrains, however, these data are only available for a few months each year. The rest of the time the data have been convolved with a gaussian, subsampled by a factor of five in each direction, and severely cropped to yield the vector-weighted data with a resolution of about 200x200 pixels.

In either case, images are remapped to a uniform grid in longitude and sin(latitude), which provides an opportunity to make various geometric corrections. The resulting map is then apodized and an inner product is taken with a set of target spherical harmonic masks, yielding a complex amplitude as a function of spherical harmonic degree l and azimuthal order m for each image, up to l=lmax. For fd_V, the apodization is performed from fractional image radius 0.90 to 0.95 and lmax=1000. For vw_V, the apodization is from 0.83 to 0.87 and lmax=300. For each l and m a timeseries is constructed, typically of length 72 days, which are then detrended and gapfilled. Fourier transforms of these detrended and gapfilled timeseries are fitted to yield the mode parameters. The mode parameters can be inverted to yield the Sun's internal rotation and sound speed.

Since we cannot see the entire Sun, the spherical harmonic decomposition is not able to perfectly separate the modes. The extent to which each mode leaks into its neighbors is quantified by the leakage matrix. A separate leakage matrix is required for fd_V and vw_V, but in each case the same leakage matrix has been used for all times for the standard analysis.

For the full global helioseimology documentation (for developers), see here. For a complete scientific description of the pipeline, see this paper.


Except for the last two dataseries below, all of the dataseries used in the globalhs pipeline have T_START as their first primekey, which is typically slotted with a width of one day and an epoch of 1993.01.01_TAI, the MDI epoch (see the DRMS dataset names documentation). When applicable, the next two primkeys will be LMIN and LMAX, although for some products in the pipeline these will be equal (they are retained for consistency among the dataseries). The last primekey will generally be NDT, the number of points in the corresponding timeseries, but dataseries may optionally contain a final primekey TAG, which is simply a string serving to label different processing options. For keywords not described here, see the JSOC keywords document.

Dataseries for inversions have these three primekeys as well:

Available Products

Dataseries for window functions and sections have primekeys T_START and NDT. Except for the last two, all others have primekeys T_START, LMIN, LMAX, and NDT. The pipeline also recognizes dataseries with the same structure and with the optional TAG primekey. The dataseries for inversions always have the primekey TAG. The last two dataseries have string primekeys as described below. JSOC series definition (jsd) files for these dataseries can be found at in the directory corresponding to the label that uses them (see below). Data that are not archived can generally be recreated by request.

Data Formats


Timeseries are stored as two dimensional FITS files. For a single spherical harmonic degree (LMIN=LMAX), the dimensions will be 2*NDT by LMIN+1. The datatype is float, but the data are actually complex, with the real and imaginary parts alternating in the file. For LMIN != LMAX, the second dimension will be (LMAX+1)(LMAX+2)/2 - LMIN(LMIN+1)/2.

Gap and Section Files

Gap files are a series of ones and zeroes stored as one-dimensional FITS files. The datatype is char and the length is NDT. A zero represents a data point that should be discarded. Section data are stored as keywords, but modules may instead take a text file as input. The first line of a section file is the number of continuous sections of data in the corresponding timeseries. Subsequent lines give the first and last timepoint, numbered from zero, of each section. A section file can be generated from a data record REC by "show_info -q REC key=NSECS > file.txt; show_info -q REC key=SECS >> file.txt".

Mode Parameters

Mode parameters are stored as ASCII tables. The fields are degree, order, frequency, amplitude, width, background, x, {tan(asym)}, σ(frequency), σ(amplitude), σ(width), σ(background), σ(x), {σ(tan(asym))}, a1, a2, ..., aN, σ(a1), σ(a2), ..., σ(aN). The parameter x is not fit for and is retained for historical purposes. The parameter tan(asym) and its error will not be present for fits with symmetric profiles. The value of N is either 6, 18, or 36. Any parameter with zero error has not been fit for (such as x).


The segments of each record for 2d RLS rotational inversions include these files: rot.2d, err.2d, splittings.out, and rmesh.orig. The file rot.2d is an ASCII table giving the rotation rate in nHz, and err.2d likewise gives the error estimates for these values. The columns correspond to latitudes of 90-i*15/8 where i is the column number, starting with zero. In other words, every 8 columns correspond to 15 degrees, with latitude decreasing to the right. The rows correspond to the radial mesh points, which are given by taking every fourth value in rmesh.orig, which are given in fractional radius.

The file splittings.out contains an ASCII table that provides the a-coefficients calculated from the inverted rotation rate. The fields of this file are degree, order, frequency, (ia+1)/2, 3, N/2, a_ia_in, σ(a_ia_in), a_ia_out, where ia is the a-coefficient index; only odd ia are used in rotational inversions. As with mode parameters, the number of a-coefficients N is either 6, 18, or 36.


The global pipeline consists of five modules and one stand alone executable. Their source code can be found at and the corresponding "libraries" can be found at


The pipeline is almost always run by the following scripts. They can be found at

The following script is not called by doglobalhs.


The execution of the pipeline is controlled by parameter file templates. Each set of parameter file templates is assigned a label that refers to the set of all input parameters needed by all the modules and scripts for one particular way of executing the pipeline. Perhaps most significantly, the parameter file templates determine which dataseries are used as input and output for each of the modules. Therefore, each label describes a set of related data products, although some data products are shared between labels. Parameter file templates are located at

The following labels have been used to test the application of various changes to the processing one by one. The default processing (mdivw72d) includes all these changes, with the exception that the last one is applied differently. These labels all use the same dataseries, which all have TAG as their final primekey, as described above. The TAG keyword is set to the label. JSOC series definition files for these dataseries can be found at In order to repeat this type of processing, one must create the corresponding dataseries in a new namespace and amend the parameter file templates to use those series.

The next set of labels have been used to investigate the effects of different apodizations and smoothing/subsampling. These analyses have only been run on the dynamics time intervals.

VERSION keyword

The VERSION keyword is typically propagated by the modules and scripts from the input to the output. However, at any point in the processing one may overwrite the VERSION keyword by amending the appropriate parameter file template. As of November 2014, the current records for the dataseries written by the label mdivw72d have VERSION="version0", up to the mode parameters. These have been reprocessed for the change in the application of the Woodard effect described above, and the new records have VERSION="version2". The reason the MDI data have no "version1" is because this string has been used for a reprocessing of the HMI data (see By skipping "version1" for MDI, "version2" can have the same meaning for both types of data.


The official data products for the first 72 day time period could have been generated using the command

doglobalhs label=mdivw72d starttime=1216d totaltime=72d lmin=0 lmax=300 lchunk=80

but since the resulting data products are archived, this should not be repeated unless the processing changes. In that case, the corresponding parameter file templates should be amended to write a new value of the VERSION keyword. The parameters lmin and lmax could have been omitted, but here they are explicitly set to their default values for clarity. The parameter lchunk describes how many raw timeseries will go into one storage unit. See the documentation for doglobalhs for a full explanation of all its parameters.

To (re)create a 360 day timeseries and power spectra, one could use

doglobalhs label=mdivwret starttime=1216d totaltime=360d laststep=pow lchunk2=20

The peakbagging should not be repeated since those results are archived.

To create the products corresponding to the label corr5 for the first 72 day period of 2004, one could run

doglobalhs label=corr5 starttime=4024d totaltime=72d

where lchunk has been left to take its default value (40).

Contacts | JSOC Home | Exportdata | Lookdata | SDO-NASA | Stanford Solar Home | Stanford Solar-Center

SDO Privacy Notice