nfsproc

Overview

nfsproc accepts target coordinates from the Next-Field-Selector and calculates fiber positions, a field center, and ADC prism positions, correcting for procession, nutation, aberration, refraction, and misalignment as necessary.

Input

Arguments

seqid
a unique sequence identifier
instrument
a string designating the instrument to be used (desi or proto)
targets
the target catalog used to dial the positioners

Configuration

TODO

Output

prism
positions for the ADC prisms
center
offset between boresight coordinates and field center
positioner_pos
the table of open-loop positioner coordinates
fiducial_pos
the table of open-loop fiducial coordinates, in FVC pixels
fiber_pos
the table of open-loop fiber coordinates, in FVC pixels
nfs_wcs
expected FITS WCS parameters for the field
nfs_data
miscellaneous parameters associated with the sequence

Return value

Either SUCCESS if the the caluculation is successful, or an error message othewise.

Use

First, a PML connection must be established:

>>> from DOSlib.PML import dos_connection
>>> pm = dos_connection('PLATEMAKER')
>>> pm.execute('configure')
'SUCCESS'

For this demonstration, load some sample data for the input:

>>> from PlateMaker import test_data
>>> seqid = test_data.seq_id
>>> targets = test_data.targets

Actually execute nfsproc:

>>> pm.execute('nfsproc', seqid=seqid, targets=targets)
'SUCCESS'

The results of the calculations can then be retrieved:

>>> nfs_data = pm.execute('get', 'nfs_data')
>>> fiducial_pos = pm.execute('get', 'fiducial_pos')
>>> center = pm.execute('get', 'center')
>>> prism = pm.execute('get', 'prism')

Details

prismSet

The position angles of the ADC prisms are calculated from the zenith distance and paralactic angle of the pointing.

The calculation is done using a polynomial fit in either tan(zd) or sqrt(tan(zd)).

The python implementation starts in line 51 of https://desi.lbl.gov/svn/code/online/PlateMaker/trunk/python/PlateMaker/obs.py?p=43583

The dervish implementation starts in line 113 of https://desi.lbl.gov/svn/code/online/DervishTools/trunk/desi/etc/desi.tcl?p=43583

Polynomial coefficents come from Steve Kent’s raytrace code, saved in PRISM.par.