Skip to content

Commit

Permalink
tests for Saturn, Neptune special cases
Browse files Browse the repository at this point in the history
  • Loading branch information
emolter authored and bsipocz committed Jan 5, 2023
1 parent 44dc8f7 commit d6e7edf
Show file tree
Hide file tree
Showing 4 changed files with 272 additions and 3 deletions.
6 changes: 3 additions & 3 deletions astroquery/solarsystem/pds/core.py
Original file line number Diff line number Diff line change
Expand Up @@ -415,7 +415,7 @@ def _parse_ringnode(self, src):
peri = float(re.sub("[a-zA-Z]+", "", l[1]).strip(", \n()"))
elif "F Ring ascending node" in l[0]:
ascn = float(l[1].strip(", \n"))
ringtable = table.Table(
ringtable = table.QTable(
[["F"], [peri], [ascn]],
names=("ring", "pericenter", "ascending node"),
units=(None, u.deg, u.deg),
Expand All @@ -432,13 +432,13 @@ def _parse_ringnode(self, src):
for s in re.sub("[a-zA-Z]+", "", l[1]).strip(", \n()").split()
]
if i == 0:
ringtable = table.Table(
ringtable = table.QTable(
[[ring], [min_angle], [max_angle]],
names=("ring", "min_angle", "max_angle"),
units=(None, u.deg, u.deg),
)
else:
ringtable.add_row([ring, min_angle, max_angle])
ringtable.add_row([ring, min_angle*u.deg, max_angle*u.deg])

else:
pass
Expand Down
93 changes: 93 additions & 0 deletions astroquery/solarsystem/pds/tests/data/neptune_ephemeris.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<title>Neptune Viewer 3.0 Results</title>
<body style="font-family:arial; font-size:medium">
<h1>Neptune Viewer 3.0 Results</h1>
<p>
<pre>
Input Parameters
----------------

Observation time: 2021-10-07 07:25
Ephemeris: NEP081 + NEP095 + DE440
Field of view: 10 (seconds of arc)
Diagram center: Neptune
Viewpoint: Earth's center
Moon selection: All inner moons (N1-N8,N14)
Ring selection: LeVerrier, Adams
Arc model: #2 (820.1118 deg/day)
Standard stars: No
Additional star: No
Other bodies: None
Title:
Moon labels: Small (6 points)
Moon enlargement: 0 (points)
Blank disks: No
Arc weight: 4 (points)
Prime meridians: Yes


Field of View Description (J2000)
---------------------------------

Body RA Dec RA (deg) Dec (deg) dRA (") dDec (")
899 Neptune 23h 28m 17.7510s -4d 41m 40.978s 352.073962 -4.694716 0.000 0.000
801 Triton 23h 28m 17.0094s -4d 41m 52.414s 352.070872 -4.697893 -11.087 -11.436
802 Nereid 23h 28m 42.2572s -4d 38m 35.593s 352.176072 -4.643220 366.360 185.385
803 Naiad 23h 28m 17.8057s -4d 41m 41.639s 352.074190 -4.694900 0.818 -0.661
804 Thalassa 23h 28m 17.6286s -4d 41m 42.501s 352.073452 -4.695139 -1.830 -1.523
805 Despina 23h 28m 17.8727s -4d 41m 40.367s 352.074470 -4.694546 1.820 0.611
806 Galatea 23h 28m 17.8035s -4d 41m 41.811s 352.074181 -4.694948 0.785 -0.833
807 Larissa 23h 28m 17.5622s -4d 41m 42.983s 352.073176 -4.695273 -2.822 -2.005
808 Proteus 23h 28m 17.9990s -4d 41m 40.206s 352.074996 -4.694502 3.708 0.772
814 Hippocamp 23h 28m 17.7896s -4d 41m 42.997s 352.074123 -4.695277 0.577 -2.018

Sub-Observer Sub-Solar
Body Lon(degW) Lat(deg) Lon(degW) Lat(deg) Phase(deg) Distance(10^6 km)
899 Neptune 119.256 -22.782 118.466 -22.610 0.75134 4338.354329
801 Triton 243.335 -35.865 242.578 -35.437 0.75148 4338.237612
802 Nereid 100.118 3.726 99.371 3.746 0.74807 4336.800925
803 Naiad 199.350 -26.858 198.530 -26.720 0.75133 4338.397183
804 Thalassa 236.105 -22.976 235.314 -22.804 0.75136 4338.355604
805 Despina 59.009 -22.769 58.222 -22.594 0.75131 4338.387909
806 Galatea 343.647 -22.825 342.861 -22.651 0.75132 4338.411414
807 Larissa 252.931 -22.983 252.139 -22.813 0.75137 4338.343394
808 Proteus 34.218 -23.003 33.431 -22.822 0.75129 4338.440907
814 Hippocamp 287.004 -22.973 286.217 -22.798 0.75132 4338.449959

Ring sub-solar latitude (deg): -22.61024 (-22.61915 to -22.60134)
Ring plane opening angle (deg): -22.78248 (lit)
Ring center phase angle (deg): 0.75134
Sub-solar longitude (deg): 149.96998 from ring plane ascending node
Sub-observer longitude (deg): 149.17958

Sun-planet distance (AU): 29.92193
Observer-planet distance (AU): 29.00011
Sun-planet distance (km): 4476.256293 x 10^6
Observer-planet distance (km): 4338.354329 x 10^6
Light travel time (sec): 14471.192364


Courage longitude (deg): 63.81977 to 64.81977 from ring plane ascending node
Liberte longitude (deg): 55.01978 to 59.11976
Egalite A longitude (deg): 44.21976 to 45.21976
Egalite B longitude (deg): 40.41978 to 43.41978
Fraternite longitude (deg): 26.41978 to 36.01978
</pre>
<hr><b>Preview:</b><p>
<a href="/work/viewer3_nep_57313.pdf"><image src="/work/viewer3_nep_57313tn.jpg"/></a><br>
Click
<a href="/work/viewer3_nep_57313.pdf">here</a>
to download diagram (PDF, 17055 bytes).<p>
Click
<a href="/work/viewer3_nep_57313.jpg">here</a>
to download diagram (JPEG format, 164693 bytes).<p>
Click
<a href="/work/viewer3_nep_57313.ps">here</a>
to download diagram (PostScript format, 42562 bytes).
<hr>
<a href="/tools/viewer3_nep.shtml">Neptune Viewer Form</a> |
<a href="/tools/index.html">RMS Node Tools</a> |
<a href="/">Ring-Moon Systems Home</a>
</body>
</html>
121 changes: 121 additions & 0 deletions astroquery/solarsystem/pds/tests/data/saturn_ephemeris.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<title>Saturn Viewer 3.0 Results</title>
<body style="font-family:arial; font-size:medium">
<h1>Saturn Viewer 3.0 Results</h1>
<p>
<pre>
Input Parameters
----------------

Observation time: 2021-10-07 07:25
Ephemeris: SAT389 + SAT393 + SAT427 + DE440
Field of view: 10 (Saturn radii)
Diagram center: Saturn
Viewpoint: Earth's center
Moon selection: All inner moons (S1-S18,S32-S35,S49,S53)
Ring selection: A,B,C,F,G,E
Standard stars: No
Additional star: No
Other bodies: None
Title:
Moon labels: Small (6 points)
Moon enlargement: 0 (points)
Blank disks: No
Ring plot type: Transparent
Pericenter markers: None
Marker size: 4 (points)
Prime meridians: Yes


Field of View Description (J2000)
---------------------------------

Body RA Dec RA (deg) Dec (deg) dRA (") dDec (")
699 Saturn 20h 36m 46.6876s -19d 25m 00.415s 309.194532 -19.416782 0.000 0.000
601 Mimas 20h 36m 48.5158s -19d 25m 05.162s 309.202149 -19.418101 25.864 -4.747
602 Enceladus 20h 36m 44.5496s -19d 24m 51.656s 309.185623 -19.414349 -30.246 8.759
603 Tethys 20h 36m 49.1034s -19d 24m 54.793s 309.204598 -19.415220 34.177 5.623
604 Dione 20h 36m 43.8042s -19d 25m 08.188s 309.182518 -19.418941 -40.791 -7.772
605 Rhea 20h 36m 49.3735s -19d 25m 26.733s 309.205723 -19.424092 37.997 -26.318
606 Titan 20h 36m 52.7285s -19d 24m 20.454s 309.219702 -19.405682 85.460 39.961
607 Hyperion 20h 36m 37.9308s -19d 23m 59.499s 309.158045 -19.399861 -123.882 60.917
608 Iapetus 20h 36m 35.8802s -19d 24m 17.459s 309.149501 -19.404850 -152.891 42.956
609 Phoebe 20h 39m 09.0594s -19d 18m 51.608s 309.787748 -19.314336 2014.117 368.807
610 Janus 20h 36m 47.0356s -19d 25m 08.132s 309.195982 -19.418926 4.923 -7.717
611 Epimetheus 20h 36m 47.6785s -19d 25m 07.559s 309.198660 -19.418766 14.018 -7.143
612 Helene 20h 36m 43.0674s -19d 24m 49.232s 309.179448 -19.413676 -51.214 11.183
613 Telesto 20h 36m 49.4320s -19d 25m 10.566s 309.205966 -19.419602 38.824 -10.151
614 Calypso 20h 36m 46.3698s -19d 24m 45.877s 309.193208 -19.412743 -4.495 14.539
615 Atlas 20h 36m 45.7895s -19d 24m 53.916s 309.190790 -19.414977 -12.705 6.500
616 Prometheus 20h 36m 45.9304s -19d 25m 04.996s 309.191377 -19.418054 -10.712 -4.580
617 Pandora 20h 36m 47.7201s -19d 24m 57.123s 309.198834 -19.415867 14.607 3.293
618 Pan 20h 36m 47.7763s -19d 25m 05.950s 309.199068 -19.418319 15.402 -5.534
632 Methone 20h 36m 47.8837s -19d 25m 09.747s 309.199515 -19.419374 16.921 -9.332
633 Pallene 20h 36m 48.8120s -19d 25m 05.768s 309.203383 -19.418269 30.054 -5.352
634 Polydeuces 20h 36m 48.6362s -19d 25m 18.814s 309.202651 -19.421893 27.567 -18.398
635 Daphnis 20h 36m 46.2492s -19d 25m 06.047s 309.192705 -19.418346 -6.202 -5.632
649 Anthe 20h 36m 44.6814s -19d 24m 58.258s 309.186173 -19.416183 -28.381 2.157
653 Aegaeon 20h 36m 48.3925s -19d 25m 03.255s 309.201635 -19.417571 24.119 -2.839

Sub-Observer Sub-Solar
Body Lon(degW) Lat(deg) Lon(degW) Lat(deg) Phase(deg) Distance(10^6 km)
699 Saturn 210.795 19.443 205.615 17.398 5.32671 1422.644849
601 Mimas 95.037 20.038 89.784 18.112 5.32655 1422.602603
602 Enceladus 299.701 19.450 294.523 17.405 5.32670 1422.744310
603 Tethys 52.165 19.663 46.940 17.711 5.32564 1422.817372
604 Dione 227.249 19.455 222.064 17.409 5.32813 1422.398436
605 Rhea 150.469 19.711 145.269 17.682 5.32782 1422.224763
606 Titan 25.966 19.303 20.800 17.250 5.32194 1423.637413
607 Hyperion 317.655 18.677 312.471 16.700 5.32461 1423.610877
608 Iapetus 348.552 4.329 343.467 2.760 5.31647 1426.011713
609 Phoebe 155.216 10.809 150.314 8.596 5.31799 1417.532721
610 Janus 66.966 19.590 61.780 17.532 5.32716 1422.507868
611 Epimetheus 167.130 19.801 161.935 17.750 5.32693 1422.539360
612 Helene 50.542 19.469 45.369 17.408 5.32695 1422.746473
613 Telesto 107.882 20.476 102.645 18.479 5.32661 1422.543474
614 Calypso 2.436 19.096 357.210 17.191 5.32573 1422.920167
615 Atlas 203.028 19.441 197.852 17.397 5.32650 1422.741315
616 Prometheus 258.847 19.444 253.660 17.399 5.32727 1422.531082
617 Pandora 54.959 19.442 49.784 17.395 5.32616 1422.742504
618 Pan 304.258 19.446 299.076 17.396 5.32679 1422.573404
632 Methone 129.442 19.445 124.257 17.398 5.32703 1422.503412
633 Pallene 99.503 19.444 94.323 17.396 5.32646 1422.612979
634 Polydeuces 155.947 19.447 150.763 17.400 5.32746 1422.353842
635 Daphnis 304.258 19.444 299.071 17.399 5.32725 1422.521175
649 Anthe 139.723 19.451 134.541 17.406 5.32715 1422.620381
653 Aegaeon 99.504 19.444 94.325 17.396 5.32641 1422.646000

Ring sub-solar latitude (deg): 17.39754 ( 17.37071 to 17.42436)
Ring plane opening angle (deg): 19.44270 (lit)
Ring center phase angle (deg): 5.32671
Sub-solar longitude (deg): 6.08926 from ring plane ascending node
Sub-observer longitude (deg): 0.90868

Sun-planet distance (AU): 9.93730
Observer-planet distance (AU): 9.50979
Sun-planet distance (km): 1486.598500 x 10^6
Observer-planet distance (km): 1422.644849 x 10^6
Light travel time (sec): 4745.432417


F Ring pericenter (deg): 249.23097 from ring plane ascending node
F Ring ascending node (deg): 250.34081
</pre>
<hr><b>Preview:</b><p>
<a href="/work/viewer3_sat_57338.pdf"><image src="/work/viewer3_sat_57338tn.jpg"/></a><br>
Click
<a href="/work/viewer3_sat_57338.pdf">here</a>
to download diagram (PDF, 24266 bytes).<p>
Click
<a href="/work/viewer3_sat_57338.jpg">here</a>
to download diagram (JPEG format, 198407 bytes).<p>
Click
<a href="/work/viewer3_sat_57338.ps">here</a>
to download diagram (PostScript format, 85890 bytes).
<hr>
<a href="/tools/viewer3_sat.shtml">Saturn Viewer Form</a> |
<a href="/tools/index.html">RMS Node Tools</a> |
<a href="/">Ring-Moon Systems Home</a>
</body>
</html>
55 changes: 55 additions & 0 deletions astroquery/solarsystem/pds/tests/test_ringnode.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@
# files in data/ for different planets
DATA_FILES = {'Uranus': 'uranus_ephemeris.html',
'Pluto': 'pluto_ephemeris.html',
'Neptune': 'neptune_ephemeris.html',
'Saturn': 'saturn_ephemeris.html',
}


Expand Down Expand Up @@ -189,6 +191,59 @@ def test_ephemeris_query_Pluto(patch_request):
assert ringtable is None


def test_ephemeris_query_Neptune(patch_request):
'''Verify that the Neptune ring arcs are queried properly'''

systemtable, bodytable, ringtable = pds.RingNode.ephemeris(
planet="Neptune",
obs_time="2021-10-07 07:25",
neptune_arcmodel=2
)

print(ringtable[ringtable.loc_indices["Courage"]])

assert_quantity_allclose(
[63.81977,
55.01978,
44.21976,
40.41978,
26.41978,
64.81977,
59.11976,
45.21976,
43.41978,
36.01978],
[ringtable[ringtable.loc_indices["Courage"]]["min_angle"].to(u.deg).value,
ringtable[ringtable.loc_indices["Liberte"]]["min_angle"].to(u.deg).value,
ringtable[ringtable.loc_indices["Egalite A"]]["min_angle"].to(u.deg).value,
ringtable[ringtable.loc_indices["Egalite B"]]["min_angle"].to(u.deg).value,
ringtable[ringtable.loc_indices["Fraternite"]]["min_angle"].to(u.deg).value,
ringtable[ringtable.loc_indices["Courage"]]["max_angle"].to(u.deg).value,
ringtable[ringtable.loc_indices["Liberte"]]["max_angle"].to(u.deg).value,
ringtable[ringtable.loc_indices["Egalite A"]]["max_angle"].to(u.deg).value,
ringtable[ringtable.loc_indices["Egalite B"]]["max_angle"].to(u.deg).value,
ringtable[ringtable.loc_indices["Fraternite"]]["max_angle"].to(u.deg).value,
], rtol=1e-3)


def test_ephemeris_query_Saturn(patch_request):
'''Check Saturn F ring is queried properly'''
systemtable, bodytable, ringtable = pds.RingNode.ephemeris(
planet="Saturn",
obs_time="2021-10-07 07:25",
)
print(ringtable)

assert_quantity_allclose(
[249.23097,
250.34081
],
[
ringtable[ringtable.loc_indices["F"]]["pericenter"].to(u.deg).value,
ringtable[ringtable.loc_indices["F"]]["ascending node"].to(u.deg).value
], rtol=1e-3)


def test_ephemeris_query_payload():
res = pds.RingNode.ephemeris(
planet="Neptune",
Expand Down

0 comments on commit d6e7edf

Please sign in to comment.