interface tanToInst subroutine tanToInstScalar(tanX, tanY, refRaDeg, refDecDeg, scAttitude& , timeStamp, detX, detY, thetaArcsec, phi) real(double), intent(in) :: refRaDeg,& refDecDeg,& tanX,& tanY type(SpacecraftAttitudeType), intent(in) :: scAttitude real(double), intent(in) :: timeStamp real(single), optional, intent(out) :: detX,& detY real(double), optional, intent(out) :: thetaArcsec,& phi end subroutine tanToInstScalar subroutine tanToInstVector(tanX, tanY, refRaDeg, refDecDeg, scAttitude& , timeStamp, detX, detY, thetaArcsec, phi) real(double), intent(in) :: refRaDeg,& refDecDeg,& tanX(:),& tanY(size(tanX)) type(SpacecraftAttitudeType), intent(in) :: scAttitude real(double), intent(in) :: timeStamp real(single), optional, intent(out) :: detX(size(tanX)),& detY(size(tanX)) real(double), optional, intent(out) :: thetaArcsec(size(tanX)),& phi(size(tanX)) end subroutine tanToInstVector subroutine tanToInstArray(tanX, tanY, refRaDeg, refDecDeg, scAttitude& , timeStamp, detX, detY, thetaArcsec, phi) real(double), intent(in) :: refRaDeg,& refDecDeg,& tanX(:,:),& tanY(size(tanX,1),& size(tanX,2)) type(SpacecraftAttitudeType), intent(in) :: scAttitude real(double), intent(in) :: timeStamp real(single), optional, intent(out) :: detX(size(tanX,1),& size(tanX,2)),& detY(size(tanX,1),& size(tanX,2)) real(double), optional, intent(out) :: thetaArcsec(size(tanX,1),& size(tanX,2)),& phi(size(tanX,1),& size(tanX,2)) end subroutine tanToInstArray end interface
Effectively this is just tanToRaDec (section ) followed by raDecToInst (section ).
NOTE this function requires the cal to have been set to the correct instrument before the call.