9 Emission Line Fitting (ELF)

 9.1 ELF commands
 9.2 ELF data storage
 9.3 ELF general procedures

DIPSO has access to a suite of subroutines which are designed to fit a variety of line profiles to observed data. The commands really need a bit more explanation than can readily be put into the alphabetical reference list which follows; so here’s a bit more explanation...

The primary purpose of the ELF routines is to separate blends by fitting multiple profiles. Gaussian profiles are the most commonly used, but other analytic forms are possible, as are ‘numerical’ profiles. Facilities are provided for constraining line centre positions, widths, and relative fluxes, so that known atomic data (such as relative wavelengths or intensities within multiplets) can be utilised. The option of relative flux constraint is particularly useful when analysing optically thin emission lines (hence Emission Line Fitting), but the package is entirely happy with absorption lines (which it treats as emission lines with negative fluxes), or any other form of data that can be reasonably approximated with the available profile forms.

Fits are made to the spectrum data stored in the DIPSO ‘current’ arrays. The continuum level may be set to zero by manipulations within DIPSO, or a polynomial fit to the continuum can be made simultaneously with the profile fitting. (The former option is strongly recommended.) Specification of constraints and starting values for the fit parameters is done in a command language (invoked by the DIPSO command ELFINP) which is described below. After optimisation of parameters (DIPSO command ELFOPT), the full specification of the fit and the results may be stored. The resulting fit, in spectrum form, can be pushed on the DIPSO stack (ELFPUSH).

9.1 ELF commands

The complete set of ELF commands are described in detail in appendixA. They are:

  ELFINP   ELFOPT   ELFNEWC
  ELFPUSH  ELFLFIX
  ELFPUSHC ELFPOPC  ELFDELC ELFCSL ELFVUC
  ELFSAVEC ELFRESTC ELFWRC
  ELFPIN   ELFPL

As you can see, they are all of the form ELF..., so that they can easily be found in the documentation.

9.2 ELF data storage

The ELF package takes a COPY of the DIPSO ‘current’ spectrum. The maximum space available is 1000 datum points. This number is deliberately rather smaller than the space available in DIPSO itself, since fitting to large numbers of datum points is prohibitively time consuming.

Fit data are maintained in three storage areas:

The stack of profile types has space for up to ten entries. The first five of these are reserved for analytically specified profiles, and the last five for numerical profiles. Profile definition is as follows:

Profile 1:
Gaussian. (C=centre, W=width(FWHM), I=peak flux)
Profile 2:
Triangular. (C=centre, W=width(FWHM), I=peak flux)
Profile 3-5:
Unused at present.
Profile 6-10:
Available for numerical profiles.

9.3 ELF general procedures

Although the command descriptions given later describe functionality in detail, it is probably worth just summarising how to do a simple Gaussian fit, for illustration. The steps would typically be:

A serious program crash while optimising, such as divide by zero or overflow, may occur occasionally. Such problems are usually caused by overspecified fits, or starting values that are grossly in error.