Telescope Pointing Utilities

romancal.orientation.set_telescope_pointing Module

Set Telescope Pointing from Observatory Engineering Telemetry.

Calculate and update the pointing-related and world coordinate system-related keywords. Given a time period, usually defined by an exposure, the engineering mnemonic database is queried for observatory orientation. The orientation defines the sky coordinates that a particular point on the observatory is pointed to. Then, using a set of matrix transformations, the sky coordinates of the reference pixel of a desired aperture is calculated.

The transformations are defined by the STScI Innerspace (non-public) document titles “Quaternion Transforms for Coarse Pointing WCS”. The code itself follows a demonstrative jupyter notebook.

Interface

The primary usage is through the command line interface set_telescope_pointing. Operating on a list of Roman Level 1 exposures, this command updates the world coordinate system keywords with the values necessary to translate from aperture pixel to sky coordinates.

Access to the Roman Engineering Mnemonic database is required. See the Engineering Database Interface for more information.

Programmatically, the command line is implemented by the function add_wcs, which calls the basic function calc_wcs.

There are two data structures used to maintain the state of the transformation. TransformParameters contains the parameters needed to perform the transformations. Transforms contains the calculated transformation matrices.

Transformation Matrices

All the transformation matrices, as defined by Transforms, are Direction Cosine Matrices (DCM). A DCM contains the Euler rotation angles that represent the sky coordinates for a particular frame-of-reference. The initial DCM is provided through the engineering telemetry and represents how the observatory is orientated.

META Affected

The following meta values are populated:

  • meta.pointing.dec_v1

  • meta.pointing.pa_aperture

  • meta.pointing.pa_v3

  • meta.pointing.ra_v1

  • meta.pointing.target_dec

  • meta.pointing.target_ra

  • meta.wcsinfo.dec_ref

  • meta.wcsinfo.ra_ref

  • meta.wcsinfo.roll_ref

  • meta.wcsinfo.s_region

Functions

add_wcs(filename[, dry_run, save_transforms])

Add WCS information to a Roman DataModel.

calc_transforms(t_pars)

COARSE calculation.

calc_wcs(t_pars)

Calculate WCS.

calc_wcs_over_time(obsstart, obsend, t_pars)

Calculate V1 and aperture WCS over a time period.

update_wcs(model, **transform_kwargs)

Update WCS pointing information.

Classes

TransformParameters([allow_default, ...])

Parameters required for the calculations.

Transforms([m_b2fgs, m_eci2b, m_eci2fcs, ...])

The matrices used in calculation of the M_eci2siaf transformation.

WCSRef(ra, dec, pa, s_region)

Create new instance of WCSRef(ra, dec, pa, s_region)

romancal.orientation.pointing_summary Module

Pointing Summary.

Review contents of a set of given models for pointing information. Compare the calculated V1 and REFPOINT pointing with the proposed TARGET pointing.

Examples

>>> from roman_datamodels.datamodels import ScienceRawModel
>>> im = ScienceRawModel.create_fake_data()
>>> im.meta.pointing.target_ra = 90.75541666666666
>>> im.meta.pointing.target_dec = -66.56055555555554
>>> im.meta.pointing.ra_v1 = 91.08142004561715
>>> im.meta.pointing.dec_v1 = -66.60547868904696
>>> im.meta.wcsinfo.ra_ref = 90.70377653291781
>>> im.meta.wcsinfo.dec_ref = -66.59540223936895
>>> calc_pointing_deltas(im)
Delta(target=<SkyCoord (ICRS): (ra, dec) in deg
    (90.75541667, -66.56055556)>, v1=<SkyCoord (ICRS): (ra, dec) in deg
    (91.08142005, -66.60547869)>, refpoint=<SkyCoord (ICRS): (ra, dec) in deg
    (90.70377653, -66.59540224)>, delta_v1=<Angle 0.13712727 deg>, delta_refpoint=<Angle 0.04044315 deg>)
>>> t = calc_deltas([im])
>>> print(t.columns)
<TableColumns names=('exposure','target','v1','refpoint','delta_v1','delta_refpoint')>
>>> delta_v1 = t["delta_v1"][0]
>>> "%.13f" % delta_v1
'0.1371272716401'
>>> delta_refpoint = t["delta_refpoint"][0]
>>> "%.13f" % delta_refpoint
'0.0404431476150'

Functions

calc_deltas(exposures[, extra_meta])

Create table of pointing deltas.

calc_pointing_deltas(model)

Calculate pointing deltas.

Classes

Delta(target, v1, refpoint, delta_v1, ...)

Create new instance of Delta(target, v1, refpoint, delta_v1, delta_refpoint)

romancal.orientation.v1_calculate Module

V1 Calculation based on time and engineering database info.

Functions

v1_calculate_from_models(sources, ...)

Calculate V1 over the time period for the given models.

v1_calculate_over_time(obsstart, obsend, ...)

Calculate V1 over the given time period.

Commands

Available commands are as follows. Use the -h option for more details.

roman_set_telescope_pointing

Update basic WCS information in Roman exposures from the engineering database.

roman_pointing_summary

Summarize various pointing information in a table.

roman_v1_calculate

Calculate V1 over a time period.