<no title> — CALCEPH - Fortran 2003 language 3.4.1 documentation

    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