The fors_align_sky recipe
===============================================================

.. data:: fors_align_sky

Synopsis
--------

Upgrade wavelength solution using sky lines

Description
-----------

This recipe is used to align the wavelength solution based on the arc
lamp exposure on a set of sky lines observed on a scientific exposure.

The input rectified frames are produced by the recipe fors_extract_slits.

An input catalog of sky lines can be specified, otherwise an internal one
is used.


This recipe should be applied to multi-slit MOS/MXU data: for LSS or
long-slit like data (MOS/MXU with all slits at the same offset) use recipe
fors_align_sky_lss instead. Please refer to the FORS Pipeline User's Manual
for more details.


In the table below the MXU acronym can be alternatively read as MOS, and
SCI as STD.


Input files
^^^^^^^^^^^^
::

  DO category:               Type:       Explanation:         Required:
  RECTIFIED_ALL_SCI_MXU
  or RECTIFIED_SKY_SCI_MXU   Calib       Frame with sky lines    Y
  SPATIAL_MAP_MXU            Calib       Spatial coordinate map  Y
  CURV_COEFF_MXU             Calib       Spectral curvature      Y
  SLIT_LOCATION_MXU          Calib       Slit location on CCD    Y
  DISP_COEFF_MXU             Calib       Dispersion solution     Y
  MASTER_SKYLINECAT          Calib       Catalog of sky lines    .

  GRISM_TABLE                Calib       Grism table             .


Output files
^^^^^^^^^^^^
::

  DO category:               Data type:  Explanation:
  SKY_SHIFTS_SLIT_SCI_MXU    FITS table  Observed sky lines offsets
  WAVELENGTH_MAP_SCI_MXU     FITS image  Wavelength mapped on CCD
  DISP_COEFF_SCI_MXU         FITS image  Upgraded dispersion solution


Constructor
-----------

.. method:: cpl.Recipe("fors_align_sky")
   :noindex:

   Create an object for the recipe fors_align_sky.

::

   import cpl
   fors_align_sky = cpl.Recipe("fors_align_sky")

Parameters
----------

.. py:attribute:: fors_align_sky.param.dispersion

    Expected spectral dispersion (Angstrom/pixel) (float; default: 0.0) [default=0.0].
.. py:attribute:: fors_align_sky.param.startwavelength

    Start wavelength in spectral extraction (float; default: 0.0) [default=0.0].
.. py:attribute:: fors_align_sky.param.endwavelength

    End wavelength in spectral extraction (float; default: 0.0) [default=0.0].
.. py:attribute:: fors_align_sky.param.skyalign

    Polynomial order for sky lines alignment (int; default: 0) [default=0].
.. py:attribute:: fors_align_sky.param.wcolumn

    Name of sky line catalog table column with wavelengths (str; default:  'WLEN') [default="WLEN"].


The following code snippet shows the default settings for the available 
parameters.

::

   import cpl
   fors_align_sky = cpl.Recipe("fors_align_sky")

   fors_align_sky.param.dispersion = 0.0
   fors_align_sky.param.startwavelength = 0.0
   fors_align_sky.param.endwavelength = 0.0
   fors_align_sky.param.skyalign = 0
   fors_align_sky.param.wcolumn = "WLEN"


You may also set or overwrite some or all parameters by the recipe 
parameter `param`, as shown in the following example:

::

   import cpl
   fors_align_sky = cpl.Recipe("fors_align_sky")
   [...]
   res = fors_align_sky( ..., param = {"dispersion":0.0, "startwavelength":0.0})


.. seealso:: `cpl.Recipe <https://packages.python.org/python-cpl/recipe.html>`_
   for more information about the recipe object.

Bug reports
-----------

Please report any problems to `Carlo Izzo <usd-help@eso.org>`_. Alternatively, you may 
send a report to the `ESO User Support Department <usd-help@eso.org>`_.

Copyright
---------

This file is currently part of the FORS Instrument Pipeline
Copyright (C) 2002-2010 European Southern Observatory

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA


.. codeauthor:: Carlo Izzo <usd-help@eso.org>
