SOHO/UVCS Project
UVCS LINE PROFILES FITTING CODES
Codes Developed by A. Panasyuk
 

 *

INTRODUCTION

Before deriving any physical quantities from the spectral line measurements of UVCS, one must remove all of the instrumental effects. One of these effects is the instrument profile function. The instrument profile function is an instrument characteristic that smears the lines such that a broad line wing with an amplitude of about 1-3 percent of the line peak is produced. This effect is corrected by using zero integral functions that redistribute the photons in the artificial line wing back into the line. By using the observations of the narrow interplanetary H I Ly- line, one can derive the zero integral functions. The zero integral functions, when convolved with the observed coronal line profile, produces a first order correction. The first order correction is then subtracted from the observed coronal line to produce a first order approximated coronal line. The first order approximated coronal line is convolved again with the zero integral function. This process is then iterated until the deference between each successive iteration is small.
In addition to the above instrument effect, the observed spectral lines are broadened by the usual optical point spread functionof the spectrometer.
The observed coronal line profiles may also have contributions from instrument stray light plus F corona and, in the case of Ly-, interplanetary hydrogen.
 *

CURVE-FIT

The corrected profiles are normally curve-fit with a standard algorithm that minimizes the following equation for $\chi^2$:
\begin{displaymath}\chi^2 \equiv \begin{array}{c} {N} \\  {\sum} \\  {i=1}\en... ...ray} \left( \frac{y_i - y(x_i; a_1...a_M)}{\sigma_i} \right)^2 \end{displaymath} (1)
where $\sigma_i$ are the standard deviations for each data point (xi, yi), N is the number of data points used for the fit and M is the number of free parameters. The standard deviations are assumed to equal n1/2 where n is the number of counts for each data point. The resulting minimum value of $\chi^2$is used to estimate the goodness-of-fit. We have used the reduced $\chi^2$ for this purpose which is the minimum $\chi^2$ divided by the degrees of freedom $\nu = N - M$. The above was taken from Kohl et. at (1997).
 

 *

STARTING THE CODES

The codes can be run from the guest account on the SPARC station cfauvcs11, or can be downloadable as a tar file. Click here to download the curve-fit codes as a tar.Z file . One first must start the DAS from the DPS directory, read a FITS file and preform configuration calibration. The codes work only with calibration configurated data sets. Once done, one must be at the IDL command line, and that can be accomplish by quiting the DAS window from the GENERAL pull down button. When needed the DAS window can be resumed by typing r (for resume). One can read up to 10 (0-9) data sets into the DAS window. Each one of these data sets is know as ws#.d, where the # refers to the number of the data set in the DAS window.
To illustrate, let's say that a data set is read into number 0 in the DAS window. That data set, i.e. ws0.d, is a floating array of 3 dimensions. First dimension is spatial (rows), second one is the spectral (columns) and the third is number of exposures.
Latter on we will explain how excatly to get the line profile and curve-fit the lines. However, once done with reading the FITS file and preforming calibration configuration, one must initialize the library where the codes reside. To accomplish this one must the following :

IDL> @init  
This initializes all codes.

IDL> init_dp  
This initializes all codes.

IDL> getnormdata,ws0  
This procedure converts the data set from detector counts to absolute intensity
(photons s-1 cm-2 sr-1). One may skip this if not intersted in obsolute intensity
or want to use chi-square analysis.
 

IDL> line = get_line(ws0,0,l=[x0,x1])
Gets the line from the FITS file and some KEYWORDS.
The first  zero in ws0,0 means data set in area number 0,
and the second zero means exposure zero.
 
 

LINE PROFILE

To deconvolve detector profile one has to do the following :

            Binning in spectral direction\detector           LYA                                     OVI
                                    1                                                 [0.145 5.00]                         [0.09 2.3]
                                    2                                                 [0.120 3.75]                         [0.07 2.1]
            When binning is more than 2 pixels per bin detector profile effect is not noticeable. EXAMPLE

IDL> prof_exp,[0.145,50]
IDL> yout = corr_2(line)

The output is given below. We chose a south polar coronal hole with one spectral binning at 2.5 R.

 

CURVE-FIT
Curve-fits were used to remove all instrumental effects. Though the contributions from stray light plus F corona and interplanetary hydrogen (in case of H I Ly-) are negligible in streamer, however, they can be very significant in coronal holes. Therefore, these instrumental effect were curve-fitted to a guassian for each one and a constant background. Note that the actual curve-fit codes have built in them the line profile subtraction codes.
 

LYA DETECTOR

Since the correction for the line profile are already built in the curve-fit codes thus one may not choose to run the line profile codes first.  Thus one needs only the following commands :
 

IDL> @init  
This initializes all codes.

IDL> init_dp  
This initializes all codes.

IDL> getnormdata,ws0  
This procedure converts the data set from detector counts to absolute intensity
(photons s-1 cm-2 sr-1). One may skip this if not intersted in obsolute intensity
or want to use chi-square analysis.
 

IDL> line= get_line(ws0,0)  
Gets the line from the FITS file and some KEYWORDS.
The first  zero in ws0,0 means data set in area number 0,
and the second zero means exposure zero.

Due to the fact that in many cases the LYA detector might include more than one panel. Thus one needs to selectect the x-axis to include only the LYA line.
 

IDL> line = get_line(ws0,0,l=[x0,x1])
Gets the line from the FITS file and some KEYWORDS.
The first  zero in ws0,0 means data set in area number 0,
and the second zero means exposure zero.
 

IDL> fit_lya, line, /plot, c

An example is provided below at 3.0 R in the south polar coronal hole.
 
 *

We see that the coronal component is well fit to a single Gaussian curve with a velocity corresponding to the Doppler half width v1/e = 230 kms-1.
We have used a constrained curve fit to account for the stray light plus F corona and interplanetary hydrogen in order to fit the coronal component to a Guassian curve. The interplanetary intensity is estimated to be 3.18 x 107 photons s-1cm-2sr-1 and is broadened by the instrument FWHM = 0.28 Å.
 

OVI DETECTOR

The curve fit for the OVI detector works in the same manner as that of the LYA detector with the exception of providing the starting parameters of the Guassian.

 We start with the following commands :
 
 
IDL> @init  
This initializes all codes.

IDL> init_dp  
This initializes all codes.

IDL> getnormdata,ws0  
This procedure converts the data set from detector counts to absolute intensity
(photons s-1 cm-2 sr-1). One may skip this if not intersted in obsolute intensity
or want to use chi-square analysis.
 

IDL> line= get_line(ws0,0)  
Gets the line from the FITS file and some KEYWORDS.
The first  zero in ws0,0 means data set in area number 0,
and the second zero means exposure zero.

Due to the fact that in many cases the OVI detector might include the redundant Ly-  line. Thus one needs to selectect the x-axis to include only the 1032 Å and 1037 Å lines.
 

IDL> line = get_line(ws0,0,l=[x0,x1])  
x0 and  x1 can be determined from plotting line.
 

IDL> fit_ovi, line, /plot, c
 
 A example  for the north polar coronal hole at 2.1 R is provided below.
 *
 

REFERENCES

Kohl, J.L., et al. 1997, Sol. Phys., 175, 613

 


Created by Raid Suleiman (rsuleiman@cfa.harvard.edu)
Last Modified by Raid Suleiman