<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article  PUBLIC "-//NLM//DTD Journal Publishing DTD v3.0 20080202//EN" "http://dtd.nlm.nih.gov/publishing/3.0/journalpublishing3.dtd"><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="3.0" xml:lang="en" article-type="research article"><front><journal-meta><journal-id journal-id-type="publisher-id">JAMP</journal-id><journal-title-group><journal-title>Journal of Applied Mathematics and Physics</journal-title></journal-title-group><issn pub-type="epub">2327-4352</issn><publisher><publisher-name>Scientific Research Publishing</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.4236/jamp.2021.911178</article-id><article-id pub-id-type="publisher-id">JAMP-113117</article-id><article-categories><subj-group subj-group-type="heading"><subject>Articles</subject></subj-group><subj-group subj-group-type="Discipline-v2"><subject>Physics&amp;Mathematics</subject></subj-group></article-categories><title-group><article-title>
 
 
  pysky: An Application for the Planning of Multi-Target Astronomical Observations
 
</article-title></title-group><contrib-group><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Allen</surname><given-names>E. Rocha</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref><xref ref-type="corresp" rid="cor1"><sup>*</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>William</surname><given-names>D. Parker</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib></contrib-group><aff id="aff1"><addr-line>Department of Mathematics and Physics, University of Wisconsin-Parkside, Kenosha, USA</addr-line></aff><pub-date pub-type="epub"><day>02</day><month>11</month><year>2021</year></pub-date><volume>09</volume><issue>11</issue><fpage>2765</fpage><lpage>2775</lpage><history><date date-type="received"><day>4,</day>	<month>October</month>	<year>2021</year></date><date date-type="rev-recd"><day>12,</day>	<month>November</month>	<year>2021</year>	</date><date date-type="accepted"><day>15,</day>	<month>November</month>	<year>2021</year></date></history><permissions><copyright-statement>&#169; Copyright  2014 by authors and Scientific Research Publishing Inc. </copyright-statement><copyright-year>2014</copyright-year><license><license-p>This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/</license-p></license></permissions><abstract><p>
 
 
  To automate the process of planning and curating multi-target observation sessions, pysky application builds on the astroplan Python package to identify visible objects during an observation window and produce relevant information about those objects in visual and graphical form. The package calculates object visibility based on a provided time window and observing location as well as maximum airmass and limiting magnitude requested by the user. The pysky application images of the target objects with identifying and astrometric data to provide context for the images. In addition, pysky creates polar plots of each object’s horizontal coordinates, and the images and plots are designed to be shown side-by-side. The package also generates an HTML table of the selected target objects with their related data to relay the entire target list as one. The pysky application draws on a variety of Python packages to collect and process data from databases such as JPL Horizons and SIMBAD. Results for a test event were verified by hand using database web interfaces. The pysky application provides a platform for further integration of automated observation planning with websites and apps to enhance multi-target observation sessions.
 
</p></abstract><kwd-group><kwd>Observational Astronomy</kwd><kwd> Observatories</kwd><kwd> Astronomy Software</kwd></kwd-group></article-meta></front><body><sec id="s1"><title>1. Introduction</title><p>Astronomical observation of specified objects requires advance planning to identify the objects available during the time frame of observation. Hand calculation to project object availability to the observer has been replaced by computer-based calculation, and, in the astropy universe [<xref ref-type="bibr" rid="scirp.113117-ref1">1</xref>] [<xref ref-type="bibr" rid="scirp.113117-ref2">2</xref>], the astroplan package provides this functionality [<xref ref-type="bibr" rid="scirp.113117-ref3">3</xref>]. In many contexts, an observation session may focus on an array of objects to observe within a scheduled timeframe rather than a single specific target, and judging which targets to include may be aided by the relative astrometry and visualization of the target objects.</p><p>For educational observational programming, the program designer usually seeks to curate an array of observation targets to present to program participants, and visualization is an important component to support participants’ astronomical learning [<xref ref-type="bibr" rid="scirp.113117-ref4">4</xref>]. Presenting astrometric data may supplement prior knowledge, which has been shown to increase awe during science learning experiences [<xref ref-type="bibr" rid="scirp.113117-ref5">5</xref>], and, by making the gaps in knowledge salient, awe has been shown to promote scientific investigation [<xref ref-type="bibr" rid="scirp.113117-ref6">6</xref>], an important goal of observatories offering public programming.</p><p>The pysky application seeks to fill the need for multi-target observation planning and curation by: 1) automating the identification of available observation targets within a time window given observational constraints; 2) collecting pertinent data about the targets; 3) formatting and visualizing these data for session planning as well as public event promotion and presentation.</p></sec><sec id="s2"><title>2. System Overview</title><p>The pysky source code is hosted on GitHub<sup>1</sup>. After the pysky application is installed, the user edits a preferences file to specify an observing latitude, longitude, and elevation, minimum apparent magnitude, maximum air mass, and particular solar system objects and stellar systems that the user wishes to check visibility for. By default, the application searches all of the Messier [<xref ref-type="bibr" rid="scirp.113117-ref7">7</xref>] and Caldwell [<xref ref-type="bibr" rid="scirp.113117-ref8">8</xref>] catalog objects for visibility within specified observing parameters.</p><p>The user interacts with the application via their terminal or command prompt by invoking “pysky” with a required start date and start time in ISO 8601 format to query their specified celestial bodies as well as the default catalogs. If the ending day or ending time is not specified, the application will set the observation time to be for one hour after the specified starting time. The user may also specify a multi-threaded model to speed up the calculation (see Section 1 for results).</p><p>Using astroplan [<xref ref-type="bibr" rid="scirp.113117-ref3">3</xref>], the application downloads and caches the IERS Bulletin A to accurately predict the apparent position of a celestial object from the Earth. Next, the application loads the predefined dictionaries of Messier and Caldwell objects. For solar system system objects defined by the user, the application queries JPL Horizons [<xref ref-type="bibr" rid="scirp.113117-ref9">9</xref>] to retrieve and store the objects’ right ascension, declination, azimuth, elevation, magnitude, constellation, and illumination. Next, the application makes a request to SkyView [<xref ref-type="bibr" rid="scirp.113117-ref10">10</xref>] to retrieve the image of the object using the beautifulsoup4, urllib3, and requests libraries for Python. For the non-solar objects, the application uses astroquery [<xref ref-type="bibr" rid="scirp.113117-ref11">11</xref>] to retrieve the object’s astrometry, brightness, and classification from SIMBAD ( [<xref ref-type="bibr" rid="scirp.113117-ref12">12</xref>] ). The application then uses astroplan [<xref ref-type="bibr" rid="scirp.113117-ref3">3</xref>] and astropy [<xref ref-type="bibr" rid="scirp.113117-ref1">1</xref>] [<xref ref-type="bibr" rid="scirp.113117-ref2">2</xref>] to compare the object’s airmass and apparent magnitude to the user’s specified cutoffs and eliminate disqualified objects from the observation list.</p><p>Finally, the application generates outputs for each of the visible objects. The first output (if generated) is the image of the object overlaid with astrometry and brightness information (see Figures 2-5). This information is retrieved from JPL Horizons [<xref ref-type="bibr" rid="scirp.113117-ref9">9</xref>] for solar-system objects or from astroquery [<xref ref-type="bibr" rid="scirp.113117-ref11">11</xref>] for extrasolar objects. The images of stars and star systems are retrieved from SkyView [<xref ref-type="bibr" rid="scirp.113117-ref10">10</xref>] using Python’s Pillow package. The next output generated is the HTML table containing each object’s name, classification, astrometry, and brightness as shown in <xref ref-type="table" rid="table1"><xref ref-type="table" rid="table">Table </xref>1</xref>. The final output generated is a polar scatter plot for each object using astroplan [<xref ref-type="bibr" rid="scirp.113117-ref3">3</xref>], astropy [<xref ref-type="bibr" rid="scirp.113117-ref1">1</xref>] [<xref ref-type="bibr" rid="scirp.113117-ref2">2</xref>], and NumPy. One point is plotted for every 15 minutes in the observation time (see Figures 2-5). All figures and plots are saved with the HTML table in one directory for convenient display of the images in a slideshow.</p><table-wrap id="table1" ><label><xref ref-type="table" rid="table1"><xref ref-type="table" rid="table">Table </xref>1</xref></label><caption><title> <xref ref-type="table" rid="table">Table </xref>of select objects of apparent magnitude V &gt; 5.0 and zenith angle sec ( z ) &lt; 11.0 on 2020 December 21 22:00:00 UT to 2020 December 22 00:00:00 UT viewed from the Hawthorn Hollow Schoolyard Observatory in Kenosha, Wisconsin, USA. <xref ref-type="table" rid="table">Table </xref>highlights information about potential viewing objects for scrutiny by observatory users. Object-type descriptions, constellation, brightness, and distance values for star systems and deep-sky objects are pulled from the SIMBAD database using astroquery. The same values are retrieved from JPL Horizons using astroplan, and the starting and ending horizontal coordinates for all objects are calculated using astroplan</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Name</th><th align="center" valign="middle" >Type</th><th align="center" valign="middle" >Start Alt. (˚)</th><th align="center" valign="middle" >Start Az. (˚)</th><th align="center" valign="middle" >End Alt. (˚)</th><th align="center" valign="middle" >End Az. (˚)</th><th align="center" valign="middle" >Constellation</th><th align="center" valign="middle" >Brightness</th><th align="center" valign="middle" >Distance (Pm)</th></tr></thead><tr><td align="center" valign="middle" >Achird</td><td align="center" valign="middle" >High Proper- Motion Star</td><td align="center" valign="middle" >61</td><td align="center" valign="middle" >44</td><td align="center" valign="middle" >74</td><td align="center" valign="middle" >18</td><td align="center" valign="middle" >Cassiopeia</td><td align="center" valign="middle" >3.44</td><td align="center" valign="middle" >183</td></tr><tr><td align="center" valign="middle" >Albireo</td><td align="center" valign="middle" >Double Or Multiple Star</td><td align="center" valign="middle" >55</td><td align="center" valign="middle" >259</td><td align="center" valign="middle" >33</td><td align="center" valign="middle" >280</td><td align="center" valign="middle" >Cygnus</td><td align="center" valign="middle" >3.08</td><td align="center" valign="middle" >4108</td></tr><tr><td align="center" valign="middle" >Capella</td><td align="center" valign="middle" >Spectroscopic Binary</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >45</td><td align="center" valign="middle" >37</td><td align="center" valign="middle" >58</td><td align="center" valign="middle" >Auriga</td><td align="center" valign="middle" >0.08</td><td align="center" valign="middle" >404</td></tr><tr><td align="center" valign="middle" >Deneb</td><td align="center" valign="middle" >Evolved Supergiant Star</td><td align="center" valign="middle" >74</td><td align="center" valign="middle" >287</td><td align="center" valign="middle" >53</td><td align="center" valign="middle" >293</td><td align="center" valign="middle" >Cygnus</td><td align="center" valign="middle" >1.25</td><td align="center" valign="middle" >13357</td></tr><tr><td align="center" valign="middle" >Jupiter</td><td align="center" valign="middle" >Planet</td><td align="center" valign="middle" >21</td><td align="center" valign="middle" >210</td><td align="center" valign="middle" >6</td><td align="center" valign="middle" >235</td><td align="center" valign="middle" >Capricornus</td><td align="center" valign="middle" >−2.0</td><td align="center" valign="middle" >0.00088673</td></tr><tr><td align="center" valign="middle" >Mars</td><td align="center" valign="middle" >Planet</td><td align="center" valign="middle" >37</td><td align="center" valign="middle" >114</td><td align="center" valign="middle" >53</td><td align="center" valign="middle" >149</td><td align="center" valign="middle" >Pisces</td><td align="center" valign="middle" >−0.5</td><td align="center" valign="middle" >0.00012113</td></tr><tr><td align="center" valign="middle" >Mizar A</td><td align="center" valign="middle" >Spectroscopic Binary</td><td align="center" valign="middle" >16</td><td align="center" valign="middle" >334</td><td align="center" valign="middle" >9</td><td align="center" valign="middle" >350</td><td align="center" valign="middle" >Ursa Major</td><td align="center" valign="middle" >2.22</td><td align="center" valign="middle" >783</td></tr><tr><td align="center" valign="middle" >Neptune</td><td align="center" valign="middle" >Planet</td><td align="center" valign="middle" >39</td><td align="center" valign="middle" >158</td><td align="center" valign="middle" >40</td><td align="center" valign="middle" >198</td><td align="center" valign="middle" >Aquarius</td><td align="center" valign="middle" >7.8</td><td align="center" valign="middle" >0.00450591</td></tr><tr><td align="center" valign="middle" >Polaris</td><td align="center" valign="middle" >Classical Cepheid</td><td align="center" valign="middle" >43</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >43</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >Ursa Minor</td><td align="center" valign="middle" >2.02</td><td align="center" valign="middle" >4092</td></tr><tr><td align="center" valign="middle" >Saturn</td><td align="center" valign="middle" >Planet</td><td align="center" valign="middle" >21</td><td align="center" valign="middle" >210</td><td align="center" valign="middle" >6</td><td align="center" valign="middle" >235</td><td align="center" valign="middle" >Capricornus</td><td align="center" valign="middle" >0.7</td><td align="center" valign="middle" >0.00161996</td></tr><tr><td align="center" valign="middle" >Uranus</td><td align="center" valign="middle" >Planet</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >99</td><td align="center" valign="middle" >50</td><td align="center" valign="middle" >127</td><td align="center" valign="middle" >Aries</td><td align="center" valign="middle" >5.7</td><td align="center" valign="middle" >0.00286838</td></tr><tr><td align="center" valign="middle" >Vega</td><td align="center" valign="middle" >Variable Star Of Delta Sct Type</td><td align="center" valign="middle" >50</td><td align="center" valign="middle" >283</td><td align="center" valign="middle" >29</td><td align="center" valign="middle" >297</td><td align="center" valign="middle" >Lyra</td><td align="center" valign="middle" >0.03</td><td align="center" valign="middle" >236</td></tr><tr><td align="center" valign="middle" >Moon</td><td align="center" valign="middle" >Satellite (Phase: First Quarter)</td><td align="center" valign="middle" >35</td><td align="center" valign="middle" >144</td><td align="center" valign="middle" >42</td><td align="center" valign="middle" >181</td><td align="center" valign="middle" >Pisces</td><td align="center" valign="middle" >−10.1</td><td align="center" valign="middle" >0.0000004</td></tr><tr><td align="center" valign="middle" >M31</td><td align="center" valign="middle" >Spiral Galaxy</td><td align="center" valign="middle" >62</td><td align="center" valign="middle" >80</td><td align="center" valign="middle" >84</td><td align="center" valign="middle" >100</td><td align="center" valign="middle" >Andromeda</td><td align="center" valign="middle" >3.4</td><td align="center" valign="middle" >23,000,000</td></tr><tr><td align="center" valign="middle" >M45</td><td align="center" valign="middle" >Open Cluster</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >75</td><td align="center" valign="middle" >42</td><td align="center" valign="middle" >95</td><td align="center" valign="middle" >Taurus</td><td align="center" valign="middle" >1.6</td><td align="center" valign="middle" >3700</td></tr><tr><td align="center" valign="middle" >M52</td><td align="center" valign="middle" >Open Cluster</td><td align="center" valign="middle" >68</td><td align="center" valign="middle" >23</td><td align="center" valign="middle" >70</td><td align="center" valign="middle" >344</td><td align="center" valign="middle" >Cassiopeia</td><td align="center" valign="middle" >6.9</td><td align="center" valign="middle" >47,000</td></tr><tr><td align="center" valign="middle" >NGC 869</td><td align="center" valign="middle" >Open Cluster</td><td align="center" valign="middle" >49</td><td align="center" valign="middle" >47</td><td align="center" valign="middle" >65</td><td align="center" valign="middle" >43</td><td align="center" valign="middle" >Perseus</td><td align="center" valign="middle" >3.7</td><td align="center" valign="middle" >69,000</td></tr><tr><td align="center" valign="middle" >NGC 884</td><td align="center" valign="middle" >Open Cluster</td><td align="center" valign="middle" >49</td><td align="center" valign="middle" >47</td><td align="center" valign="middle" >65</td><td align="center" valign="middle" >43</td><td align="center" valign="middle" >Perseus</td><td align="center" valign="middle" >3.8</td><td align="center" valign="middle" >69,000</td></tr><tr><td align="center" valign="middle" >NGC 7000</td><td align="center" valign="middle" >Nebula</td><td align="center" valign="middle" >77</td><td align="center" valign="middle" >284</td><td align="center" valign="middle" >55</td><td align="center" valign="middle" >290</td><td align="center" valign="middle" >Cygnus</td><td align="center" valign="middle" >4.0</td><td align="center" valign="middle" >17,000</td></tr><tr><td align="center" valign="middle" >Mel 25</td><td align="center" valign="middle" >Open Cluster</td><td align="center" valign="middle" >8</td><td align="center" valign="middle" >76</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >96</td><td align="center" valign="middle" >Taurus</td><td align="center" valign="middle" >0.5</td><td align="center" valign="middle" >1400</td></tr></tbody></table></table-wrap><p>2020-12-21T22:00Z/2020-12-22T00:00Z. From Latitude: +42.6499, Longitude: −87.8791, Elevation: 0.204 km, Min V: 5.0, sec(z) max: 11.0.</p><p><xref ref-type="fig" rid="fig1">Figure 1</xref> depicts system overview described above. Parallelization over threads is implemented for JPL Horizons and SIMBAD queries, SkyView image retrieval, visibility cutoff evaluation, image overlays and plot generation. In each case, the total number of objects processed will be divided by the number of threads requested. Tests of the efficiency of thread parallelization are described in Section 1.</p></sec><sec id="s3"><title>3. Main Results</title><p>For the following experiments, we choose an observation time frame that includes the Great Conjunction of 2020 from 2020 December 21 at 22:00:00 UT to 2020 December 22 at 00:00:00 UT, observed from the Schoolyard Observatory at Hawthorn Hollow Nature Preserve and Arboretum<sup>2</sup> in Kenosha, Wisconsin, USA, located at −87.8791˚ +42.6499˚. We choose a minimum apparent magnitude threshold of 5.0 and a maximum sec z threshold of 11.0. The astronomical objects parsed for each experiment are: all Messier objects, all Caldwell catalogue objects, the eight solar planets, and a selection of bright and multiple star systems: Polaris, Mizar A, Vega, Sirius, Capella, Procyon, Castor, Albireo, 145 CMa, Achird, and ι Cnc. Parallelization tests were performed on three different machines, increasing the number of threads and repeating the calculation. At the end of the run, the application produces a sky plot for each object’s movement during the observation time window, an image of the object with its properties overlayed, and a row in a generated HTML table.</p><p>Figures 2-5 show the resulting overlaid images and plots under the conditions described above for a prototypical object in each major category: solar system (Jupiter), deep sky (Andromeda Galaxy), stellar (Polaris), and the Moon. The image of Jupiter was taken from the Hubble Space Telescope and scaled to approximate the apparent diameter seen in the observatory telescope. The image of Andromeda Galaxy and all deep-sky objects, as well as the Moon phase images, are sourced from Wikimedia Commons. The images of star systems such as Polaris come from the Mellinger Optical Survey ( [<xref ref-type="bibr" rid="scirp.113117-ref13">13</xref>] ).</p><p>The astrometry data overlaid on each image is designed to place the object</p><p>in its astronomical context. The polar plot identifies each object’s position in horizontal coordinates during the viewing window to enable observatory users to find that object in the sky away from the telescope.</p><p><xref ref-type="table" rid="table1"><xref ref-type="table" rid="table">Table </xref>1</xref> shows the output HTML table containing name, category, horizontal coordinates, and astrometry information designed for online publication to provide</p><p>information beforehand to observatory users about potential viewing targets during an observing session. The HTML table caption contains the observation start and stop times in ISO 8601 format followed by the observing location’s geographic coordinates together with the cut-off values for the apparent visual magnitude and airmass. Horizontal coordinates were rounded to the nearest degree since visual acuity does not require further precision. These coordinates for objects in <xref ref-type="table" rid="table1"><xref ref-type="table" rid="table">Table </xref>1</xref> were manually cross-checked with Stellarium [<xref ref-type="bibr" rid="scirp.113117-ref14">14</xref>] and, for solar-system objects, the web interface of JPL Horizons. All distances were converted to petameters (10<sup>15</sup> m) for uniform depiction of solar and interstellar distances in a unit comparable to a light-year yet easily reducible to a human-scale length.</p><p>The application was developed to leverage multithreaded CPUs in order to reduce the execution time. Results of parallelization tests depicted in <xref ref-type="fig" rid="fig6">Figure 6</xref> show a reduction in wall time with increasing thread number that appears to become insignificant after reaching 50% of single thread time at four threads. The wall time leveling out at N t h r e a d &gt; 4 is likely due to network bottleneck when retrieving the images from the SkyView server. This bottleneck could be overcome by increasing the network bandwidth, or by caching the SkyView images after downloading so that the application will reuse an image in another run instead of redownloading. Still, the total computational time of only a few minutes together with the limited scale of the number of potential target objects in an observation window diminishes interest in further algorithmic optimization.</p></sec><sec id="s4"><title>4. Conclusions and Suggestions</title><p>The pysky application is a Python-based multi-target observation session planning application that produces overlaid images and sky plots of potential viewing objects together with an HTML table of their basic information. The pysky application allows observation planners to focus on their session goals, reducing the need to sort through maps or visualization software to bring together information on the fly while promoting ready visualization and curation of information for an observation session.</p><p>Future directions for pysky include: sorting the viewing list by the right ascension to assist with planning the order of viewing, adding a marathon functionality for all-night observation sessions focused on a particular catalog or object type or observing field, integration with mobile apps designed to provide easier access to the output data, and use of astronomical visualization metadata standard [<xref ref-type="bibr" rid="scirp.113117-ref15">15</xref>].</p></sec><sec id="s5"><title>Acknowledgements</title><p>We thank Riley Fee for independently verifying the brightness and distances in the experiment table. This research did not receive any specific grant from funding agencies in the public, commercial, or not-for-profit sectors.</p><p>The pysky application relies on the packages: astroplan [<xref ref-type="bibr" rid="scirp.113117-ref3">3</xref>], astropy [<xref ref-type="bibr" rid="scirp.113117-ref1">1</xref>] [<xref ref-type="bibr" rid="scirp.113117-ref2">2</xref>], astroquery [<xref ref-type="bibr" rid="scirp.113117-ref11">11</xref>], beautifulsoup4<sup>3</sup>, matplotlib [<xref ref-type="bibr" rid="scirp.113117-ref16">16</xref>], scipy [<xref ref-type="bibr" rid="scirp.113117-ref17">17</xref>], NumPy [<xref ref-type="bibr" rid="scirp.113117-ref18">18</xref>], Pillow [<xref ref-type="bibr" rid="scirp.113117-ref19">19</xref>], requests<sup>4</sup>, urllib3<sup>5</sup>.</p></sec><sec id="s6"><title>Conflicts of Interest</title><p>The authors declare no conflicts of interest regarding the publication of this paper.</p></sec><sec id="s7"><title>Cite this paper</title><p>Rocha, A.E. and Parker, W.D. (2021) pysky: An Application for the Planning of Multi-Target Astronomical Observations. Journal of Applied Mathematics and Physics, 9, 2765-2775. https://doi.org/10.4236/jamp.2021.911178</p></sec><sec id="s8"><title>NOTES</title></sec></body><back><ref-list><title>References</title><ref id="scirp.113117-ref1"><label>1</label><mixed-citation publication-type="other" xlink:type="simple">Astropy Collaboration, Robitaille, T.P., Tollerud, E.J., Greenfield, P., Droettboom, M., Bray, E., Aldcroft, T., Davis, M., Ginsburg, A., Price-Whelan, A.M., Kerzendorf, W.E., Conley, A., Crighton, N., Barbary, K., Muna, D., Ferguson, H., Grollier, F., Parikh, M.M., Nair, P.H., Unther, H.M., Deil, C., Woillez, J., Conseil, S., Kramer, R., Turner, J.E.H., Singer, L., Fox, R., Weaver, B.A., Zabalza, V., Edwards, Z.I., Azalee Bostroem, K., Burke, D.J., Casey, A.R., Crawford, S.M., Dencheva, N., Ely, J., Jenness, T., Labrie, K., Lim, P.L., Pierfederici, F., Pontzen, A., Ptak, A., Refsdal, B., Servillat, M. and Streicher, O. (2013) Astropy: A Community Python Package for Astronomy. Astronomy &amp; Astrophysics, 558, A33.</mixed-citation></ref><ref id="scirp.113117-ref2"><label>2</label><mixed-citation publication-type="other" xlink:type="simple">The Astropy Collaboration, Price-Whelan, A.M., Sip&amp;#337;cz, B.M., Günther, H.M., Lim, P.L., Crawford, S.M., Conseil, S., Shupe, D.L., Craig, M.W., Dencheva, N., Ginsburg, A., VanderPlas, J.T., Bradley, L.D., Pérez-Suárez, D., de Val-Borro, M., (Primary Paper Contributors), Aldcroft, T.L., Cruz, K.L., Robitaille, T.P., Tollerud, E.J., (Astropy Coordination Committee), Ardelean, C., Babej, T., Bach, Y.P., Bachetti, M., Bakanov, A.V., Bamford, S.P., Barentsen, G., Barmby, P., Baumbach, A., Berry, K.L., Biscani, F., Boquien, M., Bostroem, K.A., Bouma, L.G., Brammer, G.B., Bray, E.M., Breytenbach, H., Buddelmeijer, H., Burke, D.J., Calderone, G., Cano Rodríguez, J.L., Cara, M., Cardoso, J.V.M., Cheedella, S., Copin, Y., Corrales, L., Crichton, D., D’Avella, D., Deil, C., Depagne, E., Dietrich, J.P., Donath, A., Droettboom, M., Earl, N., Erben, T., Fabbro, S., Ferreira, L.A., Finethy, T., Fox, R.T., Garrison, L.H., Gibbons, S.L.J., Goldstein, D.A., Gommers, R., Greco, J.P., Greenfield, P., Groener, A.M., Grollier, F., Hagen, A., Hirst, P., Homeier, D., Horton, A.J., Hosseinzadeh, G., Hu, L., Hunkeler, J.S., Ivezi&amp;#263;, &amp;#381;., Jain, A., Jenness, T., Kanarek, G., Kendrew, S., Kern, N.S., Kerzendorf, W.E., Khvalko, A., King, J., Kirkby, D., Kulkarni, A.M., Kumar, A., Lee, A., Lenz, D., Littlefair, S.P., Ma, Z., Macleod, D.M., Mastropietro, M., McCully, C., Montagnac, S., Morris, B.M., Mueller, M., Mumford, S.J., Muna, D., Murphy, N.A., Nelson, S., Nguyen, G.H., Ninan, J.P., N&amp;#246;the, M., Ogaz, S., Oh, S., Parejko, J.K., Parley, N., Pascual, S., Patil, R., Patil, A.A., Plunkett, A.L., Prochaska, J.X., Rastogi, T., Reddy Janga, V., Sabater, J., Sakurikar, P., Seifert, M., Sherbert, L.E., Sherwood-Taylor, H., Shih, A.Y., Sick, J., Silbiger, M.T., Singanamalla, S., Singer, L.P., Sladen, P.H., Sooley, K.A., Sornarajah, S., Streicher, O., Teuben, P., Thomas, S.W., Tremblay, G.R., Turner, J.E.H., Terrón, V., van Kerkwijk, M.H., de la Vega, A., Watkins, L.L., Weaver, B.A., Whitmore, J.B., Woillez, J. and Zabalza, V. (Astropy Contributors) (2018) The Astropy Project: Building an Open-Science Project and Status of the v2.0 Core Package. The Astronomical Journal, 156, Article ID: 123. https://doi.org/10.3847/1538-3881/aabc4f</mixed-citation></ref><ref id="scirp.113117-ref3"><label>3</label><mixed-citation publication-type="other" xlink:type="simple">Morris, B.M., Tollerud, E., Sip&amp;#337;cz, B., Deil, C., Douglas, S.T., Berlanga Medina, J., Vyhmeister, K., Smith, T.R., Littlefair, S., Price-Whelan, A.M., Gee, W.T. and Jeschke, E. (2018) Astroplan: An Open Source Observation Planning Package in Python. The Astronomical Journal, 155, Article ID: 128. https://doi.org/10.3847/1538-3881/aaa47e</mixed-citation></ref><ref id="scirp.113117-ref4"><label>4</label><mixed-citation publication-type="other" xlink:type="simple">Cole, M., Cohen, C., Wilhelm, J. and Lindell, R. (2018) Spatial Thinking in Astronomy Education Research. Physical Review Physics Education Research, 14, Article ID: 010139. https://doi.org/10.1103/PhysRevPhysEducRes.14.010139</mixed-citation></ref><ref id="scirp.113117-ref5"><label>5</label><mixed-citation publication-type="other" xlink:type="simple">Price, C.A., Greenslit, J.N., Applebaum, L., Harris, N., Segovia, G., Quinn, K.A. and Krogh-Jespersen, S. (2021) Awe &amp; Memories of Learning in Science and Art Museums. Visitor Studies, 24, 137-165. https://doi.org/10.1080/10645578.2021.1907152</mixed-citation></ref><ref id="scirp.113117-ref6"><label>6</label><mixed-citation publication-type="other" xlink:type="simple">McPhetres, J. (2019) Oh, the Things You Don’t Know: Awe Promotes Awareness of Knowledge Gaps and Science Interest. Cognition and Emotion, 33, 1599-1615. https://doi.org/10.1080/02699931.2019.1585331</mixed-citation></ref><ref id="scirp.113117-ref7"><label>7</label><mixed-citation publication-type="other" xlink:type="simple">Messier, C. (1784) Catalogue des Nébuleuses et des Amas d’étoiles (Catalog of Nebulae and Star Clusters). Connoissance des Temps ou des Mouvements Célestes, Paris, 227-267.</mixed-citation></ref><ref id="scirp.113117-ref8"><label>8</label><mixed-citation publication-type="other" xlink:type="simple">Moore, P. and Pepin, M.B. (1995) Beyond Messier: The Caldwell Catalogue. Sky and Telescope Vol. 90, Cambridge, MA.</mixed-citation></ref><ref id="scirp.113117-ref9"><label>9</label><mixed-citation publication-type="other" xlink:type="simple">Giorgini, J.D., Yeomans, D.K., Chamberlin, A.B., Chodas, P.W., Jacobson, R.A., Keesey, M.S., Lieske, J.H., Ostro, S.J., Standish, E.M. and Wimberly, R.N. (1996) JPL’s On-Line Solar System Data Service. Bulletin of the American Astronomical Society, 28, Article ID: 1158.</mixed-citation></ref><ref id="scirp.113117-ref10"><label>10</label><mixed-citation publication-type="other" xlink:type="simple">McGlynn, T., Scollick, K. and White, N. (1998) Skyview: The Multi-Wavelength Sky on the Internet. Symposium-International Astronomical Union, 179, 465-466. https://doi.org/10.1017/S0074180900129316</mixed-citation></ref><ref id="scirp.113117-ref11"><label>11</label><mixed-citation publication-type="other" xlink:type="simple">Ginsburg, A., Sip&amp;#337;cz, B.M., Brasseur, C.E., Cowperthwaite, P.S., Craig, M.W., Deil, C., Guillochon, J., Guzman, G., Liedtke, S., Lian Lim, P., Lockhart, K.E., Mommert, M., Morris, B.M., Norman, H., Parikh, M., Persson, M.V., Robitaille, T.P., Segovia, J.C., Singer, L.P., Tollerud, E.J., de Val-Borro, M., Valtchanov, I., Woillez, J. and the Astroquery Collaboration, a Subset of Astropy Collaboration. (2019) Astroquery: An Astronomical Web-Querying Package in Python. The Astronomical Journal, 157, Article ID: 98. https://doi.org/10.3847/1538-3881/aafc33</mixed-citation></ref><ref id="scirp.113117-ref12"><label>12</label><mixed-citation publication-type="other" xlink:type="simple">Wenger, M., Ochsenbein, F., Egret, D., Dubois, P., Bonnarel, F., Borde, S., Genova, F., Jasniewicz, G., Lalo&amp;#235;, S., Lesteven, S. and Monier, R. (2000) The SIMBAD Astronomical Database. The CDS Reference Database for Astronomical Objects. Astronomy &amp; Astrophyiscs, 143, 9-22.</mixed-citation></ref><ref id="scirp.113117-ref13"><label>13</label><mixed-citation publication-type="other" xlink:type="simple">Mellinger, A. (2009) A Color All-Sky Panorama Image of the Milky Way. Publications of the Astronomical Society of the Pacific, 121, 1180-1187. https://doi.org/10.1086/648480http://www.jstor.org/stable/10.1086/648480</mixed-citation></ref><ref id="scirp.113117-ref14"><label>14</label><mixed-citation publication-type="other" xlink:type="simple">Zotti, G., Hoffmann, S.M., Wolf, A., Chéreau, F. and Chéreau, G. (2021) The Simulated Sky: Stellarium for Cultural Astronomy Research. Journal of Skyscape Archaeology, 6, 221-258. https://doi.org/10.1558/jsa.17822https://journal.equinoxpub.com/JSA/article/view/17822</mixed-citation></ref><ref id="scirp.113117-ref15"><label>15</label><mixed-citation publication-type="book" xlink:type="simple">Hurt, R.L., Gauthier, A.J., Christensen, L.L. and Wyatt, R. (2008) Sharing Images Intelligently: The Astronomy Vizualisation Metadata Standard. In: Christensen, L.L., Zoulias, M. and Robson, I., Eds., Communicating Astronomy with the Public, Eugenides Foundation, Athens, 450 p.</mixed-citation></ref><ref id="scirp.113117-ref16"><label>16</label><mixed-citation publication-type="other" xlink:type="simple">Hunter, J.D. (2007) Matplotlib: A 2D Graphics Environment. Computing in Science &amp; Engineering, 9, 90-95. https://doi.org/10.1109/MCSE.2007.55</mixed-citation></ref><ref id="scirp.113117-ref17"><label>17</label><mixed-citation publication-type="other" xlink:type="simple">Virtanen, P., Gommers, R., Oliphant, T.E., Haberland, M., Reddy, T., Cournapeau, D., Burovski, E., Peterson, P., Weckesser, W., Bright, J., van der Walt, S.J., Brett, M., Wilson, J., Millman, K.J., Mayorov, N., Nelson, A.R.J., Jones, E., Kern, R., Larson, E., Carey, C.J., Polat, I., Feng, Y., Moore, E.W., VanderPlas, J., Laxalde, D., Perk-told, J., Cimrman, R., Henriksen, I., Quintero, E.A., Harris, C.R., Archibald, A.M., Ribeiro, A.H., Pedregosa, F. and van Mulbregt, P. (2020) SciPy 1.0: Fundamental Algorithms for Scientific Computing in Python. Nature Methods, 17, 261-272. https://doi.org/10.1038/s41592-019-0686-2</mixed-citation></ref><ref id="scirp.113117-ref18"><label>18</label><mixed-citation publication-type="other" xlink:type="simple">Harris, C.R., Millman, K.J., van der Walt, S.J., Gommers, R., Virtanen, P., Cournapeau, D., Wieser, E., Taylor, J., Berg, S., Smith, N.J., Kern, R., Picus, M., Hoyer, S., van Kerkwijk, M.H., Brett, M., Haldane, A., del Río, J.F., Wiebe, M., Peterson, P., Gérard-Marchant, P., Sheppard, K., Reddy, T., Weckesser, W., Abbasi, H., Gohlke, C. and Oliphant, T.E. (2020) Array Programming with NumPy. Nature, 585, 357-362. https://doi.org/10.1038/s41586-020-2649-2</mixed-citation></ref><ref id="scirp.113117-ref19"><label>19</label><mixed-citation publication-type="other" xlink:type="simple">van Kemenade, H., Murray, A., Clark, A., Karpinsky, A., Baranovi&amp;#269;, O., Gohlke, C., Dufresne, J., Crowell, B., Schmidt, D., Kopachev, K., Houghton, A., Mani, S., Landey, S., Vashek, Ware, J., Douglas, J., Caro, D., Martinez, U., Kossouho, S., Lahd, R., Lee, A., Brown, E.W., Tonnhofer, O., Bonfill, M., Rowlands, P., Al-Saidi, F., Novikov, G. and Górny, M. (2021) Python-Pillow/Pillow: 8.2.0.</mixed-citation></ref></ref-list></back></article>