Spaces:
Running
Running
| <html xmlns="http://www.w3.org/1999/xhtml"> | |
| <head> | |
| <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> | |
| <meta http-equiv="X-UA-Compatible" content="IE=9"/> | |
| <meta name="generator" content="Doxygen 1.9.1"/> | |
| <meta name="viewport" content="width=device-width, initial-scale=1"/> | |
| <title>Practical Astronomy: practical-astronomy-python</title> | |
| <link href="tabs.css" rel="stylesheet" type="text/css"/> | |
| <script type="text/javascript" src="jquery.js"></script> | |
| <script type="text/javascript" src="dynsections.js"></script> | |
| <link href="navtree.css" rel="stylesheet" type="text/css"/> | |
| <script type="text/javascript" src="resize.js"></script> | |
| <script type="text/javascript" src="navtreedata.js"></script> | |
| <script type="text/javascript" src="navtree.js"></script> | |
| <link href="search/search.css" rel="stylesheet" type="text/css"/> | |
| <script type="text/javascript" src="search/searchdata.js"></script> | |
| <script type="text/javascript" src="search/search.js"></script> | |
| <link href="doxygen.css" rel="stylesheet" type="text/css" /> | |
| </head> | |
| <body> | |
| <div id="top"><!-- do not remove this div, it is closed by doxygen! --> | |
| <div id="titlearea"> | |
| <table cellspacing="0" cellpadding="0"> | |
| <tbody> | |
| <tr style="height: 56px;"> | |
| <td id="projectalign" style="padding-left: 0.5em;"> | |
| <div id="projectname">Practical Astronomy | |
| </div> | |
| </td> | |
| </tr> | |
| </tbody> | |
| </table> | |
| </div> | |
| <!-- end header part --> | |
| <!-- Generated by Doxygen 1.9.1 --> | |
| <script type="text/javascript"> | |
| /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ | |
| var searchBox = new SearchBox("searchBox", "search",false,'Search','.html'); | |
| /* @license-end */ | |
| </script> | |
| <script type="text/javascript" src="menudata.js"></script> | |
| <script type="text/javascript" src="menu.js"></script> | |
| <script type="text/javascript"> | |
| /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ | |
| $(function() { | |
| initMenu('',true,false,'search.php','Search'); | |
| $(document).ready(function() { init_search(); }); | |
| }); | |
| /* @license-end */</script> | |
| <div id="main-nav"></div> | |
| </div><!-- top --> | |
| <div id="side-nav" class="ui-resizable side-nav-resizable"> | |
| <div id="nav-tree"> | |
| <div id="nav-tree-contents"> | |
| <div id="nav-sync" class="sync"></div> | |
| </div> | |
| </div> | |
| <div id="splitbar" style="-moz-user-select:none;" | |
| class="ui-resizable-handle"> | |
| </div> | |
| </div> | |
| <script type="text/javascript"> | |
| /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ | |
| $(document).ready(function(){initNavTree('index.html',''); initResizable(); }); | |
| /* @license-end */ | |
| </script> | |
| <div id="doc-content"> | |
| <!-- window showing the filter options --> | |
| <div id="MSearchSelectWindow" | |
| onmouseover="return searchBox.OnSearchSelectShow()" | |
| onmouseout="return searchBox.OnSearchSelectHide()" | |
| onkeydown="return searchBox.OnSearchSelectKey(event)"> | |
| </div> | |
| <!-- iframe showing the search results (closed by default) --> | |
| <div id="MSearchResultsWindow"> | |
| <iframe src="javascript:void(0)" frameborder="0" | |
| name="MSearchResults" id="MSearchResults"> | |
| </iframe> | |
| </div> | |
| <div class="PageDoc"><div class="header"> | |
| <div class="headertitle"> | |
| <div class="title">practical-astronomy-python </div> </div> | |
| </div><!--header--> | |
| <div class="contents"> | |
| <div class="textblock"><p><a class="anchor" id="md__home_jimc_projects_Practical_Astronomy_practical_astronomy_python_venv_practical_astronomy_python_README"></a> Algorithms from <a href="https://www.amazon.com/Practical-Astronomy-your-Calculator-Spreadsheet/dp/1108436072">Practical Astronomy with your Calculator or Spreadsheet</a> by Peter Duffett-Smith, implemented in Python 3. API documentation is published <a href="https://jfcarr.github.io/practical-astronomy-python/">here</a>.</p> | |
| <p>If you're interested in this topic, please buy the book! It provides far more detail and context.</p> | |
| <h1><a class="anchor" id="autotoc_md133"></a> | |
| Quick Start</h1> | |
| <p>Install:</p> | |
| <div class="fragment"><div class="line">pip install practical-astronomy</div> | |
| </div><!-- fragment --><p>Create <code>easter.py</code>:</p> | |
| <div class="fragment"><div class="line">import practical_astronomy.pa_datetime as pd</div> | |
| <div class="line"> </div> | |
| <div class="line">print(pd.get_date_of_easter(2024))</div> | |
| </div><!-- fragment --><p>Run it:</p> | |
| <div class="fragment"><div class="line">python easter.py</div> | |
| </div><!-- fragment --><p>Result:</p> | |
| <div class="fragment"><div class="line">(3, 31, 2024)</div> | |
| </div><!-- fragment --><h1><a class="anchor" id="autotoc_md134"></a> | |
| Unit Tests</h1> | |
| <p>If you clone the <a href="https://github.com/jfcarr/practical-astronomy-python">repo</a> locally, you can run unit tests with the Make utility:</p> | |
| <div class="fragment"><div class="line">make all-tests</div> | |
| </div><!-- fragment --><h1><a class="anchor" id="autotoc_md135"></a> | |
| Library Functions</h1> | |
| <p>Documentation <a href="https://jfcarr.github.io/practical-astronomy-python/">here</a>.</p> | |
| <h2><a class="anchor" id="autotoc_md136"></a> | |
| Date/Time</h2> | |
| <table class="markdownTable"> | |
| <tr class="markdownTableHead"> | |
| <th class="markdownTableHeadNone">Type </th><th class="markdownTableHeadNone">Description </th></tr> | |
| <tr class="markdownTableRowOdd"> | |
| <td class="markdownTableBodyNone">Calculate </td><td class="markdownTableBodyNone">Date of Easter </td></tr> | |
| <tr class="markdownTableRowEven"> | |
| <td class="markdownTableBodyNone">Convert </td><td class="markdownTableBodyNone">Civil Date to Day Number </td></tr> | |
| <tr class="markdownTableRowOdd"> | |
| <td class="markdownTableBodyNone">Convert </td><td class="markdownTableBodyNone">Greenwich Date <-> Julian Date </td></tr> | |
| <tr class="markdownTableRowEven"> | |
| <td class="markdownTableBodyNone">Convert </td><td class="markdownTableBodyNone">Julian Date to Day-of-Week </td></tr> | |
| <tr class="markdownTableRowOdd"> | |
| <td class="markdownTableBodyNone">Extract </td><td class="markdownTableBodyNone">Day, Month, and Year parts of Julian Date </td></tr> | |
| <tr class="markdownTableRowEven"> | |
| <td class="markdownTableBodyNone">Convert </td><td class="markdownTableBodyNone">Civil Time <-> Decimal Hours </td></tr> | |
| <tr class="markdownTableRowOdd"> | |
| <td class="markdownTableBodyNone">Extract </td><td class="markdownTableBodyNone">Hour, Minutes, and Seconds parts of Decimal Hours </td></tr> | |
| <tr class="markdownTableRowEven"> | |
| <td class="markdownTableBodyNone">Convert </td><td class="markdownTableBodyNone">Local Civil Time <-> Universal Time </td></tr> | |
| <tr class="markdownTableRowOdd"> | |
| <td class="markdownTableBodyNone">Convert </td><td class="markdownTableBodyNone">Universal Time <-> Greenwich Sidereal Time </td></tr> | |
| <tr class="markdownTableRowEven"> | |
| <td class="markdownTableBodyNone">Convert </td><td class="markdownTableBodyNone">Greenwich Sidereal Time <-> Local Sidereal Time </td></tr> | |
| </table> | |
| <h2><a class="anchor" id="autotoc_md137"></a> | |
| Coordinates</h2> | |
| <table class="markdownTable"> | |
| <tr class="markdownTableHead"> | |
| <th class="markdownTableHeadNone">Type </th><th class="markdownTableHeadNone">Description </th></tr> | |
| <tr class="markdownTableRowOdd"> | |
| <td class="markdownTableBodyNone">Convert </td><td class="markdownTableBodyNone">Angle <-> Decimal Degrees </td></tr> | |
| <tr class="markdownTableRowEven"> | |
| <td class="markdownTableBodyNone">Convert </td><td class="markdownTableBodyNone">Right Ascension <-> Hour Angle </td></tr> | |
| <tr class="markdownTableRowOdd"> | |
| <td class="markdownTableBodyNone">Convert </td><td class="markdownTableBodyNone">Equatorial Coordinates <-> Horizon Coordinates </td></tr> | |
| <tr class="markdownTableRowEven"> | |
| <td class="markdownTableBodyNone">Calculate </td><td class="markdownTableBodyNone">Obliquity of the Ecliptic </td></tr> | |
| <tr class="markdownTableRowOdd"> | |
| <td class="markdownTableBodyNone">Convert </td><td class="markdownTableBodyNone">Ecliptic Coordinates <-> Equatorial Coordinates </td></tr> | |
| <tr class="markdownTableRowEven"> | |
| <td class="markdownTableBodyNone">Convert </td><td class="markdownTableBodyNone">Equatorial Coordinates <-> Galactic Coordinates </td></tr> | |
| <tr class="markdownTableRowOdd"> | |
| <td class="markdownTableBodyNone">Calculate </td><td class="markdownTableBodyNone">Angle between two objects </td></tr> | |
| <tr class="markdownTableRowEven"> | |
| <td class="markdownTableBodyNone">Calculate </td><td class="markdownTableBodyNone">Rising and Setting times for an object </td></tr> | |
| <tr class="markdownTableRowOdd"> | |
| <td class="markdownTableBodyNone">Calculate </td><td class="markdownTableBodyNone">Precession (corrected coordinates between two epochs) </td></tr> | |
| <tr class="markdownTableRowEven"> | |
| <td class="markdownTableBodyNone">Calculate </td><td class="markdownTableBodyNone">Nutation (in ecliptic longitude and obliquity) for a Greenwich date </td></tr> | |
| <tr class="markdownTableRowOdd"> | |
| <td class="markdownTableBodyNone">Calculate </td><td class="markdownTableBodyNone">Effects of aberration for ecliptic coordinates </td></tr> | |
| <tr class="markdownTableRowEven"> | |
| <td class="markdownTableBodyNone">Calculate </td><td class="markdownTableBodyNone">RA and Declination values, corrected for atmospheric refraction and geocentric parallax </td></tr> | |
| <tr class="markdownTableRowOdd"> | |
| <td class="markdownTableBodyNone">Calculate </td><td class="markdownTableBodyNone">Heliographic coordinates </td></tr> | |
| <tr class="markdownTableRowEven"> | |
| <td class="markdownTableBodyNone">Calculate </td><td class="markdownTableBodyNone">Carrington rotation number </td></tr> | |
| <tr class="markdownTableRowOdd"> | |
| <td class="markdownTableBodyNone">Calculate </td><td class="markdownTableBodyNone">Selenographic (lunar) coordinates (sub-Earth and sub-Solar) </td></tr> | |
| </table> | |
| <h2><a class="anchor" id="autotoc_md138"></a> | |
| The Sun</h2> | |
| <table class="markdownTable"> | |
| <tr class="markdownTableHead"> | |
| <th class="markdownTableHeadNone">Type </th><th class="markdownTableHeadNone">Description </th></tr> | |
| <tr class="markdownTableRowOdd"> | |
| <td class="markdownTableBodyNone">Calculate </td><td class="markdownTableBodyNone">Approximate and precise positions of the Sun </td></tr> | |
| <tr class="markdownTableRowEven"> | |
| <td class="markdownTableBodyNone">Calculate </td><td class="markdownTableBodyNone">Sun's distance and angular size </td></tr> | |
| <tr class="markdownTableRowOdd"> | |
| <td class="markdownTableBodyNone">Calculate </td><td class="markdownTableBodyNone">Local sunrise and sunset </td></tr> | |
| <tr class="markdownTableRowEven"> | |
| <td class="markdownTableBodyNone">Calculate </td><td class="markdownTableBodyNone">Morning and evening twilight </td></tr> | |
| <tr class="markdownTableRowOdd"> | |
| <td class="markdownTableBodyNone">Calculate </td><td class="markdownTableBodyNone">Equation of time </td></tr> | |
| <tr class="markdownTableRowEven"> | |
| <td class="markdownTableBodyNone">Calculate </td><td class="markdownTableBodyNone">Solar elongation </td></tr> | |
| </table> | |
| <h2><a class="anchor" id="autotoc_md139"></a> | |
| Planets</h2> | |
| <table class="markdownTable"> | |
| <tr class="markdownTableHead"> | |
| <th class="markdownTableHeadNone">Type </th><th class="markdownTableHeadNone">Description </th></tr> | |
| <tr class="markdownTableRowOdd"> | |
| <td class="markdownTableBodyNone">Calculate </td><td class="markdownTableBodyNone">Approximate and precise position of planet </td></tr> | |
| <tr class="markdownTableRowEven"> | |
| <td class="markdownTableBodyNone">Calculate </td><td class="markdownTableBodyNone">Visual aspects of planet (distance, angular diameter, phase, light time, position angle of bright limb, and apparent magnitude) </td></tr> | |
| <tr class="markdownTableRowOdd"> | |
| <td class="markdownTableBodyNone">Calculate </td><td class="markdownTableBodyNone">Position of comet (elliptical and parabolic) </td></tr> | |
| <tr class="markdownTableRowEven"> | |
| <td class="markdownTableBodyNone">Calculate </td><td class="markdownTableBodyNone">Binary star orbit data </td></tr> | |
| </table> | |
| <h2><a class="anchor" id="autotoc_md140"></a> | |
| The Moon</h2> | |
| <table class="markdownTable"> | |
| <tr class="markdownTableHead"> | |
| <th class="markdownTableHeadNone">Type </th><th class="markdownTableHeadNone">Description </th></tr> | |
| <tr class="markdownTableRowOdd"> | |
| <td class="markdownTableBodyNone">Calculate </td><td class="markdownTableBodyNone">Approximate and precise position of Moon </td></tr> | |
| <tr class="markdownTableRowEven"> | |
| <td class="markdownTableBodyNone">Calculate </td><td class="markdownTableBodyNone">Moon phase and position angle of bright limb </td></tr> | |
| <tr class="markdownTableRowOdd"> | |
| <td class="markdownTableBodyNone">Calculate </td><td class="markdownTableBodyNone">Times of new Moon and full Moon </td></tr> | |
| <tr class="markdownTableRowEven"> | |
| <td class="markdownTableBodyNone">Calculate </td><td class="markdownTableBodyNone">Moon's distance, angular diameter, and horizontal parallax </td></tr> | |
| <tr class="markdownTableRowOdd"> | |
| <td class="markdownTableBodyNone">Calculate </td><td class="markdownTableBodyNone">Local moonrise and moonset </td></tr> | |
| </table> | |
| <h2><a class="anchor" id="autotoc_md141"></a> | |
| Eclipses</h2> | |
| <table class="markdownTable"> | |
| <tr class="markdownTableHead"> | |
| <th class="markdownTableHeadNone">Type </th><th class="markdownTableHeadNone">Description </th></tr> | |
| <tr class="markdownTableRowOdd"> | |
| <td class="markdownTableBodyNone">Calculate </td><td class="markdownTableBodyNone">Lunar eclipse occurrence and circumstances </td></tr> | |
| <tr class="markdownTableRowEven"> | |
| <td class="markdownTableBodyNone">Calculate </td><td class="markdownTableBodyNone">Solar eclipse occurrence and circumstances </td></tr> | |
| </table> | |
| </div></div><!-- PageDoc --> | |
| </div><!-- contents --> | |
| </div><!-- doc-content --> | |
| <!-- start footer part --> | |
| <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> | |
| <ul> | |
| <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li> | |
| </ul> | |
| </div> | |
| </body> | |
| </html> | |