USE, INTRINSIC :: ISO_C_BINDING
use calceph
implicit none
integer res
real(8) AU, EMRAT, GM_Mer
real(8) jd0
real(8) dt
real(8) PV(6)
integer j
real(8) valueconstant
character(len=CALCEPH_MAX_CONSTANTNAME) nameconstant
jd0 = 2442457
dt = 0.5E0
! open the ephemeris file
res = calceph_sopen("example1.dat"//C_NULL_CHAR)
if (res.eq.1) then
write (*,*) "The ephemeris is already opened"
! print the values of AU, EMRAT and GM_Mer
if (calceph_sgetconstant("AU"//C_NULL_CHAR, AU).eq.1) then
write (*,*) "AU=", AU
endif
if (calceph_sgetconstant("EMRAT"//C_NULL_CHAR,EMRAT).eq.1) then
write (*,*) "EMRAT=", EMRAT
endif
if (calceph_sgetconstant("GM_Mer"//C_NULL_CHAR,GM_Mer).eq.1) then
write (*,*) "GM_Mer=", GM_Mer
endif
! compute and print the coordinates
! the geocentric moon coordinates
res = calceph_scompute(jd0, dt, 10, 3, PV)
call printcoord(PV,"geocentric coordinates of the Moon")
! the value TT-TDB
if (calceph_scompute(jd0, dt, 16, 0, PV).eq.1) then
write (*,*) "TT-TDB = ", PV(1)
endif
! the heliocentric coordinates of Mars
res = calceph_scompute(jd0, dt, 4, 11, PV)
call printcoord(PV,"heliocentric coordinates of Mars")
! print the whole list of the constants
write (*,*) "list of constants"
do j=1, calceph_sgetconstantcount()
res = calceph_sgetconstantindex(j,nameconstant, valueconstant)
write (*,*) nameconstant,"=",valueconstant
enddo
! close the ephemeris file
call calceph_sclose
write (*,*) "The ephemeris is already closed"
else
write (*,*) "The ephemeris can't be opened"
endif