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.
The NOVAS C implementation of
ter2cel()/cel2ter()was such that if bothxpandypparameters were zero, then no wobble correction was applied, not even for the TIO's longitude (s′ term). Thus,xp = yp = 0was 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 valuesWOBBLE_ITRS_TO_TIRSandWOBBLE_TIRS_TO_ITRSare defined as 0 and 1, while the old valuesWOBBLE_ITRS_TO_PEF/WOBBLE_PEF_TO_ITRShave been bumped to 2 and 3, respectively.