THIS SUBROUTINE MOVES THE ORIGIN OF COORDINATES FROM THE BARYCENTER OF THE SOLAR SYSTEM TO THE OBSERVER (OR THE GEOCENTER). I.E., THIS SUBROUTINE ACCOUNTS FOR PARALLAX (ANNUAL+GEOCENTRIC OR JUST ANNUAL).
POS1 = POSITION VECTOR OF STAR OR PLANET, WITH RESPECT TO
ORIGIN AT SOLAR SYSTEM BARYCENTER, COMPONENTS
IN AU (IN)
PE = POSITION VECTOR OF OBSERVER (OR THE GEOCENTER),
WITH RESPECT TO ORIGIN AT SOLAR SYSTEM BARYCENTER,
COMPONENTS IN AU (IN)
POS2 = POSITION VECTOR OF STAR OR PLANET, WITH RESPECT TO
ORIGIN AT OBSERVER (OR THE GEOCENTER), COMPONENTS
IN AU (OUT)
TLIGHT = LIGHT-TIME FROM STAR OR PLANET TO OBSERVER (OR THE
GEOCENTER) IN DAYS (OUT)
NOTE: STAR AND PLANET ARE USED GENERICALLY FOR BODIES OUTSIDE AND INSIDE THE SOLAR SYSTEM, RESPECTIVELY.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | dimension(3) | :: | pos1 | |||
real(kind=wp), | dimension(3) | :: | pe | |||
real(kind=wp), | dimension(3) | :: | pos2 | |||
real(kind=wp) | :: | tlight |
subroutine geocen (pos1,pe,pos2,tlight) real(wp) :: pos1,pe,pos2,tlight,c,dsqrt dimension pos1(3), pe(3), pos2(3) save data ntimes / 0 / ntimes = ntimes + 1 if (ntimes==1) then ! GET C, THE SPEED OF LIGHT IN AU/DAY call astcon ('C(AU/DAY)',1.d0,c) end if do j=1,3 pos2(j) = pos1(j) - pe(j) end do tlight = dsqrt(pos2(1)**2 + pos2(2)**2 + pos2(3)**2) / c end subroutine geocen