Distance to Mars from Earth at a Given Epoch
SPICE Toolkit
Fortran
Working with SPICE Toolkit in WSL2.
Computing the distance to Mars with Fortran.
program earth_mars_distance
implicit none
character(len=50) :: utc_time
double precision :: et, state(6), lt, dist
integer :: i
logical :: file_exists
call furnsh('kernels/naif0012.tls')
call furnsh('kernels/de442.bsp')
call furnsh('kernels/pck00010.tpc')
= '2025-06-01T00:00:00'
utc_time
print *, "Kernels loaded, computing for time:", utc_time
call str2et(utc_time, et)
print *, "ET value:", et
call spkezr('MARS BARYCENTER', et, 'J2000', 'LT+S', 'EARTH', state, lt)
= sqrt(state(1)**2 + state(2)**2 + state(3)**2)
dist
print *, 'Earth-Mars Distance on ', utc_time
print *, 'Distance (km): ', dist
print *, 'Distance (AU): ', dist/149597870.7
print *, 'Light Time (seconds): ', lt
end program earth_mars_distance
Output:
Kernelsloaded, computing for time:2025-06-01T00:00:00
ET value: 802008069.18490517
Earth-Mars Distance on 2025-06-01T00:00:00
Distance (km): 253597338.78914344
Distance (AU): 1.6951934903802872
Light Time (seconds): 845.90966857859860