Skip to content

Commit d6e7edf

Browse files
emolterbsipocz
authored andcommitted
tests for Saturn, Neptune special cases
1 parent 44dc8f7 commit d6e7edf

File tree

4 files changed

+272
-3
lines changed

4 files changed

+272
-3
lines changed

astroquery/solarsystem/pds/core.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -415,7 +415,7 @@ def _parse_ringnode(self, src):
415415
peri = float(re.sub("[a-zA-Z]+", "", l[1]).strip(", \n()"))
416416
elif "F Ring ascending node" in l[0]:
417417
ascn = float(l[1].strip(", \n"))
418-
ringtable = table.Table(
418+
ringtable = table.QTable(
419419
[["F"], [peri], [ascn]],
420420
names=("ring", "pericenter", "ascending node"),
421421
units=(None, u.deg, u.deg),
@@ -432,13 +432,13 @@ def _parse_ringnode(self, src):
432432
for s in re.sub("[a-zA-Z]+", "", l[1]).strip(", \n()").split()
433433
]
434434
if i == 0:
435-
ringtable = table.Table(
435+
ringtable = table.QTable(
436436
[[ring], [min_angle], [max_angle]],
437437
names=("ring", "min_angle", "max_angle"),
438438
units=(None, u.deg, u.deg),
439439
)
440440
else:
441-
ringtable.add_row([ring, min_angle, max_angle])
441+
ringtable.add_row([ring, min_angle*u.deg, max_angle*u.deg])
442442

443443
else:
444444
pass
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2+
<html>
3+
<title>Neptune Viewer 3.0 Results</title>
4+
<body style="font-family:arial; font-size:medium">
5+
<h1>Neptune Viewer 3.0 Results</h1>
6+
<p>
7+
<pre>
8+
Input Parameters
9+
----------------
10+
11+
Observation time: 2021-10-07 07:25
12+
Ephemeris: NEP081 + NEP095 + DE440
13+
Field of view: 10 (seconds of arc)
14+
Diagram center: Neptune
15+
Viewpoint: Earth's center
16+
Moon selection: All inner moons (N1-N8,N14)
17+
Ring selection: LeVerrier, Adams
18+
Arc model: #2 (820.1118 deg/day)
19+
Standard stars: No
20+
Additional star: No
21+
Other bodies: None
22+
Title:
23+
Moon labels: Small (6 points)
24+
Moon enlargement: 0 (points)
25+
Blank disks: No
26+
Arc weight: 4 (points)
27+
Prime meridians: Yes
28+
29+
30+
Field of View Description (J2000)
31+
---------------------------------
32+
33+
Body RA Dec RA (deg) Dec (deg) dRA (") dDec (")
34+
899 Neptune 23h 28m 17.7510s -4d 41m 40.978s 352.073962 -4.694716 0.000 0.000
35+
801 Triton 23h 28m 17.0094s -4d 41m 52.414s 352.070872 -4.697893 -11.087 -11.436
36+
802 Nereid 23h 28m 42.2572s -4d 38m 35.593s 352.176072 -4.643220 366.360 185.385
37+
803 Naiad 23h 28m 17.8057s -4d 41m 41.639s 352.074190 -4.694900 0.818 -0.661
38+
804 Thalassa 23h 28m 17.6286s -4d 41m 42.501s 352.073452 -4.695139 -1.830 -1.523
39+
805 Despina 23h 28m 17.8727s -4d 41m 40.367s 352.074470 -4.694546 1.820 0.611
40+
806 Galatea 23h 28m 17.8035s -4d 41m 41.811s 352.074181 -4.694948 0.785 -0.833
41+
807 Larissa 23h 28m 17.5622s -4d 41m 42.983s 352.073176 -4.695273 -2.822 -2.005
42+
808 Proteus 23h 28m 17.9990s -4d 41m 40.206s 352.074996 -4.694502 3.708 0.772
43+
814 Hippocamp 23h 28m 17.7896s -4d 41m 42.997s 352.074123 -4.695277 0.577 -2.018
44+
45+
Sub-Observer Sub-Solar
46+
Body Lon(degW) Lat(deg) Lon(degW) Lat(deg) Phase(deg) Distance(10^6 km)
47+
899 Neptune 119.256 -22.782 118.466 -22.610 0.75134 4338.354329
48+
801 Triton 243.335 -35.865 242.578 -35.437 0.75148 4338.237612
49+
802 Nereid 100.118 3.726 99.371 3.746 0.74807 4336.800925
50+
803 Naiad 199.350 -26.858 198.530 -26.720 0.75133 4338.397183
51+
804 Thalassa 236.105 -22.976 235.314 -22.804 0.75136 4338.355604
52+
805 Despina 59.009 -22.769 58.222 -22.594 0.75131 4338.387909
53+
806 Galatea 343.647 -22.825 342.861 -22.651 0.75132 4338.411414
54+
807 Larissa 252.931 -22.983 252.139 -22.813 0.75137 4338.343394
55+
808 Proteus 34.218 -23.003 33.431 -22.822 0.75129 4338.440907
56+
814 Hippocamp 287.004 -22.973 286.217 -22.798 0.75132 4338.449959
57+
58+
Ring sub-solar latitude (deg): -22.61024 (-22.61915 to -22.60134)
59+
Ring plane opening angle (deg): -22.78248 (lit)
60+
Ring center phase angle (deg): 0.75134
61+
Sub-solar longitude (deg): 149.96998 from ring plane ascending node
62+
Sub-observer longitude (deg): 149.17958
63+
64+
Sun-planet distance (AU): 29.92193
65+
Observer-planet distance (AU): 29.00011
66+
Sun-planet distance (km): 4476.256293 x 10^6
67+
Observer-planet distance (km): 4338.354329 x 10^6
68+
Light travel time (sec): 14471.192364
69+
70+
71+
Courage longitude (deg): 63.81977 to 64.81977 from ring plane ascending node
72+
Liberte longitude (deg): 55.01978 to 59.11976
73+
Egalite A longitude (deg): 44.21976 to 45.21976
74+
Egalite B longitude (deg): 40.41978 to 43.41978
75+
Fraternite longitude (deg): 26.41978 to 36.01978
76+
</pre>
77+
<hr><b>Preview:</b><p>
78+
<a href="/work/viewer3_nep_57313.pdf"><image src="/work/viewer3_nep_57313tn.jpg"/></a><br>
79+
Click
80+
<a href="/work/viewer3_nep_57313.pdf">here</a>
81+
to download diagram (PDF, 17055 bytes).<p>
82+
Click
83+
<a href="/work/viewer3_nep_57313.jpg">here</a>
84+
to download diagram (JPEG format, 164693 bytes).<p>
85+
Click
86+
<a href="/work/viewer3_nep_57313.ps">here</a>
87+
to download diagram (PostScript format, 42562 bytes).
88+
<hr>
89+
<a href="/tools/viewer3_nep.shtml">Neptune Viewer Form</a> |
90+
<a href="/tools/index.html">RMS Node Tools</a> |
91+
<a href="/">Ring-Moon Systems Home</a>
92+
</body>
93+
</html>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2+
<html>
3+
<title>Saturn Viewer 3.0 Results</title>
4+
<body style="font-family:arial; font-size:medium">
5+
<h1>Saturn Viewer 3.0 Results</h1>
6+
<p>
7+
<pre>
8+
Input Parameters
9+
----------------
10+
11+
Observation time: 2021-10-07 07:25
12+
Ephemeris: SAT389 + SAT393 + SAT427 + DE440
13+
Field of view: 10 (Saturn radii)
14+
Diagram center: Saturn
15+
Viewpoint: Earth's center
16+
Moon selection: All inner moons (S1-S18,S32-S35,S49,S53)
17+
Ring selection: A,B,C,F,G,E
18+
Standard stars: No
19+
Additional star: No
20+
Other bodies: None
21+
Title:
22+
Moon labels: Small (6 points)
23+
Moon enlargement: 0 (points)
24+
Blank disks: No
25+
Ring plot type: Transparent
26+
Pericenter markers: None
27+
Marker size: 4 (points)
28+
Prime meridians: Yes
29+
30+
31+
Field of View Description (J2000)
32+
---------------------------------
33+
34+
Body RA Dec RA (deg) Dec (deg) dRA (") dDec (")
35+
699 Saturn 20h 36m 46.6876s -19d 25m 00.415s 309.194532 -19.416782 0.000 0.000
36+
601 Mimas 20h 36m 48.5158s -19d 25m 05.162s 309.202149 -19.418101 25.864 -4.747
37+
602 Enceladus 20h 36m 44.5496s -19d 24m 51.656s 309.185623 -19.414349 -30.246 8.759
38+
603 Tethys 20h 36m 49.1034s -19d 24m 54.793s 309.204598 -19.415220 34.177 5.623
39+
604 Dione 20h 36m 43.8042s -19d 25m 08.188s 309.182518 -19.418941 -40.791 -7.772
40+
605 Rhea 20h 36m 49.3735s -19d 25m 26.733s 309.205723 -19.424092 37.997 -26.318
41+
606 Titan 20h 36m 52.7285s -19d 24m 20.454s 309.219702 -19.405682 85.460 39.961
42+
607 Hyperion 20h 36m 37.9308s -19d 23m 59.499s 309.158045 -19.399861 -123.882 60.917
43+
608 Iapetus 20h 36m 35.8802s -19d 24m 17.459s 309.149501 -19.404850 -152.891 42.956
44+
609 Phoebe 20h 39m 09.0594s -19d 18m 51.608s 309.787748 -19.314336 2014.117 368.807
45+
610 Janus 20h 36m 47.0356s -19d 25m 08.132s 309.195982 -19.418926 4.923 -7.717
46+
611 Epimetheus 20h 36m 47.6785s -19d 25m 07.559s 309.198660 -19.418766 14.018 -7.143
47+
612 Helene 20h 36m 43.0674s -19d 24m 49.232s 309.179448 -19.413676 -51.214 11.183
48+
613 Telesto 20h 36m 49.4320s -19d 25m 10.566s 309.205966 -19.419602 38.824 -10.151
49+
614 Calypso 20h 36m 46.3698s -19d 24m 45.877s 309.193208 -19.412743 -4.495 14.539
50+
615 Atlas 20h 36m 45.7895s -19d 24m 53.916s 309.190790 -19.414977 -12.705 6.500
51+
616 Prometheus 20h 36m 45.9304s -19d 25m 04.996s 309.191377 -19.418054 -10.712 -4.580
52+
617 Pandora 20h 36m 47.7201s -19d 24m 57.123s 309.198834 -19.415867 14.607 3.293
53+
618 Pan 20h 36m 47.7763s -19d 25m 05.950s 309.199068 -19.418319 15.402 -5.534
54+
632 Methone 20h 36m 47.8837s -19d 25m 09.747s 309.199515 -19.419374 16.921 -9.332
55+
633 Pallene 20h 36m 48.8120s -19d 25m 05.768s 309.203383 -19.418269 30.054 -5.352
56+
634 Polydeuces 20h 36m 48.6362s -19d 25m 18.814s 309.202651 -19.421893 27.567 -18.398
57+
635 Daphnis 20h 36m 46.2492s -19d 25m 06.047s 309.192705 -19.418346 -6.202 -5.632
58+
649 Anthe 20h 36m 44.6814s -19d 24m 58.258s 309.186173 -19.416183 -28.381 2.157
59+
653 Aegaeon 20h 36m 48.3925s -19d 25m 03.255s 309.201635 -19.417571 24.119 -2.839
60+
61+
Sub-Observer Sub-Solar
62+
Body Lon(degW) Lat(deg) Lon(degW) Lat(deg) Phase(deg) Distance(10^6 km)
63+
699 Saturn 210.795 19.443 205.615 17.398 5.32671 1422.644849
64+
601 Mimas 95.037 20.038 89.784 18.112 5.32655 1422.602603
65+
602 Enceladus 299.701 19.450 294.523 17.405 5.32670 1422.744310
66+
603 Tethys 52.165 19.663 46.940 17.711 5.32564 1422.817372
67+
604 Dione 227.249 19.455 222.064 17.409 5.32813 1422.398436
68+
605 Rhea 150.469 19.711 145.269 17.682 5.32782 1422.224763
69+
606 Titan 25.966 19.303 20.800 17.250 5.32194 1423.637413
70+
607 Hyperion 317.655 18.677 312.471 16.700 5.32461 1423.610877
71+
608 Iapetus 348.552 4.329 343.467 2.760 5.31647 1426.011713
72+
609 Phoebe 155.216 10.809 150.314 8.596 5.31799 1417.532721
73+
610 Janus 66.966 19.590 61.780 17.532 5.32716 1422.507868
74+
611 Epimetheus 167.130 19.801 161.935 17.750 5.32693 1422.539360
75+
612 Helene 50.542 19.469 45.369 17.408 5.32695 1422.746473
76+
613 Telesto 107.882 20.476 102.645 18.479 5.32661 1422.543474
77+
614 Calypso 2.436 19.096 357.210 17.191 5.32573 1422.920167
78+
615 Atlas 203.028 19.441 197.852 17.397 5.32650 1422.741315
79+
616 Prometheus 258.847 19.444 253.660 17.399 5.32727 1422.531082
80+
617 Pandora 54.959 19.442 49.784 17.395 5.32616 1422.742504
81+
618 Pan 304.258 19.446 299.076 17.396 5.32679 1422.573404
82+
632 Methone 129.442 19.445 124.257 17.398 5.32703 1422.503412
83+
633 Pallene 99.503 19.444 94.323 17.396 5.32646 1422.612979
84+
634 Polydeuces 155.947 19.447 150.763 17.400 5.32746 1422.353842
85+
635 Daphnis 304.258 19.444 299.071 17.399 5.32725 1422.521175
86+
649 Anthe 139.723 19.451 134.541 17.406 5.32715 1422.620381
87+
653 Aegaeon 99.504 19.444 94.325 17.396 5.32641 1422.646000
88+
89+
Ring sub-solar latitude (deg): 17.39754 ( 17.37071 to 17.42436)
90+
Ring plane opening angle (deg): 19.44270 (lit)
91+
Ring center phase angle (deg): 5.32671
92+
Sub-solar longitude (deg): 6.08926 from ring plane ascending node
93+
Sub-observer longitude (deg): 0.90868
94+
95+
Sun-planet distance (AU): 9.93730
96+
Observer-planet distance (AU): 9.50979
97+
Sun-planet distance (km): 1486.598500 x 10^6
98+
Observer-planet distance (km): 1422.644849 x 10^6
99+
Light travel time (sec): 4745.432417
100+
101+
102+
F Ring pericenter (deg): 249.23097 from ring plane ascending node
103+
F Ring ascending node (deg): 250.34081
104+
</pre>
105+
<hr><b>Preview:</b><p>
106+
<a href="/work/viewer3_sat_57338.pdf"><image src="/work/viewer3_sat_57338tn.jpg"/></a><br>
107+
Click
108+
<a href="/work/viewer3_sat_57338.pdf">here</a>
109+
to download diagram (PDF, 24266 bytes).<p>
110+
Click
111+
<a href="/work/viewer3_sat_57338.jpg">here</a>
112+
to download diagram (JPEG format, 198407 bytes).<p>
113+
Click
114+
<a href="/work/viewer3_sat_57338.ps">here</a>
115+
to download diagram (PostScript format, 85890 bytes).
116+
<hr>
117+
<a href="/tools/viewer3_sat.shtml">Saturn Viewer Form</a> |
118+
<a href="/tools/index.html">RMS Node Tools</a> |
119+
<a href="/">Ring-Moon Systems Home</a>
120+
</body>
121+
</html>

astroquery/solarsystem/pds/tests/test_ringnode.py

+55
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@
1212
# files in data/ for different planets
1313
DATA_FILES = {'Uranus': 'uranus_ephemeris.html',
1414
'Pluto': 'pluto_ephemeris.html',
15+
'Neptune': 'neptune_ephemeris.html',
16+
'Saturn': 'saturn_ephemeris.html',
1517
}
1618

1719

@@ -189,6 +191,59 @@ def test_ephemeris_query_Pluto(patch_request):
189191
assert ringtable is None
190192

191193

194+
def test_ephemeris_query_Neptune(patch_request):
195+
'''Verify that the Neptune ring arcs are queried properly'''
196+
197+
systemtable, bodytable, ringtable = pds.RingNode.ephemeris(
198+
planet="Neptune",
199+
obs_time="2021-10-07 07:25",
200+
neptune_arcmodel=2
201+
)
202+
203+
print(ringtable[ringtable.loc_indices["Courage"]])
204+
205+
assert_quantity_allclose(
206+
[63.81977,
207+
55.01978,
208+
44.21976,
209+
40.41978,
210+
26.41978,
211+
64.81977,
212+
59.11976,
213+
45.21976,
214+
43.41978,
215+
36.01978],
216+
[ringtable[ringtable.loc_indices["Courage"]]["min_angle"].to(u.deg).value,
217+
ringtable[ringtable.loc_indices["Liberte"]]["min_angle"].to(u.deg).value,
218+
ringtable[ringtable.loc_indices["Egalite A"]]["min_angle"].to(u.deg).value,
219+
ringtable[ringtable.loc_indices["Egalite B"]]["min_angle"].to(u.deg).value,
220+
ringtable[ringtable.loc_indices["Fraternite"]]["min_angle"].to(u.deg).value,
221+
ringtable[ringtable.loc_indices["Courage"]]["max_angle"].to(u.deg).value,
222+
ringtable[ringtable.loc_indices["Liberte"]]["max_angle"].to(u.deg).value,
223+
ringtable[ringtable.loc_indices["Egalite A"]]["max_angle"].to(u.deg).value,
224+
ringtable[ringtable.loc_indices["Egalite B"]]["max_angle"].to(u.deg).value,
225+
ringtable[ringtable.loc_indices["Fraternite"]]["max_angle"].to(u.deg).value,
226+
], rtol=1e-3)
227+
228+
229+
def test_ephemeris_query_Saturn(patch_request):
230+
'''Check Saturn F ring is queried properly'''
231+
systemtable, bodytable, ringtable = pds.RingNode.ephemeris(
232+
planet="Saturn",
233+
obs_time="2021-10-07 07:25",
234+
)
235+
print(ringtable)
236+
237+
assert_quantity_allclose(
238+
[249.23097,
239+
250.34081
240+
],
241+
[
242+
ringtable[ringtable.loc_indices["F"]]["pericenter"].to(u.deg).value,
243+
ringtable[ringtable.loc_indices["F"]]["ascending node"].to(u.deg).value
244+
], rtol=1e-3)
245+
246+
192247
def test_ephemeris_query_payload():
193248
res = pds.RingNode.ephemeris(
194249
planet="Neptune",

0 commit comments

Comments
 (0)