Skip to content

Commit 9429747

Browse files
committed
fixed test compile for REAL128 numbers
1 parent c49bd99 commit 9429747

File tree

1 file changed

+19
-8
lines changed

1 file changed

+19
-8
lines changed

src/jpl_ephemeris_module.f90

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -982,18 +982,23 @@ end subroutine get_constants
982982
subroutine ephemeris_test()
983983

984984
use time_module, only: jd_to_et
985-
use celestial_body_module
985+
use celestial_body_module, fat_wp => wp
986986

987987
implicit none
988988

989+
! note: the low-level functions use real64 variables.
989990
character(len=6),dimension(nmax) :: nams
990-
real(wp) :: jd, et
991-
real(wp),dimension(6) :: rv,rv1,rv2,diffrv
992-
real(wp),dimension(3) :: ss, r
991+
real(wp),dimension(6) :: diffrv
992+
real(wp),dimension(3) :: ss
993993
real(wp),dimension(nmax) :: vals
994994
integer :: nvs,ntarg,nctr,i,j
995995
type(jpl_ephemeris) :: eph405, eph421
996996
logical :: status_ok_405,status_ok_421
997+
real(wp) :: jd_64, rv_64(6), rv1_64(6), rv2_64(6)
998+
real(fat_wp) :: et
999+
real(fat_wp),dimension(3) :: r
1000+
real(fat_wp),dimension(6) :: rv,rv1,rv2
1001+
real(fat_wp) :: jd
9971002

9981003
character(len=*),parameter :: ephemeris_file_405 = './eph/JPLEPH.405' !! JPL DE405 ephemeris file
9991004
character(len=*),parameter :: ephemeris_file_421 = './eph/JPLEPH.421' !! JPL DE421 ephemeris file
@@ -1021,7 +1026,7 @@ subroutine ephemeris_test()
10211026
write(*,'(A,1X,D25.16)') nams(i), vals(i)
10221027
end do
10231028

1024-
jd = 2451536.5d0 ! julian date
1029+
jd = 2451536.5_wp ! julian date
10251030
et = jd_to_et(jd) ! ephemeris time
10261031

10271032
if (jd < ss(1) .or. jd > ss(2)) then
@@ -1051,7 +1056,9 @@ subroutine ephemeris_test()
10511056
'" wrt "'//trim(list_of_bodies(nctr))//'"'
10521057

10531058
do i=1,10
1054-
call eph405%get_state( jd, ntarg, nctr, rv, status_ok_405)
1059+
jd_64 = jd
1060+
call eph405%get_state( jd_64, ntarg, nctr, rv_64, status_ok_405)
1061+
rv = rv_64
10551062
write(*,'(F15.2,1X,*(E25.16,1X))') jd, norm2(rv(1:3)), rv
10561063
jd = jd + 10.0_wp
10571064
end do
@@ -1082,8 +1089,12 @@ subroutine ephemeris_test()
10821089
'" wrt "'//trim(list_of_bodies(nctr))//'"'
10831090

10841091
do i=1,10
1085-
call eph405%get_state( jd, ntarg, nctr, rv1, status_ok_405)
1086-
call eph421%get_state( jd, ntarg, nctr, rv2, status_ok_421)
1092+
jd_64 = jd
1093+
call eph405%get_state( jd_64, ntarg, nctr, rv1_64, status_ok_405)
1094+
rv1 = rv1_64
1095+
jd_64 = jd
1096+
call eph421%get_state( jd_64, ntarg, nctr, rv2_64, status_ok_421)
1097+
rv2 = rv2_64
10871098
diffrv = rv2 - rv1
10881099
write(*,'(F15.2,1X,*(E25.16,1X))') jd, norm2(diffrv(1:3)), norm2(diffrv(4:6))
10891100
jd = jd + 10.0_wp

0 commit comments

Comments
 (0)