Skip to content

cel2ter() / ter2cel() wobble corrections for xp=yp=0 #187

Description

@attipaci

The NOVAS C implementation of ter2cel() / cel2ter() was such that if both xp and yp parameters were zero, then no wobble correction was applied, not even for the TIO's longitude (s′ term). Thus, xp = yp = 0 was effectively a way disable the TIO longitude correction also (essentially assuming PEF = ITRS under the pre IAU 20006 method). The error from this omission is very small, at just a few μas (micro-acrseconds) within a couple of centuries of J2000.

The proper way to fix this is to separate wobble corrections for TIRS <--> ITRS and PEF <--> ITRS, so that TIO longitude corrections are applied only to the former, but not to the latter. In order to retain closer compatibility with NOVAS C 3.1, in which the TIO correction was always included in calls to wobble(), the new enum values WOBBLE_ITRS_TO_TIRS and WOBBLE_TIRS_TO_ITRS are defined as 0 and 1, while the old values WOBBLE_ITRS_TO_PEF / WOBBLE_PEF_TO_ITRS have been bumped to 2 and 3, respectively.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions