NOTICE: ALL sky frames taken during the night of 25 Nov have incorrect DPR.TYPE keyword due to a bug in the new templates installed at the telescope. In later nights this bug in the templates was fixed. Since the pipeline uses DPR.TYPE to recognize the object/sky frames, you must manually change it to correct value (SKY) for each sky frame. Alternatively, you can subtract the sky manually (ccube "object.fits sky.fits -" result.fits) and run si_step_stack on the result.

The pipeline requires SKY_NODDING / OBJECT_NODDING labels in input frame lists even though it appears not to actually use them...

Major differences to 0.5.0

  • See SINFONI Pipeline 0.5.0 FAQ if you are using pipeline version 0.5.0
  • si_rec_objnod can now be used to reduce science frames. It subtracts the sky and combines the jittered cubes correctly.
  • Wavelength information is stored in fits headers

Supported systems

  • The pipeline is only supported on RedHat 9 for now. In principle it should be possible to compile and use it in any POSIX complient operating system. Reports on using the pipeline on other systems/distributions are welcome!
  • The pipeline compiles under Fedora Core 3 and based on very minimal testing appears to work correctly
  • Under Solaris, the pipeline compiles succesfully, but upon execution esorex segfaults
  • Currenty the pipeline does not work in Mac due to some issues with shared libraries

Reduction in nutshell

  • At the very least you should reduce for each day
    • Darks if you use them. Unless you are using OH lines in stacking phase to track the instrumental flexure, you do not need darks
    • Wavelength calibration
    • Flat fields
    • Telluric standards
    • Science frames
  • If you do reduce nothing else than these and use calibration database solutions for the rest of the input frames, you are already reasonably close to the optimal quality. In many (most) cases this is good enough

Basic usage of the recipes

  • The recipes can be invoked with:
    esorex <esorex parameters> recipe_name <recipe parameters>
  • All recipes display a short help message when invoked with:
    esorex --help si_rec_stdstar
  • if you need to overwrite the default band-dependant parameters used by the SINFONI pipeline, generate configuration file for the recipe:
    esorex --create-config si_rec_stdstar.
    After this edit si_rec_stdstar.rc in .esorex directory under your home directory and run the recipe with
    esorex si_rec_stdstar --gen-overpar=no example.list
    Alternatively, you can simply run the task with e.g.
    esorex si_rec_stdstar --objnod-jit-ind=FALSE example_sof
  • Generally a recipe will generate several output files, all named out_*.fits. If you are unable to tell what each file is, check the PRO.CATG keyword stored in the fits headers e.g.
    dfits out*.fits | fitsort PRO.CATG
  • It's also possible change the current naming scheme. Change esorex.caller.suppress-prefix=TRUE in .esorex/esorex.rc, and the resulting files are not renamed to out_*.fits; instead you will end up with output filenames specified in rc files (e.g. wavemap_ima.fits)

si_step_* vs. si_rec_*

  • Various si_rec_* recipes run the individual steps in cascade - therefore they include all the parameters of the steps

Input frames

  • Slitlet Positions are the positions of the left and right edges of each of 32 slitlets on the array. The are given relative to the left edge of the array (0 column). Reference solutions obtainable from the calibration database should be accurate enough for typical science projects.
  • Slitlet Distances are the distances from the left edge of a slitlet to the left edge of the next slitlet. There are always 31 data points in slitlet distance file - together with the first column position they describe the positions of the slitlets. Slitlet distances are derived from North-South Test frames; typically you can use the files from calibration database since no significant evolution is expected
  • First column position a single number describing the position of the left edge of the first slitlet on the array. Currently the first column position should be set to 0.0 in distortion correction, and calibration database contains a FIRST_COL file with this number.

Data reduction sequence

  • Basic data reduction follows the schematic graph included in the pipeline cookbook. Print it out on A3 size paper with a color printer!
  • Bad pixel maps
    • Generating good bad pixel mask is not trivial, and some of the bp maps in the calibration data base are known to be bad. The problem with them is that the slitlet edges are marked as bad. For the reduction of your science frames this matters little, but north-south test and wavelength calibration should not be done with these bad bad pixel maps
    • If a bad pixel map has vertical stripes placed at almost constant intervals, it is bad. Many or even most of the bp maps generated for the 25-mas pixel scale are bad while bp maps at larger pixel scales are much better
  • Flat fields are produced by si_rec_mflat. The recipe also produces bad pixel maps by default. Since this will take a long time, especially on slow computers with little memory, you may want to set sinfoni.lamp_flats.bad_ind=FALSE
  • North-South test is used to calculate slitlet distances and distortion correction. Typically both of these should be fairly constant, so you can use the files from the Calibration DataBase. You can also try to obtain them yourself with si_rec_find_distortion, which however requires a lot of memory (1.6 GB of RAM/swap space) and is fairly slow. si_rec_find_distortion produces an internal bap pixel mask with very conservative parameters to ensure it's good.
  • Wavelength calibration is done in recipe si_rec_wavecal. Only good bad pixel maps should be used in wavecal. Instead of a bad bp map you might try to use no bp map or a bp map for different pixel scale. Wavelength calibration may also fail with perfectly good bp maps, but using another bp map might work.
  • si_rec_objnod can be used to reduce the science observations, but it currently cannot handle observations taken with AutoJitter template (it cannot subtract sky without dedicated sky observations)
    • si_rec_objnod suffers from the incorrect DRP.TYPE keyword and fails to recognize the sky frames correctly. You must manually change it for all sky frames taken during Nov 25th (see the comment on top of the page)
    • si_rec_objnod can be used to either create separate cubes (one for each stacked input frame) or combine the stacked frames into one result cube.
    • When combining several stacked frames, si_rec_objnod uses SEQ.CUMOFFSETX and SEQ.CUMOFFSETY header keywords for offsets. The values stored in these fields may differ from correct offsets with ~1 pixel. If this is the case with your data, you should overwrite the default parameters and use sinfoni.objnod.jitter_index=FALSE.
    • If you are unable to combine your cubes with si_rec_objnod, recipes Juha or Markus can help you
    • More often than in longslit spectroscopy, sky residuals (OH lines and thermal background) will be present in your SINFONI cubes. If they are unacceptably strong, contact Juha or Markus for help. Pipeline currently doesn't offer a recipe for the removal of the residual sky emission. In practise you can subtract the residual sky emission by using a region free from emission of your science object.
  • Standard stars are reduced by recipe si_rec_stdstar. One of the output products is a 1D spectra of the star
    • Before you can apply this to your science frames to remove telluric features, you need to remove the stellar emission lines from it. This can be done with stellar templates (see ISAAC webpages) or in the case of hotter stars, by fitting and removing the absorption lines. This step is analogous to longslit spectroscopy.
    • You should check whether there is some flexure between science cubes and standard spectra
    • You can divide the cubes by spectrum in IRAF or eclipse

Help! The recipe doesn't work!

  • Check all the input files exist and paths to them are correct.
  • Check all the tags for input files are correct
  • Try using the default parameters

Exploring the cubes

  • QFitsView written by Thomas Ott is a simple-to-use tool for displaying the cubes.
  • There is nothing exotic in the final data format - it's completely standard 3D fits cube. Any software which can handle 3D fits files (e.g. IRAF) can be used to analyze the data
  • Wavelength information is stored in CDELT3, CRPIX3 and CRVAL3 header keywords - however, not all the programs use them. Especially this concers IRAF. Instead of CDELT3, it expects dispersion to be stored in CD3_3. If you plan to use splot to analyze your cubes, you might also add DISPAXIS keyword with value of 3.

Reporting bugs

  • The SINFONI pipeline is still in fairly early development stage - after all, it's only 0.5 version, and is likely to contain other bugs in addition to the known bugs. Andrea Modigliani is maintaining the pipeline: please report any unintentional features you notice to him (cc Markus Kissler-Patig & Juha Reunanen). Do not trust somebody else is going to report it! Currently the priority is in fixing the critical bugs (show stoppers), but minor comments are very wellcome even though implementing them will have to wait for now.