geocen Subroutine

public subroutine geocen(pos1, pe, pos2, tlight)

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.

Arguments

Type IntentOptional Attributes Name
real(kind=wp), dimension(3) :: pos1
real(kind=wp), dimension(3) :: pe
real(kind=wp), dimension(3) :: pos2
real(kind=wp) :: tlight

Calls

proc~~geocen~~CallsGraph proc~geocen novas_module::geocen proc~astcon novas_module::astcon proc~geocen->proc~astcon

Called by

proc~~geocen~~CalledByGraph proc~geocen novas_module::geocen proc~grvdef~2 novas_module::grvdef proc~grvdef~2->proc~geocen proc~littim novas_module::littim proc~littim->proc~geocen proc~place novas_module::place proc~place->proc~geocen proc~place->proc~grvdef~2 proc~place->proc~littim proc~mpstar novas_module::mpstar proc~mpstar->proc~place proc~places novas_module::places proc~places->proc~place

Source Code

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