Spaces:
Running
Running
Upload 303 files
Browse filesThis view is limited to 50 files because it contains too many changes. See raw diff
- .gitattributes +1 -0
- practical_astronomy/mcp_output/README_MCP.md +83 -0
- practical_astronomy/mcp_output/analysis.json +497 -0
- practical_astronomy/mcp_output/env_info.json +17 -0
- practical_astronomy/mcp_output/mcp_logs/llm_statistics.json +11 -0
- practical_astronomy/mcp_output/mcp_logs/run_log.json +76 -0
- practical_astronomy/mcp_output/mcp_plugin/__init__.py +0 -0
- practical_astronomy/mcp_output/mcp_plugin/__pycache__/adapter.cpython-310.pyc +0 -0
- practical_astronomy/mcp_output/mcp_plugin/__pycache__/mcp_service.cpython-310.pyc +0 -0
- practical_astronomy/mcp_output/mcp_plugin/adapter.py +224 -0
- practical_astronomy/mcp_output/mcp_plugin/main.py +13 -0
- practical_astronomy/mcp_output/mcp_plugin/mcp_service.py +710 -0
- practical_astronomy/mcp_output/requirements.txt +2 -0
- practical_astronomy/mcp_output/simple_revise_error_analysis.json +6 -0
- practical_astronomy/mcp_output/start_mcp.py +33 -0
- practical_astronomy/mcp_output/tests_mcp/test_mcp_basic.py +49 -0
- practical_astronomy/mcp_output/tests_smoke/test_smoke.py +29 -0
- practical_astronomy/source/.gitignore +3 -0
- practical_astronomy/source/CHANGELOG.md +11 -0
- practical_astronomy/source/LICENSE +19 -0
- practical_astronomy/source/Makefile +55 -0
- practical_astronomy/source/README.md +117 -0
- practical_astronomy/source/__init__.py +4 -0
- practical_astronomy/source/docs-gen/Doxyfile +27 -0
- practical_astronomy/source/docs-gen/Makefile +13 -0
- practical_astronomy/source/docs-gen/src/glossary.md +417 -0
- practical_astronomy/source/docs/README_8md.html +98 -0
- practical_astronomy/source/docs/____init_____8py.html +106 -0
- practical_astronomy/source/docs/bc_s.png +0 -0
- practical_astronomy/source/docs/bdwn.png +0 -0
- practical_astronomy/source/docs/closed.png +0 -0
- practical_astronomy/source/docs/dir_45978790aec87fba6f3407586a078612.html +130 -0
- practical_astronomy/source/docs/dir_45978790aec87fba6f3407586a078612.js +17 -0
- practical_astronomy/source/docs/dir_68267d1309a1af8e8297ef4c3efbcdba.html +104 -0
- practical_astronomy/source/docs/dir_68267d1309a1af8e8297ef4c3efbcdba.js +4 -0
- practical_astronomy/source/docs/dir_8ebb4883bd5210c1437544ca4cb0df32.html +98 -0
- practical_astronomy/source/docs/doc.png +0 -0
- practical_astronomy/source/docs/doxygen.css +1793 -0
- practical_astronomy/source/docs/doxygen.svg +26 -0
- practical_astronomy/source/docs/dynsections.js +121 -0
- practical_astronomy/source/docs/files.html +118 -0
- practical_astronomy/source/docs/files_dup.js +5 -0
- practical_astronomy/source/docs/folderclosed.png +0 -0
- practical_astronomy/source/docs/folderopen.png +0 -0
- practical_astronomy/source/docs/glossary_8md.html +98 -0
- practical_astronomy/source/docs/index.html +239 -0
- practical_astronomy/source/docs/jquery.js +0 -0
- practical_astronomy/source/docs/md_src_glossary.html +497 -0
- practical_astronomy/source/docs/menu.js +51 -0
- practical_astronomy/source/docs/menudata.js +77 -0
.gitattributes
CHANGED
|
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
| 36 |
+
practical_astronomy/source/src/practical_astronomy/__pycache__/pa_macro.cpython-310.pyc filter=lfs diff=lfs merge=lfs -text
|
practical_astronomy/mcp_output/README_MCP.md
ADDED
|
@@ -0,0 +1,83 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Practical Astronomy Python Plugin
|
| 2 |
+
|
| 3 |
+
## Overview
|
| 4 |
+
|
| 5 |
+
The Practical Astronomy Python Plugin is a comprehensive library designed to assist with various astronomical calculations and data processing tasks. This plugin is part of the [Practical Astronomy Python](https://github.com/jfcarr/practical-astronomy-python) project, which provides tools for handling celestial mechanics, coordinate transformations, and other astronomy-related computations.
|
| 6 |
+
|
| 7 |
+
## Installation
|
| 8 |
+
|
| 9 |
+
To install the Practical Astronomy Python Plugin, ensure you have Python installed on your system. The plugin can be installed using the following steps:
|
| 10 |
+
|
| 11 |
+
1. Clone the repository:
|
| 12 |
+
```
|
| 13 |
+
git clone https://github.com/jfcarr/practical-astronomy-python.git
|
| 14 |
+
```
|
| 15 |
+
|
| 16 |
+
2. Navigate to the project directory:
|
| 17 |
+
```
|
| 18 |
+
cd practical-astronomy-python
|
| 19 |
+
```
|
| 20 |
+
|
| 21 |
+
3. Install the package using `pip`:
|
| 22 |
+
```
|
| 23 |
+
pip install .
|
| 24 |
+
```
|
| 25 |
+
|
| 26 |
+
Alternatively, you can use the `pyproject.toml` file to manage dependencies and build the project.
|
| 27 |
+
|
| 28 |
+
## Usage
|
| 29 |
+
|
| 30 |
+
The Practical Astronomy Python Plugin provides a variety of modules for different astronomical calculations. Below are some examples of how to use the plugin:
|
| 31 |
+
|
| 32 |
+
### Coordinate Transformations
|
| 33 |
+
|
| 34 |
+
To perform coordinate transformations, you can use the `pa_coordinate` module:
|
| 35 |
+
|
| 36 |
+
```python
|
| 37 |
+
from practical_astronomy import pa_coordinate
|
| 38 |
+
|
| 39 |
+
# Example usage
|
| 40 |
+
result = pa_coordinate.some_function()
|
| 41 |
+
print(result)
|
| 42 |
+
```
|
| 43 |
+
|
| 44 |
+
### Calculating Eclipses
|
| 45 |
+
|
| 46 |
+
To calculate eclipses, utilize the `pa_eclipses` module:
|
| 47 |
+
|
| 48 |
+
```python
|
| 49 |
+
from practical_astronomy import pa_eclipses
|
| 50 |
+
|
| 51 |
+
# Example usage
|
| 52 |
+
eclipse_data = pa_eclipses.calculate_eclipse()
|
| 53 |
+
print(eclipse_data)
|
| 54 |
+
```
|
| 55 |
+
|
| 56 |
+
## Available Tool Endpoints
|
| 57 |
+
|
| 58 |
+
The plugin includes several modules, each with specific functionalities:
|
| 59 |
+
|
| 60 |
+
- `pa_binary`: Functions related to binary star systems.
|
| 61 |
+
- `pa_comet`: Tools for comet calculations.
|
| 62 |
+
- `pa_coordinate`: Coordinate transformation utilities.
|
| 63 |
+
- `pa_datetime`: Date and time utilities for astronomical events.
|
| 64 |
+
- `pa_eclipses`: Eclipse prediction and calculation.
|
| 65 |
+
- `pa_macro`: Macro functions for various astronomical calculations.
|
| 66 |
+
- `pa_moon`: Lunar calculations and data.
|
| 67 |
+
- `pa_planet`: Planetary data and calculations.
|
| 68 |
+
- `pa_sun`: Solar calculations and data.
|
| 69 |
+
- `pa_util`: Utility functions for general use.
|
| 70 |
+
|
| 71 |
+
## Notes and Troubleshooting
|
| 72 |
+
|
| 73 |
+
- Ensure that all dependencies are correctly installed. The project uses `pyproject.toml` for dependency management.
|
| 74 |
+
- If you encounter issues with installation or usage, verify that your Python environment is correctly set up and that all necessary packages are installed.
|
| 75 |
+
- For further assistance, refer to the [GitHub repository](https://github.com/jfcarr/practical-astronomy-python) for additional documentation and support.
|
| 76 |
+
|
| 77 |
+
## Contributing
|
| 78 |
+
|
| 79 |
+
Contributions to the Practical Astronomy Python Plugin are welcome. Please fork the repository and submit a pull request with your changes. Ensure that your code adheres to the project's coding standards and includes appropriate tests.
|
| 80 |
+
|
| 81 |
+
## License
|
| 82 |
+
|
| 83 |
+
This project is licensed under the MIT License. See the [LICENSE](https://github.com/jfcarr/practical-astronomy-python/blob/main/LICENSE) file for more details.
|
practical_astronomy/mcp_output/analysis.json
ADDED
|
@@ -0,0 +1,497 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"summary": {
|
| 3 |
+
"repository_url": "https://github.com/jfcarr/practical-astronomy-python",
|
| 4 |
+
"summary": "Imported via zip fallback, file count: 112",
|
| 5 |
+
"file_tree": {
|
| 6 |
+
"CHANGELOG.md": {
|
| 7 |
+
"size": 218
|
| 8 |
+
},
|
| 9 |
+
"README.md": {
|
| 10 |
+
"size": 3460
|
| 11 |
+
},
|
| 12 |
+
"docs-gen/src/glossary.md": {
|
| 13 |
+
"size": 25334
|
| 14 |
+
},
|
| 15 |
+
"docs/dir_45978790aec87fba6f3407586a078612.js": {
|
| 16 |
+
"size": 990
|
| 17 |
+
},
|
| 18 |
+
"docs/dir_68267d1309a1af8e8297ef4c3efbcdba.js": {
|
| 19 |
+
"size": 162
|
| 20 |
+
},
|
| 21 |
+
"docs/dynsections.js": {
|
| 22 |
+
"size": 4452
|
| 23 |
+
},
|
| 24 |
+
"docs/files_dup.js": {
|
| 25 |
+
"size": 185
|
| 26 |
+
},
|
| 27 |
+
"docs/jquery.js": {
|
| 28 |
+
"size": 175451
|
| 29 |
+
},
|
| 30 |
+
"docs/menu.js": {
|
| 31 |
+
"size": 3222
|
| 32 |
+
},
|
| 33 |
+
"docs/menudata.js": {
|
| 34 |
+
"size": 4010
|
| 35 |
+
},
|
| 36 |
+
"docs/namespacemembers_dup.js": {
|
| 37 |
+
"size": 994
|
| 38 |
+
},
|
| 39 |
+
"docs/namespacemembers_func.js": {
|
| 40 |
+
"size": 1100
|
| 41 |
+
},
|
| 42 |
+
"docs/namespacepractical__astronomy.js": {
|
| 43 |
+
"size": 29160
|
| 44 |
+
},
|
| 45 |
+
"docs/namespaces_dup.js": {
|
| 46 |
+
"size": 126
|
| 47 |
+
},
|
| 48 |
+
"docs/navtree.js": {
|
| 49 |
+
"size": 15609
|
| 50 |
+
},
|
| 51 |
+
"docs/navtreedata.js": {
|
| 52 |
+
"size": 11924
|
| 53 |
+
},
|
| 54 |
+
"docs/navtreeindex0.js": {
|
| 55 |
+
"size": 13734
|
| 56 |
+
},
|
| 57 |
+
"docs/navtreeindex1.js": {
|
| 58 |
+
"size": 22396
|
| 59 |
+
},
|
| 60 |
+
"docs/navtreeindex2.js": {
|
| 61 |
+
"size": 12319
|
| 62 |
+
},
|
| 63 |
+
"docs/pa__binary_8py.js": {
|
| 64 |
+
"size": 116
|
| 65 |
+
},
|
| 66 |
+
"docs/pa__binary__data_8py.js": {
|
| 67 |
+
"size": 217
|
| 68 |
+
},
|
| 69 |
+
"docs/pa__comet_8py.js": {
|
| 70 |
+
"size": 226
|
| 71 |
+
},
|
| 72 |
+
"docs/pa__comet__data_8py.js": {
|
| 73 |
+
"size": 435
|
| 74 |
+
},
|
| 75 |
+
"docs/pa__coordinate_8py.js": {
|
| 76 |
+
"size": 2460
|
| 77 |
+
},
|
| 78 |
+
"docs/pa__datetime_8py.js": {
|
| 79 |
+
"size": 2017
|
| 80 |
+
},
|
| 81 |
+
"docs/pa__eclipses_8py.js": {
|
| 82 |
+
"size": 436
|
| 83 |
+
},
|
| 84 |
+
"docs/pa__macro_8py.js": {
|
| 85 |
+
"size": 13320
|
| 86 |
+
},
|
| 87 |
+
"docs/pa__moon_8py.js": {
|
| 88 |
+
"size": 604
|
| 89 |
+
},
|
| 90 |
+
"docs/pa__planet_8py.js": {
|
| 91 |
+
"size": 331
|
| 92 |
+
},
|
| 93 |
+
"docs/pa__planet__data_8py.js": {
|
| 94 |
+
"size": 217
|
| 95 |
+
},
|
| 96 |
+
"docs/pa__sun_8py.js": {
|
| 97 |
+
"size": 682
|
| 98 |
+
},
|
| 99 |
+
"docs/pa__util_8py.js": {
|
| 100 |
+
"size": 269
|
| 101 |
+
},
|
| 102 |
+
"docs/resize.js": {
|
| 103 |
+
"size": 5054
|
| 104 |
+
},
|
| 105 |
+
"docs/search/all_0.js": {
|
| 106 |
+
"size": 101
|
| 107 |
+
},
|
| 108 |
+
"docs/search/all_1.js": {
|
| 109 |
+
"size": 1514
|
| 110 |
+
},
|
| 111 |
+
"docs/search/all_10.js": {
|
| 112 |
+
"size": 5761
|
| 113 |
+
},
|
| 114 |
+
"docs/search/all_11.js": {
|
| 115 |
+
"size": 1769
|
| 116 |
+
},
|
| 117 |
+
"docs/search/all_12.js": {
|
| 118 |
+
"size": 4749
|
| 119 |
+
},
|
| 120 |
+
"docs/search/all_13.js": {
|
| 121 |
+
"size": 1122
|
| 122 |
+
},
|
| 123 |
+
"docs/search/all_14.js": {
|
| 124 |
+
"size": 4578
|
| 125 |
+
},
|
| 126 |
+
"docs/search/all_15.js": {
|
| 127 |
+
"size": 222
|
| 128 |
+
},
|
| 129 |
+
"docs/search/all_2.js": {
|
| 130 |
+
"size": 370
|
| 131 |
+
},
|
| 132 |
+
"docs/search/all_3.js": {
|
| 133 |
+
"size": 1777
|
| 134 |
+
},
|
| 135 |
+
"docs/search/all_4.js": {
|
| 136 |
+
"size": 2519
|
| 137 |
+
},
|
| 138 |
+
"docs/search/all_5.js": {
|
| 139 |
+
"size": 4292
|
| 140 |
+
},
|
| 141 |
+
"docs/search/all_6.js": {
|
| 142 |
+
"size": 632
|
| 143 |
+
},
|
| 144 |
+
"docs/search/all_7.js": {
|
| 145 |
+
"size": 2396
|
| 146 |
+
},
|
| 147 |
+
"docs/search/all_8.js": {
|
| 148 |
+
"size": 1293
|
| 149 |
+
},
|
| 150 |
+
"docs/search/all_9.js": {
|
| 151 |
+
"size": 332
|
| 152 |
+
},
|
| 153 |
+
"docs/search/all_a.js": {
|
| 154 |
+
"size": 1452
|
| 155 |
+
},
|
| 156 |
+
"docs/search/all_b.js": {
|
| 157 |
+
"size": 177
|
| 158 |
+
},
|
| 159 |
+
"docs/search/all_c.js": {
|
| 160 |
+
"size": 2227
|
| 161 |
+
},
|
| 162 |
+
"docs/search/all_d.js": {
|
| 163 |
+
"size": 6237
|
| 164 |
+
},
|
| 165 |
+
"docs/search/all_e.js": {
|
| 166 |
+
"size": 944
|
| 167 |
+
},
|
| 168 |
+
"docs/search/all_f.js": {
|
| 169 |
+
"size": 170
|
| 170 |
+
},
|
| 171 |
+
"docs/search/files_0.js": {
|
| 172 |
+
"size": 103
|
| 173 |
+
},
|
| 174 |
+
"docs/search/files_1.js": {
|
| 175 |
+
"size": 91
|
| 176 |
+
},
|
| 177 |
+
"docs/search/files_2.js": {
|
| 178 |
+
"size": 1069
|
| 179 |
+
},
|
| 180 |
+
"docs/search/files_3.js": {
|
| 181 |
+
"size": 85
|
| 182 |
+
},
|
| 183 |
+
"docs/search/functions_0.js": {
|
| 184 |
+
"size": 1530
|
| 185 |
+
},
|
| 186 |
+
"docs/search/functions_1.js": {
|
| 187 |
+
"size": 200
|
| 188 |
+
},
|
| 189 |
+
"docs/search/functions_10.js": {
|
| 190 |
+
"size": 1704
|
| 191 |
+
},
|
| 192 |
+
"docs/search/functions_11.js": {
|
| 193 |
+
"size": 4749
|
| 194 |
+
},
|
| 195 |
+
"docs/search/functions_12.js": {
|
| 196 |
+
"size": 1122
|
| 197 |
+
},
|
| 198 |
+
"docs/search/functions_13.js": {
|
| 199 |
+
"size": 4578
|
| 200 |
+
},
|
| 201 |
+
"docs/search/functions_14.js": {
|
| 202 |
+
"size": 222
|
| 203 |
+
},
|
| 204 |
+
"docs/search/functions_2.js": {
|
| 205 |
+
"size": 1410
|
| 206 |
+
},
|
| 207 |
+
"docs/search/functions_3.js": {
|
| 208 |
+
"size": 2534
|
| 209 |
+
},
|
| 210 |
+
"docs/search/functions_4.js": {
|
| 211 |
+
"size": 4316
|
| 212 |
+
},
|
| 213 |
+
"docs/search/functions_5.js": {
|
| 214 |
+
"size": 636
|
| 215 |
+
},
|
| 216 |
+
"docs/search/functions_6.js": {
|
| 217 |
+
"size": 2250
|
| 218 |
+
},
|
| 219 |
+
"docs/search/functions_7.js": {
|
| 220 |
+
"size": 1300
|
| 221 |
+
},
|
| 222 |
+
"docs/search/functions_8.js": {
|
| 223 |
+
"size": 334
|
| 224 |
+
},
|
| 225 |
+
"docs/search/functions_9.js": {
|
| 226 |
+
"size": 1460
|
| 227 |
+
},
|
| 228 |
+
"docs/search/functions_a.js": {
|
| 229 |
+
"size": 178
|
| 230 |
+
},
|
| 231 |
+
"docs/search/functions_b.js": {
|
| 232 |
+
"size": 2233
|
| 233 |
+
},
|
| 234 |
+
"docs/search/functions_c.js": {
|
| 235 |
+
"size": 6237
|
| 236 |
+
},
|
| 237 |
+
"docs/search/functions_d.js": {
|
| 238 |
+
"size": 944
|
| 239 |
+
},
|
| 240 |
+
"docs/search/functions_e.js": {
|
| 241 |
+
"size": 170
|
| 242 |
+
},
|
| 243 |
+
"docs/search/functions_f.js": {
|
| 244 |
+
"size": 2770
|
| 245 |
+
},
|
| 246 |
+
"docs/search/namespaces_0.js": {
|
| 247 |
+
"size": 1693
|
| 248 |
+
},
|
| 249 |
+
"docs/search/pages_0.js": {
|
| 250 |
+
"size": 108
|
| 251 |
+
},
|
| 252 |
+
"docs/search/pages_1.js": {
|
| 253 |
+
"size": 116
|
| 254 |
+
},
|
| 255 |
+
"docs/search/search.js": {
|
| 256 |
+
"size": 23521
|
| 257 |
+
},
|
| 258 |
+
"docs/search/searchdata.js": {
|
| 259 |
+
"size": 392
|
| 260 |
+
},
|
| 261 |
+
"docs/search/variables_0.js": {
|
| 262 |
+
"size": 193
|
| 263 |
+
},
|
| 264 |
+
"docs/search/variables_1.js": {
|
| 265 |
+
"size": 396
|
| 266 |
+
},
|
| 267 |
+
"docs/search/variables_2.js": {
|
| 268 |
+
"size": 193
|
| 269 |
+
},
|
| 270 |
+
"pyproject.toml": {
|
| 271 |
+
"size": 688
|
| 272 |
+
},
|
| 273 |
+
"src/practical_astronomy/__init__.py": {
|
| 274 |
+
"size": 0
|
| 275 |
+
},
|
| 276 |
+
"src/practical_astronomy/pa_binary.py": {
|
| 277 |
+
"size": 1724
|
| 278 |
+
},
|
| 279 |
+
"src/practical_astronomy/pa_binary_data.py": {
|
| 280 |
+
"size": 2118
|
| 281 |
+
},
|
| 282 |
+
"src/practical_astronomy/pa_comet.py": {
|
| 283 |
+
"size": 7666
|
| 284 |
+
},
|
| 285 |
+
"src/practical_astronomy/pa_comet_data.py": {
|
| 286 |
+
"size": 3610
|
| 287 |
+
},
|
| 288 |
+
"src/practical_astronomy/pa_coordinate.py": {
|
| 289 |
+
"size": 28562
|
| 290 |
+
},
|
| 291 |
+
"src/practical_astronomy/pa_datetime.py": {
|
| 292 |
+
"size": 7006
|
| 293 |
+
},
|
| 294 |
+
"src/practical_astronomy/pa_eclipses.py": {
|
| 295 |
+
"size": 14838
|
| 296 |
+
},
|
| 297 |
+
"src/practical_astronomy/pa_macro.py": {
|
| 298 |
+
"size": 147348
|
| 299 |
+
},
|
| 300 |
+
"src/practical_astronomy/pa_moon.py": {
|
| 301 |
+
"size": 18381
|
| 302 |
+
},
|
| 303 |
+
"src/practical_astronomy/pa_planet.py": {
|
| 304 |
+
"size": 11275
|
| 305 |
+
},
|
| 306 |
+
"src/practical_astronomy/pa_planet_data.py": {
|
| 307 |
+
"size": 1971
|
| 308 |
+
},
|
| 309 |
+
"src/practical_astronomy/pa_sun.py": {
|
| 310 |
+
"size": 13296
|
| 311 |
+
},
|
| 312 |
+
"src/practical_astronomy/pa_util.py": {
|
| 313 |
+
"size": 422
|
| 314 |
+
},
|
| 315 |
+
"test_coordinate.py": {
|
| 316 |
+
"size": 26244
|
| 317 |
+
},
|
| 318 |
+
"test_date_of_easter.py": {
|
| 319 |
+
"size": 950
|
| 320 |
+
},
|
| 321 |
+
"test_day_number.py": {
|
| 322 |
+
"size": 631
|
| 323 |
+
},
|
| 324 |
+
"test_eclipses.py": {
|
| 325 |
+
"size": 7283
|
| 326 |
+
},
|
| 327 |
+
"test_julian.py": {
|
| 328 |
+
"size": 2069
|
| 329 |
+
},
|
| 330 |
+
"test_moon.py": {
|
| 331 |
+
"size": 8880
|
| 332 |
+
},
|
| 333 |
+
"test_planet_comet_binary.py": {
|
| 334 |
+
"size": 8151
|
| 335 |
+
},
|
| 336 |
+
"test_sun.py": {
|
| 337 |
+
"size": 8206
|
| 338 |
+
},
|
| 339 |
+
"test_time.py": {
|
| 340 |
+
"size": 6694
|
| 341 |
+
}
|
| 342 |
+
},
|
| 343 |
+
"processed_by": "zip_fallback",
|
| 344 |
+
"success": true
|
| 345 |
+
},
|
| 346 |
+
"structure": {
|
| 347 |
+
"packages": [
|
| 348 |
+
"source.src.practical_astronomy"
|
| 349 |
+
]
|
| 350 |
+
},
|
| 351 |
+
"dependencies": {
|
| 352 |
+
"has_environment_yml": false,
|
| 353 |
+
"has_requirements_txt": false,
|
| 354 |
+
"pyproject": true,
|
| 355 |
+
"setup_cfg": false,
|
| 356 |
+
"setup_py": false
|
| 357 |
+
},
|
| 358 |
+
"entry_points": {
|
| 359 |
+
"imports": [],
|
| 360 |
+
"cli": [],
|
| 361 |
+
"modules": []
|
| 362 |
+
},
|
| 363 |
+
"llm_analysis": {
|
| 364 |
+
"core_modules": [
|
| 365 |
+
{
|
| 366 |
+
"package": "source.src.practical_astronomy",
|
| 367 |
+
"module": "pa_binary",
|
| 368 |
+
"functions": [
|
| 369 |
+
"calculate_binary_star_orbit",
|
| 370 |
+
"get_binary_star_data"
|
| 371 |
+
],
|
| 372 |
+
"classes": [],
|
| 373 |
+
"description": "Functions related to binary star calculations."
|
| 374 |
+
},
|
| 375 |
+
{
|
| 376 |
+
"package": "source.src.practical_astronomy",
|
| 377 |
+
"module": "pa_comet",
|
| 378 |
+
"functions": [
|
| 379 |
+
"calculate_comet_position",
|
| 380 |
+
"get_comet_data"
|
| 381 |
+
],
|
| 382 |
+
"classes": [],
|
| 383 |
+
"description": "Functions for comet position calculations and data retrieval."
|
| 384 |
+
},
|
| 385 |
+
{
|
| 386 |
+
"package": "source.src.practical_astronomy",
|
| 387 |
+
"module": "pa_coordinate",
|
| 388 |
+
"functions": [
|
| 389 |
+
"convert_coordinates",
|
| 390 |
+
"get_coordinate_data"
|
| 391 |
+
],
|
| 392 |
+
"classes": [],
|
| 393 |
+
"description": "Functions for astronomical coordinate conversions."
|
| 394 |
+
},
|
| 395 |
+
{
|
| 396 |
+
"package": "source.src.practical_astronomy",
|
| 397 |
+
"module": "pa_datetime",
|
| 398 |
+
"functions": [
|
| 399 |
+
"convert_to_julian_date",
|
| 400 |
+
"get_current_astronomical_time"
|
| 401 |
+
],
|
| 402 |
+
"classes": [],
|
| 403 |
+
"description": "Functions for handling astronomical date and time conversions."
|
| 404 |
+
},
|
| 405 |
+
{
|
| 406 |
+
"package": "source.src.practical_astronomy",
|
| 407 |
+
"module": "pa_eclipses",
|
| 408 |
+
"functions": [
|
| 409 |
+
"calculate_solar_eclipse",
|
| 410 |
+
"calculate_lunar_eclipse"
|
| 411 |
+
],
|
| 412 |
+
"classes": [],
|
| 413 |
+
"description": "Functions for calculating solar and lunar eclipses."
|
| 414 |
+
},
|
| 415 |
+
{
|
| 416 |
+
"package": "source.src.practical_astronomy",
|
| 417 |
+
"module": "pa_macro",
|
| 418 |
+
"functions": [
|
| 419 |
+
"run_astronomical_macro"
|
| 420 |
+
],
|
| 421 |
+
"classes": [],
|
| 422 |
+
"description": "Functions for executing predefined astronomical macros."
|
| 423 |
+
},
|
| 424 |
+
{
|
| 425 |
+
"package": "source.src.practical_astronomy",
|
| 426 |
+
"module": "pa_moon",
|
| 427 |
+
"functions": [
|
| 428 |
+
"calculate_moon_phase",
|
| 429 |
+
"get_moon_data"
|
| 430 |
+
],
|
| 431 |
+
"classes": [],
|
| 432 |
+
"description": "Functions for moon phase calculations and data retrieval."
|
| 433 |
+
},
|
| 434 |
+
{
|
| 435 |
+
"package": "source.src.practical_astronomy",
|
| 436 |
+
"module": "pa_planet",
|
| 437 |
+
"functions": [
|
| 438 |
+
"calculate_planet_position",
|
| 439 |
+
"get_planet_data"
|
| 440 |
+
],
|
| 441 |
+
"classes": [],
|
| 442 |
+
"description": "Functions for planet position calculations and data retrieval."
|
| 443 |
+
},
|
| 444 |
+
{
|
| 445 |
+
"package": "source.src.practical_astronomy",
|
| 446 |
+
"module": "pa_sun",
|
| 447 |
+
"functions": [
|
| 448 |
+
"calculate_sun_position",
|
| 449 |
+
"get_sun_data"
|
| 450 |
+
],
|
| 451 |
+
"classes": [],
|
| 452 |
+
"description": "Functions for sun position calculations and data retrieval."
|
| 453 |
+
},
|
| 454 |
+
{
|
| 455 |
+
"package": "source.src.practical_astronomy",
|
| 456 |
+
"module": "pa_util",
|
| 457 |
+
"functions": [
|
| 458 |
+
"utility_function"
|
| 459 |
+
],
|
| 460 |
+
"classes": [],
|
| 461 |
+
"description": "Utility functions for various astronomical calculations."
|
| 462 |
+
}
|
| 463 |
+
],
|
| 464 |
+
"cli_commands": [],
|
| 465 |
+
"import_strategy": {
|
| 466 |
+
"primary": "import",
|
| 467 |
+
"fallback": "blackbox",
|
| 468 |
+
"confidence": 0.85
|
| 469 |
+
},
|
| 470 |
+
"dependencies": {
|
| 471 |
+
"required": [],
|
| 472 |
+
"optional": []
|
| 473 |
+
},
|
| 474 |
+
"risk_assessment": {
|
| 475 |
+
"import_feasibility": 0.85,
|
| 476 |
+
"intrusiveness_risk": "low",
|
| 477 |
+
"complexity": "medium"
|
| 478 |
+
}
|
| 479 |
+
},
|
| 480 |
+
"deepwiki_analysis": {
|
| 481 |
+
"repo_url": "https://github.com/jfcarr/practical-astronomy-python",
|
| 482 |
+
"repo_name": "practical-astronomy-python",
|
| 483 |
+
"content": null,
|
| 484 |
+
"model": "gpt-4o",
|
| 485 |
+
"source": "selenium",
|
| 486 |
+
"success": true
|
| 487 |
+
},
|
| 488 |
+
"deepwiki_options": {
|
| 489 |
+
"enabled": true,
|
| 490 |
+
"model": "gpt-4o"
|
| 491 |
+
},
|
| 492 |
+
"risk": {
|
| 493 |
+
"import_feasibility": 0.85,
|
| 494 |
+
"intrusiveness_risk": "low",
|
| 495 |
+
"complexity": "medium"
|
| 496 |
+
}
|
| 497 |
+
}
|
practical_astronomy/mcp_output/env_info.json
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"environment": {
|
| 3 |
+
"type": "conda",
|
| 4 |
+
"name": "practical-astronomy-python_556933_env",
|
| 5 |
+
"files": {
|
| 6 |
+
"pyproject_toml": "/export/project/shiweijie/ghh/LLM_MCP_RAG/MCP-agent-github-repo-output/workspace/practical-astronomy-python/source/pyproject.toml"
|
| 7 |
+
},
|
| 8 |
+
"python": "3.10",
|
| 9 |
+
"exec_prefix": []
|
| 10 |
+
},
|
| 11 |
+
"original_tests": {
|
| 12 |
+
"passed": true,
|
| 13 |
+
"report_path": null
|
| 14 |
+
},
|
| 15 |
+
"timestamp": 1763557176.8413343,
|
| 16 |
+
"conda_available": true
|
| 17 |
+
}
|
practical_astronomy/mcp_output/mcp_logs/llm_statistics.json
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"total_calls": 11,
|
| 3 |
+
"failed_calls": 0,
|
| 4 |
+
"retry_count": 0,
|
| 5 |
+
"total_prompt_tokens": 22745,
|
| 6 |
+
"total_completion_tokens": 6197,
|
| 7 |
+
"total_tokens": 28942,
|
| 8 |
+
"average_prompt_tokens": 2067.7272727272725,
|
| 9 |
+
"average_completion_tokens": 563.3636363636364,
|
| 10 |
+
"average_tokens": 2631.090909090909
|
| 11 |
+
}
|
practical_astronomy/mcp_output/mcp_logs/run_log.json
ADDED
|
@@ -0,0 +1,76 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"timestamp": 1763557471.1230416,
|
| 3 |
+
"node": "RunNode",
|
| 4 |
+
"test_result": {
|
| 5 |
+
"passed": false,
|
| 6 |
+
"report_path": null,
|
| 7 |
+
"stdout": "",
|
| 8 |
+
"stderr": "ERROR conda.cli.main_run:execute(41): `conda run python mcp_output/start_mcp.py` failed. (See above for error)\nTraceback (most recent call last):\n File \"/export/project/shiweijie/ghh/LLM_MCP_RAG/MCP-agent-github-repo-output/workspace/practical-astronomy-python/mcp_output/start_mcp.py\", line 17, in <module>\n from mcp_service import create_app\n File \"/export/project/shiweijie/ghh/LLM_MCP_RAG/MCP-agent-github-repo-output/workspace/practical-astronomy-python/mcp_output/mcp_plugin/mcp_service.py\", line 5, in <module>\n from src.practical_astronomy.pa_coordinate import *\nModuleNotFoundError: No module named 'src'\n\n"
|
| 9 |
+
},
|
| 10 |
+
"run_result": {
|
| 11 |
+
"success": false,
|
| 12 |
+
"test_passed": false,
|
| 13 |
+
"exit_code": 1,
|
| 14 |
+
"stdout": "",
|
| 15 |
+
"stderr": "ERROR conda.cli.main_run:execute(41): `conda run python mcp_output/start_mcp.py` failed. (See above for error)\nTraceback (most recent call last):\n File \"/export/project/shiweijie/ghh/LLM_MCP_RAG/MCP-agent-github-repo-output/workspace/practical-astronomy-python/mcp_output/start_mcp.py\", line 17, in <module>\n from mcp_service import create_app\n File \"/export/project/shiweijie/ghh/LLM_MCP_RAG/MCP-agent-github-repo-output/workspace/practical-astronomy-python/mcp_output/mcp_plugin/mcp_service.py\", line 5, in <module>\n from src.practical_astronomy.pa_coordinate import *\nModuleNotFoundError: No module named 'src'\n\n",
|
| 16 |
+
"timestamp": 1763557471.1229722,
|
| 17 |
+
"error_type": "ImportError",
|
| 18 |
+
"error": "Module import failed: ERROR conda.cli.main_run:execute(41): `conda run python mcp_output/start_mcp.py` failed. (See above for error)\nTraceback (most recent call last):\n File \"/export/project/shiweijie/ghh/LLM_MCP_RAG/MCP-agent-github-repo-output/workspace/practical-astronomy-python/mcp_output/start_mcp.py\", line 17, in <module>\n from mcp_service import create_app\n File \"/export/project/shiweijie/ghh/LLM_MCP_RAG/MCP-agent-github-repo-output/workspace/practical-astronomy-python/mcp_output/mcp_plugin/mcp_service.py\", line 5, in <module>\n from src.practical_astronomy.pa_coordinate import *\nModuleNotFoundError: No module named 'src'\n\n",
|
| 19 |
+
"details": {
|
| 20 |
+
"command": "/home/wshiah/code/miniconda3/bin/conda run -n practical-astronomy-python_556933_env --cwd /export/project/shiweijie/ghh/LLM_MCP_RAG/MCP-agent-github-repo-output/workspace/practical-astronomy-python python mcp_output/start_mcp.py",
|
| 21 |
+
"working_directory": "/export/project/shiweijie/ghh/LLM_MCP_RAG/MCP-agent-github-repo-output/workspace/practical-astronomy-python",
|
| 22 |
+
"environment_type": "conda"
|
| 23 |
+
}
|
| 24 |
+
},
|
| 25 |
+
"environment": {
|
| 26 |
+
"type": "conda",
|
| 27 |
+
"name": "practical-astronomy-python_556933_env",
|
| 28 |
+
"files": {
|
| 29 |
+
"pyproject_toml": "/export/project/shiweijie/ghh/LLM_MCP_RAG/MCP-agent-github-repo-output/workspace/practical-astronomy-python/source/pyproject.toml"
|
| 30 |
+
},
|
| 31 |
+
"python": "3.10",
|
| 32 |
+
"exec_prefix": []
|
| 33 |
+
},
|
| 34 |
+
"plugin_info": {
|
| 35 |
+
"files": {
|
| 36 |
+
"mcp_output/start_mcp.py": "/export/project/shiweijie/ghh/LLM_MCP_RAG/MCP-agent-github-repo-output/workspace/practical-astronomy-python/mcp_output/start_mcp.py",
|
| 37 |
+
"mcp_output/mcp_plugin/__init__.py": "/export/project/shiweijie/ghh/LLM_MCP_RAG/MCP-agent-github-repo-output/workspace/practical-astronomy-python/mcp_output/mcp_plugin/__init__.py",
|
| 38 |
+
"mcp_output/mcp_plugin/mcp_service.py": "/export/project/shiweijie/ghh/LLM_MCP_RAG/MCP-agent-github-repo-output/workspace/practical-astronomy-python/mcp_output/mcp_plugin/mcp_service.py",
|
| 39 |
+
"mcp_output/mcp_plugin/adapter.py": "/export/project/shiweijie/ghh/LLM_MCP_RAG/MCP-agent-github-repo-output/workspace/practical-astronomy-python/mcp_output/mcp_plugin/adapter.py",
|
| 40 |
+
"mcp_output/mcp_plugin/main.py": "/export/project/shiweijie/ghh/LLM_MCP_RAG/MCP-agent-github-repo-output/workspace/practical-astronomy-python/mcp_output/mcp_plugin/main.py",
|
| 41 |
+
"mcp_output/requirements.txt": "/export/project/shiweijie/ghh/LLM_MCP_RAG/MCP-agent-github-repo-output/workspace/practical-astronomy-python/mcp_output/requirements.txt",
|
| 42 |
+
"mcp_output/README_MCP.md": "/export/project/shiweijie/ghh/LLM_MCP_RAG/MCP-agent-github-repo-output/workspace/practical-astronomy-python/mcp_output/README_MCP.md",
|
| 43 |
+
"mcp_output/tests_mcp/test_mcp_basic.py": "/export/project/shiweijie/ghh/LLM_MCP_RAG/MCP-agent-github-repo-output/workspace/practical-astronomy-python/mcp_output/tests_mcp/test_mcp_basic.py"
|
| 44 |
+
},
|
| 45 |
+
"adapter_mode": "import",
|
| 46 |
+
"endpoints": [
|
| 47 |
+
"calculate_binary_star_orbit",
|
| 48 |
+
"get_binary_star_data",
|
| 49 |
+
"calculate_comet_position",
|
| 50 |
+
"get_comet_data",
|
| 51 |
+
"convert_coordinates",
|
| 52 |
+
"get_coordinate_data",
|
| 53 |
+
"convert_to_julian_date",
|
| 54 |
+
"get_current_astronomical_time",
|
| 55 |
+
"calculate_solar_eclipse",
|
| 56 |
+
"calculate_lunar_eclipse",
|
| 57 |
+
"run_astronomical_macro",
|
| 58 |
+
"calculate_moon_phase",
|
| 59 |
+
"get_moon_data",
|
| 60 |
+
"calculate_planet_position",
|
| 61 |
+
"get_planet_data",
|
| 62 |
+
"calculate_sun_position",
|
| 63 |
+
"get_sun_data",
|
| 64 |
+
"utility_function"
|
| 65 |
+
],
|
| 66 |
+
"mcp_dir": "/export/project/shiweijie/ghh/LLM_MCP_RAG/MCP-agent-github-repo-output/workspace/practical-astronomy-python/mcp_output/mcp_plugin",
|
| 67 |
+
"tests_dir": "/export/project/shiweijie/ghh/LLM_MCP_RAG/MCP-agent-github-repo-output/workspace/practical-astronomy-python/mcp_output/tests_mcp",
|
| 68 |
+
"main_entry": "start_mcp.py",
|
| 69 |
+
"readme_path": "/export/project/shiweijie/ghh/LLM_MCP_RAG/MCP-agent-github-repo-output/workspace/practical-astronomy-python/mcp_output/README_MCP.md",
|
| 70 |
+
"requirements": [
|
| 71 |
+
"fastmcp>=0.1.0",
|
| 72 |
+
"pydantic>=2.0.0"
|
| 73 |
+
]
|
| 74 |
+
},
|
| 75 |
+
"fastmcp_installed": false
|
| 76 |
+
}
|
practical_astronomy/mcp_output/mcp_plugin/__init__.py
ADDED
|
File without changes
|
practical_astronomy/mcp_output/mcp_plugin/__pycache__/adapter.cpython-310.pyc
ADDED
|
Binary file (6.55 kB). View file
|
|
|
practical_astronomy/mcp_output/mcp_plugin/__pycache__/mcp_service.cpython-310.pyc
ADDED
|
Binary file (3.46 kB). View file
|
|
|
practical_astronomy/mcp_output/mcp_plugin/adapter.py
ADDED
|
@@ -0,0 +1,224 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import os
|
| 2 |
+
import sys
|
| 3 |
+
|
| 4 |
+
# Path settings
|
| 5 |
+
source_path = os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))), "source")
|
| 6 |
+
sys.path.insert(0, source_path)
|
| 7 |
+
|
| 8 |
+
# Import statements
|
| 9 |
+
try:
|
| 10 |
+
from src.practical_astronomy import pa_binary, pa_comet, pa_coordinate, pa_datetime, pa_eclipses, pa_macro, pa_moon, pa_planet, pa_sun, pa_util
|
| 11 |
+
except ImportError as e:
|
| 12 |
+
print("Failed to import modules from practical_astronomy. Please ensure the source path is correct.")
|
| 13 |
+
raise e
|
| 14 |
+
|
| 15 |
+
# Adapter class
|
| 16 |
+
class Adapter:
|
| 17 |
+
"""
|
| 18 |
+
Adapter class to interface with the practical-astronomy-python library.
|
| 19 |
+
Provides methods to utilize various astronomical calculations and data.
|
| 20 |
+
"""
|
| 21 |
+
|
| 22 |
+
def __init__(self):
|
| 23 |
+
self.mode = "import"
|
| 24 |
+
|
| 25 |
+
# -------------------- Binary Module Methods --------------------
|
| 26 |
+
|
| 27 |
+
def call_pa_binary_function(self, *args, **kwargs):
|
| 28 |
+
"""
|
| 29 |
+
Call a function from the pa_binary module.
|
| 30 |
+
|
| 31 |
+
Parameters:
|
| 32 |
+
- args: Positional arguments for the function.
|
| 33 |
+
- kwargs: Keyword arguments for the function.
|
| 34 |
+
|
| 35 |
+
Returns:
|
| 36 |
+
- dict: Contains the status and result of the function call.
|
| 37 |
+
"""
|
| 38 |
+
try:
|
| 39 |
+
result = pa_binary.some_function(*args, **kwargs)
|
| 40 |
+
return {"status": "success", "result": result}
|
| 41 |
+
except Exception as e:
|
| 42 |
+
return {"status": "error", "message": str(e)}
|
| 43 |
+
|
| 44 |
+
# -------------------- Comet Module Methods --------------------
|
| 45 |
+
|
| 46 |
+
def call_pa_comet_function(self, *args, **kwargs):
|
| 47 |
+
"""
|
| 48 |
+
Call a function from the pa_comet module.
|
| 49 |
+
|
| 50 |
+
Parameters:
|
| 51 |
+
- args: Positional arguments for the function.
|
| 52 |
+
- kwargs: Keyword arguments for the function.
|
| 53 |
+
|
| 54 |
+
Returns:
|
| 55 |
+
- dict: Contains the status and result of the function call.
|
| 56 |
+
"""
|
| 57 |
+
try:
|
| 58 |
+
result = pa_comet.some_function(*args, **kwargs)
|
| 59 |
+
return {"status": "success", "result": result}
|
| 60 |
+
except Exception as e:
|
| 61 |
+
return {"status": "error", "message": str(e)}
|
| 62 |
+
|
| 63 |
+
# -------------------- Coordinate Module Methods --------------------
|
| 64 |
+
|
| 65 |
+
def call_pa_coordinate_function(self, *args, **kwargs):
|
| 66 |
+
"""
|
| 67 |
+
Call a function from the pa_coordinate module.
|
| 68 |
+
|
| 69 |
+
Parameters:
|
| 70 |
+
- args: Positional arguments for the function.
|
| 71 |
+
- kwargs: Keyword arguments for the function.
|
| 72 |
+
|
| 73 |
+
Returns:
|
| 74 |
+
- dict: Contains the status and result of the function call.
|
| 75 |
+
"""
|
| 76 |
+
try:
|
| 77 |
+
result = pa_coordinate.some_function(*args, **kwargs)
|
| 78 |
+
return {"status": "success", "result": result}
|
| 79 |
+
except Exception as e:
|
| 80 |
+
return {"status": "error", "message": str(e)}
|
| 81 |
+
|
| 82 |
+
# -------------------- DateTime Module Methods --------------------
|
| 83 |
+
|
| 84 |
+
def call_pa_datetime_function(self, *args, **kwargs):
|
| 85 |
+
"""
|
| 86 |
+
Call a function from the pa_datetime module.
|
| 87 |
+
|
| 88 |
+
Parameters:
|
| 89 |
+
- args: Positional arguments for the function.
|
| 90 |
+
- kwargs: Keyword arguments for the function.
|
| 91 |
+
|
| 92 |
+
Returns:
|
| 93 |
+
- dict: Contains the status and result of the function call.
|
| 94 |
+
"""
|
| 95 |
+
try:
|
| 96 |
+
result = pa_datetime.some_function(*args, **kwargs)
|
| 97 |
+
return {"status": "success", "result": result}
|
| 98 |
+
except Exception as e:
|
| 99 |
+
return {"status": "error", "message": str(e)}
|
| 100 |
+
|
| 101 |
+
# -------------------- Eclipses Module Methods --------------------
|
| 102 |
+
|
| 103 |
+
def call_pa_eclipses_function(self, *args, **kwargs):
|
| 104 |
+
"""
|
| 105 |
+
Call a function from the pa_eclipses module.
|
| 106 |
+
|
| 107 |
+
Parameters:
|
| 108 |
+
- args: Positional arguments for the function.
|
| 109 |
+
- kwargs: Keyword arguments for the function.
|
| 110 |
+
|
| 111 |
+
Returns:
|
| 112 |
+
- dict: Contains the status and result of the function call.
|
| 113 |
+
"""
|
| 114 |
+
try:
|
| 115 |
+
result = pa_eclipses.some_function(*args, **kwargs)
|
| 116 |
+
return {"status": "success", "result": result}
|
| 117 |
+
except Exception as e:
|
| 118 |
+
return {"status": "error", "message": str(e)}
|
| 119 |
+
|
| 120 |
+
# -------------------- Macro Module Methods --------------------
|
| 121 |
+
|
| 122 |
+
def call_pa_macro_function(self, *args, **kwargs):
|
| 123 |
+
"""
|
| 124 |
+
Call a function from the pa_macro module.
|
| 125 |
+
|
| 126 |
+
Parameters:
|
| 127 |
+
- args: Positional arguments for the function.
|
| 128 |
+
- kwargs: Keyword arguments for the function.
|
| 129 |
+
|
| 130 |
+
Returns:
|
| 131 |
+
- dict: Contains the status and result of the function call.
|
| 132 |
+
"""
|
| 133 |
+
try:
|
| 134 |
+
result = pa_macro.some_function(*args, **kwargs)
|
| 135 |
+
return {"status": "success", "result": result}
|
| 136 |
+
except Exception as e:
|
| 137 |
+
return {"status": "error", "message": str(e)}
|
| 138 |
+
|
| 139 |
+
# -------------------- Moon Module Methods --------------------
|
| 140 |
+
|
| 141 |
+
def call_pa_moon_function(self, *args, **kwargs):
|
| 142 |
+
"""
|
| 143 |
+
Call a function from the pa_moon module.
|
| 144 |
+
|
| 145 |
+
Parameters:
|
| 146 |
+
- args: Positional arguments for the function.
|
| 147 |
+
- kwargs: Keyword arguments for the function.
|
| 148 |
+
|
| 149 |
+
Returns:
|
| 150 |
+
- dict: Contains the status and result of the function call.
|
| 151 |
+
"""
|
| 152 |
+
try:
|
| 153 |
+
result = pa_moon.some_function(*args, **kwargs)
|
| 154 |
+
return {"status": "success", "result": result}
|
| 155 |
+
except Exception as e:
|
| 156 |
+
return {"status": "error", "message": str(e)}
|
| 157 |
+
|
| 158 |
+
# -------------------- Planet Module Methods --------------------
|
| 159 |
+
|
| 160 |
+
def call_pa_planet_function(self, *args, **kwargs):
|
| 161 |
+
"""
|
| 162 |
+
Call a function from the pa_planet module.
|
| 163 |
+
|
| 164 |
+
Parameters:
|
| 165 |
+
- args: Positional arguments for the function.
|
| 166 |
+
- kwargs: Keyword arguments for the function.
|
| 167 |
+
|
| 168 |
+
Returns:
|
| 169 |
+
- dict: Contains the status and result of the function call.
|
| 170 |
+
"""
|
| 171 |
+
try:
|
| 172 |
+
result = pa_planet.some_function(*args, **kwargs)
|
| 173 |
+
return {"status": "success", "result": result}
|
| 174 |
+
except Exception as e:
|
| 175 |
+
return {"status": "error", "message": str(e)}
|
| 176 |
+
|
| 177 |
+
# -------------------- Sun Module Methods --------------------
|
| 178 |
+
|
| 179 |
+
def call_pa_sun_function(self, *args, **kwargs):
|
| 180 |
+
"""
|
| 181 |
+
Call a function from the pa_sun module.
|
| 182 |
+
|
| 183 |
+
Parameters:
|
| 184 |
+
- args: Positional arguments for the function.
|
| 185 |
+
- kwargs: Keyword arguments for the function.
|
| 186 |
+
|
| 187 |
+
Returns:
|
| 188 |
+
- dict: Contains the status and result of the function call.
|
| 189 |
+
"""
|
| 190 |
+
try:
|
| 191 |
+
result = pa_sun.some_function(*args, **kwargs)
|
| 192 |
+
return {"status": "success", "result": result}
|
| 193 |
+
except Exception as e:
|
| 194 |
+
return {"status": "error", "message": str(e)}
|
| 195 |
+
|
| 196 |
+
# -------------------- Util Module Methods --------------------
|
| 197 |
+
|
| 198 |
+
def call_pa_util_function(self, *args, **kwargs):
|
| 199 |
+
"""
|
| 200 |
+
Call a function from the pa_util module.
|
| 201 |
+
|
| 202 |
+
Parameters:
|
| 203 |
+
- args: Positional arguments for the function.
|
| 204 |
+
- kwargs: Keyword arguments for the function.
|
| 205 |
+
|
| 206 |
+
Returns:
|
| 207 |
+
- dict: Contains the status and result of the function call.
|
| 208 |
+
"""
|
| 209 |
+
try:
|
| 210 |
+
result = pa_util.some_function(*args, **kwargs)
|
| 211 |
+
return {"status": "success", "result": result}
|
| 212 |
+
except Exception as e:
|
| 213 |
+
return {"status": "error", "message": str(e)}
|
| 214 |
+
|
| 215 |
+
# -------------------- Error Handling --------------------
|
| 216 |
+
|
| 217 |
+
def handle_import_failure(self):
|
| 218 |
+
"""
|
| 219 |
+
Handle import failure gracefully.
|
| 220 |
+
|
| 221 |
+
Returns:
|
| 222 |
+
- dict: Contains the status and error message.
|
| 223 |
+
"""
|
| 224 |
+
return {"status": "error", "message": "Failed to import modules. Please check the source path and module availability."}
|
practical_astronomy/mcp_output/mcp_plugin/main.py
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"""
|
| 2 |
+
MCP Service Auto-Wrapper - Auto-generated
|
| 3 |
+
"""
|
| 4 |
+
from mcp_service import create_app
|
| 5 |
+
|
| 6 |
+
def main():
|
| 7 |
+
"""Main entry point"""
|
| 8 |
+
app = create_app()
|
| 9 |
+
return app
|
| 10 |
+
|
| 11 |
+
if __name__ == "__main__":
|
| 12 |
+
app = main()
|
| 13 |
+
app.run()
|
practical_astronomy/mcp_output/mcp_plugin/mcp_service.py
ADDED
|
@@ -0,0 +1,710 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import os
|
| 2 |
+
import sys
|
| 3 |
+
import math
|
| 4 |
+
from fastmcp import FastMCP
|
| 5 |
+
from src.practical_astronomy.pa_coordinate import *
|
| 6 |
+
from src.practical_astronomy.pa_datetime import *
|
| 7 |
+
from src.practical_astronomy.pa_eclipses import *
|
| 8 |
+
from src.practical_astronomy.pa_moon import *
|
| 9 |
+
from src.practical_astronomy.pa_planet import *
|
| 10 |
+
from src.practical_astronomy.pa_sun import *
|
| 11 |
+
|
| 12 |
+
# Path settings
|
| 13 |
+
source_path = os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))), "source")
|
| 14 |
+
sys.path.insert(0, source_path)
|
| 15 |
+
|
| 16 |
+
# Create the FastMCP service application
|
| 17 |
+
mcp = FastMCP("astronomy_service")
|
| 18 |
+
|
| 19 |
+
# ============================================================================
|
| 20 |
+
# MOON TOOLS
|
| 21 |
+
# ============================================================================
|
| 22 |
+
|
| 23 |
+
@mcp.tool(
|
| 24 |
+
name="approximate_position_of_moon",
|
| 25 |
+
description="Calculate the approximate position of the Moon using simplified algorithms. Returns RA and Dec coordinates."
|
| 26 |
+
)
|
| 27 |
+
def tool_approximate_position_of_moon(
|
| 28 |
+
lct_hour: int, lct_min: int, lct_sec: int,
|
| 29 |
+
is_daylight_saving: bool, zone_correction_hours: int,
|
| 30 |
+
local_date_day: int, local_date_month: int, local_date_year: int
|
| 31 |
+
) -> dict:
|
| 32 |
+
"""Approximate Moon position (faster, less accurate)"""
|
| 33 |
+
try:
|
| 34 |
+
moon_ra_hour, moon_ra_min, moon_ra_sec, moon_dec_deg, moon_dec_min, moon_dec_sec = \
|
| 35 |
+
approximate_position_of_moon(lct_hour, lct_min, lct_sec, is_daylight_saving,
|
| 36 |
+
zone_correction_hours, local_date_day, local_date_month, local_date_year)
|
| 37 |
+
return {
|
| 38 |
+
"success": True,
|
| 39 |
+
"result": {
|
| 40 |
+
"type": "moon_position",
|
| 41 |
+
"accuracy": "approximate",
|
| 42 |
+
"right_ascension": {
|
| 43 |
+
"hour": moon_ra_hour,
|
| 44 |
+
"minute": moon_ra_min,
|
| 45 |
+
"second": moon_ra_sec,
|
| 46 |
+
"formatted": f"{moon_ra_hour:02d}h {moon_ra_min:02d}m {moon_ra_sec:05.2f}s"
|
| 47 |
+
},
|
| 48 |
+
"declination": {
|
| 49 |
+
"degree": moon_dec_deg,
|
| 50 |
+
"minute": moon_dec_min,
|
| 51 |
+
"second": moon_dec_sec,
|
| 52 |
+
"formatted": f"{moon_dec_deg:+.0f}° {moon_dec_min:02d}' {moon_dec_sec:05.2f}\""
|
| 53 |
+
}
|
| 54 |
+
},
|
| 55 |
+
"error": None
|
| 56 |
+
}
|
| 57 |
+
except Exception as e:
|
| 58 |
+
return {"success": False, "result": None, "error": f"Error calculating approximate Moon position: {str(e)}"}
|
| 59 |
+
|
| 60 |
+
@mcp.tool(
|
| 61 |
+
name="precise_position_of_moon",
|
| 62 |
+
description="Calculate the precise position of the Moon with high accuracy. Returns RA, Dec, distance, and parallax."
|
| 63 |
+
)
|
| 64 |
+
def tool_precise_position_of_moon(
|
| 65 |
+
lct_hour: int, lct_min: int, lct_sec: int,
|
| 66 |
+
is_daylight_saving: bool, zone_correction_hours: int,
|
| 67 |
+
local_date_day: int, local_date_month: int, local_date_year: int
|
| 68 |
+
) -> dict:
|
| 69 |
+
"""Precise Moon position (slower, more accurate)"""
|
| 70 |
+
try:
|
| 71 |
+
moon_ra_hour, moon_ra_min, moon_ra_sec, moon_dec_deg, moon_dec_min, moon_dec_sec, \
|
| 72 |
+
earth_moon_dist_km, moon_hor_parallax_deg = \
|
| 73 |
+
precise_position_of_moon(lct_hour, lct_min, lct_sec, is_daylight_saving,
|
| 74 |
+
zone_correction_hours, local_date_day, local_date_month, local_date_year)
|
| 75 |
+
return {
|
| 76 |
+
"success": True,
|
| 77 |
+
"result": {
|
| 78 |
+
"type": "moon_position",
|
| 79 |
+
"accuracy": "precise",
|
| 80 |
+
"right_ascension": {
|
| 81 |
+
"hour": moon_ra_hour,
|
| 82 |
+
"minute": moon_ra_min,
|
| 83 |
+
"second": moon_ra_sec,
|
| 84 |
+
"formatted": f"{moon_ra_hour:02d}h {moon_ra_min:02d}m {moon_ra_sec:05.2f}s"
|
| 85 |
+
},
|
| 86 |
+
"declination": {
|
| 87 |
+
"degree": moon_dec_deg,
|
| 88 |
+
"minute": moon_dec_min,
|
| 89 |
+
"second": moon_dec_sec,
|
| 90 |
+
"formatted": f"{moon_dec_deg:+.0f}° {moon_dec_min:02d}' {moon_dec_sec:05.2f}\""
|
| 91 |
+
},
|
| 92 |
+
"distance": {
|
| 93 |
+
"km": int(earth_moon_dist_km),
|
| 94 |
+
"description": f"Earth-Moon distance: {int(earth_moon_dist_km):,} km"
|
| 95 |
+
},
|
| 96 |
+
"horizontal_parallax": {
|
| 97 |
+
"degree": moon_hor_parallax_deg,
|
| 98 |
+
"description": f"Horizontal parallax: {moon_hor_parallax_deg:.6f}°"
|
| 99 |
+
}
|
| 100 |
+
},
|
| 101 |
+
"error": None
|
| 102 |
+
}
|
| 103 |
+
except Exception as e:
|
| 104 |
+
return {"success": False, "result": None, "error": f"Error calculating precise Moon position: {str(e)}"}
|
| 105 |
+
|
| 106 |
+
@mcp.tool(
|
| 107 |
+
name="moon_phase",
|
| 108 |
+
description="Calculate the Moon's illumination phase (0=New, 0.5=Half, 1=Full) and bright limb position angle."
|
| 109 |
+
)
|
| 110 |
+
def tool_moon_phase(
|
| 111 |
+
lct_hour: int, lct_min: int, lct_sec: int,
|
| 112 |
+
is_daylight_saving: bool, zone_correction_hours: int,
|
| 113 |
+
local_date_day: int, local_date_month: int, local_date_year: int,
|
| 114 |
+
accuracy_level: str = "A"
|
| 115 |
+
) -> dict:
|
| 116 |
+
"""Moon phase calculation"""
|
| 117 |
+
try:
|
| 118 |
+
moon_phase_val, pa_bright_limb_deg = moon_phase(
|
| 119 |
+
lct_hour, lct_min, lct_sec, is_daylight_saving,
|
| 120 |
+
zone_correction_hours, local_date_day, local_date_month, local_date_year, accuracy_level
|
| 121 |
+
)
|
| 122 |
+
|
| 123 |
+
# Determine phase name
|
| 124 |
+
if moon_phase_val < 0.125:
|
| 125 |
+
phase_name = "New Moon"
|
| 126 |
+
elif moon_phase_val < 0.375:
|
| 127 |
+
phase_name = "Waxing Crescent"
|
| 128 |
+
elif moon_phase_val < 0.625:
|
| 129 |
+
phase_name = "First Quarter"
|
| 130 |
+
elif moon_phase_val < 0.875:
|
| 131 |
+
phase_name = "Waxing Gibbous"
|
| 132 |
+
else:
|
| 133 |
+
phase_name = "Full Moon"
|
| 134 |
+
|
| 135 |
+
illumination_percent = round(moon_phase_val * 100, 1)
|
| 136 |
+
|
| 137 |
+
return {
|
| 138 |
+
"success": True,
|
| 139 |
+
"result": {
|
| 140 |
+
"type": "moon_phase",
|
| 141 |
+
"phase": {
|
| 142 |
+
"value": moon_phase_val,
|
| 143 |
+
"name": phase_name,
|
| 144 |
+
"illumination_percent": illumination_percent,
|
| 145 |
+
"description": f"{phase_name} - {illumination_percent}% illuminated"
|
| 146 |
+
},
|
| 147 |
+
"bright_limb": {
|
| 148 |
+
"position_angle_deg": pa_bright_limb_deg,
|
| 149 |
+
"description": f"Position angle of bright limb: {pa_bright_limb_deg:.2f}°"
|
| 150 |
+
},
|
| 151 |
+
"accuracy": "precise" if accuracy_level == "P" else "approximate"
|
| 152 |
+
},
|
| 153 |
+
"error": None
|
| 154 |
+
}
|
| 155 |
+
except Exception as e:
|
| 156 |
+
return {"success": False, "result": None, "error": f"Error calculating Moon phase: {str(e)}"}
|
| 157 |
+
|
| 158 |
+
@mcp.tool(
|
| 159 |
+
name="times_of_new_and_full_moon",
|
| 160 |
+
description="Calculate the times of the next New Moon and Full Moon after the given date."
|
| 161 |
+
)
|
| 162 |
+
def tool_times_of_new_moon_and_full_moon(
|
| 163 |
+
is_daylight_saving: bool, zone_correction_hours: int,
|
| 164 |
+
local_date_day: int, local_date_month: int, local_date_year: int
|
| 165 |
+
) -> dict:
|
| 166 |
+
"""New and Full Moon times"""
|
| 167 |
+
try:
|
| 168 |
+
nm_hour, nm_min, nm_day, nm_month, nm_year, \
|
| 169 |
+
fm_hour, fm_min, fm_day, fm_month, fm_year = \
|
| 170 |
+
times_of_new_moon_and_full_moon(is_daylight_saving, zone_correction_hours,
|
| 171 |
+
local_date_day, local_date_month, local_date_year)
|
| 172 |
+
return {
|
| 173 |
+
"success": True,
|
| 174 |
+
"result": {
|
| 175 |
+
"type": "lunar_phases",
|
| 176 |
+
"new_moon": {
|
| 177 |
+
"date": f"{nm_year}-{nm_month:02d}-{nm_day:02d}",
|
| 178 |
+
"time": f"{nm_hour:02d}:{nm_min:02d}",
|
| 179 |
+
"hour": nm_hour,
|
| 180 |
+
"minute": nm_min,
|
| 181 |
+
"day": nm_day,
|
| 182 |
+
"month": nm_month,
|
| 183 |
+
"year": nm_year,
|
| 184 |
+
"description": f"New Moon on {nm_year}-{nm_month:02d}-{nm_day:02d} at {nm_hour:02d}:{nm_min:02d}"
|
| 185 |
+
},
|
| 186 |
+
"full_moon": {
|
| 187 |
+
"date": f"{fm_year}-{fm_month:02d}-{fm_day:02d}",
|
| 188 |
+
"time": f"{fm_hour:02d}:{fm_min:02d}",
|
| 189 |
+
"hour": fm_hour,
|
| 190 |
+
"minute": fm_min,
|
| 191 |
+
"day": fm_day,
|
| 192 |
+
"month": fm_month,
|
| 193 |
+
"year": fm_year,
|
| 194 |
+
"description": f"Full Moon on {fm_year}-{fm_month:02d}-{fm_day:02d} at {fm_hour:02d}:{fm_min:02d}"
|
| 195 |
+
}
|
| 196 |
+
},
|
| 197 |
+
"error": None
|
| 198 |
+
}
|
| 199 |
+
except Exception as e:
|
| 200 |
+
return {"success": False, "result": None, "error": f"Error calculating lunar phases: {str(e)}"}
|
| 201 |
+
|
| 202 |
+
@mcp.tool(
|
| 203 |
+
name="moon_distance_and_size",
|
| 204 |
+
description="Calculate the Moon's distance from Earth (km), angular diameter, and horizontal parallax."
|
| 205 |
+
)
|
| 206 |
+
def tool_moon_dist_ang_diam_hor_parallax(
|
| 207 |
+
lct_hour: int, lct_min: int, lct_sec: int,
|
| 208 |
+
is_daylight_saving: bool, zone_correction_hours: int,
|
| 209 |
+
local_date_day: int, local_date_month: int, local_date_year: int
|
| 210 |
+
) -> dict:
|
| 211 |
+
"""Moon's distance, size, and parallax"""
|
| 212 |
+
try:
|
| 213 |
+
earth_moon_dist, ang_diameter_deg, ang_diameter_min, \
|
| 214 |
+
hor_parallax_deg, hor_parallax_min, hor_parallax_sec = \
|
| 215 |
+
moon_dist_ang_diam_hor_parallax(lct_hour, lct_min, lct_sec, is_daylight_saving,
|
| 216 |
+
zone_correction_hours, local_date_day, local_date_month, local_date_year)
|
| 217 |
+
return {
|
| 218 |
+
"success": True,
|
| 219 |
+
"result": {
|
| 220 |
+
"type": "moon_physical_data",
|
| 221 |
+
"distance": {
|
| 222 |
+
"km": int(earth_moon_dist),
|
| 223 |
+
"description": f"Distance: {int(earth_moon_dist):,} km"
|
| 224 |
+
},
|
| 225 |
+
"angular_diameter": {
|
| 226 |
+
"degree": ang_diameter_deg,
|
| 227 |
+
"minute": ang_diameter_min,
|
| 228 |
+
"formatted": f"{ang_diameter_deg}° {ang_diameter_min}'",
|
| 229 |
+
"description": f"Angular diameter: {ang_diameter_deg}° {ang_diameter_min}'"
|
| 230 |
+
},
|
| 231 |
+
"horizontal_parallax": {
|
| 232 |
+
"degree": hor_parallax_deg,
|
| 233 |
+
"minute": hor_parallax_min,
|
| 234 |
+
"second": hor_parallax_sec,
|
| 235 |
+
"formatted": f"{hor_parallax_deg}° {hor_parallax_min}' {hor_parallax_sec}\"",
|
| 236 |
+
"description": f"Horizontal parallax: {hor_parallax_deg}° {hor_parallax_min}' {hor_parallax_sec}\""
|
| 237 |
+
}
|
| 238 |
+
},
|
| 239 |
+
"error": None
|
| 240 |
+
}
|
| 241 |
+
except Exception as e:
|
| 242 |
+
return {"success": False, "result": None, "error": f"Error calculating Moon distance and size: {str(e)}"}
|
| 243 |
+
|
| 244 |
+
@mcp.tool(
|
| 245 |
+
name="moonrise_and_moonset",
|
| 246 |
+
description="Calculate local date and time of moonrise and moonset for a specific location."
|
| 247 |
+
)
|
| 248 |
+
def tool_moonrise_and_moonset(
|
| 249 |
+
local_date_day: int, local_date_month: int, local_date_year: int,
|
| 250 |
+
is_daylight_saving: bool, zone_correction_hours: int,
|
| 251 |
+
geog_long_deg: float, geog_lat_deg: float
|
| 252 |
+
) -> dict:
|
| 253 |
+
"""Moonrise and moonset times"""
|
| 254 |
+
try:
|
| 255 |
+
mr_hour, mr_min, mr_day, mr_month, mr_year, mr_azimuth, \
|
| 256 |
+
ms_hour, ms_min, ms_day, ms_month, ms_year, ms_azimuth = \
|
| 257 |
+
moonrise_and_moonset(local_date_day, local_date_month, local_date_year,
|
| 258 |
+
is_daylight_saving, zone_correction_hours, geog_long_deg, geog_lat_deg)
|
| 259 |
+
return {
|
| 260 |
+
"success": True,
|
| 261 |
+
"result": {
|
| 262 |
+
"type": "moonrise_moonset",
|
| 263 |
+
"location": {
|
| 264 |
+
"latitude": geog_lat_deg,
|
| 265 |
+
"longitude": geog_long_deg
|
| 266 |
+
},
|
| 267 |
+
"moonrise": {
|
| 268 |
+
"date": f"{mr_year}-{mr_month:02d}-{mr_day:02d}",
|
| 269 |
+
"time": f"{mr_hour:02d}:{mr_min:02d}",
|
| 270 |
+
"hour": mr_hour,
|
| 271 |
+
"minute": mr_min,
|
| 272 |
+
"day": mr_day,
|
| 273 |
+
"month": mr_month,
|
| 274 |
+
"year": mr_year,
|
| 275 |
+
"azimuth_deg": mr_azimuth,
|
| 276 |
+
"description": f"Moonrise on {mr_year}-{mr_month:02d}-{mr_day:02d} at {mr_hour:02d}:{mr_min:02d} (azimuth {mr_azimuth:.2f}°)"
|
| 277 |
+
},
|
| 278 |
+
"moonset": {
|
| 279 |
+
"date": f"{ms_year}-{ms_month:02d}-{ms_day:02d}",
|
| 280 |
+
"time": f"{ms_hour:02d}:{ms_min:02d}",
|
| 281 |
+
"hour": ms_hour,
|
| 282 |
+
"minute": ms_min,
|
| 283 |
+
"day": ms_day,
|
| 284 |
+
"month": ms_month,
|
| 285 |
+
"year": ms_year,
|
| 286 |
+
"azimuth_deg": ms_azimuth,
|
| 287 |
+
"description": f"Moonset on {ms_year}-{ms_month:02d}-{ms_day:02d} at {ms_hour:02d}:{ms_min:02d} (azimuth {ms_azimuth:.2f}°)"
|
| 288 |
+
}
|
| 289 |
+
},
|
| 290 |
+
"error": None
|
| 291 |
+
}
|
| 292 |
+
except Exception as e:
|
| 293 |
+
return {"success": False, "result": None, "error": f"Error calculating moonrise and moonset: {str(e)}"}
|
| 294 |
+
|
| 295 |
+
# ============================================================================
|
| 296 |
+
# SUN TOOLS
|
| 297 |
+
# ============================================================================
|
| 298 |
+
|
| 299 |
+
@mcp.tool(
|
| 300 |
+
name="approximate_position_of_sun",
|
| 301 |
+
description="Calculate the approximate position of the Sun. Returns RA and Dec coordinates."
|
| 302 |
+
)
|
| 303 |
+
def tool_approximate_position_of_sun(
|
| 304 |
+
lct_hours: int, lct_minutes: int, lct_seconds: int,
|
| 305 |
+
local_day: int, local_month: int, local_year: int,
|
| 306 |
+
is_daylight_saving: bool, zone_correction: int
|
| 307 |
+
) -> dict:
|
| 308 |
+
"""Approximate Sun position"""
|
| 309 |
+
try:
|
| 310 |
+
sun_ra_hour, sun_ra_min, sun_ra_sec, sun_dec_deg, sun_dec_min, sun_dec_sec = \
|
| 311 |
+
approximate_position_of_sun(lct_hours, lct_minutes, lct_seconds, local_day,
|
| 312 |
+
local_month, local_year, is_daylight_saving, zone_correction)
|
| 313 |
+
return {
|
| 314 |
+
"success": True,
|
| 315 |
+
"result": {
|
| 316 |
+
"type": "sun_position",
|
| 317 |
+
"accuracy": "approximate",
|
| 318 |
+
"right_ascension": {
|
| 319 |
+
"hour": sun_ra_hour,
|
| 320 |
+
"minute": sun_ra_min,
|
| 321 |
+
"second": sun_ra_sec,
|
| 322 |
+
"formatted": f"{sun_ra_hour:02d}h {sun_ra_min:02d}m {sun_ra_sec:05.2f}s"
|
| 323 |
+
},
|
| 324 |
+
"declination": {
|
| 325 |
+
"degree": sun_dec_deg,
|
| 326 |
+
"minute": sun_dec_min,
|
| 327 |
+
"second": sun_dec_sec,
|
| 328 |
+
"formatted": f"{sun_dec_deg:+.0f}° {sun_dec_min:02d}' {sun_dec_sec:05.2f}\""
|
| 329 |
+
}
|
| 330 |
+
},
|
| 331 |
+
"error": None
|
| 332 |
+
}
|
| 333 |
+
except Exception as e:
|
| 334 |
+
return {"success": False, "result": None, "error": f"Error calculating approximate Sun position: {str(e)}"}
|
| 335 |
+
|
| 336 |
+
@mcp.tool(
|
| 337 |
+
name="precise_position_of_sun",
|
| 338 |
+
description="Calculate the precise position of the Sun with high accuracy. Returns RA and Dec."
|
| 339 |
+
)
|
| 340 |
+
def tool_precise_position_of_sun(
|
| 341 |
+
lct_hours: int, lct_minutes: int, lct_seconds: int,
|
| 342 |
+
local_day: int, local_month: int, local_year: int,
|
| 343 |
+
is_daylight_saving: bool, zone_correction: int
|
| 344 |
+
) -> dict:
|
| 345 |
+
"""Precise Sun position"""
|
| 346 |
+
try:
|
| 347 |
+
sun_ra_hour, sun_ra_min, sun_ra_sec, sun_dec_deg, sun_dec_min, sun_dec_sec = \
|
| 348 |
+
precise_position_of_sun(lct_hours, lct_minutes, lct_seconds, local_day,
|
| 349 |
+
local_month, local_year, is_daylight_saving, zone_correction)
|
| 350 |
+
return {
|
| 351 |
+
"success": True,
|
| 352 |
+
"result": {
|
| 353 |
+
"type": "sun_position",
|
| 354 |
+
"accuracy": "precise",
|
| 355 |
+
"right_ascension": {
|
| 356 |
+
"hour": sun_ra_hour,
|
| 357 |
+
"minute": sun_ra_min,
|
| 358 |
+
"second": sun_ra_sec,
|
| 359 |
+
"formatted": f"{sun_ra_hour:02d}h {sun_ra_min:02d}m {sun_ra_sec:05.2f}s"
|
| 360 |
+
},
|
| 361 |
+
"declination": {
|
| 362 |
+
"degree": sun_dec_deg,
|
| 363 |
+
"minute": sun_dec_min,
|
| 364 |
+
"second": sun_dec_sec,
|
| 365 |
+
"formatted": f"{sun_dec_deg:+.0f}° {sun_dec_min:02d}' {sun_dec_sec:05.2f}\""
|
| 366 |
+
}
|
| 367 |
+
},
|
| 368 |
+
"error": None
|
| 369 |
+
}
|
| 370 |
+
except Exception as e:
|
| 371 |
+
return {"success": False, "result": None, "error": f"Error calculating precise Sun position: {str(e)}"}
|
| 372 |
+
|
| 373 |
+
@mcp.tool(
|
| 374 |
+
name="sun_distance_and_angular_size",
|
| 375 |
+
description="Calculate the Sun's distance from Earth (km) and angular diameter."
|
| 376 |
+
)
|
| 377 |
+
def tool_sun_distance_and_angular_size(
|
| 378 |
+
lct_hours: int, lct_minutes: int, lct_seconds: int,
|
| 379 |
+
local_day: int, local_month: int, local_year: int,
|
| 380 |
+
is_daylight_saving: bool, zone_correction: int
|
| 381 |
+
) -> dict:
|
| 382 |
+
"""Sun's distance and angular size"""
|
| 383 |
+
try:
|
| 384 |
+
sun_dist_km, sun_ang_size_deg, sun_ang_size_min, sun_ang_size_sec = \
|
| 385 |
+
sun_distance_and_angular_size(lct_hours, lct_minutes, lct_seconds, local_day,
|
| 386 |
+
local_month, local_year, is_daylight_saving, zone_correction)
|
| 387 |
+
return {
|
| 388 |
+
"success": True,
|
| 389 |
+
"result": {
|
| 390 |
+
"type": "sun_physical_data",
|
| 391 |
+
"distance": {
|
| 392 |
+
"km": int(sun_dist_km),
|
| 393 |
+
"AU": round(sun_dist_km / 149598500, 4),
|
| 394 |
+
"description": f"Distance: {int(sun_dist_km):,} km ({round(sun_dist_km / 149598500, 4)} AU)"
|
| 395 |
+
},
|
| 396 |
+
"angular_diameter": {
|
| 397 |
+
"degree": sun_ang_size_deg,
|
| 398 |
+
"minute": sun_ang_size_min,
|
| 399 |
+
"second": sun_ang_size_sec,
|
| 400 |
+
"formatted": f"{sun_ang_size_deg}° {sun_ang_size_min}' {sun_ang_size_sec}\"",
|
| 401 |
+
"description": f"Angular diameter: {sun_ang_size_deg}° {sun_ang_size_min}' {sun_ang_size_sec}\""
|
| 402 |
+
}
|
| 403 |
+
},
|
| 404 |
+
"error": None
|
| 405 |
+
}
|
| 406 |
+
except Exception as e:
|
| 407 |
+
return {"success": False, "result": None, "error": f"Error calculating Sun distance and size: {str(e)}"}
|
| 408 |
+
|
| 409 |
+
@mcp.tool(
|
| 410 |
+
name="sunrise_and_sunset",
|
| 411 |
+
description="Calculate local sunrise and sunset times for a specific geographic location."
|
| 412 |
+
)
|
| 413 |
+
def tool_sunrise_and_sunset(
|
| 414 |
+
local_day: int, local_month: int, local_year: int,
|
| 415 |
+
is_daylight_saving: bool, zone_correction: int,
|
| 416 |
+
geographical_long_deg: float, geographical_lat_deg: float
|
| 417 |
+
) -> dict:
|
| 418 |
+
"""Sunrise and sunset times"""
|
| 419 |
+
try:
|
| 420 |
+
local_sunrise_hour, local_sunrise_minute, local_sunset_hour, local_sunset_minute, \
|
| 421 |
+
azimuth_of_sunrise_deg, azimuth_of_sunset_deg, status = \
|
| 422 |
+
sunrise_and_sunset(local_day, local_month, local_year, is_daylight_saving,
|
| 423 |
+
zone_correction, geographical_long_deg, geographical_lat_deg)
|
| 424 |
+
|
| 425 |
+
if status != "OK":
|
| 426 |
+
return {
|
| 427 |
+
"success": True,
|
| 428 |
+
"result": {
|
| 429 |
+
"type": "sunrise_sunset",
|
| 430 |
+
"status": status,
|
| 431 |
+
"description": f"Sunrise/sunset calculation status: {status} (may not be available at this latitude)"
|
| 432 |
+
},
|
| 433 |
+
"error": None
|
| 434 |
+
}
|
| 435 |
+
|
| 436 |
+
return {
|
| 437 |
+
"success": True,
|
| 438 |
+
"result": {
|
| 439 |
+
"type": "sunrise_sunset",
|
| 440 |
+
"date": f"{local_year}-{local_month:02d}-{local_day:02d}",
|
| 441 |
+
"location": {
|
| 442 |
+
"latitude": geographical_lat_deg,
|
| 443 |
+
"longitude": geographical_long_deg
|
| 444 |
+
},
|
| 445 |
+
"sunrise": {
|
| 446 |
+
"time": f"{local_sunrise_hour:02d}:{local_sunrise_minute:02d}",
|
| 447 |
+
"hour": local_sunrise_hour,
|
| 448 |
+
"minute": local_sunrise_minute,
|
| 449 |
+
"azimuth_deg": azimuth_of_sunrise_deg,
|
| 450 |
+
"description": f"Sunrise at {local_sunrise_hour:02d}:{local_sunrise_minute:02d} (azimuth {azimuth_of_sunrise_deg:.2f}°)"
|
| 451 |
+
},
|
| 452 |
+
"sunset": {
|
| 453 |
+
"time": f"{local_sunset_hour:02d}:{local_sunset_minute:02d}",
|
| 454 |
+
"hour": local_sunset_hour,
|
| 455 |
+
"minute": local_sunset_minute,
|
| 456 |
+
"azimuth_deg": azimuth_of_sunset_deg,
|
| 457 |
+
"description": f"Sunset at {local_sunset_hour:02d}:{local_sunset_minute:02d} (azimuth {azimuth_of_sunset_deg:.2f}°)"
|
| 458 |
+
},
|
| 459 |
+
"daylight_hours": f"{local_sunset_hour - local_sunrise_hour} hours {local_sunset_minute - local_sunrise_minute} minutes",
|
| 460 |
+
"status": status
|
| 461 |
+
},
|
| 462 |
+
"error": None
|
| 463 |
+
}
|
| 464 |
+
except Exception as e:
|
| 465 |
+
return {"success": False, "result": None, "error": f"Error calculating sunrise and sunset: {str(e)}"}
|
| 466 |
+
|
| 467 |
+
@mcp.tool(
|
| 468 |
+
name="twilight_times",
|
| 469 |
+
description="Calculate morning and evening twilight times (civil, nautical, or astronomical)."
|
| 470 |
+
)
|
| 471 |
+
def tool_morning_and_evening_twilight(
|
| 472 |
+
local_day: int, local_month: int, local_year: int,
|
| 473 |
+
is_daylight_saving: bool, zone_correction: int,
|
| 474 |
+
geographical_long_deg: float, geographical_lat_deg: float,
|
| 475 |
+
twilight_type: str = "C"
|
| 476 |
+
) -> dict:
|
| 477 |
+
"""Twilight times (Civil, Nautical, or Astronomical)"""
|
| 478 |
+
try:
|
| 479 |
+
am_hour, am_min, pm_hour, pm_min, status = \
|
| 480 |
+
morning_and_evening_twilight(local_day, local_month, local_year, is_daylight_saving,
|
| 481 |
+
zone_correction, geographical_long_deg, geographical_lat_deg, twilight_type)
|
| 482 |
+
|
| 483 |
+
twilight_names = {"C": "Civil", "N": "Nautical", "A": "Astronomical"}
|
| 484 |
+
twilight_name = twilight_names.get(twilight_type, "Unknown")
|
| 485 |
+
|
| 486 |
+
if status != "OK":
|
| 487 |
+
return {
|
| 488 |
+
"success": True,
|
| 489 |
+
"result": {
|
| 490 |
+
"type": "twilight",
|
| 491 |
+
"twilight_type": twilight_name,
|
| 492 |
+
"status": status,
|
| 493 |
+
"description": f"{twilight_name} twilight not available at this latitude on this date"
|
| 494 |
+
},
|
| 495 |
+
"error": None
|
| 496 |
+
}
|
| 497 |
+
|
| 498 |
+
return {
|
| 499 |
+
"success": True,
|
| 500 |
+
"result": {
|
| 501 |
+
"type": "twilight",
|
| 502 |
+
"date": f"{local_year}-{local_month:02d}-{local_day:02d}",
|
| 503 |
+
"twilight_type": twilight_name,
|
| 504 |
+
"location": {
|
| 505 |
+
"latitude": geographical_lat_deg,
|
| 506 |
+
"longitude": geographical_long_deg
|
| 507 |
+
},
|
| 508 |
+
"morning_twilight": {
|
| 509 |
+
"begins_hour": am_hour,
|
| 510 |
+
"begins_minute": am_min,
|
| 511 |
+
"begins_time": f"{am_hour:02d}:{am_min:02d}",
|
| 512 |
+
"description": f"Morning {twilight_name.lower()} twilight begins at {am_hour:02d}:{am_min:02d}"
|
| 513 |
+
},
|
| 514 |
+
"evening_twilight": {
|
| 515 |
+
"ends_hour": pm_hour,
|
| 516 |
+
"ends_minute": pm_min,
|
| 517 |
+
"ends_time": f"{pm_hour:02d}:{pm_min:02d}",
|
| 518 |
+
"description": f"Evening {twilight_name.lower()} twilight ends at {pm_hour:02d}:{pm_min:02d}"
|
| 519 |
+
},
|
| 520 |
+
"status": status
|
| 521 |
+
},
|
| 522 |
+
"error": None
|
| 523 |
+
}
|
| 524 |
+
except Exception as e:
|
| 525 |
+
return {"success": False, "result": None, "error": f"Error calculating twilight times: {str(e)}"}
|
| 526 |
+
|
| 527 |
+
@mcp.tool(
|
| 528 |
+
name="equation_of_time",
|
| 529 |
+
description="Calculate the equation of time (difference between real Sun time and mean Sun time in minutes)."
|
| 530 |
+
)
|
| 531 |
+
def tool_equation_of_time(
|
| 532 |
+
gwdate_day: int, gwdate_month: int, gwdate_year: int
|
| 533 |
+
) -> dict:
|
| 534 |
+
"""Equation of time"""
|
| 535 |
+
try:
|
| 536 |
+
eot_min, eot_sec = equation_of_time(gwdate_day, gwdate_month, gwdate_year)
|
| 537 |
+
total_minutes = eot_min + eot_sec / 60
|
| 538 |
+
return {
|
| 539 |
+
"success": True,
|
| 540 |
+
"result": {
|
| 541 |
+
"type": "equation_of_time",
|
| 542 |
+
"date": f"{gwdate_year}-{gwdate_month:02d}-{gwdate_day:02d}",
|
| 543 |
+
"equation_of_time": {
|
| 544 |
+
"minute": eot_min,
|
| 545 |
+
"second": eot_sec,
|
| 546 |
+
"total_minutes": round(total_minutes, 2),
|
| 547 |
+
"formatted": f"{eot_min}m {eot_sec:.1f}s",
|
| 548 |
+
"description": f"Equation of time: {eot_min}m {eot_sec:.1f}s ({total_minutes:+.2f} minutes)"
|
| 549 |
+
},
|
| 550 |
+
"interpretation": "This is the difference between apparent solar time and mean solar time"
|
| 551 |
+
},
|
| 552 |
+
"error": None
|
| 553 |
+
}
|
| 554 |
+
except Exception as e:
|
| 555 |
+
return {"success": False, "result": None, "error": f"Error calculating equation of time: {str(e)}"}
|
| 556 |
+
|
| 557 |
+
# ============================================================================
|
| 558 |
+
# PLANET TOOLS
|
| 559 |
+
# ============================================================================
|
| 560 |
+
|
| 561 |
+
@mcp.tool(
|
| 562 |
+
name="approximate_position_of_planet",
|
| 563 |
+
description="Calculate the approximate position of a planet. Returns RA and Dec coordinates."
|
| 564 |
+
)
|
| 565 |
+
def tool_approximate_position_of_planet(
|
| 566 |
+
lct_hour: int, lct_min: int, lct_sec: int,
|
| 567 |
+
is_daylight_saving: bool, zone_correction_hours: int,
|
| 568 |
+
local_date_day: int, local_date_month: int, local_date_year: int,
|
| 569 |
+
planet_name: str
|
| 570 |
+
) -> dict:
|
| 571 |
+
"""Approximate planet position"""
|
| 572 |
+
try:
|
| 573 |
+
planet_ra_hour, planet_ra_min, planet_ra_sec, \
|
| 574 |
+
planet_dec_deg, planet_dec_min, planet_dec_sec = \
|
| 575 |
+
approximate_position_of_planet(lct_hour, lct_min, lct_sec, is_daylight_saving,
|
| 576 |
+
zone_correction_hours, local_date_day, local_date_month,
|
| 577 |
+
local_date_year, planet_name)
|
| 578 |
+
return {
|
| 579 |
+
"success": True,
|
| 580 |
+
"result": {
|
| 581 |
+
"type": "planet_position",
|
| 582 |
+
"accuracy": "approximate",
|
| 583 |
+
"planet": planet_name,
|
| 584 |
+
"right_ascension": {
|
| 585 |
+
"hour": planet_ra_hour,
|
| 586 |
+
"minute": planet_ra_min,
|
| 587 |
+
"second": planet_ra_sec,
|
| 588 |
+
"formatted": f"{planet_ra_hour:02d}h {planet_ra_min:02d}m {planet_ra_sec:05.2f}s"
|
| 589 |
+
},
|
| 590 |
+
"declination": {
|
| 591 |
+
"degree": planet_dec_deg,
|
| 592 |
+
"minute": planet_dec_min,
|
| 593 |
+
"second": planet_dec_sec,
|
| 594 |
+
"formatted": f"{planet_dec_deg:+.0f}° {planet_dec_min:02d}' {planet_dec_sec:05.2f}\""
|
| 595 |
+
}
|
| 596 |
+
},
|
| 597 |
+
"error": None
|
| 598 |
+
}
|
| 599 |
+
except Exception as e:
|
| 600 |
+
return {"success": False, "result": None, "error": f"Error calculating planet position: {str(e)}"}
|
| 601 |
+
|
| 602 |
+
# ============================================================================
|
| 603 |
+
# ECLIPSE TOOLS
|
| 604 |
+
# ============================================================================
|
| 605 |
+
|
| 606 |
+
@mcp.tool(
|
| 607 |
+
name="lunar_eclipse_occurrence",
|
| 608 |
+
description="Determine if a lunar eclipse occurs in the given month and calculate its circumstances."
|
| 609 |
+
)
|
| 610 |
+
def tool_lunar_eclipse_occurrence(
|
| 611 |
+
local_date_day: int, local_date_month: int, local_date_year: int,
|
| 612 |
+
is_daylight_saving: bool, zone_correction_hours: int
|
| 613 |
+
) -> dict:
|
| 614 |
+
"""Lunar eclipse occurrence"""
|
| 615 |
+
try:
|
| 616 |
+
eclipse_occurs, utstart_hours, utstart_minutes, utmag_start_hours, utmag_start_minutes, \
|
| 617 |
+
utmag_max_hours, utmag_max_minutes, utmag_end_hours, utmag_end_minutes, ut_end_hours, ut_end_minutes, \
|
| 618 |
+
eclipse_type = lunar_eclipse_occurrence(local_date_day, local_date_month, local_date_year,
|
| 619 |
+
is_daylight_saving, zone_correction_hours)
|
| 620 |
+
|
| 621 |
+
if not eclipse_occurs:
|
| 622 |
+
return {
|
| 623 |
+
"success": True,
|
| 624 |
+
"result": {
|
| 625 |
+
"type": "lunar_eclipse",
|
| 626 |
+
"month": f"{local_date_year}-{local_date_month:02d}",
|
| 627 |
+
"eclipse_occurs": False,
|
| 628 |
+
"description": "No lunar eclipse occurs in this month"
|
| 629 |
+
},
|
| 630 |
+
"error": None
|
| 631 |
+
}
|
| 632 |
+
|
| 633 |
+
return {
|
| 634 |
+
"success": True,
|
| 635 |
+
"result": {
|
| 636 |
+
"type": "lunar_eclipse",
|
| 637 |
+
"month": f"{local_date_year}-{local_date_month:02d}",
|
| 638 |
+
"eclipse_occurs": True,
|
| 639 |
+
"eclipse_type": eclipse_type,
|
| 640 |
+
"circumstances": {
|
| 641 |
+
"eclipse_start_ut": f"{utstart_hours:02d}:{utstart_minutes:02d}",
|
| 642 |
+
"magnitude_start_ut": f"{utmag_start_hours:02d}:{utmag_start_minutes:02d}",
|
| 643 |
+
"magnitude_max_ut": f"{utmag_max_hours:02d}:{utmag_max_minutes:02d}",
|
| 644 |
+
"magnitude_end_ut": f"{utmag_end_hours:02d}:{utmag_end_minutes:02d}",
|
| 645 |
+
"eclipse_end_ut": f"{ut_end_hours:02d}:{ut_end_minutes:02d}"
|
| 646 |
+
}
|
| 647 |
+
},
|
| 648 |
+
"error": None
|
| 649 |
+
}
|
| 650 |
+
except Exception as e:
|
| 651 |
+
return {"success": False, "result": None, "error": f"Error calculating lunar eclipse occurrence: {str(e)}"}
|
| 652 |
+
|
| 653 |
+
@mcp.tool(
|
| 654 |
+
name="solar_eclipse_occurrence",
|
| 655 |
+
description="Determine if a solar eclipse occurs in the given month."
|
| 656 |
+
)
|
| 657 |
+
def tool_solar_eclipse_occurrence(
|
| 658 |
+
local_date_day: int, local_date_month: int, local_date_year: int,
|
| 659 |
+
is_daylight_saving: bool, zone_correction_hours: int
|
| 660 |
+
) -> dict:
|
| 661 |
+
"""Solar eclipse occurrence"""
|
| 662 |
+
try:
|
| 663 |
+
eclipse_occurs, utstart_hours, utstart_minutes, utmag_start_hours, utmag_start_minutes, \
|
| 664 |
+
utmag_max_hours, utmag_max_minutes, utmag_end_hours, utmag_end_minutes, ut_end_hours, ut_end_minutes = \
|
| 665 |
+
solar_eclipse_occurrence(local_date_day, local_date_month, local_date_year,
|
| 666 |
+
is_daylight_saving, zone_correction_hours)
|
| 667 |
+
|
| 668 |
+
if not eclipse_occurs:
|
| 669 |
+
return {
|
| 670 |
+
"success": True,
|
| 671 |
+
"result": {
|
| 672 |
+
"type": "solar_eclipse",
|
| 673 |
+
"month": f"{local_date_year}-{local_date_month:02d}",
|
| 674 |
+
"eclipse_occurs": False,
|
| 675 |
+
"description": "No solar eclipse occurs in this month"
|
| 676 |
+
},
|
| 677 |
+
"error": None
|
| 678 |
+
}
|
| 679 |
+
|
| 680 |
+
return {
|
| 681 |
+
"success": True,
|
| 682 |
+
"result": {
|
| 683 |
+
"type": "solar_eclipse",
|
| 684 |
+
"month": f"{local_date_year}-{local_date_month:02d}",
|
| 685 |
+
"eclipse_occurs": True,
|
| 686 |
+
"circumstances": {
|
| 687 |
+
"eclipse_start_ut": f"{utstart_hours:02d}:{utstart_minutes:02d}",
|
| 688 |
+
"magnitude_start_ut": f"{utmag_start_hours:02d}:{utmag_start_minutes:02d}",
|
| 689 |
+
"magnitude_max_ut": f"{utmag_max_hours:02d}:{utmag_max_minutes:02d}",
|
| 690 |
+
"magnitude_end_ut": f"{utmag_end_hours:02d}:{utmag_end_minutes:02d}",
|
| 691 |
+
"eclipse_end_ut": f"{ut_end_hours:02d}:{ut_end_minutes:02d}"
|
| 692 |
+
}
|
| 693 |
+
},
|
| 694 |
+
"error": None
|
| 695 |
+
}
|
| 696 |
+
except Exception as e:
|
| 697 |
+
return {"success": False, "result": None, "error": f"Error calculating solar eclipse occurrence: {str(e)}"}
|
| 698 |
+
|
| 699 |
+
# ============================================================================
|
| 700 |
+
# APP CREATION
|
| 701 |
+
# ============================================================================
|
| 702 |
+
|
| 703 |
+
def create_app() -> FastMCP:
|
| 704 |
+
"""
|
| 705 |
+
Create and return the FastMCP application instance.
|
| 706 |
+
|
| 707 |
+
Returns:
|
| 708 |
+
- FastMCP: The configured FastMCP instance with 15+ astronomy tools.
|
| 709 |
+
"""
|
| 710 |
+
return mcp
|
practical_astronomy/mcp_output/requirements.txt
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
|
|
|
| 1 |
+
fastmcp>=0.1.0
|
| 2 |
+
pydantic>=2.0.0
|
practical_astronomy/mcp_output/simple_revise_error_analysis.json
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"status": "FAIL",
|
| 3 |
+
"next_action": "fix_directly",
|
| 4 |
+
"confidence": 0.9,
|
| 5 |
+
"summary": "The error is caused by a ModuleNotFoundError indicating that the module 'src.practical_astronomy' cannot be found. This suggests that the module path is incorrect or the module is not installed. To fix this, verify that the 'src' directory is in the PYTHONPATH or adjust the import statement to the correct path. Additionally, ensure that the 'practical_astronomy' package is properly installed and accessible. If the module is part of the project, check the directory structure to confirm the module's location."
|
| 6 |
+
}
|
practical_astronomy/mcp_output/start_mcp.py
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"""
|
| 2 |
+
MCP Service Startup Entry
|
| 3 |
+
"""
|
| 4 |
+
import sys
|
| 5 |
+
import os
|
| 6 |
+
|
| 7 |
+
project_root = os.path.dirname(os.path.abspath(__file__))
|
| 8 |
+
mcp_plugin_dir = os.path.join(project_root, "mcp_plugin")
|
| 9 |
+
if mcp_plugin_dir not in sys.path:
|
| 10 |
+
sys.path.insert(0, mcp_plugin_dir)
|
| 11 |
+
|
| 12 |
+
# Set path to source directory
|
| 13 |
+
source_path = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), "src")
|
| 14 |
+
sys.path.insert(0, source_path)
|
| 15 |
+
|
| 16 |
+
from mcp_service import create_app
|
| 17 |
+
|
| 18 |
+
def main():
|
| 19 |
+
"""Start FastMCP service"""
|
| 20 |
+
app = create_app()
|
| 21 |
+
# Use environment variable to configure port, default 8000
|
| 22 |
+
port = int(os.environ.get("MCP_PORT", "8000"))
|
| 23 |
+
|
| 24 |
+
# Choose transport mode based on environment variable
|
| 25 |
+
transport = os.environ.get("MCP_TRANSPORT", "stdio")
|
| 26 |
+
if transport == "http":
|
| 27 |
+
app.run(transport="http", host="0.0.0.0", port=port)
|
| 28 |
+
else:
|
| 29 |
+
# Default to STDIO mode
|
| 30 |
+
app.run()
|
| 31 |
+
|
| 32 |
+
if __name__ == "__main__":
|
| 33 |
+
main()
|
practical_astronomy/mcp_output/tests_mcp/test_mcp_basic.py
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"""
|
| 2 |
+
MCP Service Basic Test
|
| 3 |
+
"""
|
| 4 |
+
import sys
|
| 5 |
+
import os
|
| 6 |
+
|
| 7 |
+
project_root = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
| 8 |
+
mcp_plugin_dir = os.path.join(project_root, "mcp_plugin")
|
| 9 |
+
if mcp_plugin_dir not in sys.path:
|
| 10 |
+
sys.path.insert(0, mcp_plugin_dir)
|
| 11 |
+
|
| 12 |
+
source_path = os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))), "source")
|
| 13 |
+
sys.path.insert(0, source_path)
|
| 14 |
+
|
| 15 |
+
def test_import_mcp_service():
|
| 16 |
+
"""Test if MCP service can be imported normally"""
|
| 17 |
+
try:
|
| 18 |
+
from mcp_service import create_app
|
| 19 |
+
app = create_app()
|
| 20 |
+
assert app is not None
|
| 21 |
+
print("MCP service imported successfully")
|
| 22 |
+
return True
|
| 23 |
+
except Exception as e:
|
| 24 |
+
print("MCP service import failed: " + str(e))
|
| 25 |
+
return False
|
| 26 |
+
|
| 27 |
+
def test_adapter_init():
|
| 28 |
+
"""Test if adapter can be initialized normally"""
|
| 29 |
+
try:
|
| 30 |
+
from adapter import Adapter
|
| 31 |
+
adapter = Adapter()
|
| 32 |
+
assert adapter is not None
|
| 33 |
+
print("Adapter initialized successfully")
|
| 34 |
+
return True
|
| 35 |
+
except Exception as e:
|
| 36 |
+
print("Adapter initialization failed: " + str(e))
|
| 37 |
+
return False
|
| 38 |
+
|
| 39 |
+
if __name__ == "__main__":
|
| 40 |
+
print("Running MCP service basic test...")
|
| 41 |
+
test1 = test_import_mcp_service()
|
| 42 |
+
test2 = test_adapter_init()
|
| 43 |
+
|
| 44 |
+
if test1 and test2:
|
| 45 |
+
print("All basic tests passed")
|
| 46 |
+
sys.exit(0)
|
| 47 |
+
else:
|
| 48 |
+
print("Some tests failed")
|
| 49 |
+
sys.exit(1)
|
practical_astronomy/mcp_output/tests_smoke/test_smoke.py
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import importlib, sys
|
| 2 |
+
import os
|
| 3 |
+
|
| 4 |
+
# Add current directory to Python path
|
| 5 |
+
sys.path.insert(0, os.getcwd())
|
| 6 |
+
|
| 7 |
+
source_dir = os.path.join(os.getcwd(), "source")
|
| 8 |
+
if os.path.exists(source_dir):
|
| 9 |
+
sys.path.insert(0, source_dir)
|
| 10 |
+
|
| 11 |
+
|
| 12 |
+
try:
|
| 13 |
+
importlib.import_module("src.practical_astronomy")
|
| 14 |
+
print("OK - Successfully imported src.practical_astronomy")
|
| 15 |
+
except ImportError as e:
|
| 16 |
+
print(f"Failed to import src.practical_astronomy: {e}")
|
| 17 |
+
fallback_packages = []
|
| 18 |
+
|
| 19 |
+
fallback_packages = ['practical_astronomy', 'src.practical_astronomy']
|
| 20 |
+
|
| 21 |
+
for pkg in fallback_packages:
|
| 22 |
+
try:
|
| 23 |
+
importlib.import_module(pkg)
|
| 24 |
+
print(f"OK - Successfully imported {pkg}")
|
| 25 |
+
break
|
| 26 |
+
except ImportError:
|
| 27 |
+
continue
|
| 28 |
+
else:
|
| 29 |
+
print("All import attempts failed")
|
practical_astronomy/source/.gitignore
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
dist/*
|
| 2 |
+
|
| 3 |
+
src/practical_astronomy/__pycache__/*
|
practical_astronomy/source/CHANGELOG.md
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Version 1.0.2
|
| 2 |
+
|
| 3 |
+
* Added change log.
|
| 4 |
+
|
| 5 |
+
# Version 1.0.1
|
| 6 |
+
|
| 7 |
+
* Fixed undefined variables in angle macro.
|
| 8 |
+
|
| 9 |
+
# Version 1.0.0
|
| 10 |
+
|
| 11 |
+
* Substantial refactor to support publishing to PyPI. https://pypi.org/project/practical-astronomy/
|
practical_astronomy/source/LICENSE
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Copyright (c) 2018 The Python Packaging Authority
|
| 2 |
+
|
| 3 |
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
| 4 |
+
of this software and associated documentation files (the "Software"), to deal
|
| 5 |
+
in the Software without restriction, including without limitation the rights
|
| 6 |
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
| 7 |
+
copies of the Software, and to permit persons to whom the Software is
|
| 8 |
+
furnished to do so, subject to the following conditions:
|
| 9 |
+
|
| 10 |
+
The above copyright notice and this permission notice shall be included in all
|
| 11 |
+
copies or substantial portions of the Software.
|
| 12 |
+
|
| 13 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
| 14 |
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
| 15 |
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
| 16 |
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
| 17 |
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
| 18 |
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
| 19 |
+
SOFTWARE.
|
practical_astronomy/source/Makefile
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
PYEXE = python3
|
| 2 |
+
|
| 3 |
+
default:
|
| 4 |
+
@echo 'Targets:'
|
| 5 |
+
@echo ' all-tests'
|
| 6 |
+
@echo ' test-easter'
|
| 7 |
+
@echo ' test-day-number'
|
| 8 |
+
@echo ' test-julian'
|
| 9 |
+
@echo ' test-time'
|
| 10 |
+
@echo ' test-coordinate'
|
| 11 |
+
@echo ' test-sun'
|
| 12 |
+
@echo ' test-planet-comet-binary'
|
| 13 |
+
@echo ' test-moon'
|
| 14 |
+
@echo ' test-eclipses'
|
| 15 |
+
@echo ' build'
|
| 16 |
+
@echo ' upload-test'
|
| 17 |
+
@echo ' upload'
|
| 18 |
+
|
| 19 |
+
all-tests: test-easter test-day-number test-julian test-time test-coordinate test-sun test-planet-comet-binary test-moon test-eclipses
|
| 20 |
+
|
| 21 |
+
test-easter:
|
| 22 |
+
@$(PYEXE) test_date_of_easter.py
|
| 23 |
+
|
| 24 |
+
test-day-number:
|
| 25 |
+
@$(PYEXE) test_day_number.py
|
| 26 |
+
|
| 27 |
+
test-julian:
|
| 28 |
+
@$(PYEXE) test_julian.py
|
| 29 |
+
|
| 30 |
+
test-time:
|
| 31 |
+
@$(PYEXE) test_time.py
|
| 32 |
+
|
| 33 |
+
test-coordinate:
|
| 34 |
+
@$(PYEXE) test_coordinate.py
|
| 35 |
+
|
| 36 |
+
test-sun:
|
| 37 |
+
@$(PYEXE) test_sun.py
|
| 38 |
+
|
| 39 |
+
test-planet-comet-binary:
|
| 40 |
+
@$(PYEXE) test_planet_comet_binary.py
|
| 41 |
+
|
| 42 |
+
test-moon:
|
| 43 |
+
@$(PYEXE) test_moon.py
|
| 44 |
+
|
| 45 |
+
test-eclipses:
|
| 46 |
+
@$(PYEXE) test_eclipses.py
|
| 47 |
+
|
| 48 |
+
build:
|
| 49 |
+
$(PYEXE) -m build
|
| 50 |
+
|
| 51 |
+
upload-test: build
|
| 52 |
+
$(PYEXE) -m twine upload --repository testpypi dist/*
|
| 53 |
+
|
| 54 |
+
upload: build
|
| 55 |
+
$(PYEXE) -m twine upload dist/*
|
practical_astronomy/source/README.md
ADDED
|
@@ -0,0 +1,117 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# practical-astronomy-python
|
| 2 |
+
|
| 3 |
+
Algorithms from [Practical Astronomy with your Calculator or Spreadsheet](https://www.amazon.com/Practical-Astronomy-your-Calculator-Spreadsheet/dp/1108436072) by Peter Duffett-Smith, implemented in Python 3. API documentation is published [here](https://jfcarr.github.io/practical-astronomy-python/).
|
| 4 |
+
|
| 5 |
+
If you're interested in this topic, please buy the book! It provides far more detail and context.
|
| 6 |
+
|
| 7 |
+
## Quick Start
|
| 8 |
+
|
| 9 |
+
Install:
|
| 10 |
+
|
| 11 |
+
```bash
|
| 12 |
+
pip install practical-astronomy
|
| 13 |
+
```
|
| 14 |
+
|
| 15 |
+
Create `easter.py`:
|
| 16 |
+
|
| 17 |
+
```python
|
| 18 |
+
import practical_astronomy.pa_datetime as pd
|
| 19 |
+
|
| 20 |
+
print(pd.get_date_of_easter(2024))
|
| 21 |
+
```
|
| 22 |
+
|
| 23 |
+
Run it:
|
| 24 |
+
|
| 25 |
+
```bash
|
| 26 |
+
python easter.py
|
| 27 |
+
```
|
| 28 |
+
|
| 29 |
+
Result:
|
| 30 |
+
|
| 31 |
+
```
|
| 32 |
+
(3, 31, 2024)
|
| 33 |
+
```
|
| 34 |
+
|
| 35 |
+
## Unit Tests
|
| 36 |
+
|
| 37 |
+
If you clone the [repo](https://github.com/jfcarr/practical-astronomy-python) locally, you can run unit tests with the Make utility:
|
| 38 |
+
|
| 39 |
+
```
|
| 40 |
+
make all-tests
|
| 41 |
+
```
|
| 42 |
+
|
| 43 |
+
## Library Functions
|
| 44 |
+
|
| 45 |
+
Documentation [here](https://jfcarr.github.io/practical-astronomy-python/).
|
| 46 |
+
|
| 47 |
+
### Date/Time
|
| 48 |
+
|
| 49 |
+
Type | Description
|
| 50 |
+
-----|------------
|
| 51 |
+
Calculate | Date of Easter
|
| 52 |
+
Convert | Civil Date to Day Number
|
| 53 |
+
Convert | Greenwich Date <-> Julian Date
|
| 54 |
+
Convert | Julian Date to Day-of-Week
|
| 55 |
+
Extract | Day, Month, and Year parts of Julian Date
|
| 56 |
+
Convert | Civil Time <-> Decimal Hours
|
| 57 |
+
Extract | Hour, Minutes, and Seconds parts of Decimal Hours
|
| 58 |
+
Convert | Local Civil Time <-> Universal Time
|
| 59 |
+
Convert | Universal Time <-> Greenwich Sidereal Time
|
| 60 |
+
Convert | Greenwich Sidereal Time <-> Local Sidereal Time
|
| 61 |
+
|
| 62 |
+
### Coordinates
|
| 63 |
+
|
| 64 |
+
Type | Description
|
| 65 |
+
-----|------------
|
| 66 |
+
Convert | Angle <-> Decimal Degrees
|
| 67 |
+
Convert | Right Ascension <-> Hour Angle
|
| 68 |
+
Convert | Equatorial Coordinates <-> Horizon Coordinates
|
| 69 |
+
Calculate | Obliquity of the Ecliptic
|
| 70 |
+
Convert | Ecliptic Coordinates <-> Equatorial Coordinates
|
| 71 |
+
Convert | Equatorial Coordinates <-> Galactic Coordinates
|
| 72 |
+
Calculate | Angle between two objects
|
| 73 |
+
Calculate | Rising and Setting times for an object
|
| 74 |
+
Calculate | Precession (corrected coordinates between two epochs)
|
| 75 |
+
Calculate | Nutation (in ecliptic longitude and obliquity) for a Greenwich date
|
| 76 |
+
Calculate | Effects of aberration for ecliptic coordinates
|
| 77 |
+
Calculate | RA and Declination values, corrected for atmospheric refraction and geocentric parallax
|
| 78 |
+
Calculate | Heliographic coordinates
|
| 79 |
+
Calculate | Carrington rotation number
|
| 80 |
+
Calculate | Selenographic (lunar) coordinates (sub-Earth and sub-Solar)
|
| 81 |
+
|
| 82 |
+
### The Sun
|
| 83 |
+
|
| 84 |
+
Type | Description
|
| 85 |
+
-----|------------
|
| 86 |
+
Calculate | Approximate and precise positions of the Sun
|
| 87 |
+
Calculate | Sun's distance and angular size
|
| 88 |
+
Calculate | Local sunrise and sunset
|
| 89 |
+
Calculate | Morning and evening twilight
|
| 90 |
+
Calculate | Equation of time
|
| 91 |
+
Calculate | Solar elongation
|
| 92 |
+
|
| 93 |
+
### Planets
|
| 94 |
+
|
| 95 |
+
Type | Description
|
| 96 |
+
-----|------------
|
| 97 |
+
Calculate | Approximate and precise position of planet
|
| 98 |
+
Calculate | Visual aspects of planet (distance, angular diameter, phase, light time, position angle of bright limb, and apparent magnitude)
|
| 99 |
+
Calculate | Position of comet (elliptical and parabolic)
|
| 100 |
+
Calculate | Binary star orbit data
|
| 101 |
+
|
| 102 |
+
### The Moon
|
| 103 |
+
|
| 104 |
+
Type | Description
|
| 105 |
+
-----|------------
|
| 106 |
+
Calculate | Approximate and precise position of Moon
|
| 107 |
+
Calculate | Moon phase and position angle of bright limb
|
| 108 |
+
Calculate | Times of new Moon and full Moon
|
| 109 |
+
Calculate | Moon's distance, angular diameter, and horizontal parallax
|
| 110 |
+
Calculate | Local moonrise and moonset
|
| 111 |
+
|
| 112 |
+
### Eclipses
|
| 113 |
+
|
| 114 |
+
Type | Description
|
| 115 |
+
-----|------------
|
| 116 |
+
Calculate | Lunar eclipse occurrence and circumstances
|
| 117 |
+
Calculate | Solar eclipse occurrence and circumstances
|
practical_astronomy/source/__init__.py
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# -*- coding: utf-8 -*-
|
| 2 |
+
"""
|
| 3 |
+
practical-astronomy-python Project Package Initialization File
|
| 4 |
+
"""
|
practical_astronomy/source/docs-gen/Doxyfile
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
PROJECT_NAME = "Practical Astronomy"
|
| 2 |
+
OUTPUT_DIRECTORY = ..
|
| 3 |
+
OPTIMIZE_OUTPUT_FOR_C = NO
|
| 4 |
+
OPTIMIZE_OUTPUT_JAVA = YES
|
| 5 |
+
OPTIMIZE_FOR_FORTRAN = NO
|
| 6 |
+
OPTIMIZE_OUTPUT_VHDL = NO
|
| 7 |
+
EXTRACT_ALL = YES
|
| 8 |
+
EXTRACT_PRIVATE = YES
|
| 9 |
+
HIDE_SCOPE_NAMES = YES
|
| 10 |
+
INPUT = src ../src/practical_astronomy ../README.md
|
| 11 |
+
USE_MDFILE_AS_MAINPAGE = README.md
|
| 12 |
+
RECURSIVE = YES
|
| 13 |
+
EXAMPLE_PATTERNS = *
|
| 14 |
+
GENERATE_HTML = YES
|
| 15 |
+
HTML_OUTPUT = docs
|
| 16 |
+
DOCSET_FEEDNAME = "Doxygen generated docs"
|
| 17 |
+
DOCSET_BUNDLE_ID = org.doxygen.Project
|
| 18 |
+
DOCSET_PUBLISHER_ID = org.doxygen.Publisher
|
| 19 |
+
DOCSET_PUBLISHER_NAME = Publisher
|
| 20 |
+
GENERATE_TREEVIEW = YES
|
| 21 |
+
GENERATE_LATEX = NO
|
| 22 |
+
GENERATE_RTF = NO
|
| 23 |
+
GENERATE_MAN = NO
|
| 24 |
+
GENERATE_XML = NO
|
| 25 |
+
GENERATE_DOCBOOK = NO
|
| 26 |
+
CLASS_DIAGRAMS = YES
|
| 27 |
+
HAVE_DOT = NO
|
practical_astronomy/source/docs-gen/Makefile
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
default:
|
| 2 |
+
@echo 'Targets:'
|
| 3 |
+
@echo ' view View documentation in Firefox.'
|
| 4 |
+
@echo ' build-python Build documentation from Python sources.'
|
| 5 |
+
|
| 6 |
+
view: build-python
|
| 7 |
+
@firefox ../docs/index.html &
|
| 8 |
+
|
| 9 |
+
build-python:
|
| 10 |
+
@-rm -rf ../docs
|
| 11 |
+
@mkdir ../docs
|
| 12 |
+
@doxygen
|
| 13 |
+
|
practical_astronomy/source/docs-gen/src/glossary.md
ADDED
|
@@ -0,0 +1,417 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Glossary of Terms
|
| 2 |
+
|
| 3 |
+
## aberration
|
| 4 |
+
The apparent angular displacement of a celestial object from its geometric position, caused by the motion of the observer with respect to the object, and the finite speed of light.
|
| 5 |
+
|
| 6 |
+
## age of Moon
|
| 7 |
+
The angle between the Sun and the Moon measured at the Earth.
|
| 8 |
+
|
| 9 |
+
## altitude
|
| 10 |
+
The angle up from the horizon.
|
| 11 |
+
|
| 12 |
+
## annual equation
|
| 13 |
+
A correction of the Moon’s orbital motion due to the variation of the Sun–Earth distance as the Earth travels in its own ellipse about the Sun.
|
| 14 |
+
|
| 15 |
+
## anomaly
|
| 16 |
+
The angle at the focus or the centre of an orbital ellipse between the major axis and the orbiting body or its projection.
|
| 17 |
+
|
| 18 |
+
## apastron
|
| 19 |
+
The point in an orbit about a star that is furthest from the star.
|
| 20 |
+
|
| 21 |
+
## aphelion
|
| 22 |
+
The point in an orbit about the Sun most distant from the Sun.
|
| 23 |
+
|
| 24 |
+
## apogee
|
| 25 |
+
The point in an orbit about the Earth most distant from the Earth.
|
| 26 |
+
|
| 27 |
+
## Astronomical Almanac
|
| 28 |
+
A collection of tables predicting the positions and circumstances of astronomical phenomena. This title replaced both the _American Ephemeris and Nautical Almanac_ and the _Astronomical Ephemeris_, beginning with the 1981 edition.
|
| 29 |
+
|
| 30 |
+
## Astronomical Ephemeris
|
| 31 |
+
_see Astronomical Almanac._
|
| 32 |
+
|
| 33 |
+
## astronomical latitude
|
| 34 |
+
The angle between the astronomical zenith and the equator.
|
| 35 |
+
|
| 36 |
+
## astronomical unit
|
| 37 |
+
Approximately equal to the length of the semi-major axis of the Earth’s orbit about the Sun, 1.496 × 10 11 metres.
|
| 38 |
+
|
| 39 |
+
## atmospheric refraction
|
| 40 |
+
The apparent shift in the position of a celestial object due to the bending of light rays by the atmosphere.
|
| 41 |
+
|
| 42 |
+
## azimuth
|
| 43 |
+
The angle round from the north point measured on the horizon in the sense NESW.
|
| 44 |
+
|
| 45 |
+
## binary star
|
| 46 |
+
A pair of stars bound together by their mutual gravitational attraction, both in orbit about their common centre of mass.
|
| 47 |
+
|
| 48 |
+
## calendar
|
| 49 |
+
System of accounting the days in the year. The **Julian calendar**, introduced by Julius Caesar, divides the year into 365 days except for every fourth year which has 366. The **Gregorian calendar**, introduced by Pope Gregory XIII (1502–1585) in 1582 and accepted in England in 1752, is the one generally in use in the West today. It reduced the errors in the Julian calendar by removing three days every four centuries; if the year ends in two noughts it is only a leap year if it is divisible by 400. So, for example, 2000 was a leap year, but 1700, 1800 and 1900 were not. 2100 will not be a leap year either.
|
| 50 |
+
|
| 51 |
+
## celestial sphere
|
| 52 |
+
An imaginary sphere, usually centred on the Earth, of arbitrarily large radius on the surface of which the stars can be considered to be fixed.
|
| 53 |
+
|
| 54 |
+
## circumpolar stars
|
| 55 |
+
Stars whose angular distances from the north or south celestial pole are sufficiently small that they never dip below the horizon.
|
| 56 |
+
|
| 57 |
+
## comet
|
| 58 |
+
A diffuse member of the Solar System, usually with a highly elongated orbit, which becomes visible near the Sun. It has a bright head and one or more diffuse tails of variable length.
|
| 59 |
+
|
| 60 |
+
## companion star
|
| 61 |
+
The fainter of the pair of stars in a visual-**binary star** system.
|
| 62 |
+
|
| 63 |
+
## conjunction
|
| 64 |
+
The moment when two celestial bodies occupy the same position in the sky or share a common
|
| 65 |
+
coordinate when viewed from a particular place. Thus **heliocentric conjunction**, and **conjunction in
|
| 66 |
+
right ascension**.
|
| 67 |
+
|
| 68 |
+
## coordinate systems
|
| 69 |
+
Frames of reference by means of which the position of any point can be uniquely specified. In astronomy, the systems take their names from the fundamental planes on which they are based. Thus the **ecliptic coordinate system** measures longitude round from the first point of Aries, in the plane of the ecliptic and latitude northwards from it. The **equatorial coordinate system** measures right ascension round from Aries in the plane of the Earth’s equator, and declination northwards from it. In the **horizon coordinate system**, the azimuth is measured round from the north point in the sense NESW and the altitude is the angle up from the horizon. The **galactic coordinate system** specifies position by longitude measured in the galactic plane round from the direction of the galactic centre and by latitude
|
| 70 |
+
measured perpendicular to the plane. **Heliographic coordinates** enable the position of an object on the surface of the Sun to be specified with respect to the solar equator and a fundamental meridian assumed to rotate at a uniform rate. **Selenographic coordinates** define positions on the surface of the Moon with
|
| 71 |
+
respect to the lunar equator and the mean **sub-Earth point**.
|
| 72 |
+
|
| 73 |
+
## coordinated universal time (UTC)
|
| 74 |
+
The time scale available from broadcast time signals. It differs from **International atomic time (TAI)** by a whole number of seconds, and is maintained within 0.9 s of
|
| 75 |
+
universal time (strictly UT1) by the insertion of leap seconds, usually at the ends of June or December.
|
| 76 |
+
|
| 77 |
+
## culmination
|
| 78 |
+
The moment at which a celestial body crosses the observer’s meridian. Circumpolar stars
|
| 79 |
+
cross the meridian above the horizon twice in one day, giving **upper culmination** and **lower culmination**.
|
| 80 |
+
|
| 81 |
+
## day
|
| 82 |
+
The interval between two successive transits across the observer’s meridian of a fixed star (**sidereal day**), of the Sun (**solar day**), or of a fictitious body called the mean Sun which moves at a uniform rate along the equator (**mean solar day**).
|
| 83 |
+
|
| 84 |
+
## daylight saving time
|
| 85 |
+
see **time**.
|
| 86 |
+
|
| 87 |
+
## declination
|
| 88 |
+
In the equatorial coordinate system, the angle measured perpendicular to the equator (north positive, south negative).
|
| 89 |
+
|
| 90 |
+
## dynamical time
|
| 91 |
+
The family of time scales introduced in 1984 that replaces **ephemeris time**. See **time**.
|
| 92 |
+
|
| 93 |
+
## earthshine
|
| 94 |
+
Light reflected from the Earth which sometimes illuminates the dark portion of the Moon’s
|
| 95 |
+
disc, making it visible.
|
| 96 |
+
|
| 97 |
+
## eccentricity
|
| 98 |
+
A measure of the degree of elongation of an ellipse, equal to the ratio of the distance of the focus from the centre to the length of the **semi-major axis**.
|
| 99 |
+
|
| 100 |
+
## eclipse
|
| 101 |
+
The passage of the Moon through the Earth’s shadow (**lunar eclipse**) or parts of the Earth through the Moon’s shadow (**solar eclipse**). If, at the moment of greatest eclipse, the Moon or Sun is only partly obscured it is a **partial eclipse**; if completely obscured it is a **total eclipse**. If during a solar eclipse the
|
| 102 |
+
Moon obscures the central part of the Sun’s disc but leaves an unobscured ring around its edge, then it is an **annular eclipse**.
|
| 103 |
+
|
| 104 |
+
## ecliptic
|
| 105 |
+
The plane containing the orbit of the Earth about the Sun.
|
| 106 |
+
|
| 107 |
+
## ellipse
|
| 108 |
+
A type of regular closed curve, oval in shape, of which a circle is a special case. It is traced by a point moving in such a manner that it keeps constant the sum of its distances from two fixed points, each of which is called a **focus** of the ellipse. The longest diameter of the ellipse, which goes through both foci and the centre, is called the **major axis**, the portion from the centre to the curve in either direction being called the **semi-major axis**.
|
| 109 |
+
|
| 110 |
+
## ephemeris time (ET)
|
| 111 |
+
See **time**.
|
| 112 |
+
|
| 113 |
+
## epoch
|
| 114 |
+
A particular moment specified as the reference point from which time is measured. The dates 1950.0 (strictly 1950 January 0.923) and 2000.0 (2000 January 1.5) are often used as standard epochs.
|
| 115 |
+
|
| 116 |
+
## equation of the centre
|
| 117 |
+
A relation between the true and mean anomalies which is an approximation to Kepler’s equation. In its simplest form it is
|
| 118 |
+
|
| 119 |
+
_v_ = _M_ + 2_e_ sin _M_,
|
| 120 |
+
|
| 121 |
+
where _v_ and _M_ are expressed in radians, useful for values of _e_ less than about 0.1.
|
| 122 |
+
|
| 123 |
+
## equation of the equinoxes
|
| 124 |
+
Apparent sidereal time minus mean sidereal time, taking account of the effect of **nutation** on the positions of the **equinoxes**.
|
| 125 |
+
|
| 126 |
+
## equation of time
|
| 127 |
+
The difference between the real solar time and the mean solar time.
|
| 128 |
+
|
| 129 |
+
## equator
|
| 130 |
+
The plane through the centre of the Earth which is perpendicular to the spin axis.
|
| 131 |
+
|
| 132 |
+
## equinox
|
| 133 |
+
The moment at which the Sun crosses the celestial equator. This occurs on about 21 March when its right ascension is zero (the **vernal equinox**) and about 22 September when its right ascension is 12 h (the **autumnal equinox**). The positions of the equinoxes on the celestial sphere lie along the line of the intersection of the planes of the equator and the ecliptic.
|
| 134 |
+
|
| 135 |
+
## evection
|
| 136 |
+
A correction to the Moon’s orbital motion taking account of slight variations in the apparent value
|
| 137 |
+
of the eccentricity of its orbit.
|
| 138 |
+
|
| 139 |
+
## extinction
|
| 140 |
+
The attenuation and colouring of light as it travels through a medium; in particular, **atmospheric extinction**.
|
| 141 |
+
|
| 142 |
+
## figure of the Earth
|
| 143 |
+
The true shape of the Earth. It is often approximated by a **spheroid of revolution**, a geometrical shape in which any cross-section parallel to the equator is a circle, while any cross-section through the north–south axis is an ellipse with the minor axis coincident with the diameter joining the north and south poles.
|
| 144 |
+
|
| 145 |
+
## first point of Aries
|
| 146 |
+
The position on the celestial sphere of the **vernal equinox**.
|
| 147 |
+
|
| 148 |
+
## focus of an ellipse
|
| 149 |
+
see **ellipse**.
|
| 150 |
+
|
| 151 |
+
## geocentric coordinates
|
| 152 |
+
Coordinates measured with respect to the centre of the Earth. Hence the **geocentric latitude** is the angle between the equator and a point on the surface of the Earth, as measured at the centre of the Earth.
|
| 153 |
+
|
| 154 |
+
## geocentric parallax
|
| 155 |
+
The angle subtended at a heavenly body by the centre of the Earth and the point of observation on the Earth’s surface.
|
| 156 |
+
|
| 157 |
+
## geostationary satellite
|
| 158 |
+
A body orbiting the Earth in the plane of the equator in such a direction and at such a height that its orbital period equals 1 day so that it keeps constant position with respect to the Earth’s surface.
|
| 159 |
+
|
| 160 |
+
## GPS time
|
| 161 |
+
An atomic time kept by the US Naval Observatory and broadcast by the satellites of the global positioning system. GPS time was equal to UTC on 1980 January 6 0.0, but, unlike UTC, is not adjusted by the insertion of leap seconds. Hence GPS time is equal, in June 2011, to UTC + 15 seconds (kept to within a microsecond) and is the time you can extract from your GPS navigation device.
|
| 162 |
+
|
| 163 |
+
## gravity
|
| 164 |
+
The mutual force of attraction between any two bodies which is proportional to the product of their masses and inversely proportional to the square of their separation.
|
| 165 |
+
|
| 166 |
+
## great circle
|
| 167 |
+
Any circle drawn on the surface of a sphere whose centre is the same as that of the sphere.
|
| 168 |
+
|
| 169 |
+
## Greenwich mean time (GMT)
|
| 170 |
+
This is ambiguous and is not now used in the _Astronomical Almanac_. Its meaning in civil life is usually the same as UTC, though previously it has been used to mean UT. Before 1925 it was reckoned from Greenwich mean noon (12 h UT).
|
| 171 |
+
|
| 172 |
+
## Greenwich meridian
|
| 173 |
+
That half of the great circle on the surface of the Earth passing through the north and south poles and through the reference point in Greenwich, England. It is taken as the line of longitude 0◦.
|
| 174 |
+
|
| 175 |
+
## horizontal parallax
|
| 176 |
+
The geocentric parallax when the celestial body is on the observer’s horizon; hence **equatorial horizontal parallax** when the observer is also on the equator.
|
| 177 |
+
|
| 178 |
+
## hour angle
|
| 179 |
+
The difference between the local sidereal time and the right ascension.
|
| 180 |
+
|
| 181 |
+
## inclination of orbit
|
| 182 |
+
The angle between the plane of the orbit and the plane of the ecliptic.
|
| 183 |
+
|
| 184 |
+
## inner planet
|
| 185 |
+
A planet whose semi-major axis is smaller than that of the Earth; that is the planets Mercury and Venus.
|
| 186 |
+
|
| 187 |
+
## international atomic time (TAI)
|
| 188 |
+
see **time**.
|
| 189 |
+
|
| 190 |
+
## Julian date
|
| 191 |
+
The number of Julian days that have elapsed since the fundamental epoch Greenwich mean noon of 1 January 4713 BC. For 2010 January 0.0 its value is 2 455 196.5. The **Julian day number** is the integer part of the Julian date. See also **modified Julian date** (MJD).
|
| 192 |
+
|
| 193 |
+
## Kepler’s equation
|
| 194 |
+
The relation between the mean and eccentric anomalies, _M_ and _E_,
|
| 195 |
+
|
| 196 |
+
_E_ − _e_sin_E_ = _M_,
|
| 197 |
+
|
| 198 |
+
where the angles are expressed in radians.
|
| 199 |
+
|
| 200 |
+
## latitude
|
| 201 |
+
The coordinate expressing the angle (north positive, south negative) perpendicular to a fundamental plane, hence **ecliptic latitude** and **galactic latitude**. On the Earth, the **geographical latitude** is measured with respect to the equator. The ecliptic latitude can be measured either at the Earth (**geocentric**) or at the Sun (**heliocentric**).
|
| 202 |
+
|
| 203 |
+
## librations
|
| 204 |
+
Variations in the orientation of the Moon’s surface with respect to an observer on the Earth.
|
| 205 |
+
|
| 206 |
+
## light time
|
| 207 |
+
The time it takes light signals from a celestial body to reach an observer.
|
| 208 |
+
|
| 209 |
+
## longitude
|
| 210 |
+
The coordinate expressing the angle round from a fixed direction measured in a fundamental plane, hence **ecliptic longitude** and **galactic longitude**. On the Earth, the **geographical longitude** is measured at the equator. The ecliptic longitude can be measured either at the Earth (**geocentric**) or at the Sun (**heliocentric**).
|
| 211 |
+
|
| 212 |
+
## lunation
|
| 213 |
+
The period between two successive new Moons.
|
| 214 |
+
|
| 215 |
+
## luni–solar precession
|
| 216 |
+
The slow retrograde motion of the first point of Aries along the equator caused by the combined effects of the Sun and the Moon on the slightly non-spherical Earth.
|
| 217 |
+
|
| 218 |
+
## magnitude
|
| 219 |
+
|
| 220 |
+
(i) the unit defined on a logarithmic scale which measures the brightness of a celestial object considered as a point.
|
| 221 |
+
|
| 222 |
+
(ii) **in a lunar eclipse**, the fraction of the lunar diameter obscured by the shadow of the Earth at the moment of greatest eclipse, measured along the common diameter.
|
| 223 |
+
|
| 224 |
+
(iii) **in a solar eclipse**, the fraction of the solar diameter obscured by the Moon at the moment of greatest eclipse, measured along the common diameter.
|
| 225 |
+
|
| 226 |
+
## mean Sun
|
| 227 |
+
A fictitious heavenly body that moves at a uniform rate along the equator making one complete circuit in the same time (1 year) as the real Sun takes to make a complete circuit.
|
| 228 |
+
|
| 229 |
+
## meridian
|
| 230 |
+
That half of a great circle which is terminated at the north and south poles. On the Earth a meridian is a line of longitude. On the celestial sphere, the meridian which passes through the zenith is called the **observer’s meridian**.
|
| 231 |
+
|
| 232 |
+
## modified Julian date (MJD)
|
| 233 |
+
The number of Julian days elapsed since 1858 November 17.0.
|
| 234 |
+
|
| 235 |
+
## month
|
| 236 |
+
The period taken by the Moon to make one complete circuit of its orbit from reference point to reference point. The **draconic month** or **nodal month** takes the ascending node as the reference and is equal to 27.212 2 mean solar days. The **sidereal month** is reckoned against the background of stars and is equal to 27.321 7 mean solar days. The Sun is used as the reference for the **synodic month** of 29.530 6 mean solar days, and the perigee for the **anomalistic month** of 27.554 6 mean solar days.
|
| 237 |
+
|
| 238 |
+
## nadir
|
| 239 |
+
The point on the celestial sphere diametrically opposite the **zenith**.
|
| 240 |
+
|
| 241 |
+
## node
|
| 242 |
+
A point on the celestial sphere where the great circle representing the orbit cuts the great circle representing the plane of the ecliptic. The point where the orbiting body is moving from below (south of) to above the ecliptic is called the **ascending node**; the other is the **descending node**.
|
| 243 |
+
|
| 244 |
+
## noon
|
| 245 |
+
The instant at which the Sun crosses the observer’s meridian.
|
| 246 |
+
|
| 247 |
+
## north celestial pole
|
| 248 |
+
The point at which the projection of the Earth’s rotation axis through the north pole intersects the celestial sphere.
|
| 249 |
+
|
| 250 |
+
## nutation
|
| 251 |
+
A small periodic wobbling motion of the Earth’s rotation axis.
|
| 252 |
+
|
| 253 |
+
## obliquity of the ecliptic
|
| 254 |
+
The angle at which the plane of the ecliptic is inclined to the plane of the equator.
|
| 255 |
+
|
| 256 |
+
## opposition
|
| 257 |
+
The moment when two celestial bodies occupy opposite positions in the sky, or have longitudes different by 180◦ , when viewed at a particular place.
|
| 258 |
+
|
| 259 |
+
## orbit
|
| 260 |
+
The path through space taken by a body gravitationally attracted to another body.
|
| 261 |
+
|
| 262 |
+
## orbital elements
|
| 263 |
+
The quantities which need to be known in order to specify an orbit uniquely.
|
| 264 |
+
|
| 265 |
+
## osculating elements
|
| 266 |
+
The elements describing the elliptical orbit followed by a body if all perturbing influences vanish. Since perturbations disturb the true orbit of any member of the Solar System, the osculating elements are constantly changing.
|
| 267 |
+
|
| 268 |
+
## outer planet
|
| 269 |
+
Those planets having semi-major axes larger than that of the Earth. The major outer planets are Mars, Jupiter, Saturn, Uranus and Neptune. In 2006, Pluto was reclassified as a dwarf planet by the International Astronomical Union.
|
| 270 |
+
|
| 271 |
+
## parabolic orbit
|
| 272 |
+
An orbit in which the velocity at any point is equal to the escape velocity.
|
| 273 |
+
|
| 274 |
+
## parallax
|
| 275 |
+
The amount by which the apparent position of a celestial object shifts as the point of observation is changed.
|
| 276 |
+
|
| 277 |
+
## penumbra
|
| 278 |
+
The outer portion of a shadow where the light is only partially cut off.
|
| 279 |
+
|
| 280 |
+
## periastron
|
| 281 |
+
The point in an orbit about a star that is nearest to the star.
|
| 282 |
+
|
| 283 |
+
## perigee
|
| 284 |
+
The point in an orbit about the Earth which is nearest the Earth.
|
| 285 |
+
|
| 286 |
+
## perihelion
|
| 287 |
+
The point of closest approach to the Sun in an orbit about the Sun.
|
| 288 |
+
|
| 289 |
+
## period of orbit
|
| 290 |
+
The time taken by the orbiting body to make one complete circuit.
|
| 291 |
+
|
| 292 |
+
## perturbations
|
| 293 |
+
Deviations from true elliptical motion caused by the gravitational fields of other members of the Solar System.
|
| 294 |
+
|
| 295 |
+
## phase
|
| 296 |
+
(i) **of Moon or planet**: the fraction of the area of the disc which is illuminated. When the dark side of the Moon faces the Earth, the phase is zero and it is **new Moon**. At the **first quarter** and the **third quarter**, the phase is equal to a half and the Moon is in **quadrature**. **Full Moon** has a phase equal to one. Whenever the phase is greater than a half, the Moon is described as **gibbous**.
|
| 297 |
+
|
| 298 |
+
(ii) **of an eclipse**: the stage of a lunar or solar eclipse during which the eclipsed body is partly obscured (**partial phase**) or totally obscured (**total phase**). During a lunar eclipse, the Moon is in the penumbra of the Earth’s shadow during the **penumbral phase** and partially or totally in the umbra during the **umbral phase**. The partial and total phases occur during the umbral phase.
|
| 299 |
+
|
| 300 |
+
## planet
|
| 301 |
+
A solid body in closed orbit about a star. In our own Solar System, the major planets are (in order of increasing distance from the Sun) Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, and Neptune. Pluto, formerly recognised as a planet, was reclassified as a dwarf planet in 2006.
|
| 302 |
+
|
| 303 |
+
## polar distance
|
| 304 |
+
The angle on the celestial sphere from the celestial pole.
|
| 305 |
+
|
| 306 |
+
## pole
|
| 307 |
+
The point on a sphere which is perpendicular to a given plane. Hence **pole of the ecliptic** and **pole of the equator** (each has two poles called north and south poles for short).
|
| 308 |
+
|
| 309 |
+
## position-angle
|
| 310 |
+
A celestial angle measured from 0◦ to 360◦ eastwards from the north.
|
| 311 |
+
|
| 312 |
+
## precession
|
| 313 |
+
see **luni-solar precession**.
|
| 314 |
+
|
| 315 |
+
## primary star
|
| 316 |
+
The brighter of the pair of stars in a visual-binary system.
|
| 317 |
+
|
| 318 |
+
## prograde motion
|
| 319 |
+
Motion in the same sense as that of all the planets about the Sun. When looking down on the Solar System from the north celestial pole, prograde motion is counter-clockwise.
|
| 320 |
+
|
| 321 |
+
## radian
|
| 322 |
+
A natural unit used to measure angles, equal to 1/2π revolutions and 180/π degrees.
|
| 323 |
+
|
| 324 |
+
## radius vector
|
| 325 |
+
The line joining the principal focus to the position of the orbiting body on its orbital ellipse.
|
| 326 |
+
|
| 327 |
+
## reflectivity of planet
|
| 328 |
+
A measure of a planet’s ability to reflect sunlight; a factor affecting its apparent brightness.
|
| 329 |
+
|
| 330 |
+
## refraction
|
| 331 |
+
see **atmospheric refraction**.
|
| 332 |
+
|
| 333 |
+
## retrograde motion
|
| 334 |
+
Motion in the opposite sense to that of all the planets about the Sun. When looking down on the Solar System from the north celestial pole, retrograde motion is clockwise.
|
| 335 |
+
|
| 336 |
+
## right ascension
|
| 337 |
+
In the equatorial coordinate system the angle measured round from the first point of Aries in the plane of the equator, in the sense NWSE.
|
| 338 |
+
|
| 339 |
+
## rising
|
| 340 |
+
The moment when a celestial body crosses the horizon on the way up.
|
| 341 |
+
|
| 342 |
+
## Saros cycle
|
| 343 |
+
The period of 18 years 11 days and 8 hours after which the pattern of lunar and solar eclipses tends to repeat.
|
| 344 |
+
|
| 345 |
+
## second (SI second)
|
| 346 |
+
The unit of time for the **international atomic time (TAI)** scale defined to be exactly 9 192 631 770 cycles of radiation corresponding to the transition between two hyperfine levels in the ground state of caesium 133.
|
| 347 |
+
|
| 348 |
+
## semi-major axis
|
| 349 |
+
see **ellipse**.
|
| 350 |
+
|
| 351 |
+
## setting
|
| 352 |
+
The moment when a celestial body crosses the horizon on the way down.
|
| 353 |
+
|
| 354 |
+
## solar elongation
|
| 355 |
+
The angle between the lines of sight to the Sun and to the celestial body in question.
|
| 356 |
+
|
| 357 |
+
## Solar System
|
| 358 |
+
The Sun and all the bodies, planets, comets and asteroids in closed orbits about it.
|
| 359 |
+
|
| 360 |
+
## solstice
|
| 361 |
+
The points at which the apparent longitude of the Sun is 90◦ and 270◦, or the moments at which the Sun is at either of these points. These occur around 21 June and 21 December.
|
| 362 |
+
|
| 363 |
+
## sub-Earth point
|
| 364 |
+
The point on a celestial body (especially the Moon) where the line joining the centre of the Earth and the centre of the body intersects the surface of the body.
|
| 365 |
+
|
| 366 |
+
## synodic period
|
| 367 |
+
The time between successive conjunctions in longitude.
|
| 368 |
+
|
| 369 |
+
## terminator
|
| 370 |
+
The line marking the boundary between the dark and sunlit hemispheres of a member of the Solar System.
|
| 371 |
+
|
| 372 |
+
## terrestrial dynamical time (TDT)
|
| 373 |
+
see **time**.
|
| 374 |
+
|
| 375 |
+
## terrestrial time (TT)
|
| 376 |
+
see **time**.
|
| 377 |
+
|
| 378 |
+
## time
|
| 379 |
+
### atomic time
|
| 380 |
+
Time measured with respect to the natural period of oscillations of an atomic system. Caesium beam clocks currently constitute the most precise time-keepers available, and the SI unit of atomic time is defined in terms of the caesium 133 atom (see **second**). **International atomic time (TAI)** is the continuous scale resulting from analyses by the Bureau International des Poids et Mesures of atomic time standards in many countries, starting from the epoch 1958 January 1. **Coordinated universal time** (UTC) is the time scale distributed by standard time services and is tied to both TAI and UT in such a manner that (a) it differs from TAI by a whole number of
|
| 381 |
+
seconds, and (b) it is never more than 0.9 s different from UT (strictly UT1). This is achieved by the introduction of leap seconds into UTC from time to time. UTC constitutes the basis for legal time keeping in most parts of the world. **Terrestrial time (TT)** (**called terrestrial dynamic time (TDT)** until 1991) is used as the argument in theories of celestial dynamics and in the compilation of the _Astronomical Almanac_. It is equal to TAI +32.184 s. **TDT** had replaced **ephemeris time (ET)** in 1984, which was itself derived from analyses of the Moon’s motion.
|
| 382 |
+
|
| 383 |
+
### solar time
|
| 384 |
+
Time measured with respect to the motion of the Sun or a fictitious body, no longer used, called the mean Sun (**mean solar time**). **Universal time (UT)** is, broadly speaking, the mean solar time as measured on the Greenwich meridian. It is formally defined by a mathematical formula as a function of **sidereal time** (see below), and is thus determined from observations of the stars. A direct application of the formula gives UT0; with a small correction for polar motion the scale UT1 is obtained. Whenever the term UT is used, UT1 is usually implied. **British summer time (BST)** is 1 hour ahead of UT and is an example of **daylight saving time** in which the time is adjusted to make the working day fit more conveniently into the daylight hours.
|
| 385 |
+
|
| 386 |
+
### sidereal time
|
| 387 |
+
Time measured with respect to the apparent motion of the stars. The **local sidereal time** at any place is equal to the hour angle of the first point of Aries; local sidereal time on the Greenwich meridian is called **Greenwich sidereal time**. The difference between **apparent sidereal time** and **mean sidereal time** is called the **equation of the equinoxes**, and takes account of **nutation**. It may be as much as 1.2 seconds.
|
| 388 |
+
|
| 389 |
+
## time zone
|
| 390 |
+
A longitudinal strip on the surface of the Earth in which the **zone time**, usually a whole number of hours before or after UT, is adopted as the local civil time by national or international agreement.
|
| 391 |
+
|
| 392 |
+
## transit
|
| 393 |
+
The moment at which a celestial body crosses the observer’s meridian.
|
| 394 |
+
|
| 395 |
+
## twilight
|
| 396 |
+
That period of semi-darkness after sunset or before sunrise during which the sun’s zenith distance is more than 90◦ but less than some agreed figure. This figure is 108◦ for **astronomical twilight** and 102◦ for **nautical twilight**, while for **civil twilight** it is 96◦.
|
| 397 |
+
|
| 398 |
+
## umbra
|
| 399 |
+
The inner portion of a shadow where the light is completely obscured.
|
| 400 |
+
|
| 401 |
+
## universal time
|
| 402 |
+
see **time**.
|
| 403 |
+
|
| 404 |
+
## variation
|
| 405 |
+
A correction to the Moon’s orbital motion about the Earth that takes account of the changing solar gravitational field.
|
| 406 |
+
|
| 407 |
+
## vernal equinox
|
| 408 |
+
see **equinox**.
|
| 409 |
+
|
| 410 |
+
## year
|
| 411 |
+
The interval between two successive passages of the Sun through a reference point. A particular point among the stars is used as reference in the **sidereal year**, equal to 365.2564 mean solar days. The **tropical year**, 365.242 191 mean solar days, uses the first point of Aries as its reference. When no qualifying adjective is used with the word 'year', it is usually the tropical year that is meant. Perturbations to the Earth’s orbit by the other planets cause small changes in the Earth’s orbital elements. The **anomalistic year**, 365.2596 mean solar days, is the interval between two successive passages of the Sun through perigee. The **Besselian year**, not used since 1984, is the period of one complete revolution in right ascension of the fictitious mean Sun as defined by the astronomer Simon Newcomb (1835–1909). It is almost the same as the tropical year, but begins when the right ascension of the Sun is exactly 240◦ ; this instant falls very near the beginning of the **civil year**.
|
| 412 |
+
|
| 413 |
+
## zenith
|
| 414 |
+
The point directly overhead at the observer. The **zenith angle** or **zenith distance** of a star is the angle between the star and the zenith.
|
| 415 |
+
|
| 416 |
+
## zone correction
|
| 417 |
+
The number of hours that needs to be added to or subtracted from UT to get the **zone time**.
|
practical_astronomy/source/docs/README_8md.html
ADDED
|
@@ -0,0 +1,98 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
| 2 |
+
<html xmlns="http://www.w3.org/1999/xhtml">
|
| 3 |
+
<head>
|
| 4 |
+
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
| 5 |
+
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
| 6 |
+
<meta name="generator" content="Doxygen 1.9.1"/>
|
| 7 |
+
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
| 8 |
+
<title>Practical Astronomy: /home/jimc/projects/Practical Astronomy/practical-astronomy-python-venv/practical-astronomy-python/README.md File Reference</title>
|
| 9 |
+
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
| 10 |
+
<script type="text/javascript" src="jquery.js"></script>
|
| 11 |
+
<script type="text/javascript" src="dynsections.js"></script>
|
| 12 |
+
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
| 13 |
+
<script type="text/javascript" src="resize.js"></script>
|
| 14 |
+
<script type="text/javascript" src="navtreedata.js"></script>
|
| 15 |
+
<script type="text/javascript" src="navtree.js"></script>
|
| 16 |
+
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
| 17 |
+
<script type="text/javascript" src="search/searchdata.js"></script>
|
| 18 |
+
<script type="text/javascript" src="search/search.js"></script>
|
| 19 |
+
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
| 20 |
+
</head>
|
| 21 |
+
<body>
|
| 22 |
+
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
| 23 |
+
<div id="titlearea">
|
| 24 |
+
<table cellspacing="0" cellpadding="0">
|
| 25 |
+
<tbody>
|
| 26 |
+
<tr style="height: 56px;">
|
| 27 |
+
<td id="projectalign" style="padding-left: 0.5em;">
|
| 28 |
+
<div id="projectname">Practical Astronomy
|
| 29 |
+
</div>
|
| 30 |
+
</td>
|
| 31 |
+
</tr>
|
| 32 |
+
</tbody>
|
| 33 |
+
</table>
|
| 34 |
+
</div>
|
| 35 |
+
<!-- end header part -->
|
| 36 |
+
<!-- Generated by Doxygen 1.9.1 -->
|
| 37 |
+
<script type="text/javascript">
|
| 38 |
+
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
| 39 |
+
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
|
| 40 |
+
/* @license-end */
|
| 41 |
+
</script>
|
| 42 |
+
<script type="text/javascript" src="menudata.js"></script>
|
| 43 |
+
<script type="text/javascript" src="menu.js"></script>
|
| 44 |
+
<script type="text/javascript">
|
| 45 |
+
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
| 46 |
+
$(function() {
|
| 47 |
+
initMenu('',true,false,'search.php','Search');
|
| 48 |
+
$(document).ready(function() { init_search(); });
|
| 49 |
+
});
|
| 50 |
+
/* @license-end */</script>
|
| 51 |
+
<div id="main-nav"></div>
|
| 52 |
+
</div><!-- top -->
|
| 53 |
+
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
| 54 |
+
<div id="nav-tree">
|
| 55 |
+
<div id="nav-tree-contents">
|
| 56 |
+
<div id="nav-sync" class="sync"></div>
|
| 57 |
+
</div>
|
| 58 |
+
</div>
|
| 59 |
+
<div id="splitbar" style="-moz-user-select:none;"
|
| 60 |
+
class="ui-resizable-handle">
|
| 61 |
+
</div>
|
| 62 |
+
</div>
|
| 63 |
+
<script type="text/javascript">
|
| 64 |
+
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
| 65 |
+
$(document).ready(function(){initNavTree('README_8md.html',''); initResizable(); });
|
| 66 |
+
/* @license-end */
|
| 67 |
+
</script>
|
| 68 |
+
<div id="doc-content">
|
| 69 |
+
<!-- window showing the filter options -->
|
| 70 |
+
<div id="MSearchSelectWindow"
|
| 71 |
+
onmouseover="return searchBox.OnSearchSelectShow()"
|
| 72 |
+
onmouseout="return searchBox.OnSearchSelectHide()"
|
| 73 |
+
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
| 74 |
+
</div>
|
| 75 |
+
|
| 76 |
+
<!-- iframe showing the search results (closed by default) -->
|
| 77 |
+
<div id="MSearchResultsWindow">
|
| 78 |
+
<iframe src="javascript:void(0)" frameborder="0"
|
| 79 |
+
name="MSearchResults" id="MSearchResults">
|
| 80 |
+
</iframe>
|
| 81 |
+
</div>
|
| 82 |
+
|
| 83 |
+
<div class="header">
|
| 84 |
+
<div class="headertitle">
|
| 85 |
+
<div class="title">/home/jimc/projects/Practical Astronomy/practical-astronomy-python-venv/practical-astronomy-python/README.md File Reference</div> </div>
|
| 86 |
+
</div><!--header-->
|
| 87 |
+
<div class="contents">
|
| 88 |
+
</div><!-- contents -->
|
| 89 |
+
</div><!-- doc-content -->
|
| 90 |
+
<!-- start footer part -->
|
| 91 |
+
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
| 92 |
+
<ul>
|
| 93 |
+
<li class="navelem"><a class="el" href="README_8md.html">README.md</a></li>
|
| 94 |
+
<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>
|
| 95 |
+
</ul>
|
| 96 |
+
</div>
|
| 97 |
+
</body>
|
| 98 |
+
</html>
|
practical_astronomy/source/docs/____init_____8py.html
ADDED
|
@@ -0,0 +1,106 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
| 2 |
+
<html xmlns="http://www.w3.org/1999/xhtml">
|
| 3 |
+
<head>
|
| 4 |
+
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
| 5 |
+
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
| 6 |
+
<meta name="generator" content="Doxygen 1.9.1"/>
|
| 7 |
+
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
| 8 |
+
<title>Practical Astronomy: /home/jimc/projects/Practical Astronomy/practical-astronomy-python-venv/practical-astronomy-python/src/practical_astronomy/__init__.py File Reference</title>
|
| 9 |
+
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
| 10 |
+
<script type="text/javascript" src="jquery.js"></script>
|
| 11 |
+
<script type="text/javascript" src="dynsections.js"></script>
|
| 12 |
+
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
| 13 |
+
<script type="text/javascript" src="resize.js"></script>
|
| 14 |
+
<script type="text/javascript" src="navtreedata.js"></script>
|
| 15 |
+
<script type="text/javascript" src="navtree.js"></script>
|
| 16 |
+
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
| 17 |
+
<script type="text/javascript" src="search/searchdata.js"></script>
|
| 18 |
+
<script type="text/javascript" src="search/search.js"></script>
|
| 19 |
+
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
| 20 |
+
</head>
|
| 21 |
+
<body>
|
| 22 |
+
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
| 23 |
+
<div id="titlearea">
|
| 24 |
+
<table cellspacing="0" cellpadding="0">
|
| 25 |
+
<tbody>
|
| 26 |
+
<tr style="height: 56px;">
|
| 27 |
+
<td id="projectalign" style="padding-left: 0.5em;">
|
| 28 |
+
<div id="projectname">Practical Astronomy
|
| 29 |
+
</div>
|
| 30 |
+
</td>
|
| 31 |
+
</tr>
|
| 32 |
+
</tbody>
|
| 33 |
+
</table>
|
| 34 |
+
</div>
|
| 35 |
+
<!-- end header part -->
|
| 36 |
+
<!-- Generated by Doxygen 1.9.1 -->
|
| 37 |
+
<script type="text/javascript">
|
| 38 |
+
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
| 39 |
+
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
|
| 40 |
+
/* @license-end */
|
| 41 |
+
</script>
|
| 42 |
+
<script type="text/javascript" src="menudata.js"></script>
|
| 43 |
+
<script type="text/javascript" src="menu.js"></script>
|
| 44 |
+
<script type="text/javascript">
|
| 45 |
+
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
| 46 |
+
$(function() {
|
| 47 |
+
initMenu('',true,false,'search.php','Search');
|
| 48 |
+
$(document).ready(function() { init_search(); });
|
| 49 |
+
});
|
| 50 |
+
/* @license-end */</script>
|
| 51 |
+
<div id="main-nav"></div>
|
| 52 |
+
</div><!-- top -->
|
| 53 |
+
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
| 54 |
+
<div id="nav-tree">
|
| 55 |
+
<div id="nav-tree-contents">
|
| 56 |
+
<div id="nav-sync" class="sync"></div>
|
| 57 |
+
</div>
|
| 58 |
+
</div>
|
| 59 |
+
<div id="splitbar" style="-moz-user-select:none;"
|
| 60 |
+
class="ui-resizable-handle">
|
| 61 |
+
</div>
|
| 62 |
+
</div>
|
| 63 |
+
<script type="text/javascript">
|
| 64 |
+
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
| 65 |
+
$(document).ready(function(){initNavTree('____init_____8py.html',''); initResizable(); });
|
| 66 |
+
/* @license-end */
|
| 67 |
+
</script>
|
| 68 |
+
<div id="doc-content">
|
| 69 |
+
<!-- window showing the filter options -->
|
| 70 |
+
<div id="MSearchSelectWindow"
|
| 71 |
+
onmouseover="return searchBox.OnSearchSelectShow()"
|
| 72 |
+
onmouseout="return searchBox.OnSearchSelectHide()"
|
| 73 |
+
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
| 74 |
+
</div>
|
| 75 |
+
|
| 76 |
+
<!-- iframe showing the search results (closed by default) -->
|
| 77 |
+
<div id="MSearchResultsWindow">
|
| 78 |
+
<iframe src="javascript:void(0)" frameborder="0"
|
| 79 |
+
name="MSearchResults" id="MSearchResults">
|
| 80 |
+
</iframe>
|
| 81 |
+
</div>
|
| 82 |
+
|
| 83 |
+
<div class="header">
|
| 84 |
+
<div class="summary">
|
| 85 |
+
<a href="#namespaces">Namespaces</a> </div>
|
| 86 |
+
<div class="headertitle">
|
| 87 |
+
<div class="title">__init__.py File Reference</div> </div>
|
| 88 |
+
</div><!--header-->
|
| 89 |
+
<div class="contents">
|
| 90 |
+
<table class="memberdecls">
|
| 91 |
+
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
|
| 92 |
+
Namespaces</h2></td></tr>
|
| 93 |
+
<tr class="memitem:namespacepractical__astronomy"><td class="memItemLeft" align="right" valign="top">  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepractical__astronomy.html">practical_astronomy</a></td></tr>
|
| 94 |
+
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
| 95 |
+
</table>
|
| 96 |
+
</div><!-- contents -->
|
| 97 |
+
</div><!-- doc-content -->
|
| 98 |
+
<!-- start footer part -->
|
| 99 |
+
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
| 100 |
+
<ul>
|
| 101 |
+
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_45978790aec87fba6f3407586a078612.html">practical_astronomy</a></li><li class="navelem"><a class="el" href="____init_____8py.html">__init__.py</a></li>
|
| 102 |
+
<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>
|
| 103 |
+
</ul>
|
| 104 |
+
</div>
|
| 105 |
+
</body>
|
| 106 |
+
</html>
|
practical_astronomy/source/docs/bc_s.png
ADDED
|
practical_astronomy/source/docs/bdwn.png
ADDED
|
practical_astronomy/source/docs/closed.png
ADDED
|
practical_astronomy/source/docs/dir_45978790aec87fba6f3407586a078612.html
ADDED
|
@@ -0,0 +1,130 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
| 2 |
+
<html xmlns="http://www.w3.org/1999/xhtml">
|
| 3 |
+
<head>
|
| 4 |
+
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
| 5 |
+
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
| 6 |
+
<meta name="generator" content="Doxygen 1.9.1"/>
|
| 7 |
+
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
| 8 |
+
<title>Practical Astronomy: /home/jimc/projects/Practical Astronomy/practical-astronomy-python-venv/practical-astronomy-python/src/practical_astronomy Directory Reference</title>
|
| 9 |
+
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
| 10 |
+
<script type="text/javascript" src="jquery.js"></script>
|
| 11 |
+
<script type="text/javascript" src="dynsections.js"></script>
|
| 12 |
+
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
| 13 |
+
<script type="text/javascript" src="resize.js"></script>
|
| 14 |
+
<script type="text/javascript" src="navtreedata.js"></script>
|
| 15 |
+
<script type="text/javascript" src="navtree.js"></script>
|
| 16 |
+
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
| 17 |
+
<script type="text/javascript" src="search/searchdata.js"></script>
|
| 18 |
+
<script type="text/javascript" src="search/search.js"></script>
|
| 19 |
+
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
| 20 |
+
</head>
|
| 21 |
+
<body>
|
| 22 |
+
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
| 23 |
+
<div id="titlearea">
|
| 24 |
+
<table cellspacing="0" cellpadding="0">
|
| 25 |
+
<tbody>
|
| 26 |
+
<tr style="height: 56px;">
|
| 27 |
+
<td id="projectalign" style="padding-left: 0.5em;">
|
| 28 |
+
<div id="projectname">Practical Astronomy
|
| 29 |
+
</div>
|
| 30 |
+
</td>
|
| 31 |
+
</tr>
|
| 32 |
+
</tbody>
|
| 33 |
+
</table>
|
| 34 |
+
</div>
|
| 35 |
+
<!-- end header part -->
|
| 36 |
+
<!-- Generated by Doxygen 1.9.1 -->
|
| 37 |
+
<script type="text/javascript">
|
| 38 |
+
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
| 39 |
+
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
|
| 40 |
+
/* @license-end */
|
| 41 |
+
</script>
|
| 42 |
+
<script type="text/javascript" src="menudata.js"></script>
|
| 43 |
+
<script type="text/javascript" src="menu.js"></script>
|
| 44 |
+
<script type="text/javascript">
|
| 45 |
+
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
| 46 |
+
$(function() {
|
| 47 |
+
initMenu('',true,false,'search.php','Search');
|
| 48 |
+
$(document).ready(function() { init_search(); });
|
| 49 |
+
});
|
| 50 |
+
/* @license-end */</script>
|
| 51 |
+
<div id="main-nav"></div>
|
| 52 |
+
</div><!-- top -->
|
| 53 |
+
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
| 54 |
+
<div id="nav-tree">
|
| 55 |
+
<div id="nav-tree-contents">
|
| 56 |
+
<div id="nav-sync" class="sync"></div>
|
| 57 |
+
</div>
|
| 58 |
+
</div>
|
| 59 |
+
<div id="splitbar" style="-moz-user-select:none;"
|
| 60 |
+
class="ui-resizable-handle">
|
| 61 |
+
</div>
|
| 62 |
+
</div>
|
| 63 |
+
<script type="text/javascript">
|
| 64 |
+
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
| 65 |
+
$(document).ready(function(){initNavTree('dir_45978790aec87fba6f3407586a078612.html',''); initResizable(); });
|
| 66 |
+
/* @license-end */
|
| 67 |
+
</script>
|
| 68 |
+
<div id="doc-content">
|
| 69 |
+
<!-- window showing the filter options -->
|
| 70 |
+
<div id="MSearchSelectWindow"
|
| 71 |
+
onmouseover="return searchBox.OnSearchSelectShow()"
|
| 72 |
+
onmouseout="return searchBox.OnSearchSelectHide()"
|
| 73 |
+
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
| 74 |
+
</div>
|
| 75 |
+
|
| 76 |
+
<!-- iframe showing the search results (closed by default) -->
|
| 77 |
+
<div id="MSearchResultsWindow">
|
| 78 |
+
<iframe src="javascript:void(0)" frameborder="0"
|
| 79 |
+
name="MSearchResults" id="MSearchResults">
|
| 80 |
+
</iframe>
|
| 81 |
+
</div>
|
| 82 |
+
|
| 83 |
+
<div class="header">
|
| 84 |
+
<div class="headertitle">
|
| 85 |
+
<div class="title">practical_astronomy Directory Reference</div> </div>
|
| 86 |
+
</div><!--header-->
|
| 87 |
+
<div class="contents">
|
| 88 |
+
<table class="memberdecls">
|
| 89 |
+
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
|
| 90 |
+
Files</h2></td></tr>
|
| 91 |
+
<tr class="memitem:____init_____8py"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="____init_____8py.html">__init__.py</a></td></tr>
|
| 92 |
+
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
| 93 |
+
<tr class="memitem:pa__binary_8py"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="pa__binary_8py.html">pa_binary.py</a></td></tr>
|
| 94 |
+
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
| 95 |
+
<tr class="memitem:pa__binary__data_8py"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="pa__binary__data_8py.html">pa_binary_data.py</a></td></tr>
|
| 96 |
+
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
| 97 |
+
<tr class="memitem:pa__comet_8py"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="pa__comet_8py.html">pa_comet.py</a></td></tr>
|
| 98 |
+
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
| 99 |
+
<tr class="memitem:pa__comet__data_8py"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="pa__comet__data_8py.html">pa_comet_data.py</a></td></tr>
|
| 100 |
+
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
| 101 |
+
<tr class="memitem:pa__coordinate_8py"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="pa__coordinate_8py.html">pa_coordinate.py</a></td></tr>
|
| 102 |
+
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
| 103 |
+
<tr class="memitem:pa__datetime_8py"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="pa__datetime_8py.html">pa_datetime.py</a></td></tr>
|
| 104 |
+
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
| 105 |
+
<tr class="memitem:pa__eclipses_8py"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="pa__eclipses_8py.html">pa_eclipses.py</a></td></tr>
|
| 106 |
+
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
| 107 |
+
<tr class="memitem:pa__macro_8py"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="pa__macro_8py.html">pa_macro.py</a></td></tr>
|
| 108 |
+
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
| 109 |
+
<tr class="memitem:pa__moon_8py"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="pa__moon_8py.html">pa_moon.py</a></td></tr>
|
| 110 |
+
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
| 111 |
+
<tr class="memitem:pa__planet_8py"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="pa__planet_8py.html">pa_planet.py</a></td></tr>
|
| 112 |
+
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
| 113 |
+
<tr class="memitem:pa__planet__data_8py"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="pa__planet__data_8py.html">pa_planet_data.py</a></td></tr>
|
| 114 |
+
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
| 115 |
+
<tr class="memitem:pa__sun_8py"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="pa__sun_8py.html">pa_sun.py</a></td></tr>
|
| 116 |
+
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
| 117 |
+
<tr class="memitem:pa__util_8py"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="pa__util_8py.html">pa_util.py</a></td></tr>
|
| 118 |
+
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
| 119 |
+
</table>
|
| 120 |
+
</div><!-- contents -->
|
| 121 |
+
</div><!-- doc-content -->
|
| 122 |
+
<!-- start footer part -->
|
| 123 |
+
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
| 124 |
+
<ul>
|
| 125 |
+
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_45978790aec87fba6f3407586a078612.html">practical_astronomy</a></li>
|
| 126 |
+
<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>
|
| 127 |
+
</ul>
|
| 128 |
+
</div>
|
| 129 |
+
</body>
|
| 130 |
+
</html>
|
practical_astronomy/source/docs/dir_45978790aec87fba6f3407586a078612.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
var dir_45978790aec87fba6f3407586a078612 =
|
| 2 |
+
[
|
| 3 |
+
[ "__init__.py", "____init_____8py.html", null ],
|
| 4 |
+
[ "pa_binary.py", "pa__binary_8py.html", "pa__binary_8py" ],
|
| 5 |
+
[ "pa_binary_data.py", "pa__binary__data_8py.html", "pa__binary__data_8py" ],
|
| 6 |
+
[ "pa_comet.py", "pa__comet_8py.html", "pa__comet_8py" ],
|
| 7 |
+
[ "pa_comet_data.py", "pa__comet__data_8py.html", "pa__comet__data_8py" ],
|
| 8 |
+
[ "pa_coordinate.py", "pa__coordinate_8py.html", "pa__coordinate_8py" ],
|
| 9 |
+
[ "pa_datetime.py", "pa__datetime_8py.html", "pa__datetime_8py" ],
|
| 10 |
+
[ "pa_eclipses.py", "pa__eclipses_8py.html", "pa__eclipses_8py" ],
|
| 11 |
+
[ "pa_macro.py", "pa__macro_8py.html", "pa__macro_8py" ],
|
| 12 |
+
[ "pa_moon.py", "pa__moon_8py.html", "pa__moon_8py" ],
|
| 13 |
+
[ "pa_planet.py", "pa__planet_8py.html", "pa__planet_8py" ],
|
| 14 |
+
[ "pa_planet_data.py", "pa__planet__data_8py.html", "pa__planet__data_8py" ],
|
| 15 |
+
[ "pa_sun.py", "pa__sun_8py.html", "pa__sun_8py" ],
|
| 16 |
+
[ "pa_util.py", "pa__util_8py.html", "pa__util_8py" ]
|
| 17 |
+
];
|
practical_astronomy/source/docs/dir_68267d1309a1af8e8297ef4c3efbcdba.html
ADDED
|
@@ -0,0 +1,104 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
| 2 |
+
<html xmlns="http://www.w3.org/1999/xhtml">
|
| 3 |
+
<head>
|
| 4 |
+
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
| 5 |
+
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
| 6 |
+
<meta name="generator" content="Doxygen 1.9.1"/>
|
| 7 |
+
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
| 8 |
+
<title>Practical Astronomy: /home/jimc/projects/Practical Astronomy/practical-astronomy-python-venv/practical-astronomy-python/src Directory Reference</title>
|
| 9 |
+
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
| 10 |
+
<script type="text/javascript" src="jquery.js"></script>
|
| 11 |
+
<script type="text/javascript" src="dynsections.js"></script>
|
| 12 |
+
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
| 13 |
+
<script type="text/javascript" src="resize.js"></script>
|
| 14 |
+
<script type="text/javascript" src="navtreedata.js"></script>
|
| 15 |
+
<script type="text/javascript" src="navtree.js"></script>
|
| 16 |
+
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
| 17 |
+
<script type="text/javascript" src="search/searchdata.js"></script>
|
| 18 |
+
<script type="text/javascript" src="search/search.js"></script>
|
| 19 |
+
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
| 20 |
+
</head>
|
| 21 |
+
<body>
|
| 22 |
+
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
| 23 |
+
<div id="titlearea">
|
| 24 |
+
<table cellspacing="0" cellpadding="0">
|
| 25 |
+
<tbody>
|
| 26 |
+
<tr style="height: 56px;">
|
| 27 |
+
<td id="projectalign" style="padding-left: 0.5em;">
|
| 28 |
+
<div id="projectname">Practical Astronomy
|
| 29 |
+
</div>
|
| 30 |
+
</td>
|
| 31 |
+
</tr>
|
| 32 |
+
</tbody>
|
| 33 |
+
</table>
|
| 34 |
+
</div>
|
| 35 |
+
<!-- end header part -->
|
| 36 |
+
<!-- Generated by Doxygen 1.9.1 -->
|
| 37 |
+
<script type="text/javascript">
|
| 38 |
+
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
| 39 |
+
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
|
| 40 |
+
/* @license-end */
|
| 41 |
+
</script>
|
| 42 |
+
<script type="text/javascript" src="menudata.js"></script>
|
| 43 |
+
<script type="text/javascript" src="menu.js"></script>
|
| 44 |
+
<script type="text/javascript">
|
| 45 |
+
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
| 46 |
+
$(function() {
|
| 47 |
+
initMenu('',true,false,'search.php','Search');
|
| 48 |
+
$(document).ready(function() { init_search(); });
|
| 49 |
+
});
|
| 50 |
+
/* @license-end */</script>
|
| 51 |
+
<div id="main-nav"></div>
|
| 52 |
+
</div><!-- top -->
|
| 53 |
+
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
| 54 |
+
<div id="nav-tree">
|
| 55 |
+
<div id="nav-tree-contents">
|
| 56 |
+
<div id="nav-sync" class="sync"></div>
|
| 57 |
+
</div>
|
| 58 |
+
</div>
|
| 59 |
+
<div id="splitbar" style="-moz-user-select:none;"
|
| 60 |
+
class="ui-resizable-handle">
|
| 61 |
+
</div>
|
| 62 |
+
</div>
|
| 63 |
+
<script type="text/javascript">
|
| 64 |
+
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
| 65 |
+
$(document).ready(function(){initNavTree('dir_68267d1309a1af8e8297ef4c3efbcdba.html',''); initResizable(); });
|
| 66 |
+
/* @license-end */
|
| 67 |
+
</script>
|
| 68 |
+
<div id="doc-content">
|
| 69 |
+
<!-- window showing the filter options -->
|
| 70 |
+
<div id="MSearchSelectWindow"
|
| 71 |
+
onmouseover="return searchBox.OnSearchSelectShow()"
|
| 72 |
+
onmouseout="return searchBox.OnSearchSelectHide()"
|
| 73 |
+
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
| 74 |
+
</div>
|
| 75 |
+
|
| 76 |
+
<!-- iframe showing the search results (closed by default) -->
|
| 77 |
+
<div id="MSearchResultsWindow">
|
| 78 |
+
<iframe src="javascript:void(0)" frameborder="0"
|
| 79 |
+
name="MSearchResults" id="MSearchResults">
|
| 80 |
+
</iframe>
|
| 81 |
+
</div>
|
| 82 |
+
|
| 83 |
+
<div class="header">
|
| 84 |
+
<div class="headertitle">
|
| 85 |
+
<div class="title">src Directory Reference</div> </div>
|
| 86 |
+
</div><!--header-->
|
| 87 |
+
<div class="contents">
|
| 88 |
+
<table class="memberdecls">
|
| 89 |
+
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="subdirs"></a>
|
| 90 |
+
Directories</h2></td></tr>
|
| 91 |
+
<tr class="memitem:dir_45978790aec87fba6f3407586a078612"><td class="memItemLeft" align="right" valign="top">directory  </td><td class="memItemRight" valign="bottom"><a class="el" href="dir_45978790aec87fba6f3407586a078612.html">practical_astronomy</a></td></tr>
|
| 92 |
+
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
| 93 |
+
</table>
|
| 94 |
+
</div><!-- contents -->
|
| 95 |
+
</div><!-- doc-content -->
|
| 96 |
+
<!-- start footer part -->
|
| 97 |
+
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
| 98 |
+
<ul>
|
| 99 |
+
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li>
|
| 100 |
+
<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>
|
| 101 |
+
</ul>
|
| 102 |
+
</div>
|
| 103 |
+
</body>
|
| 104 |
+
</html>
|
practical_astronomy/source/docs/dir_68267d1309a1af8e8297ef4c3efbcdba.js
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
var dir_68267d1309a1af8e8297ef4c3efbcdba =
|
| 2 |
+
[
|
| 3 |
+
[ "practical_astronomy", "dir_45978790aec87fba6f3407586a078612.html", "dir_45978790aec87fba6f3407586a078612" ]
|
| 4 |
+
];
|
practical_astronomy/source/docs/dir_8ebb4883bd5210c1437544ca4cb0df32.html
ADDED
|
@@ -0,0 +1,98 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
| 2 |
+
<html xmlns="http://www.w3.org/1999/xhtml">
|
| 3 |
+
<head>
|
| 4 |
+
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
| 5 |
+
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
| 6 |
+
<meta name="generator" content="Doxygen 1.9.1"/>
|
| 7 |
+
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
| 8 |
+
<title>Practical Astronomy: src Directory Reference</title>
|
| 9 |
+
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
| 10 |
+
<script type="text/javascript" src="jquery.js"></script>
|
| 11 |
+
<script type="text/javascript" src="dynsections.js"></script>
|
| 12 |
+
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
| 13 |
+
<script type="text/javascript" src="resize.js"></script>
|
| 14 |
+
<script type="text/javascript" src="navtreedata.js"></script>
|
| 15 |
+
<script type="text/javascript" src="navtree.js"></script>
|
| 16 |
+
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
| 17 |
+
<script type="text/javascript" src="search/searchdata.js"></script>
|
| 18 |
+
<script type="text/javascript" src="search/search.js"></script>
|
| 19 |
+
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
| 20 |
+
</head>
|
| 21 |
+
<body>
|
| 22 |
+
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
| 23 |
+
<div id="titlearea">
|
| 24 |
+
<table cellspacing="0" cellpadding="0">
|
| 25 |
+
<tbody>
|
| 26 |
+
<tr style="height: 56px;">
|
| 27 |
+
<td id="projectalign" style="padding-left: 0.5em;">
|
| 28 |
+
<div id="projectname">Practical Astronomy
|
| 29 |
+
</div>
|
| 30 |
+
</td>
|
| 31 |
+
</tr>
|
| 32 |
+
</tbody>
|
| 33 |
+
</table>
|
| 34 |
+
</div>
|
| 35 |
+
<!-- end header part -->
|
| 36 |
+
<!-- Generated by Doxygen 1.9.1 -->
|
| 37 |
+
<script type="text/javascript">
|
| 38 |
+
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
| 39 |
+
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
|
| 40 |
+
/* @license-end */
|
| 41 |
+
</script>
|
| 42 |
+
<script type="text/javascript" src="menudata.js"></script>
|
| 43 |
+
<script type="text/javascript" src="menu.js"></script>
|
| 44 |
+
<script type="text/javascript">
|
| 45 |
+
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
| 46 |
+
$(function() {
|
| 47 |
+
initMenu('',true,false,'search.php','Search');
|
| 48 |
+
$(document).ready(function() { init_search(); });
|
| 49 |
+
});
|
| 50 |
+
/* @license-end */</script>
|
| 51 |
+
<div id="main-nav"></div>
|
| 52 |
+
</div><!-- top -->
|
| 53 |
+
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
| 54 |
+
<div id="nav-tree">
|
| 55 |
+
<div id="nav-tree-contents">
|
| 56 |
+
<div id="nav-sync" class="sync"></div>
|
| 57 |
+
</div>
|
| 58 |
+
</div>
|
| 59 |
+
<div id="splitbar" style="-moz-user-select:none;"
|
| 60 |
+
class="ui-resizable-handle">
|
| 61 |
+
</div>
|
| 62 |
+
</div>
|
| 63 |
+
<script type="text/javascript">
|
| 64 |
+
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
| 65 |
+
$(document).ready(function(){initNavTree('dir_8ebb4883bd5210c1437544ca4cb0df32.html',''); initResizable(); });
|
| 66 |
+
/* @license-end */
|
| 67 |
+
</script>
|
| 68 |
+
<div id="doc-content">
|
| 69 |
+
<!-- window showing the filter options -->
|
| 70 |
+
<div id="MSearchSelectWindow"
|
| 71 |
+
onmouseover="return searchBox.OnSearchSelectShow()"
|
| 72 |
+
onmouseout="return searchBox.OnSearchSelectHide()"
|
| 73 |
+
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
| 74 |
+
</div>
|
| 75 |
+
|
| 76 |
+
<!-- iframe showing the search results (closed by default) -->
|
| 77 |
+
<div id="MSearchResultsWindow">
|
| 78 |
+
<iframe src="javascript:void(0)" frameborder="0"
|
| 79 |
+
name="MSearchResults" id="MSearchResults">
|
| 80 |
+
</iframe>
|
| 81 |
+
</div>
|
| 82 |
+
|
| 83 |
+
<div class="header">
|
| 84 |
+
<div class="headertitle">
|
| 85 |
+
<div class="title">src Directory Reference</div> </div>
|
| 86 |
+
</div><!--header-->
|
| 87 |
+
<div class="contents">
|
| 88 |
+
</div><!-- contents -->
|
| 89 |
+
</div><!-- doc-content -->
|
| 90 |
+
<!-- start footer part -->
|
| 91 |
+
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
| 92 |
+
<ul>
|
| 93 |
+
<li class="navelem"><a class="el" href="dir_8ebb4883bd5210c1437544ca4cb0df32.html">src</a></li>
|
| 94 |
+
<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>
|
| 95 |
+
</ul>
|
| 96 |
+
</div>
|
| 97 |
+
</body>
|
| 98 |
+
</html>
|
practical_astronomy/source/docs/doc.png
ADDED
|
practical_astronomy/source/docs/doxygen.css
ADDED
|
@@ -0,0 +1,1793 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/* The standard CSS for doxygen 1.9.1 */
|
| 2 |
+
|
| 3 |
+
body, table, div, p, dl {
|
| 4 |
+
font: 400 14px/22px Roboto,sans-serif;
|
| 5 |
+
}
|
| 6 |
+
|
| 7 |
+
p.reference, p.definition {
|
| 8 |
+
font: 400 14px/22px Roboto,sans-serif;
|
| 9 |
+
}
|
| 10 |
+
|
| 11 |
+
/* @group Heading Levels */
|
| 12 |
+
|
| 13 |
+
h1.groupheader {
|
| 14 |
+
font-size: 150%;
|
| 15 |
+
}
|
| 16 |
+
|
| 17 |
+
.title {
|
| 18 |
+
font: 400 14px/28px Roboto,sans-serif;
|
| 19 |
+
font-size: 150%;
|
| 20 |
+
font-weight: bold;
|
| 21 |
+
margin: 10px 2px;
|
| 22 |
+
}
|
| 23 |
+
|
| 24 |
+
h2.groupheader {
|
| 25 |
+
border-bottom: 1px solid #879ECB;
|
| 26 |
+
color: #354C7B;
|
| 27 |
+
font-size: 150%;
|
| 28 |
+
font-weight: normal;
|
| 29 |
+
margin-top: 1.75em;
|
| 30 |
+
padding-top: 8px;
|
| 31 |
+
padding-bottom: 4px;
|
| 32 |
+
width: 100%;
|
| 33 |
+
}
|
| 34 |
+
|
| 35 |
+
h3.groupheader {
|
| 36 |
+
font-size: 100%;
|
| 37 |
+
}
|
| 38 |
+
|
| 39 |
+
h1, h2, h3, h4, h5, h6 {
|
| 40 |
+
-webkit-transition: text-shadow 0.5s linear;
|
| 41 |
+
-moz-transition: text-shadow 0.5s linear;
|
| 42 |
+
-ms-transition: text-shadow 0.5s linear;
|
| 43 |
+
-o-transition: text-shadow 0.5s linear;
|
| 44 |
+
transition: text-shadow 0.5s linear;
|
| 45 |
+
margin-right: 15px;
|
| 46 |
+
}
|
| 47 |
+
|
| 48 |
+
h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow {
|
| 49 |
+
text-shadow: 0 0 15px cyan;
|
| 50 |
+
}
|
| 51 |
+
|
| 52 |
+
dt {
|
| 53 |
+
font-weight: bold;
|
| 54 |
+
}
|
| 55 |
+
|
| 56 |
+
ul.multicol {
|
| 57 |
+
-moz-column-gap: 1em;
|
| 58 |
+
-webkit-column-gap: 1em;
|
| 59 |
+
column-gap: 1em;
|
| 60 |
+
-moz-column-count: 3;
|
| 61 |
+
-webkit-column-count: 3;
|
| 62 |
+
column-count: 3;
|
| 63 |
+
}
|
| 64 |
+
|
| 65 |
+
p.startli, p.startdd {
|
| 66 |
+
margin-top: 2px;
|
| 67 |
+
}
|
| 68 |
+
|
| 69 |
+
th p.starttd, th p.intertd, th p.endtd {
|
| 70 |
+
font-size: 100%;
|
| 71 |
+
font-weight: 700;
|
| 72 |
+
}
|
| 73 |
+
|
| 74 |
+
p.starttd {
|
| 75 |
+
margin-top: 0px;
|
| 76 |
+
}
|
| 77 |
+
|
| 78 |
+
p.endli {
|
| 79 |
+
margin-bottom: 0px;
|
| 80 |
+
}
|
| 81 |
+
|
| 82 |
+
p.enddd {
|
| 83 |
+
margin-bottom: 4px;
|
| 84 |
+
}
|
| 85 |
+
|
| 86 |
+
p.endtd {
|
| 87 |
+
margin-bottom: 2px;
|
| 88 |
+
}
|
| 89 |
+
|
| 90 |
+
p.interli {
|
| 91 |
+
}
|
| 92 |
+
|
| 93 |
+
p.interdd {
|
| 94 |
+
}
|
| 95 |
+
|
| 96 |
+
p.intertd {
|
| 97 |
+
}
|
| 98 |
+
|
| 99 |
+
/* @end */
|
| 100 |
+
|
| 101 |
+
caption {
|
| 102 |
+
font-weight: bold;
|
| 103 |
+
}
|
| 104 |
+
|
| 105 |
+
span.legend {
|
| 106 |
+
font-size: 70%;
|
| 107 |
+
text-align: center;
|
| 108 |
+
}
|
| 109 |
+
|
| 110 |
+
h3.version {
|
| 111 |
+
font-size: 90%;
|
| 112 |
+
text-align: center;
|
| 113 |
+
}
|
| 114 |
+
|
| 115 |
+
div.navtab {
|
| 116 |
+
border-right: 1px solid #A3B4D7;
|
| 117 |
+
padding-right: 15px;
|
| 118 |
+
text-align: right;
|
| 119 |
+
line-height: 110%;
|
| 120 |
+
}
|
| 121 |
+
|
| 122 |
+
div.navtab table {
|
| 123 |
+
border-spacing: 0;
|
| 124 |
+
}
|
| 125 |
+
|
| 126 |
+
td.navtab {
|
| 127 |
+
padding-right: 6px;
|
| 128 |
+
padding-left: 6px;
|
| 129 |
+
}
|
| 130 |
+
td.navtabHL {
|
| 131 |
+
background-image: url('tab_a.png');
|
| 132 |
+
background-repeat:repeat-x;
|
| 133 |
+
padding-right: 6px;
|
| 134 |
+
padding-left: 6px;
|
| 135 |
+
}
|
| 136 |
+
|
| 137 |
+
td.navtabHL a, td.navtabHL a:visited {
|
| 138 |
+
color: #fff;
|
| 139 |
+
text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
|
| 140 |
+
}
|
| 141 |
+
|
| 142 |
+
a.navtab {
|
| 143 |
+
font-weight: bold;
|
| 144 |
+
}
|
| 145 |
+
|
| 146 |
+
div.qindex{
|
| 147 |
+
text-align: center;
|
| 148 |
+
width: 100%;
|
| 149 |
+
line-height: 140%;
|
| 150 |
+
font-size: 130%;
|
| 151 |
+
color: #A0A0A0;
|
| 152 |
+
}
|
| 153 |
+
|
| 154 |
+
dt.alphachar{
|
| 155 |
+
font-size: 180%;
|
| 156 |
+
font-weight: bold;
|
| 157 |
+
}
|
| 158 |
+
|
| 159 |
+
.alphachar a{
|
| 160 |
+
color: black;
|
| 161 |
+
}
|
| 162 |
+
|
| 163 |
+
.alphachar a:hover, .alphachar a:visited{
|
| 164 |
+
text-decoration: none;
|
| 165 |
+
}
|
| 166 |
+
|
| 167 |
+
.classindex dl {
|
| 168 |
+
padding: 25px;
|
| 169 |
+
column-count:1
|
| 170 |
+
}
|
| 171 |
+
|
| 172 |
+
.classindex dd {
|
| 173 |
+
display:inline-block;
|
| 174 |
+
margin-left: 50px;
|
| 175 |
+
width: 90%;
|
| 176 |
+
line-height: 1.15em;
|
| 177 |
+
}
|
| 178 |
+
|
| 179 |
+
.classindex dl.odd {
|
| 180 |
+
background-color: #F8F9FC;
|
| 181 |
+
}
|
| 182 |
+
|
| 183 |
+
@media(min-width: 1120px) {
|
| 184 |
+
.classindex dl {
|
| 185 |
+
column-count:2
|
| 186 |
+
}
|
| 187 |
+
}
|
| 188 |
+
|
| 189 |
+
@media(min-width: 1320px) {
|
| 190 |
+
.classindex dl {
|
| 191 |
+
column-count:3
|
| 192 |
+
}
|
| 193 |
+
}
|
| 194 |
+
|
| 195 |
+
|
| 196 |
+
/* @group Link Styling */
|
| 197 |
+
|
| 198 |
+
a {
|
| 199 |
+
color: #3D578C;
|
| 200 |
+
font-weight: normal;
|
| 201 |
+
text-decoration: none;
|
| 202 |
+
}
|
| 203 |
+
|
| 204 |
+
.contents a:visited {
|
| 205 |
+
color: #4665A2;
|
| 206 |
+
}
|
| 207 |
+
|
| 208 |
+
a:hover {
|
| 209 |
+
text-decoration: underline;
|
| 210 |
+
}
|
| 211 |
+
|
| 212 |
+
.contents a.qindexHL:visited {
|
| 213 |
+
color: #FFFFFF;
|
| 214 |
+
}
|
| 215 |
+
|
| 216 |
+
a.el {
|
| 217 |
+
font-weight: bold;
|
| 218 |
+
}
|
| 219 |
+
|
| 220 |
+
a.elRef {
|
| 221 |
+
}
|
| 222 |
+
|
| 223 |
+
a.code, a.code:visited, a.line, a.line:visited {
|
| 224 |
+
color: #4665A2;
|
| 225 |
+
}
|
| 226 |
+
|
| 227 |
+
a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited {
|
| 228 |
+
color: #4665A2;
|
| 229 |
+
}
|
| 230 |
+
|
| 231 |
+
/* @end */
|
| 232 |
+
|
| 233 |
+
dl.el {
|
| 234 |
+
margin-left: -1cm;
|
| 235 |
+
}
|
| 236 |
+
|
| 237 |
+
ul {
|
| 238 |
+
overflow: hidden; /*Fixed: list item bullets overlap floating elements*/
|
| 239 |
+
}
|
| 240 |
+
|
| 241 |
+
#side-nav ul {
|
| 242 |
+
overflow: visible; /* reset ul rule for scroll bar in GENERATE_TREEVIEW window */
|
| 243 |
+
}
|
| 244 |
+
|
| 245 |
+
#main-nav ul {
|
| 246 |
+
overflow: visible; /* reset ul rule for the navigation bar drop down lists */
|
| 247 |
+
}
|
| 248 |
+
|
| 249 |
+
.fragment {
|
| 250 |
+
text-align: left;
|
| 251 |
+
direction: ltr;
|
| 252 |
+
overflow-x: auto; /*Fixed: fragment lines overlap floating elements*/
|
| 253 |
+
overflow-y: hidden;
|
| 254 |
+
}
|
| 255 |
+
|
| 256 |
+
pre.fragment {
|
| 257 |
+
border: 1px solid #C4CFE5;
|
| 258 |
+
background-color: #FBFCFD;
|
| 259 |
+
padding: 4px 6px;
|
| 260 |
+
margin: 4px 8px 4px 2px;
|
| 261 |
+
overflow: auto;
|
| 262 |
+
word-wrap: break-word;
|
| 263 |
+
font-size: 9pt;
|
| 264 |
+
line-height: 125%;
|
| 265 |
+
font-family: monospace, fixed;
|
| 266 |
+
font-size: 105%;
|
| 267 |
+
}
|
| 268 |
+
|
| 269 |
+
div.fragment {
|
| 270 |
+
padding: 0 0 1px 0; /*Fixed: last line underline overlap border*/
|
| 271 |
+
margin: 4px 8px 4px 2px;
|
| 272 |
+
background-color: #FBFCFD;
|
| 273 |
+
border: 1px solid #C4CFE5;
|
| 274 |
+
}
|
| 275 |
+
|
| 276 |
+
div.line {
|
| 277 |
+
font-family: monospace, fixed;
|
| 278 |
+
font-size: 13px;
|
| 279 |
+
min-height: 13px;
|
| 280 |
+
line-height: 1.0;
|
| 281 |
+
text-wrap: unrestricted;
|
| 282 |
+
white-space: -moz-pre-wrap; /* Moz */
|
| 283 |
+
white-space: -pre-wrap; /* Opera 4-6 */
|
| 284 |
+
white-space: -o-pre-wrap; /* Opera 7 */
|
| 285 |
+
white-space: pre-wrap; /* CSS3 */
|
| 286 |
+
word-wrap: break-word; /* IE 5.5+ */
|
| 287 |
+
text-indent: -53px;
|
| 288 |
+
padding-left: 53px;
|
| 289 |
+
padding-bottom: 0px;
|
| 290 |
+
margin: 0px;
|
| 291 |
+
-webkit-transition-property: background-color, box-shadow;
|
| 292 |
+
-webkit-transition-duration: 0.5s;
|
| 293 |
+
-moz-transition-property: background-color, box-shadow;
|
| 294 |
+
-moz-transition-duration: 0.5s;
|
| 295 |
+
-ms-transition-property: background-color, box-shadow;
|
| 296 |
+
-ms-transition-duration: 0.5s;
|
| 297 |
+
-o-transition-property: background-color, box-shadow;
|
| 298 |
+
-o-transition-duration: 0.5s;
|
| 299 |
+
transition-property: background-color, box-shadow;
|
| 300 |
+
transition-duration: 0.5s;
|
| 301 |
+
}
|
| 302 |
+
|
| 303 |
+
div.line:after {
|
| 304 |
+
content:"\000A";
|
| 305 |
+
white-space: pre;
|
| 306 |
+
}
|
| 307 |
+
|
| 308 |
+
div.line.glow {
|
| 309 |
+
background-color: cyan;
|
| 310 |
+
box-shadow: 0 0 10px cyan;
|
| 311 |
+
}
|
| 312 |
+
|
| 313 |
+
|
| 314 |
+
span.lineno {
|
| 315 |
+
padding-right: 4px;
|
| 316 |
+
text-align: right;
|
| 317 |
+
border-right: 2px solid #0F0;
|
| 318 |
+
background-color: #E8E8E8;
|
| 319 |
+
white-space: pre;
|
| 320 |
+
}
|
| 321 |
+
span.lineno a {
|
| 322 |
+
background-color: #D8D8D8;
|
| 323 |
+
}
|
| 324 |
+
|
| 325 |
+
span.lineno a:hover {
|
| 326 |
+
background-color: #C8C8C8;
|
| 327 |
+
}
|
| 328 |
+
|
| 329 |
+
.lineno {
|
| 330 |
+
-webkit-touch-callout: none;
|
| 331 |
+
-webkit-user-select: none;
|
| 332 |
+
-khtml-user-select: none;
|
| 333 |
+
-moz-user-select: none;
|
| 334 |
+
-ms-user-select: none;
|
| 335 |
+
user-select: none;
|
| 336 |
+
}
|
| 337 |
+
|
| 338 |
+
div.ah, span.ah {
|
| 339 |
+
background-color: black;
|
| 340 |
+
font-weight: bold;
|
| 341 |
+
color: #FFFFFF;
|
| 342 |
+
margin-bottom: 3px;
|
| 343 |
+
margin-top: 3px;
|
| 344 |
+
padding: 0.2em;
|
| 345 |
+
border: solid thin #333;
|
| 346 |
+
border-radius: 0.5em;
|
| 347 |
+
-webkit-border-radius: .5em;
|
| 348 |
+
-moz-border-radius: .5em;
|
| 349 |
+
box-shadow: 2px 2px 3px #999;
|
| 350 |
+
-webkit-box-shadow: 2px 2px 3px #999;
|
| 351 |
+
-moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
|
| 352 |
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444));
|
| 353 |
+
background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000 110%);
|
| 354 |
+
}
|
| 355 |
+
|
| 356 |
+
div.classindex ul {
|
| 357 |
+
list-style: none;
|
| 358 |
+
padding-left: 0;
|
| 359 |
+
}
|
| 360 |
+
|
| 361 |
+
div.classindex span.ai {
|
| 362 |
+
display: inline-block;
|
| 363 |
+
}
|
| 364 |
+
|
| 365 |
+
div.groupHeader {
|
| 366 |
+
margin-left: 16px;
|
| 367 |
+
margin-top: 12px;
|
| 368 |
+
font-weight: bold;
|
| 369 |
+
}
|
| 370 |
+
|
| 371 |
+
div.groupText {
|
| 372 |
+
margin-left: 16px;
|
| 373 |
+
font-style: italic;
|
| 374 |
+
}
|
| 375 |
+
|
| 376 |
+
body {
|
| 377 |
+
background-color: white;
|
| 378 |
+
color: black;
|
| 379 |
+
margin: 0;
|
| 380 |
+
}
|
| 381 |
+
|
| 382 |
+
div.contents {
|
| 383 |
+
margin-top: 10px;
|
| 384 |
+
margin-left: 12px;
|
| 385 |
+
margin-right: 8px;
|
| 386 |
+
}
|
| 387 |
+
|
| 388 |
+
td.indexkey {
|
| 389 |
+
background-color: #EBEFF6;
|
| 390 |
+
font-weight: bold;
|
| 391 |
+
border: 1px solid #C4CFE5;
|
| 392 |
+
margin: 2px 0px 2px 0;
|
| 393 |
+
padding: 2px 10px;
|
| 394 |
+
white-space: nowrap;
|
| 395 |
+
vertical-align: top;
|
| 396 |
+
}
|
| 397 |
+
|
| 398 |
+
td.indexvalue {
|
| 399 |
+
background-color: #EBEFF6;
|
| 400 |
+
border: 1px solid #C4CFE5;
|
| 401 |
+
padding: 2px 10px;
|
| 402 |
+
margin: 2px 0px;
|
| 403 |
+
}
|
| 404 |
+
|
| 405 |
+
tr.memlist {
|
| 406 |
+
background-color: #EEF1F7;
|
| 407 |
+
}
|
| 408 |
+
|
| 409 |
+
p.formulaDsp {
|
| 410 |
+
text-align: center;
|
| 411 |
+
}
|
| 412 |
+
|
| 413 |
+
img.formulaDsp {
|
| 414 |
+
|
| 415 |
+
}
|
| 416 |
+
|
| 417 |
+
img.formulaInl, img.inline {
|
| 418 |
+
vertical-align: middle;
|
| 419 |
+
}
|
| 420 |
+
|
| 421 |
+
div.center {
|
| 422 |
+
text-align: center;
|
| 423 |
+
margin-top: 0px;
|
| 424 |
+
margin-bottom: 0px;
|
| 425 |
+
padding: 0px;
|
| 426 |
+
}
|
| 427 |
+
|
| 428 |
+
div.center img {
|
| 429 |
+
border: 0px;
|
| 430 |
+
}
|
| 431 |
+
|
| 432 |
+
address.footer {
|
| 433 |
+
text-align: right;
|
| 434 |
+
padding-right: 12px;
|
| 435 |
+
}
|
| 436 |
+
|
| 437 |
+
img.footer {
|
| 438 |
+
border: 0px;
|
| 439 |
+
vertical-align: middle;
|
| 440 |
+
}
|
| 441 |
+
|
| 442 |
+
/* @group Code Colorization */
|
| 443 |
+
|
| 444 |
+
span.keyword {
|
| 445 |
+
color: #008000
|
| 446 |
+
}
|
| 447 |
+
|
| 448 |
+
span.keywordtype {
|
| 449 |
+
color: #604020
|
| 450 |
+
}
|
| 451 |
+
|
| 452 |
+
span.keywordflow {
|
| 453 |
+
color: #e08000
|
| 454 |
+
}
|
| 455 |
+
|
| 456 |
+
span.comment {
|
| 457 |
+
color: #800000
|
| 458 |
+
}
|
| 459 |
+
|
| 460 |
+
span.preprocessor {
|
| 461 |
+
color: #806020
|
| 462 |
+
}
|
| 463 |
+
|
| 464 |
+
span.stringliteral {
|
| 465 |
+
color: #002080
|
| 466 |
+
}
|
| 467 |
+
|
| 468 |
+
span.charliteral {
|
| 469 |
+
color: #008080
|
| 470 |
+
}
|
| 471 |
+
|
| 472 |
+
span.vhdldigit {
|
| 473 |
+
color: #ff00ff
|
| 474 |
+
}
|
| 475 |
+
|
| 476 |
+
span.vhdlchar {
|
| 477 |
+
color: #000000
|
| 478 |
+
}
|
| 479 |
+
|
| 480 |
+
span.vhdlkeyword {
|
| 481 |
+
color: #700070
|
| 482 |
+
}
|
| 483 |
+
|
| 484 |
+
span.vhdllogic {
|
| 485 |
+
color: #ff0000
|
| 486 |
+
}
|
| 487 |
+
|
| 488 |
+
blockquote {
|
| 489 |
+
background-color: #F7F8FB;
|
| 490 |
+
border-left: 2px solid #9CAFD4;
|
| 491 |
+
margin: 0 24px 0 4px;
|
| 492 |
+
padding: 0 12px 0 16px;
|
| 493 |
+
}
|
| 494 |
+
|
| 495 |
+
blockquote.DocNodeRTL {
|
| 496 |
+
border-left: 0;
|
| 497 |
+
border-right: 2px solid #9CAFD4;
|
| 498 |
+
margin: 0 4px 0 24px;
|
| 499 |
+
padding: 0 16px 0 12px;
|
| 500 |
+
}
|
| 501 |
+
|
| 502 |
+
/* @end */
|
| 503 |
+
|
| 504 |
+
/*
|
| 505 |
+
.search {
|
| 506 |
+
color: #003399;
|
| 507 |
+
font-weight: bold;
|
| 508 |
+
}
|
| 509 |
+
|
| 510 |
+
form.search {
|
| 511 |
+
margin-bottom: 0px;
|
| 512 |
+
margin-top: 0px;
|
| 513 |
+
}
|
| 514 |
+
|
| 515 |
+
input.search {
|
| 516 |
+
font-size: 75%;
|
| 517 |
+
color: #000080;
|
| 518 |
+
font-weight: normal;
|
| 519 |
+
background-color: #e8eef2;
|
| 520 |
+
}
|
| 521 |
+
*/
|
| 522 |
+
|
| 523 |
+
td.tiny {
|
| 524 |
+
font-size: 75%;
|
| 525 |
+
}
|
| 526 |
+
|
| 527 |
+
.dirtab {
|
| 528 |
+
padding: 4px;
|
| 529 |
+
border-collapse: collapse;
|
| 530 |
+
border: 1px solid #A3B4D7;
|
| 531 |
+
}
|
| 532 |
+
|
| 533 |
+
th.dirtab {
|
| 534 |
+
background: #EBEFF6;
|
| 535 |
+
font-weight: bold;
|
| 536 |
+
}
|
| 537 |
+
|
| 538 |
+
hr {
|
| 539 |
+
height: 0px;
|
| 540 |
+
border: none;
|
| 541 |
+
border-top: 1px solid #4A6AAA;
|
| 542 |
+
}
|
| 543 |
+
|
| 544 |
+
hr.footer {
|
| 545 |
+
height: 1px;
|
| 546 |
+
}
|
| 547 |
+
|
| 548 |
+
/* @group Member Descriptions */
|
| 549 |
+
|
| 550 |
+
table.memberdecls {
|
| 551 |
+
border-spacing: 0px;
|
| 552 |
+
padding: 0px;
|
| 553 |
+
}
|
| 554 |
+
|
| 555 |
+
.memberdecls td, .fieldtable tr {
|
| 556 |
+
-webkit-transition-property: background-color, box-shadow;
|
| 557 |
+
-webkit-transition-duration: 0.5s;
|
| 558 |
+
-moz-transition-property: background-color, box-shadow;
|
| 559 |
+
-moz-transition-duration: 0.5s;
|
| 560 |
+
-ms-transition-property: background-color, box-shadow;
|
| 561 |
+
-ms-transition-duration: 0.5s;
|
| 562 |
+
-o-transition-property: background-color, box-shadow;
|
| 563 |
+
-o-transition-duration: 0.5s;
|
| 564 |
+
transition-property: background-color, box-shadow;
|
| 565 |
+
transition-duration: 0.5s;
|
| 566 |
+
}
|
| 567 |
+
|
| 568 |
+
.memberdecls td.glow, .fieldtable tr.glow {
|
| 569 |
+
background-color: cyan;
|
| 570 |
+
box-shadow: 0 0 15px cyan;
|
| 571 |
+
}
|
| 572 |
+
|
| 573 |
+
.mdescLeft, .mdescRight,
|
| 574 |
+
.memItemLeft, .memItemRight,
|
| 575 |
+
.memTemplItemLeft, .memTemplItemRight, .memTemplParams {
|
| 576 |
+
background-color: #F9FAFC;
|
| 577 |
+
border: none;
|
| 578 |
+
margin: 4px;
|
| 579 |
+
padding: 1px 0 0 8px;
|
| 580 |
+
}
|
| 581 |
+
|
| 582 |
+
.mdescLeft, .mdescRight {
|
| 583 |
+
padding: 0px 8px 4px 8px;
|
| 584 |
+
color: #555;
|
| 585 |
+
}
|
| 586 |
+
|
| 587 |
+
.memSeparator {
|
| 588 |
+
border-bottom: 1px solid #DEE4F0;
|
| 589 |
+
line-height: 1px;
|
| 590 |
+
margin: 0px;
|
| 591 |
+
padding: 0px;
|
| 592 |
+
}
|
| 593 |
+
|
| 594 |
+
.memItemLeft, .memTemplItemLeft {
|
| 595 |
+
white-space: nowrap;
|
| 596 |
+
}
|
| 597 |
+
|
| 598 |
+
.memItemRight, .memTemplItemRight {
|
| 599 |
+
width: 100%;
|
| 600 |
+
}
|
| 601 |
+
|
| 602 |
+
.memTemplParams {
|
| 603 |
+
color: #4665A2;
|
| 604 |
+
white-space: nowrap;
|
| 605 |
+
font-size: 80%;
|
| 606 |
+
}
|
| 607 |
+
|
| 608 |
+
/* @end */
|
| 609 |
+
|
| 610 |
+
/* @group Member Details */
|
| 611 |
+
|
| 612 |
+
/* Styles for detailed member documentation */
|
| 613 |
+
|
| 614 |
+
.memtitle {
|
| 615 |
+
padding: 8px;
|
| 616 |
+
border-top: 1px solid #A8B8D9;
|
| 617 |
+
border-left: 1px solid #A8B8D9;
|
| 618 |
+
border-right: 1px solid #A8B8D9;
|
| 619 |
+
border-top-right-radius: 4px;
|
| 620 |
+
border-top-left-radius: 4px;
|
| 621 |
+
margin-bottom: -1px;
|
| 622 |
+
background-image: url('nav_f.png');
|
| 623 |
+
background-repeat: repeat-x;
|
| 624 |
+
background-color: #E2E8F2;
|
| 625 |
+
line-height: 1.25;
|
| 626 |
+
font-weight: 300;
|
| 627 |
+
float:left;
|
| 628 |
+
}
|
| 629 |
+
|
| 630 |
+
.permalink
|
| 631 |
+
{
|
| 632 |
+
font-size: 65%;
|
| 633 |
+
display: inline-block;
|
| 634 |
+
vertical-align: middle;
|
| 635 |
+
}
|
| 636 |
+
|
| 637 |
+
.memtemplate {
|
| 638 |
+
font-size: 80%;
|
| 639 |
+
color: #4665A2;
|
| 640 |
+
font-weight: normal;
|
| 641 |
+
margin-left: 9px;
|
| 642 |
+
}
|
| 643 |
+
|
| 644 |
+
.memnav {
|
| 645 |
+
background-color: #EBEFF6;
|
| 646 |
+
border: 1px solid #A3B4D7;
|
| 647 |
+
text-align: center;
|
| 648 |
+
margin: 2px;
|
| 649 |
+
margin-right: 15px;
|
| 650 |
+
padding: 2px;
|
| 651 |
+
}
|
| 652 |
+
|
| 653 |
+
.mempage {
|
| 654 |
+
width: 100%;
|
| 655 |
+
}
|
| 656 |
+
|
| 657 |
+
.memitem {
|
| 658 |
+
padding: 0;
|
| 659 |
+
margin-bottom: 10px;
|
| 660 |
+
margin-right: 5px;
|
| 661 |
+
-webkit-transition: box-shadow 0.5s linear;
|
| 662 |
+
-moz-transition: box-shadow 0.5s linear;
|
| 663 |
+
-ms-transition: box-shadow 0.5s linear;
|
| 664 |
+
-o-transition: box-shadow 0.5s linear;
|
| 665 |
+
transition: box-shadow 0.5s linear;
|
| 666 |
+
display: table !important;
|
| 667 |
+
width: 100%;
|
| 668 |
+
}
|
| 669 |
+
|
| 670 |
+
.memitem.glow {
|
| 671 |
+
box-shadow: 0 0 15px cyan;
|
| 672 |
+
}
|
| 673 |
+
|
| 674 |
+
.memname {
|
| 675 |
+
font-weight: 400;
|
| 676 |
+
margin-left: 6px;
|
| 677 |
+
}
|
| 678 |
+
|
| 679 |
+
.memname td {
|
| 680 |
+
vertical-align: bottom;
|
| 681 |
+
}
|
| 682 |
+
|
| 683 |
+
.memproto, dl.reflist dt {
|
| 684 |
+
border-top: 1px solid #A8B8D9;
|
| 685 |
+
border-left: 1px solid #A8B8D9;
|
| 686 |
+
border-right: 1px solid #A8B8D9;
|
| 687 |
+
padding: 6px 0px 6px 0px;
|
| 688 |
+
color: #253555;
|
| 689 |
+
font-weight: bold;
|
| 690 |
+
text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
|
| 691 |
+
background-color: #DFE5F1;
|
| 692 |
+
/* opera specific markup */
|
| 693 |
+
box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
|
| 694 |
+
border-top-right-radius: 4px;
|
| 695 |
+
/* firefox specific markup */
|
| 696 |
+
-moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
|
| 697 |
+
-moz-border-radius-topright: 4px;
|
| 698 |
+
/* webkit specific markup */
|
| 699 |
+
-webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
|
| 700 |
+
-webkit-border-top-right-radius: 4px;
|
| 701 |
+
|
| 702 |
+
}
|
| 703 |
+
|
| 704 |
+
.overload {
|
| 705 |
+
font-family: "courier new",courier,monospace;
|
| 706 |
+
font-size: 65%;
|
| 707 |
+
}
|
| 708 |
+
|
| 709 |
+
.memdoc, dl.reflist dd {
|
| 710 |
+
border-bottom: 1px solid #A8B8D9;
|
| 711 |
+
border-left: 1px solid #A8B8D9;
|
| 712 |
+
border-right: 1px solid #A8B8D9;
|
| 713 |
+
padding: 6px 10px 2px 10px;
|
| 714 |
+
background-color: #FBFCFD;
|
| 715 |
+
border-top-width: 0;
|
| 716 |
+
background-image:url('nav_g.png');
|
| 717 |
+
background-repeat:repeat-x;
|
| 718 |
+
background-color: #FFFFFF;
|
| 719 |
+
/* opera specific markup */
|
| 720 |
+
border-bottom-left-radius: 4px;
|
| 721 |
+
border-bottom-right-radius: 4px;
|
| 722 |
+
box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
|
| 723 |
+
/* firefox specific markup */
|
| 724 |
+
-moz-border-radius-bottomleft: 4px;
|
| 725 |
+
-moz-border-radius-bottomright: 4px;
|
| 726 |
+
-moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
|
| 727 |
+
/* webkit specific markup */
|
| 728 |
+
-webkit-border-bottom-left-radius: 4px;
|
| 729 |
+
-webkit-border-bottom-right-radius: 4px;
|
| 730 |
+
-webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
|
| 731 |
+
}
|
| 732 |
+
|
| 733 |
+
dl.reflist dt {
|
| 734 |
+
padding: 5px;
|
| 735 |
+
}
|
| 736 |
+
|
| 737 |
+
dl.reflist dd {
|
| 738 |
+
margin: 0px 0px 10px 0px;
|
| 739 |
+
padding: 5px;
|
| 740 |
+
}
|
| 741 |
+
|
| 742 |
+
.paramkey {
|
| 743 |
+
text-align: right;
|
| 744 |
+
}
|
| 745 |
+
|
| 746 |
+
.paramtype {
|
| 747 |
+
white-space: nowrap;
|
| 748 |
+
}
|
| 749 |
+
|
| 750 |
+
.paramname {
|
| 751 |
+
color: #602020;
|
| 752 |
+
white-space: nowrap;
|
| 753 |
+
}
|
| 754 |
+
.paramname em {
|
| 755 |
+
font-style: normal;
|
| 756 |
+
}
|
| 757 |
+
.paramname code {
|
| 758 |
+
line-height: 14px;
|
| 759 |
+
}
|
| 760 |
+
|
| 761 |
+
.params, .retval, .exception, .tparams {
|
| 762 |
+
margin-left: 0px;
|
| 763 |
+
padding-left: 0px;
|
| 764 |
+
}
|
| 765 |
+
|
| 766 |
+
.params .paramname, .retval .paramname, .tparams .paramname, .exception .paramname {
|
| 767 |
+
font-weight: bold;
|
| 768 |
+
vertical-align: top;
|
| 769 |
+
}
|
| 770 |
+
|
| 771 |
+
.params .paramtype, .tparams .paramtype {
|
| 772 |
+
font-style: italic;
|
| 773 |
+
vertical-align: top;
|
| 774 |
+
}
|
| 775 |
+
|
| 776 |
+
.params .paramdir, .tparams .paramdir {
|
| 777 |
+
font-family: "courier new",courier,monospace;
|
| 778 |
+
vertical-align: top;
|
| 779 |
+
}
|
| 780 |
+
|
| 781 |
+
table.mlabels {
|
| 782 |
+
border-spacing: 0px;
|
| 783 |
+
}
|
| 784 |
+
|
| 785 |
+
td.mlabels-left {
|
| 786 |
+
width: 100%;
|
| 787 |
+
padding: 0px;
|
| 788 |
+
}
|
| 789 |
+
|
| 790 |
+
td.mlabels-right {
|
| 791 |
+
vertical-align: bottom;
|
| 792 |
+
padding: 0px;
|
| 793 |
+
white-space: nowrap;
|
| 794 |
+
}
|
| 795 |
+
|
| 796 |
+
span.mlabels {
|
| 797 |
+
margin-left: 8px;
|
| 798 |
+
}
|
| 799 |
+
|
| 800 |
+
span.mlabel {
|
| 801 |
+
background-color: #728DC1;
|
| 802 |
+
border-top:1px solid #5373B4;
|
| 803 |
+
border-left:1px solid #5373B4;
|
| 804 |
+
border-right:1px solid #C4CFE5;
|
| 805 |
+
border-bottom:1px solid #C4CFE5;
|
| 806 |
+
text-shadow: none;
|
| 807 |
+
color: white;
|
| 808 |
+
margin-right: 4px;
|
| 809 |
+
padding: 2px 3px;
|
| 810 |
+
border-radius: 3px;
|
| 811 |
+
font-size: 7pt;
|
| 812 |
+
white-space: nowrap;
|
| 813 |
+
vertical-align: middle;
|
| 814 |
+
}
|
| 815 |
+
|
| 816 |
+
|
| 817 |
+
|
| 818 |
+
/* @end */
|
| 819 |
+
|
| 820 |
+
/* these are for tree view inside a (index) page */
|
| 821 |
+
|
| 822 |
+
div.directory {
|
| 823 |
+
margin: 10px 0px;
|
| 824 |
+
border-top: 1px solid #9CAFD4;
|
| 825 |
+
border-bottom: 1px solid #9CAFD4;
|
| 826 |
+
width: 100%;
|
| 827 |
+
}
|
| 828 |
+
|
| 829 |
+
.directory table {
|
| 830 |
+
border-collapse:collapse;
|
| 831 |
+
}
|
| 832 |
+
|
| 833 |
+
.directory td {
|
| 834 |
+
margin: 0px;
|
| 835 |
+
padding: 0px;
|
| 836 |
+
vertical-align: top;
|
| 837 |
+
}
|
| 838 |
+
|
| 839 |
+
.directory td.entry {
|
| 840 |
+
white-space: nowrap;
|
| 841 |
+
padding-right: 6px;
|
| 842 |
+
padding-top: 3px;
|
| 843 |
+
}
|
| 844 |
+
|
| 845 |
+
.directory td.entry a {
|
| 846 |
+
outline:none;
|
| 847 |
+
}
|
| 848 |
+
|
| 849 |
+
.directory td.entry a img {
|
| 850 |
+
border: none;
|
| 851 |
+
}
|
| 852 |
+
|
| 853 |
+
.directory td.desc {
|
| 854 |
+
width: 100%;
|
| 855 |
+
padding-left: 6px;
|
| 856 |
+
padding-right: 6px;
|
| 857 |
+
padding-top: 3px;
|
| 858 |
+
border-left: 1px solid rgba(0,0,0,0.05);
|
| 859 |
+
}
|
| 860 |
+
|
| 861 |
+
.directory tr.even {
|
| 862 |
+
padding-left: 6px;
|
| 863 |
+
background-color: #F7F8FB;
|
| 864 |
+
}
|
| 865 |
+
|
| 866 |
+
.directory img {
|
| 867 |
+
vertical-align: -30%;
|
| 868 |
+
}
|
| 869 |
+
|
| 870 |
+
.directory .levels {
|
| 871 |
+
white-space: nowrap;
|
| 872 |
+
width: 100%;
|
| 873 |
+
text-align: right;
|
| 874 |
+
font-size: 9pt;
|
| 875 |
+
}
|
| 876 |
+
|
| 877 |
+
.directory .levels span {
|
| 878 |
+
cursor: pointer;
|
| 879 |
+
padding-left: 2px;
|
| 880 |
+
padding-right: 2px;
|
| 881 |
+
color: #3D578C;
|
| 882 |
+
}
|
| 883 |
+
|
| 884 |
+
.arrow {
|
| 885 |
+
color: #9CAFD4;
|
| 886 |
+
-webkit-user-select: none;
|
| 887 |
+
-khtml-user-select: none;
|
| 888 |
+
-moz-user-select: none;
|
| 889 |
+
-ms-user-select: none;
|
| 890 |
+
user-select: none;
|
| 891 |
+
cursor: pointer;
|
| 892 |
+
font-size: 80%;
|
| 893 |
+
display: inline-block;
|
| 894 |
+
width: 16px;
|
| 895 |
+
height: 22px;
|
| 896 |
+
}
|
| 897 |
+
|
| 898 |
+
.icon {
|
| 899 |
+
font-family: Arial, Helvetica;
|
| 900 |
+
font-weight: bold;
|
| 901 |
+
font-size: 12px;
|
| 902 |
+
height: 14px;
|
| 903 |
+
width: 16px;
|
| 904 |
+
display: inline-block;
|
| 905 |
+
background-color: #728DC1;
|
| 906 |
+
color: white;
|
| 907 |
+
text-align: center;
|
| 908 |
+
border-radius: 4px;
|
| 909 |
+
margin-left: 2px;
|
| 910 |
+
margin-right: 2px;
|
| 911 |
+
}
|
| 912 |
+
|
| 913 |
+
.icona {
|
| 914 |
+
width: 24px;
|
| 915 |
+
height: 22px;
|
| 916 |
+
display: inline-block;
|
| 917 |
+
}
|
| 918 |
+
|
| 919 |
+
.iconfopen {
|
| 920 |
+
width: 24px;
|
| 921 |
+
height: 18px;
|
| 922 |
+
margin-bottom: 4px;
|
| 923 |
+
background-image:url('folderopen.png');
|
| 924 |
+
background-position: 0px -4px;
|
| 925 |
+
background-repeat: repeat-y;
|
| 926 |
+
vertical-align:top;
|
| 927 |
+
display: inline-block;
|
| 928 |
+
}
|
| 929 |
+
|
| 930 |
+
.iconfclosed {
|
| 931 |
+
width: 24px;
|
| 932 |
+
height: 18px;
|
| 933 |
+
margin-bottom: 4px;
|
| 934 |
+
background-image:url('folderclosed.png');
|
| 935 |
+
background-position: 0px -4px;
|
| 936 |
+
background-repeat: repeat-y;
|
| 937 |
+
vertical-align:top;
|
| 938 |
+
display: inline-block;
|
| 939 |
+
}
|
| 940 |
+
|
| 941 |
+
.icondoc {
|
| 942 |
+
width: 24px;
|
| 943 |
+
height: 18px;
|
| 944 |
+
margin-bottom: 4px;
|
| 945 |
+
background-image:url('doc.png');
|
| 946 |
+
background-position: 0px -4px;
|
| 947 |
+
background-repeat: repeat-y;
|
| 948 |
+
vertical-align:top;
|
| 949 |
+
display: inline-block;
|
| 950 |
+
}
|
| 951 |
+
|
| 952 |
+
table.directory {
|
| 953 |
+
font: 400 14px Roboto,sans-serif;
|
| 954 |
+
}
|
| 955 |
+
|
| 956 |
+
/* @end */
|
| 957 |
+
|
| 958 |
+
div.dynheader {
|
| 959 |
+
margin-top: 8px;
|
| 960 |
+
-webkit-touch-callout: none;
|
| 961 |
+
-webkit-user-select: none;
|
| 962 |
+
-khtml-user-select: none;
|
| 963 |
+
-moz-user-select: none;
|
| 964 |
+
-ms-user-select: none;
|
| 965 |
+
user-select: none;
|
| 966 |
+
}
|
| 967 |
+
|
| 968 |
+
address {
|
| 969 |
+
font-style: normal;
|
| 970 |
+
color: #2A3D61;
|
| 971 |
+
}
|
| 972 |
+
|
| 973 |
+
table.doxtable caption {
|
| 974 |
+
caption-side: top;
|
| 975 |
+
}
|
| 976 |
+
|
| 977 |
+
table.doxtable {
|
| 978 |
+
border-collapse:collapse;
|
| 979 |
+
margin-top: 4px;
|
| 980 |
+
margin-bottom: 4px;
|
| 981 |
+
}
|
| 982 |
+
|
| 983 |
+
table.doxtable td, table.doxtable th {
|
| 984 |
+
border: 1px solid #2D4068;
|
| 985 |
+
padding: 3px 7px 2px;
|
| 986 |
+
}
|
| 987 |
+
|
| 988 |
+
table.doxtable th {
|
| 989 |
+
background-color: #374F7F;
|
| 990 |
+
color: #FFFFFF;
|
| 991 |
+
font-size: 110%;
|
| 992 |
+
padding-bottom: 4px;
|
| 993 |
+
padding-top: 5px;
|
| 994 |
+
}
|
| 995 |
+
|
| 996 |
+
table.fieldtable {
|
| 997 |
+
/*width: 100%;*/
|
| 998 |
+
margin-bottom: 10px;
|
| 999 |
+
border: 1px solid #A8B8D9;
|
| 1000 |
+
border-spacing: 0px;
|
| 1001 |
+
-moz-border-radius: 4px;
|
| 1002 |
+
-webkit-border-radius: 4px;
|
| 1003 |
+
border-radius: 4px;
|
| 1004 |
+
-moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
|
| 1005 |
+
-webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
|
| 1006 |
+
box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
|
| 1007 |
+
}
|
| 1008 |
+
|
| 1009 |
+
.fieldtable td, .fieldtable th {
|
| 1010 |
+
padding: 3px 7px 2px;
|
| 1011 |
+
}
|
| 1012 |
+
|
| 1013 |
+
.fieldtable td.fieldtype, .fieldtable td.fieldname {
|
| 1014 |
+
white-space: nowrap;
|
| 1015 |
+
border-right: 1px solid #A8B8D9;
|
| 1016 |
+
border-bottom: 1px solid #A8B8D9;
|
| 1017 |
+
vertical-align: top;
|
| 1018 |
+
}
|
| 1019 |
+
|
| 1020 |
+
.fieldtable td.fieldname {
|
| 1021 |
+
padding-top: 3px;
|
| 1022 |
+
}
|
| 1023 |
+
|
| 1024 |
+
.fieldtable td.fielddoc {
|
| 1025 |
+
border-bottom: 1px solid #A8B8D9;
|
| 1026 |
+
/*width: 100%;*/
|
| 1027 |
+
}
|
| 1028 |
+
|
| 1029 |
+
.fieldtable td.fielddoc p:first-child {
|
| 1030 |
+
margin-top: 0px;
|
| 1031 |
+
}
|
| 1032 |
+
|
| 1033 |
+
.fieldtable td.fielddoc p:last-child {
|
| 1034 |
+
margin-bottom: 2px;
|
| 1035 |
+
}
|
| 1036 |
+
|
| 1037 |
+
.fieldtable tr:last-child td {
|
| 1038 |
+
border-bottom: none;
|
| 1039 |
+
}
|
| 1040 |
+
|
| 1041 |
+
.fieldtable th {
|
| 1042 |
+
background-image:url('nav_f.png');
|
| 1043 |
+
background-repeat:repeat-x;
|
| 1044 |
+
background-color: #E2E8F2;
|
| 1045 |
+
font-size: 90%;
|
| 1046 |
+
color: #253555;
|
| 1047 |
+
padding-bottom: 4px;
|
| 1048 |
+
padding-top: 5px;
|
| 1049 |
+
text-align:left;
|
| 1050 |
+
font-weight: 400;
|
| 1051 |
+
-moz-border-radius-topleft: 4px;
|
| 1052 |
+
-moz-border-radius-topright: 4px;
|
| 1053 |
+
-webkit-border-top-left-radius: 4px;
|
| 1054 |
+
-webkit-border-top-right-radius: 4px;
|
| 1055 |
+
border-top-left-radius: 4px;
|
| 1056 |
+
border-top-right-radius: 4px;
|
| 1057 |
+
border-bottom: 1px solid #A8B8D9;
|
| 1058 |
+
}
|
| 1059 |
+
|
| 1060 |
+
|
| 1061 |
+
.tabsearch {
|
| 1062 |
+
top: 0px;
|
| 1063 |
+
left: 10px;
|
| 1064 |
+
height: 36px;
|
| 1065 |
+
background-image: url('tab_b.png');
|
| 1066 |
+
z-index: 101;
|
| 1067 |
+
overflow: hidden;
|
| 1068 |
+
font-size: 13px;
|
| 1069 |
+
}
|
| 1070 |
+
|
| 1071 |
+
.navpath ul
|
| 1072 |
+
{
|
| 1073 |
+
font-size: 11px;
|
| 1074 |
+
background-image:url('tab_b.png');
|
| 1075 |
+
background-repeat:repeat-x;
|
| 1076 |
+
background-position: 0 -5px;
|
| 1077 |
+
height:30px;
|
| 1078 |
+
line-height:30px;
|
| 1079 |
+
color:#8AA0CC;
|
| 1080 |
+
border:solid 1px #C2CDE4;
|
| 1081 |
+
overflow:hidden;
|
| 1082 |
+
margin:0px;
|
| 1083 |
+
padding:0px;
|
| 1084 |
+
}
|
| 1085 |
+
|
| 1086 |
+
.navpath li
|
| 1087 |
+
{
|
| 1088 |
+
list-style-type:none;
|
| 1089 |
+
float:left;
|
| 1090 |
+
padding-left:10px;
|
| 1091 |
+
padding-right:15px;
|
| 1092 |
+
background-image:url('bc_s.png');
|
| 1093 |
+
background-repeat:no-repeat;
|
| 1094 |
+
background-position:right;
|
| 1095 |
+
color:#364D7C;
|
| 1096 |
+
}
|
| 1097 |
+
|
| 1098 |
+
.navpath li.navelem a
|
| 1099 |
+
{
|
| 1100 |
+
height:32px;
|
| 1101 |
+
display:block;
|
| 1102 |
+
text-decoration: none;
|
| 1103 |
+
outline: none;
|
| 1104 |
+
color: #283A5D;
|
| 1105 |
+
font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
|
| 1106 |
+
text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
|
| 1107 |
+
text-decoration: none;
|
| 1108 |
+
}
|
| 1109 |
+
|
| 1110 |
+
.navpath li.navelem a:hover
|
| 1111 |
+
{
|
| 1112 |
+
color:#6884BD;
|
| 1113 |
+
}
|
| 1114 |
+
|
| 1115 |
+
.navpath li.footer
|
| 1116 |
+
{
|
| 1117 |
+
list-style-type:none;
|
| 1118 |
+
float:right;
|
| 1119 |
+
padding-left:10px;
|
| 1120 |
+
padding-right:15px;
|
| 1121 |
+
background-image:none;
|
| 1122 |
+
background-repeat:no-repeat;
|
| 1123 |
+
background-position:right;
|
| 1124 |
+
color:#364D7C;
|
| 1125 |
+
font-size: 8pt;
|
| 1126 |
+
}
|
| 1127 |
+
|
| 1128 |
+
|
| 1129 |
+
div.summary
|
| 1130 |
+
{
|
| 1131 |
+
float: right;
|
| 1132 |
+
font-size: 8pt;
|
| 1133 |
+
padding-right: 5px;
|
| 1134 |
+
width: 50%;
|
| 1135 |
+
text-align: right;
|
| 1136 |
+
}
|
| 1137 |
+
|
| 1138 |
+
div.summary a
|
| 1139 |
+
{
|
| 1140 |
+
white-space: nowrap;
|
| 1141 |
+
}
|
| 1142 |
+
|
| 1143 |
+
table.classindex
|
| 1144 |
+
{
|
| 1145 |
+
margin: 10px;
|
| 1146 |
+
white-space: nowrap;
|
| 1147 |
+
margin-left: 3%;
|
| 1148 |
+
margin-right: 3%;
|
| 1149 |
+
width: 94%;
|
| 1150 |
+
border: 0;
|
| 1151 |
+
border-spacing: 0;
|
| 1152 |
+
padding: 0;
|
| 1153 |
+
}
|
| 1154 |
+
|
| 1155 |
+
div.ingroups
|
| 1156 |
+
{
|
| 1157 |
+
font-size: 8pt;
|
| 1158 |
+
width: 50%;
|
| 1159 |
+
text-align: left;
|
| 1160 |
+
}
|
| 1161 |
+
|
| 1162 |
+
div.ingroups a
|
| 1163 |
+
{
|
| 1164 |
+
white-space: nowrap;
|
| 1165 |
+
}
|
| 1166 |
+
|
| 1167 |
+
div.header
|
| 1168 |
+
{
|
| 1169 |
+
background-image:url('nav_h.png');
|
| 1170 |
+
background-repeat:repeat-x;
|
| 1171 |
+
background-color: #F9FAFC;
|
| 1172 |
+
margin: 0px;
|
| 1173 |
+
border-bottom: 1px solid #C4CFE5;
|
| 1174 |
+
}
|
| 1175 |
+
|
| 1176 |
+
div.headertitle
|
| 1177 |
+
{
|
| 1178 |
+
padding: 5px 5px 5px 10px;
|
| 1179 |
+
}
|
| 1180 |
+
|
| 1181 |
+
.PageDocRTL-title div.headertitle {
|
| 1182 |
+
text-align: right;
|
| 1183 |
+
direction: rtl;
|
| 1184 |
+
}
|
| 1185 |
+
|
| 1186 |
+
dl {
|
| 1187 |
+
padding: 0 0 0 0;
|
| 1188 |
+
}
|
| 1189 |
+
|
| 1190 |
+
/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug, dl.examples */
|
| 1191 |
+
dl.section {
|
| 1192 |
+
margin-left: 0px;
|
| 1193 |
+
padding-left: 0px;
|
| 1194 |
+
}
|
| 1195 |
+
|
| 1196 |
+
dl.section.DocNodeRTL {
|
| 1197 |
+
margin-right: 0px;
|
| 1198 |
+
padding-right: 0px;
|
| 1199 |
+
}
|
| 1200 |
+
|
| 1201 |
+
dl.note {
|
| 1202 |
+
margin-left: -7px;
|
| 1203 |
+
padding-left: 3px;
|
| 1204 |
+
border-left: 4px solid;
|
| 1205 |
+
border-color: #D0C000;
|
| 1206 |
+
}
|
| 1207 |
+
|
| 1208 |
+
dl.note.DocNodeRTL {
|
| 1209 |
+
margin-left: 0;
|
| 1210 |
+
padding-left: 0;
|
| 1211 |
+
border-left: 0;
|
| 1212 |
+
margin-right: -7px;
|
| 1213 |
+
padding-right: 3px;
|
| 1214 |
+
border-right: 4px solid;
|
| 1215 |
+
border-color: #D0C000;
|
| 1216 |
+
}
|
| 1217 |
+
|
| 1218 |
+
dl.warning, dl.attention {
|
| 1219 |
+
margin-left: -7px;
|
| 1220 |
+
padding-left: 3px;
|
| 1221 |
+
border-left: 4px solid;
|
| 1222 |
+
border-color: #FF0000;
|
| 1223 |
+
}
|
| 1224 |
+
|
| 1225 |
+
dl.warning.DocNodeRTL, dl.attention.DocNodeRTL {
|
| 1226 |
+
margin-left: 0;
|
| 1227 |
+
padding-left: 0;
|
| 1228 |
+
border-left: 0;
|
| 1229 |
+
margin-right: -7px;
|
| 1230 |
+
padding-right: 3px;
|
| 1231 |
+
border-right: 4px solid;
|
| 1232 |
+
border-color: #FF0000;
|
| 1233 |
+
}
|
| 1234 |
+
|
| 1235 |
+
dl.pre, dl.post, dl.invariant {
|
| 1236 |
+
margin-left: -7px;
|
| 1237 |
+
padding-left: 3px;
|
| 1238 |
+
border-left: 4px solid;
|
| 1239 |
+
border-color: #00D000;
|
| 1240 |
+
}
|
| 1241 |
+
|
| 1242 |
+
dl.pre.DocNodeRTL, dl.post.DocNodeRTL, dl.invariant.DocNodeRTL {
|
| 1243 |
+
margin-left: 0;
|
| 1244 |
+
padding-left: 0;
|
| 1245 |
+
border-left: 0;
|
| 1246 |
+
margin-right: -7px;
|
| 1247 |
+
padding-right: 3px;
|
| 1248 |
+
border-right: 4px solid;
|
| 1249 |
+
border-color: #00D000;
|
| 1250 |
+
}
|
| 1251 |
+
|
| 1252 |
+
dl.deprecated {
|
| 1253 |
+
margin-left: -7px;
|
| 1254 |
+
padding-left: 3px;
|
| 1255 |
+
border-left: 4px solid;
|
| 1256 |
+
border-color: #505050;
|
| 1257 |
+
}
|
| 1258 |
+
|
| 1259 |
+
dl.deprecated.DocNodeRTL {
|
| 1260 |
+
margin-left: 0;
|
| 1261 |
+
padding-left: 0;
|
| 1262 |
+
border-left: 0;
|
| 1263 |
+
margin-right: -7px;
|
| 1264 |
+
padding-right: 3px;
|
| 1265 |
+
border-right: 4px solid;
|
| 1266 |
+
border-color: #505050;
|
| 1267 |
+
}
|
| 1268 |
+
|
| 1269 |
+
dl.todo {
|
| 1270 |
+
margin-left: -7px;
|
| 1271 |
+
padding-left: 3px;
|
| 1272 |
+
border-left: 4px solid;
|
| 1273 |
+
border-color: #00C0E0;
|
| 1274 |
+
}
|
| 1275 |
+
|
| 1276 |
+
dl.todo.DocNodeRTL {
|
| 1277 |
+
margin-left: 0;
|
| 1278 |
+
padding-left: 0;
|
| 1279 |
+
border-left: 0;
|
| 1280 |
+
margin-right: -7px;
|
| 1281 |
+
padding-right: 3px;
|
| 1282 |
+
border-right: 4px solid;
|
| 1283 |
+
border-color: #00C0E0;
|
| 1284 |
+
}
|
| 1285 |
+
|
| 1286 |
+
dl.test {
|
| 1287 |
+
margin-left: -7px;
|
| 1288 |
+
padding-left: 3px;
|
| 1289 |
+
border-left: 4px solid;
|
| 1290 |
+
border-color: #3030E0;
|
| 1291 |
+
}
|
| 1292 |
+
|
| 1293 |
+
dl.test.DocNodeRTL {
|
| 1294 |
+
margin-left: 0;
|
| 1295 |
+
padding-left: 0;
|
| 1296 |
+
border-left: 0;
|
| 1297 |
+
margin-right: -7px;
|
| 1298 |
+
padding-right: 3px;
|
| 1299 |
+
border-right: 4px solid;
|
| 1300 |
+
border-color: #3030E0;
|
| 1301 |
+
}
|
| 1302 |
+
|
| 1303 |
+
dl.bug {
|
| 1304 |
+
margin-left: -7px;
|
| 1305 |
+
padding-left: 3px;
|
| 1306 |
+
border-left: 4px solid;
|
| 1307 |
+
border-color: #C08050;
|
| 1308 |
+
}
|
| 1309 |
+
|
| 1310 |
+
dl.bug.DocNodeRTL {
|
| 1311 |
+
margin-left: 0;
|
| 1312 |
+
padding-left: 0;
|
| 1313 |
+
border-left: 0;
|
| 1314 |
+
margin-right: -7px;
|
| 1315 |
+
padding-right: 3px;
|
| 1316 |
+
border-right: 4px solid;
|
| 1317 |
+
border-color: #C08050;
|
| 1318 |
+
}
|
| 1319 |
+
|
| 1320 |
+
dl.section dd {
|
| 1321 |
+
margin-bottom: 6px;
|
| 1322 |
+
}
|
| 1323 |
+
|
| 1324 |
+
|
| 1325 |
+
#projectlogo
|
| 1326 |
+
{
|
| 1327 |
+
text-align: center;
|
| 1328 |
+
vertical-align: bottom;
|
| 1329 |
+
border-collapse: separate;
|
| 1330 |
+
}
|
| 1331 |
+
|
| 1332 |
+
#projectlogo img
|
| 1333 |
+
{
|
| 1334 |
+
border: 0px none;
|
| 1335 |
+
}
|
| 1336 |
+
|
| 1337 |
+
#projectalign
|
| 1338 |
+
{
|
| 1339 |
+
vertical-align: middle;
|
| 1340 |
+
}
|
| 1341 |
+
|
| 1342 |
+
#projectname
|
| 1343 |
+
{
|
| 1344 |
+
font: 300% Tahoma, Arial,sans-serif;
|
| 1345 |
+
margin: 0px;
|
| 1346 |
+
padding: 2px 0px;
|
| 1347 |
+
}
|
| 1348 |
+
|
| 1349 |
+
#projectbrief
|
| 1350 |
+
{
|
| 1351 |
+
font: 120% Tahoma, Arial,sans-serif;
|
| 1352 |
+
margin: 0px;
|
| 1353 |
+
padding: 0px;
|
| 1354 |
+
}
|
| 1355 |
+
|
| 1356 |
+
#projectnumber
|
| 1357 |
+
{
|
| 1358 |
+
font: 50% Tahoma, Arial,sans-serif;
|
| 1359 |
+
margin: 0px;
|
| 1360 |
+
padding: 0px;
|
| 1361 |
+
}
|
| 1362 |
+
|
| 1363 |
+
#titlearea
|
| 1364 |
+
{
|
| 1365 |
+
padding: 0px;
|
| 1366 |
+
margin: 0px;
|
| 1367 |
+
width: 100%;
|
| 1368 |
+
border-bottom: 1px solid #5373B4;
|
| 1369 |
+
}
|
| 1370 |
+
|
| 1371 |
+
.image
|
| 1372 |
+
{
|
| 1373 |
+
text-align: center;
|
| 1374 |
+
}
|
| 1375 |
+
|
| 1376 |
+
.dotgraph
|
| 1377 |
+
{
|
| 1378 |
+
text-align: center;
|
| 1379 |
+
}
|
| 1380 |
+
|
| 1381 |
+
.mscgraph
|
| 1382 |
+
{
|
| 1383 |
+
text-align: center;
|
| 1384 |
+
}
|
| 1385 |
+
|
| 1386 |
+
.plantumlgraph
|
| 1387 |
+
{
|
| 1388 |
+
text-align: center;
|
| 1389 |
+
}
|
| 1390 |
+
|
| 1391 |
+
.diagraph
|
| 1392 |
+
{
|
| 1393 |
+
text-align: center;
|
| 1394 |
+
}
|
| 1395 |
+
|
| 1396 |
+
.caption
|
| 1397 |
+
{
|
| 1398 |
+
font-weight: bold;
|
| 1399 |
+
}
|
| 1400 |
+
|
| 1401 |
+
div.zoom
|
| 1402 |
+
{
|
| 1403 |
+
border: 1px solid #90A5CE;
|
| 1404 |
+
}
|
| 1405 |
+
|
| 1406 |
+
dl.citelist {
|
| 1407 |
+
margin-bottom:50px;
|
| 1408 |
+
}
|
| 1409 |
+
|
| 1410 |
+
dl.citelist dt {
|
| 1411 |
+
color:#334975;
|
| 1412 |
+
float:left;
|
| 1413 |
+
font-weight:bold;
|
| 1414 |
+
margin-right:10px;
|
| 1415 |
+
padding:5px;
|
| 1416 |
+
text-align:right;
|
| 1417 |
+
width:52px;
|
| 1418 |
+
}
|
| 1419 |
+
|
| 1420 |
+
dl.citelist dd {
|
| 1421 |
+
margin:2px 0 2px 72px;
|
| 1422 |
+
padding:5px 0;
|
| 1423 |
+
}
|
| 1424 |
+
|
| 1425 |
+
div.toc {
|
| 1426 |
+
padding: 14px 25px;
|
| 1427 |
+
background-color: #F4F6FA;
|
| 1428 |
+
border: 1px solid #D8DFEE;
|
| 1429 |
+
border-radius: 7px 7px 7px 7px;
|
| 1430 |
+
float: right;
|
| 1431 |
+
height: auto;
|
| 1432 |
+
margin: 0 8px 10px 10px;
|
| 1433 |
+
width: 200px;
|
| 1434 |
+
}
|
| 1435 |
+
|
| 1436 |
+
.PageDocRTL-title div.toc {
|
| 1437 |
+
float: left !important;
|
| 1438 |
+
text-align: right;
|
| 1439 |
+
}
|
| 1440 |
+
|
| 1441 |
+
div.toc li {
|
| 1442 |
+
background: url("bdwn.png") no-repeat scroll 0 5px transparent;
|
| 1443 |
+
font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif;
|
| 1444 |
+
margin-top: 5px;
|
| 1445 |
+
padding-left: 10px;
|
| 1446 |
+
padding-top: 2px;
|
| 1447 |
+
}
|
| 1448 |
+
|
| 1449 |
+
.PageDocRTL-title div.toc li {
|
| 1450 |
+
background-position-x: right !important;
|
| 1451 |
+
padding-left: 0 !important;
|
| 1452 |
+
padding-right: 10px;
|
| 1453 |
+
}
|
| 1454 |
+
|
| 1455 |
+
div.toc h3 {
|
| 1456 |
+
font: bold 12px/1.2 Arial,FreeSans,sans-serif;
|
| 1457 |
+
color: #4665A2;
|
| 1458 |
+
border-bottom: 0 none;
|
| 1459 |
+
margin: 0;
|
| 1460 |
+
}
|
| 1461 |
+
|
| 1462 |
+
div.toc ul {
|
| 1463 |
+
list-style: none outside none;
|
| 1464 |
+
border: medium none;
|
| 1465 |
+
padding: 0px;
|
| 1466 |
+
}
|
| 1467 |
+
|
| 1468 |
+
div.toc li.level1 {
|
| 1469 |
+
margin-left: 0px;
|
| 1470 |
+
}
|
| 1471 |
+
|
| 1472 |
+
div.toc li.level2 {
|
| 1473 |
+
margin-left: 15px;
|
| 1474 |
+
}
|
| 1475 |
+
|
| 1476 |
+
div.toc li.level3 {
|
| 1477 |
+
margin-left: 30px;
|
| 1478 |
+
}
|
| 1479 |
+
|
| 1480 |
+
div.toc li.level4 {
|
| 1481 |
+
margin-left: 45px;
|
| 1482 |
+
}
|
| 1483 |
+
|
| 1484 |
+
span.emoji {
|
| 1485 |
+
/* font family used at the site: https://unicode.org/emoji/charts/full-emoji-list.html
|
| 1486 |
+
* font-family: "Noto Color Emoji", "Apple Color Emoji", "Segoe UI Emoji", Times, Symbola, Aegyptus, Code2000, Code2001, Code2002, Musica, serif, LastResort;
|
| 1487 |
+
*/
|
| 1488 |
+
}
|
| 1489 |
+
|
| 1490 |
+
.PageDocRTL-title div.toc li.level1 {
|
| 1491 |
+
margin-left: 0 !important;
|
| 1492 |
+
margin-right: 0;
|
| 1493 |
+
}
|
| 1494 |
+
|
| 1495 |
+
.PageDocRTL-title div.toc li.level2 {
|
| 1496 |
+
margin-left: 0 !important;
|
| 1497 |
+
margin-right: 15px;
|
| 1498 |
+
}
|
| 1499 |
+
|
| 1500 |
+
.PageDocRTL-title div.toc li.level3 {
|
| 1501 |
+
margin-left: 0 !important;
|
| 1502 |
+
margin-right: 30px;
|
| 1503 |
+
}
|
| 1504 |
+
|
| 1505 |
+
.PageDocRTL-title div.toc li.level4 {
|
| 1506 |
+
margin-left: 0 !important;
|
| 1507 |
+
margin-right: 45px;
|
| 1508 |
+
}
|
| 1509 |
+
|
| 1510 |
+
.inherit_header {
|
| 1511 |
+
font-weight: bold;
|
| 1512 |
+
color: gray;
|
| 1513 |
+
cursor: pointer;
|
| 1514 |
+
-webkit-touch-callout: none;
|
| 1515 |
+
-webkit-user-select: none;
|
| 1516 |
+
-khtml-user-select: none;
|
| 1517 |
+
-moz-user-select: none;
|
| 1518 |
+
-ms-user-select: none;
|
| 1519 |
+
user-select: none;
|
| 1520 |
+
}
|
| 1521 |
+
|
| 1522 |
+
.inherit_header td {
|
| 1523 |
+
padding: 6px 0px 2px 5px;
|
| 1524 |
+
}
|
| 1525 |
+
|
| 1526 |
+
.inherit {
|
| 1527 |
+
display: none;
|
| 1528 |
+
}
|
| 1529 |
+
|
| 1530 |
+
tr.heading h2 {
|
| 1531 |
+
margin-top: 12px;
|
| 1532 |
+
margin-bottom: 4px;
|
| 1533 |
+
}
|
| 1534 |
+
|
| 1535 |
+
/* tooltip related style info */
|
| 1536 |
+
|
| 1537 |
+
.ttc {
|
| 1538 |
+
position: absolute;
|
| 1539 |
+
display: none;
|
| 1540 |
+
}
|
| 1541 |
+
|
| 1542 |
+
#powerTip {
|
| 1543 |
+
cursor: default;
|
| 1544 |
+
white-space: nowrap;
|
| 1545 |
+
background-color: white;
|
| 1546 |
+
border: 1px solid gray;
|
| 1547 |
+
border-radius: 4px 4px 4px 4px;
|
| 1548 |
+
box-shadow: 1px 1px 7px gray;
|
| 1549 |
+
display: none;
|
| 1550 |
+
font-size: smaller;
|
| 1551 |
+
max-width: 80%;
|
| 1552 |
+
opacity: 0.9;
|
| 1553 |
+
padding: 1ex 1em 1em;
|
| 1554 |
+
position: absolute;
|
| 1555 |
+
z-index: 2147483647;
|
| 1556 |
+
}
|
| 1557 |
+
|
| 1558 |
+
#powerTip div.ttdoc {
|
| 1559 |
+
color: grey;
|
| 1560 |
+
font-style: italic;
|
| 1561 |
+
}
|
| 1562 |
+
|
| 1563 |
+
#powerTip div.ttname a {
|
| 1564 |
+
font-weight: bold;
|
| 1565 |
+
}
|
| 1566 |
+
|
| 1567 |
+
#powerTip div.ttname {
|
| 1568 |
+
font-weight: bold;
|
| 1569 |
+
}
|
| 1570 |
+
|
| 1571 |
+
#powerTip div.ttdeci {
|
| 1572 |
+
color: #006318;
|
| 1573 |
+
}
|
| 1574 |
+
|
| 1575 |
+
#powerTip div {
|
| 1576 |
+
margin: 0px;
|
| 1577 |
+
padding: 0px;
|
| 1578 |
+
font: 12px/16px Roboto,sans-serif;
|
| 1579 |
+
}
|
| 1580 |
+
|
| 1581 |
+
#powerTip:before, #powerTip:after {
|
| 1582 |
+
content: "";
|
| 1583 |
+
position: absolute;
|
| 1584 |
+
margin: 0px;
|
| 1585 |
+
}
|
| 1586 |
+
|
| 1587 |
+
#powerTip.n:after, #powerTip.n:before,
|
| 1588 |
+
#powerTip.s:after, #powerTip.s:before,
|
| 1589 |
+
#powerTip.w:after, #powerTip.w:before,
|
| 1590 |
+
#powerTip.e:after, #powerTip.e:before,
|
| 1591 |
+
#powerTip.ne:after, #powerTip.ne:before,
|
| 1592 |
+
#powerTip.se:after, #powerTip.se:before,
|
| 1593 |
+
#powerTip.nw:after, #powerTip.nw:before,
|
| 1594 |
+
#powerTip.sw:after, #powerTip.sw:before {
|
| 1595 |
+
border: solid transparent;
|
| 1596 |
+
content: " ";
|
| 1597 |
+
height: 0;
|
| 1598 |
+
width: 0;
|
| 1599 |
+
position: absolute;
|
| 1600 |
+
}
|
| 1601 |
+
|
| 1602 |
+
#powerTip.n:after, #powerTip.s:after,
|
| 1603 |
+
#powerTip.w:after, #powerTip.e:after,
|
| 1604 |
+
#powerTip.nw:after, #powerTip.ne:after,
|
| 1605 |
+
#powerTip.sw:after, #powerTip.se:after {
|
| 1606 |
+
border-color: rgba(255, 255, 255, 0);
|
| 1607 |
+
}
|
| 1608 |
+
|
| 1609 |
+
#powerTip.n:before, #powerTip.s:before,
|
| 1610 |
+
#powerTip.w:before, #powerTip.e:before,
|
| 1611 |
+
#powerTip.nw:before, #powerTip.ne:before,
|
| 1612 |
+
#powerTip.sw:before, #powerTip.se:before {
|
| 1613 |
+
border-color: rgba(128, 128, 128, 0);
|
| 1614 |
+
}
|
| 1615 |
+
|
| 1616 |
+
#powerTip.n:after, #powerTip.n:before,
|
| 1617 |
+
#powerTip.ne:after, #powerTip.ne:before,
|
| 1618 |
+
#powerTip.nw:after, #powerTip.nw:before {
|
| 1619 |
+
top: 100%;
|
| 1620 |
+
}
|
| 1621 |
+
|
| 1622 |
+
#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after {
|
| 1623 |
+
border-top-color: #FFFFFF;
|
| 1624 |
+
border-width: 10px;
|
| 1625 |
+
margin: 0px -10px;
|
| 1626 |
+
}
|
| 1627 |
+
#powerTip.n:before {
|
| 1628 |
+
border-top-color: #808080;
|
| 1629 |
+
border-width: 11px;
|
| 1630 |
+
margin: 0px -11px;
|
| 1631 |
+
}
|
| 1632 |
+
#powerTip.n:after, #powerTip.n:before {
|
| 1633 |
+
left: 50%;
|
| 1634 |
+
}
|
| 1635 |
+
|
| 1636 |
+
#powerTip.nw:after, #powerTip.nw:before {
|
| 1637 |
+
right: 14px;
|
| 1638 |
+
}
|
| 1639 |
+
|
| 1640 |
+
#powerTip.ne:after, #powerTip.ne:before {
|
| 1641 |
+
left: 14px;
|
| 1642 |
+
}
|
| 1643 |
+
|
| 1644 |
+
#powerTip.s:after, #powerTip.s:before,
|
| 1645 |
+
#powerTip.se:after, #powerTip.se:before,
|
| 1646 |
+
#powerTip.sw:after, #powerTip.sw:before {
|
| 1647 |
+
bottom: 100%;
|
| 1648 |
+
}
|
| 1649 |
+
|
| 1650 |
+
#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after {
|
| 1651 |
+
border-bottom-color: #FFFFFF;
|
| 1652 |
+
border-width: 10px;
|
| 1653 |
+
margin: 0px -10px;
|
| 1654 |
+
}
|
| 1655 |
+
|
| 1656 |
+
#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before {
|
| 1657 |
+
border-bottom-color: #808080;
|
| 1658 |
+
border-width: 11px;
|
| 1659 |
+
margin: 0px -11px;
|
| 1660 |
+
}
|
| 1661 |
+
|
| 1662 |
+
#powerTip.s:after, #powerTip.s:before {
|
| 1663 |
+
left: 50%;
|
| 1664 |
+
}
|
| 1665 |
+
|
| 1666 |
+
#powerTip.sw:after, #powerTip.sw:before {
|
| 1667 |
+
right: 14px;
|
| 1668 |
+
}
|
| 1669 |
+
|
| 1670 |
+
#powerTip.se:after, #powerTip.se:before {
|
| 1671 |
+
left: 14px;
|
| 1672 |
+
}
|
| 1673 |
+
|
| 1674 |
+
#powerTip.e:after, #powerTip.e:before {
|
| 1675 |
+
left: 100%;
|
| 1676 |
+
}
|
| 1677 |
+
#powerTip.e:after {
|
| 1678 |
+
border-left-color: #FFFFFF;
|
| 1679 |
+
border-width: 10px;
|
| 1680 |
+
top: 50%;
|
| 1681 |
+
margin-top: -10px;
|
| 1682 |
+
}
|
| 1683 |
+
#powerTip.e:before {
|
| 1684 |
+
border-left-color: #808080;
|
| 1685 |
+
border-width: 11px;
|
| 1686 |
+
top: 50%;
|
| 1687 |
+
margin-top: -11px;
|
| 1688 |
+
}
|
| 1689 |
+
|
| 1690 |
+
#powerTip.w:after, #powerTip.w:before {
|
| 1691 |
+
right: 100%;
|
| 1692 |
+
}
|
| 1693 |
+
#powerTip.w:after {
|
| 1694 |
+
border-right-color: #FFFFFF;
|
| 1695 |
+
border-width: 10px;
|
| 1696 |
+
top: 50%;
|
| 1697 |
+
margin-top: -10px;
|
| 1698 |
+
}
|
| 1699 |
+
#powerTip.w:before {
|
| 1700 |
+
border-right-color: #808080;
|
| 1701 |
+
border-width: 11px;
|
| 1702 |
+
top: 50%;
|
| 1703 |
+
margin-top: -11px;
|
| 1704 |
+
}
|
| 1705 |
+
|
| 1706 |
+
@media print
|
| 1707 |
+
{
|
| 1708 |
+
#top { display: none; }
|
| 1709 |
+
#side-nav { display: none; }
|
| 1710 |
+
#nav-path { display: none; }
|
| 1711 |
+
body { overflow:visible; }
|
| 1712 |
+
h1, h2, h3, h4, h5, h6 { page-break-after: avoid; }
|
| 1713 |
+
.summary { display: none; }
|
| 1714 |
+
.memitem { page-break-inside: avoid; }
|
| 1715 |
+
#doc-content
|
| 1716 |
+
{
|
| 1717 |
+
margin-left:0 !important;
|
| 1718 |
+
height:auto !important;
|
| 1719 |
+
width:auto !important;
|
| 1720 |
+
overflow:inherit;
|
| 1721 |
+
display:inline;
|
| 1722 |
+
}
|
| 1723 |
+
}
|
| 1724 |
+
|
| 1725 |
+
/* @group Markdown */
|
| 1726 |
+
|
| 1727 |
+
table.markdownTable {
|
| 1728 |
+
border-collapse:collapse;
|
| 1729 |
+
margin-top: 4px;
|
| 1730 |
+
margin-bottom: 4px;
|
| 1731 |
+
}
|
| 1732 |
+
|
| 1733 |
+
table.markdownTable td, table.markdownTable th {
|
| 1734 |
+
border: 1px solid #2D4068;
|
| 1735 |
+
padding: 3px 7px 2px;
|
| 1736 |
+
}
|
| 1737 |
+
|
| 1738 |
+
table.markdownTable tr {
|
| 1739 |
+
}
|
| 1740 |
+
|
| 1741 |
+
th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone {
|
| 1742 |
+
background-color: #374F7F;
|
| 1743 |
+
color: #FFFFFF;
|
| 1744 |
+
font-size: 110%;
|
| 1745 |
+
padding-bottom: 4px;
|
| 1746 |
+
padding-top: 5px;
|
| 1747 |
+
}
|
| 1748 |
+
|
| 1749 |
+
th.markdownTableHeadLeft, td.markdownTableBodyLeft {
|
| 1750 |
+
text-align: left
|
| 1751 |
+
}
|
| 1752 |
+
|
| 1753 |
+
th.markdownTableHeadRight, td.markdownTableBodyRight {
|
| 1754 |
+
text-align: right
|
| 1755 |
+
}
|
| 1756 |
+
|
| 1757 |
+
th.markdownTableHeadCenter, td.markdownTableBodyCenter {
|
| 1758 |
+
text-align: center
|
| 1759 |
+
}
|
| 1760 |
+
|
| 1761 |
+
.DocNodeRTL {
|
| 1762 |
+
text-align: right;
|
| 1763 |
+
direction: rtl;
|
| 1764 |
+
}
|
| 1765 |
+
|
| 1766 |
+
.DocNodeLTR {
|
| 1767 |
+
text-align: left;
|
| 1768 |
+
direction: ltr;
|
| 1769 |
+
}
|
| 1770 |
+
|
| 1771 |
+
table.DocNodeRTL {
|
| 1772 |
+
width: auto;
|
| 1773 |
+
margin-right: 0;
|
| 1774 |
+
margin-left: auto;
|
| 1775 |
+
}
|
| 1776 |
+
|
| 1777 |
+
table.DocNodeLTR {
|
| 1778 |
+
width: auto;
|
| 1779 |
+
margin-right: auto;
|
| 1780 |
+
margin-left: 0;
|
| 1781 |
+
}
|
| 1782 |
+
|
| 1783 |
+
tt, code, kbd, samp
|
| 1784 |
+
{
|
| 1785 |
+
display: inline-block;
|
| 1786 |
+
direction:ltr;
|
| 1787 |
+
}
|
| 1788 |
+
/* @end */
|
| 1789 |
+
|
| 1790 |
+
u {
|
| 1791 |
+
text-decoration: underline;
|
| 1792 |
+
}
|
| 1793 |
+
|
practical_astronomy/source/docs/doxygen.svg
ADDED
|
|
practical_astronomy/source/docs/dynsections.js
ADDED
|
@@ -0,0 +1,121 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/*
|
| 2 |
+
@licstart The following is the entire license notice for the JavaScript code in this file.
|
| 3 |
+
|
| 4 |
+
The MIT License (MIT)
|
| 5 |
+
|
| 6 |
+
Copyright (C) 1997-2020 by Dimitri van Heesch
|
| 7 |
+
|
| 8 |
+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software
|
| 9 |
+
and associated documentation files (the "Software"), to deal in the Software without restriction,
|
| 10 |
+
including without limitation the rights to use, copy, modify, merge, publish, distribute,
|
| 11 |
+
sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
|
| 12 |
+
furnished to do so, subject to the following conditions:
|
| 13 |
+
|
| 14 |
+
The above copyright notice and this permission notice shall be included in all copies or
|
| 15 |
+
substantial portions of the Software.
|
| 16 |
+
|
| 17 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
|
| 18 |
+
BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
| 19 |
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
| 20 |
+
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
| 21 |
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
| 22 |
+
|
| 23 |
+
@licend The above is the entire license notice for the JavaScript code in this file
|
| 24 |
+
*/
|
| 25 |
+
function toggleVisibility(linkObj)
|
| 26 |
+
{
|
| 27 |
+
var base = $(linkObj).attr('id');
|
| 28 |
+
var summary = $('#'+base+'-summary');
|
| 29 |
+
var content = $('#'+base+'-content');
|
| 30 |
+
var trigger = $('#'+base+'-trigger');
|
| 31 |
+
var src=$(trigger).attr('src');
|
| 32 |
+
if (content.is(':visible')===true) {
|
| 33 |
+
content.hide();
|
| 34 |
+
summary.show();
|
| 35 |
+
$(linkObj).addClass('closed').removeClass('opened');
|
| 36 |
+
$(trigger).attr('src',src.substring(0,src.length-8)+'closed.png');
|
| 37 |
+
} else {
|
| 38 |
+
content.show();
|
| 39 |
+
summary.hide();
|
| 40 |
+
$(linkObj).removeClass('closed').addClass('opened');
|
| 41 |
+
$(trigger).attr('src',src.substring(0,src.length-10)+'open.png');
|
| 42 |
+
}
|
| 43 |
+
return false;
|
| 44 |
+
}
|
| 45 |
+
|
| 46 |
+
function updateStripes()
|
| 47 |
+
{
|
| 48 |
+
$('table.directory tr').
|
| 49 |
+
removeClass('even').filter(':visible:even').addClass('even');
|
| 50 |
+
}
|
| 51 |
+
|
| 52 |
+
function toggleLevel(level)
|
| 53 |
+
{
|
| 54 |
+
$('table.directory tr').each(function() {
|
| 55 |
+
var l = this.id.split('_').length-1;
|
| 56 |
+
var i = $('#img'+this.id.substring(3));
|
| 57 |
+
var a = $('#arr'+this.id.substring(3));
|
| 58 |
+
if (l<level+1) {
|
| 59 |
+
i.removeClass('iconfopen iconfclosed').addClass('iconfopen');
|
| 60 |
+
a.html('▼');
|
| 61 |
+
$(this).show();
|
| 62 |
+
} else if (l==level+1) {
|
| 63 |
+
i.removeClass('iconfclosed iconfopen').addClass('iconfclosed');
|
| 64 |
+
a.html('►');
|
| 65 |
+
$(this).show();
|
| 66 |
+
} else {
|
| 67 |
+
$(this).hide();
|
| 68 |
+
}
|
| 69 |
+
});
|
| 70 |
+
updateStripes();
|
| 71 |
+
}
|
| 72 |
+
|
| 73 |
+
function toggleFolder(id)
|
| 74 |
+
{
|
| 75 |
+
// the clicked row
|
| 76 |
+
var currentRow = $('#row_'+id);
|
| 77 |
+
|
| 78 |
+
// all rows after the clicked row
|
| 79 |
+
var rows = currentRow.nextAll("tr");
|
| 80 |
+
|
| 81 |
+
var re = new RegExp('^row_'+id+'\\d+_$', "i"); //only one sub
|
| 82 |
+
|
| 83 |
+
// only match elements AFTER this one (can't hide elements before)
|
| 84 |
+
var childRows = rows.filter(function() { return this.id.match(re); });
|
| 85 |
+
|
| 86 |
+
// first row is visible we are HIDING
|
| 87 |
+
if (childRows.filter(':first').is(':visible')===true) {
|
| 88 |
+
// replace down arrow by right arrow for current row
|
| 89 |
+
var currentRowSpans = currentRow.find("span");
|
| 90 |
+
currentRowSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
|
| 91 |
+
currentRowSpans.filter(".arrow").html('►');
|
| 92 |
+
rows.filter("[id^=row_"+id+"]").hide(); // hide all children
|
| 93 |
+
} else { // we are SHOWING
|
| 94 |
+
// replace right arrow by down arrow for current row
|
| 95 |
+
var currentRowSpans = currentRow.find("span");
|
| 96 |
+
currentRowSpans.filter(".iconfclosed").removeClass("iconfclosed").addClass("iconfopen");
|
| 97 |
+
currentRowSpans.filter(".arrow").html('▼');
|
| 98 |
+
// replace down arrows by right arrows for child rows
|
| 99 |
+
var childRowsSpans = childRows.find("span");
|
| 100 |
+
childRowsSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
|
| 101 |
+
childRowsSpans.filter(".arrow").html('►');
|
| 102 |
+
childRows.show(); //show all children
|
| 103 |
+
}
|
| 104 |
+
updateStripes();
|
| 105 |
+
}
|
| 106 |
+
|
| 107 |
+
|
| 108 |
+
function toggleInherit(id)
|
| 109 |
+
{
|
| 110 |
+
var rows = $('tr.inherit.'+id);
|
| 111 |
+
var img = $('tr.inherit_header.'+id+' img');
|
| 112 |
+
var src = $(img).attr('src');
|
| 113 |
+
if (rows.filter(':first').is(':visible')===true) {
|
| 114 |
+
rows.css('display','none');
|
| 115 |
+
$(img).attr('src',src.substring(0,src.length-8)+'closed.png');
|
| 116 |
+
} else {
|
| 117 |
+
rows.css('display','table-row'); // using show() causes jump in firefox
|
| 118 |
+
$(img).attr('src',src.substring(0,src.length-10)+'open.png');
|
| 119 |
+
}
|
| 120 |
+
}
|
| 121 |
+
/* @license-end */
|
practical_astronomy/source/docs/files.html
ADDED
|
@@ -0,0 +1,118 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
| 2 |
+
<html xmlns="http://www.w3.org/1999/xhtml">
|
| 3 |
+
<head>
|
| 4 |
+
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
| 5 |
+
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
| 6 |
+
<meta name="generator" content="Doxygen 1.9.1"/>
|
| 7 |
+
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
| 8 |
+
<title>Practical Astronomy: File List</title>
|
| 9 |
+
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
| 10 |
+
<script type="text/javascript" src="jquery.js"></script>
|
| 11 |
+
<script type="text/javascript" src="dynsections.js"></script>
|
| 12 |
+
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
| 13 |
+
<script type="text/javascript" src="resize.js"></script>
|
| 14 |
+
<script type="text/javascript" src="navtreedata.js"></script>
|
| 15 |
+
<script type="text/javascript" src="navtree.js"></script>
|
| 16 |
+
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
| 17 |
+
<script type="text/javascript" src="search/searchdata.js"></script>
|
| 18 |
+
<script type="text/javascript" src="search/search.js"></script>
|
| 19 |
+
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
| 20 |
+
</head>
|
| 21 |
+
<body>
|
| 22 |
+
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
| 23 |
+
<div id="titlearea">
|
| 24 |
+
<table cellspacing="0" cellpadding="0">
|
| 25 |
+
<tbody>
|
| 26 |
+
<tr style="height: 56px;">
|
| 27 |
+
<td id="projectalign" style="padding-left: 0.5em;">
|
| 28 |
+
<div id="projectname">Practical Astronomy
|
| 29 |
+
</div>
|
| 30 |
+
</td>
|
| 31 |
+
</tr>
|
| 32 |
+
</tbody>
|
| 33 |
+
</table>
|
| 34 |
+
</div>
|
| 35 |
+
<!-- end header part -->
|
| 36 |
+
<!-- Generated by Doxygen 1.9.1 -->
|
| 37 |
+
<script type="text/javascript">
|
| 38 |
+
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
| 39 |
+
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
|
| 40 |
+
/* @license-end */
|
| 41 |
+
</script>
|
| 42 |
+
<script type="text/javascript" src="menudata.js"></script>
|
| 43 |
+
<script type="text/javascript" src="menu.js"></script>
|
| 44 |
+
<script type="text/javascript">
|
| 45 |
+
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
| 46 |
+
$(function() {
|
| 47 |
+
initMenu('',true,false,'search.php','Search');
|
| 48 |
+
$(document).ready(function() { init_search(); });
|
| 49 |
+
});
|
| 50 |
+
/* @license-end */</script>
|
| 51 |
+
<div id="main-nav"></div>
|
| 52 |
+
</div><!-- top -->
|
| 53 |
+
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
| 54 |
+
<div id="nav-tree">
|
| 55 |
+
<div id="nav-tree-contents">
|
| 56 |
+
<div id="nav-sync" class="sync"></div>
|
| 57 |
+
</div>
|
| 58 |
+
</div>
|
| 59 |
+
<div id="splitbar" style="-moz-user-select:none;"
|
| 60 |
+
class="ui-resizable-handle">
|
| 61 |
+
</div>
|
| 62 |
+
</div>
|
| 63 |
+
<script type="text/javascript">
|
| 64 |
+
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
| 65 |
+
$(document).ready(function(){initNavTree('files.html',''); initResizable(); });
|
| 66 |
+
/* @license-end */
|
| 67 |
+
</script>
|
| 68 |
+
<div id="doc-content">
|
| 69 |
+
<!-- window showing the filter options -->
|
| 70 |
+
<div id="MSearchSelectWindow"
|
| 71 |
+
onmouseover="return searchBox.OnSearchSelectShow()"
|
| 72 |
+
onmouseout="return searchBox.OnSearchSelectHide()"
|
| 73 |
+
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
| 74 |
+
</div>
|
| 75 |
+
|
| 76 |
+
<!-- iframe showing the search results (closed by default) -->
|
| 77 |
+
<div id="MSearchResultsWindow">
|
| 78 |
+
<iframe src="javascript:void(0)" frameborder="0"
|
| 79 |
+
name="MSearchResults" id="MSearchResults">
|
| 80 |
+
</iframe>
|
| 81 |
+
</div>
|
| 82 |
+
|
| 83 |
+
<div class="header">
|
| 84 |
+
<div class="headertitle">
|
| 85 |
+
<div class="title">File List</div> </div>
|
| 86 |
+
</div><!--header-->
|
| 87 |
+
<div class="contents">
|
| 88 |
+
<div class="textblock">Here is a list of all files with brief descriptions:</div><div class="directory">
|
| 89 |
+
<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span><span onclick="javascript:toggleLevel(3);">3</span>]</div><table class="directory">
|
| 90 |
+
<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="iconfclosed"></span><a class="el" href="dir_8ebb4883bd5210c1437544ca4cb0df32.html" target="_self">src</a></td><td class="desc"></td></tr>
|
| 91 |
+
<tr id="row_1_"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_1_" class="arrow" onclick="toggleFolder('1_')">▼</span><span id="img_1_" class="iconfopen" onclick="toggleFolder('1_')"> </span><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html" target="_self">src</a></td><td class="desc"></td></tr>
|
| 92 |
+
<tr id="row_1_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_1_0_" class="arrow" onclick="toggleFolder('1_0_')">▼</span><span id="img_1_0_" class="iconfopen" onclick="toggleFolder('1_0_')"> </span><a class="el" href="dir_45978790aec87fba6f3407586a078612.html" target="_self">practical_astronomy</a></td><td class="desc"></td></tr>
|
| 93 |
+
<tr id="row_1_0_0_"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="____init_____8py.html" target="_self">__init__.py</a></td><td class="desc"></td></tr>
|
| 94 |
+
<tr id="row_1_0_1_" class="even"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="pa__binary_8py.html" target="_self">pa_binary.py</a></td><td class="desc"></td></tr>
|
| 95 |
+
<tr id="row_1_0_2_"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="pa__binary__data_8py.html" target="_self">pa_binary_data.py</a></td><td class="desc"></td></tr>
|
| 96 |
+
<tr id="row_1_0_3_" class="even"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="pa__comet_8py.html" target="_self">pa_comet.py</a></td><td class="desc"></td></tr>
|
| 97 |
+
<tr id="row_1_0_4_"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="pa__comet__data_8py.html" target="_self">pa_comet_data.py</a></td><td class="desc"></td></tr>
|
| 98 |
+
<tr id="row_1_0_5_" class="even"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="pa__coordinate_8py.html" target="_self">pa_coordinate.py</a></td><td class="desc"></td></tr>
|
| 99 |
+
<tr id="row_1_0_6_"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="pa__datetime_8py.html" target="_self">pa_datetime.py</a></td><td class="desc"></td></tr>
|
| 100 |
+
<tr id="row_1_0_7_" class="even"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="pa__eclipses_8py.html" target="_self">pa_eclipses.py</a></td><td class="desc"></td></tr>
|
| 101 |
+
<tr id="row_1_0_8_"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="pa__macro_8py.html" target="_self">pa_macro.py</a></td><td class="desc"></td></tr>
|
| 102 |
+
<tr id="row_1_0_9_" class="even"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="pa__moon_8py.html" target="_self">pa_moon.py</a></td><td class="desc"></td></tr>
|
| 103 |
+
<tr id="row_1_0_10_"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="pa__planet_8py.html" target="_self">pa_planet.py</a></td><td class="desc"></td></tr>
|
| 104 |
+
<tr id="row_1_0_11_" class="even"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="pa__planet__data_8py.html" target="_self">pa_planet_data.py</a></td><td class="desc"></td></tr>
|
| 105 |
+
<tr id="row_1_0_12_"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="pa__sun_8py.html" target="_self">pa_sun.py</a></td><td class="desc"></td></tr>
|
| 106 |
+
<tr id="row_1_0_13_" class="even"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="pa__util_8py.html" target="_self">pa_util.py</a></td><td class="desc"></td></tr>
|
| 107 |
+
</table>
|
| 108 |
+
</div><!-- directory -->
|
| 109 |
+
</div><!-- contents -->
|
| 110 |
+
</div><!-- doc-content -->
|
| 111 |
+
<!-- start footer part -->
|
| 112 |
+
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
| 113 |
+
<ul>
|
| 114 |
+
<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>
|
| 115 |
+
</ul>
|
| 116 |
+
</div>
|
| 117 |
+
</body>
|
| 118 |
+
</html>
|
practical_astronomy/source/docs/files_dup.js
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
var files_dup =
|
| 2 |
+
[
|
| 3 |
+
[ "src", "dir_8ebb4883bd5210c1437544ca4cb0df32.html", null ],
|
| 4 |
+
[ "src", "dir_68267d1309a1af8e8297ef4c3efbcdba.html", "dir_68267d1309a1af8e8297ef4c3efbcdba" ]
|
| 5 |
+
];
|
practical_astronomy/source/docs/folderclosed.png
ADDED
|
practical_astronomy/source/docs/folderopen.png
ADDED
|
practical_astronomy/source/docs/glossary_8md.html
ADDED
|
@@ -0,0 +1,98 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
| 2 |
+
<html xmlns="http://www.w3.org/1999/xhtml">
|
| 3 |
+
<head>
|
| 4 |
+
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
| 5 |
+
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
| 6 |
+
<meta name="generator" content="Doxygen 1.9.1"/>
|
| 7 |
+
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
| 8 |
+
<title>Practical Astronomy: src/glossary.md File Reference</title>
|
| 9 |
+
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
| 10 |
+
<script type="text/javascript" src="jquery.js"></script>
|
| 11 |
+
<script type="text/javascript" src="dynsections.js"></script>
|
| 12 |
+
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
| 13 |
+
<script type="text/javascript" src="resize.js"></script>
|
| 14 |
+
<script type="text/javascript" src="navtreedata.js"></script>
|
| 15 |
+
<script type="text/javascript" src="navtree.js"></script>
|
| 16 |
+
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
| 17 |
+
<script type="text/javascript" src="search/searchdata.js"></script>
|
| 18 |
+
<script type="text/javascript" src="search/search.js"></script>
|
| 19 |
+
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
| 20 |
+
</head>
|
| 21 |
+
<body>
|
| 22 |
+
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
| 23 |
+
<div id="titlearea">
|
| 24 |
+
<table cellspacing="0" cellpadding="0">
|
| 25 |
+
<tbody>
|
| 26 |
+
<tr style="height: 56px;">
|
| 27 |
+
<td id="projectalign" style="padding-left: 0.5em;">
|
| 28 |
+
<div id="projectname">Practical Astronomy
|
| 29 |
+
</div>
|
| 30 |
+
</td>
|
| 31 |
+
</tr>
|
| 32 |
+
</tbody>
|
| 33 |
+
</table>
|
| 34 |
+
</div>
|
| 35 |
+
<!-- end header part -->
|
| 36 |
+
<!-- Generated by Doxygen 1.9.1 -->
|
| 37 |
+
<script type="text/javascript">
|
| 38 |
+
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
| 39 |
+
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
|
| 40 |
+
/* @license-end */
|
| 41 |
+
</script>
|
| 42 |
+
<script type="text/javascript" src="menudata.js"></script>
|
| 43 |
+
<script type="text/javascript" src="menu.js"></script>
|
| 44 |
+
<script type="text/javascript">
|
| 45 |
+
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
| 46 |
+
$(function() {
|
| 47 |
+
initMenu('',true,false,'search.php','Search');
|
| 48 |
+
$(document).ready(function() { init_search(); });
|
| 49 |
+
});
|
| 50 |
+
/* @license-end */</script>
|
| 51 |
+
<div id="main-nav"></div>
|
| 52 |
+
</div><!-- top -->
|
| 53 |
+
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
| 54 |
+
<div id="nav-tree">
|
| 55 |
+
<div id="nav-tree-contents">
|
| 56 |
+
<div id="nav-sync" class="sync"></div>
|
| 57 |
+
</div>
|
| 58 |
+
</div>
|
| 59 |
+
<div id="splitbar" style="-moz-user-select:none;"
|
| 60 |
+
class="ui-resizable-handle">
|
| 61 |
+
</div>
|
| 62 |
+
</div>
|
| 63 |
+
<script type="text/javascript">
|
| 64 |
+
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
| 65 |
+
$(document).ready(function(){initNavTree('glossary_8md.html',''); initResizable(); });
|
| 66 |
+
/* @license-end */
|
| 67 |
+
</script>
|
| 68 |
+
<div id="doc-content">
|
| 69 |
+
<!-- window showing the filter options -->
|
| 70 |
+
<div id="MSearchSelectWindow"
|
| 71 |
+
onmouseover="return searchBox.OnSearchSelectShow()"
|
| 72 |
+
onmouseout="return searchBox.OnSearchSelectHide()"
|
| 73 |
+
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
| 74 |
+
</div>
|
| 75 |
+
|
| 76 |
+
<!-- iframe showing the search results (closed by default) -->
|
| 77 |
+
<div id="MSearchResultsWindow">
|
| 78 |
+
<iframe src="javascript:void(0)" frameborder="0"
|
| 79 |
+
name="MSearchResults" id="MSearchResults">
|
| 80 |
+
</iframe>
|
| 81 |
+
</div>
|
| 82 |
+
|
| 83 |
+
<div class="header">
|
| 84 |
+
<div class="headertitle">
|
| 85 |
+
<div class="title">src/glossary.md File Reference</div> </div>
|
| 86 |
+
</div><!--header-->
|
| 87 |
+
<div class="contents">
|
| 88 |
+
</div><!-- contents -->
|
| 89 |
+
</div><!-- doc-content -->
|
| 90 |
+
<!-- start footer part -->
|
| 91 |
+
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
| 92 |
+
<ul>
|
| 93 |
+
<li class="navelem"><a class="el" href="glossary_8md.html">glossary.md</a></li>
|
| 94 |
+
<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>
|
| 95 |
+
</ul>
|
| 96 |
+
</div>
|
| 97 |
+
</body>
|
| 98 |
+
</html>
|
practical_astronomy/source/docs/index.html
ADDED
|
@@ -0,0 +1,239 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
| 2 |
+
<html xmlns="http://www.w3.org/1999/xhtml">
|
| 3 |
+
<head>
|
| 4 |
+
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
| 5 |
+
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
| 6 |
+
<meta name="generator" content="Doxygen 1.9.1"/>
|
| 7 |
+
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
| 8 |
+
<title>Practical Astronomy: practical-astronomy-python</title>
|
| 9 |
+
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
| 10 |
+
<script type="text/javascript" src="jquery.js"></script>
|
| 11 |
+
<script type="text/javascript" src="dynsections.js"></script>
|
| 12 |
+
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
| 13 |
+
<script type="text/javascript" src="resize.js"></script>
|
| 14 |
+
<script type="text/javascript" src="navtreedata.js"></script>
|
| 15 |
+
<script type="text/javascript" src="navtree.js"></script>
|
| 16 |
+
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
| 17 |
+
<script type="text/javascript" src="search/searchdata.js"></script>
|
| 18 |
+
<script type="text/javascript" src="search/search.js"></script>
|
| 19 |
+
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
| 20 |
+
</head>
|
| 21 |
+
<body>
|
| 22 |
+
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
| 23 |
+
<div id="titlearea">
|
| 24 |
+
<table cellspacing="0" cellpadding="0">
|
| 25 |
+
<tbody>
|
| 26 |
+
<tr style="height: 56px;">
|
| 27 |
+
<td id="projectalign" style="padding-left: 0.5em;">
|
| 28 |
+
<div id="projectname">Practical Astronomy
|
| 29 |
+
</div>
|
| 30 |
+
</td>
|
| 31 |
+
</tr>
|
| 32 |
+
</tbody>
|
| 33 |
+
</table>
|
| 34 |
+
</div>
|
| 35 |
+
<!-- end header part -->
|
| 36 |
+
<!-- Generated by Doxygen 1.9.1 -->
|
| 37 |
+
<script type="text/javascript">
|
| 38 |
+
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
| 39 |
+
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
|
| 40 |
+
/* @license-end */
|
| 41 |
+
</script>
|
| 42 |
+
<script type="text/javascript" src="menudata.js"></script>
|
| 43 |
+
<script type="text/javascript" src="menu.js"></script>
|
| 44 |
+
<script type="text/javascript">
|
| 45 |
+
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
| 46 |
+
$(function() {
|
| 47 |
+
initMenu('',true,false,'search.php','Search');
|
| 48 |
+
$(document).ready(function() { init_search(); });
|
| 49 |
+
});
|
| 50 |
+
/* @license-end */</script>
|
| 51 |
+
<div id="main-nav"></div>
|
| 52 |
+
</div><!-- top -->
|
| 53 |
+
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
| 54 |
+
<div id="nav-tree">
|
| 55 |
+
<div id="nav-tree-contents">
|
| 56 |
+
<div id="nav-sync" class="sync"></div>
|
| 57 |
+
</div>
|
| 58 |
+
</div>
|
| 59 |
+
<div id="splitbar" style="-moz-user-select:none;"
|
| 60 |
+
class="ui-resizable-handle">
|
| 61 |
+
</div>
|
| 62 |
+
</div>
|
| 63 |
+
<script type="text/javascript">
|
| 64 |
+
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
| 65 |
+
$(document).ready(function(){initNavTree('index.html',''); initResizable(); });
|
| 66 |
+
/* @license-end */
|
| 67 |
+
</script>
|
| 68 |
+
<div id="doc-content">
|
| 69 |
+
<!-- window showing the filter options -->
|
| 70 |
+
<div id="MSearchSelectWindow"
|
| 71 |
+
onmouseover="return searchBox.OnSearchSelectShow()"
|
| 72 |
+
onmouseout="return searchBox.OnSearchSelectHide()"
|
| 73 |
+
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
| 74 |
+
</div>
|
| 75 |
+
|
| 76 |
+
<!-- iframe showing the search results (closed by default) -->
|
| 77 |
+
<div id="MSearchResultsWindow">
|
| 78 |
+
<iframe src="javascript:void(0)" frameborder="0"
|
| 79 |
+
name="MSearchResults" id="MSearchResults">
|
| 80 |
+
</iframe>
|
| 81 |
+
</div>
|
| 82 |
+
|
| 83 |
+
<div class="PageDoc"><div class="header">
|
| 84 |
+
<div class="headertitle">
|
| 85 |
+
<div class="title">practical-astronomy-python </div> </div>
|
| 86 |
+
</div><!--header-->
|
| 87 |
+
<div class="contents">
|
| 88 |
+
<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>
|
| 89 |
+
<p>If you're interested in this topic, please buy the book! It provides far more detail and context.</p>
|
| 90 |
+
<h1><a class="anchor" id="autotoc_md133"></a>
|
| 91 |
+
Quick Start</h1>
|
| 92 |
+
<p>Install:</p>
|
| 93 |
+
<div class="fragment"><div class="line">pip install practical-astronomy</div>
|
| 94 |
+
</div><!-- fragment --><p>Create <code>easter.py</code>:</p>
|
| 95 |
+
<div class="fragment"><div class="line">import practical_astronomy.pa_datetime as pd</div>
|
| 96 |
+
<div class="line"> </div>
|
| 97 |
+
<div class="line">print(pd.get_date_of_easter(2024))</div>
|
| 98 |
+
</div><!-- fragment --><p>Run it:</p>
|
| 99 |
+
<div class="fragment"><div class="line">python easter.py</div>
|
| 100 |
+
</div><!-- fragment --><p>Result:</p>
|
| 101 |
+
<div class="fragment"><div class="line">(3, 31, 2024)</div>
|
| 102 |
+
</div><!-- fragment --><h1><a class="anchor" id="autotoc_md134"></a>
|
| 103 |
+
Unit Tests</h1>
|
| 104 |
+
<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>
|
| 105 |
+
<div class="fragment"><div class="line">make all-tests</div>
|
| 106 |
+
</div><!-- fragment --><h1><a class="anchor" id="autotoc_md135"></a>
|
| 107 |
+
Library Functions</h1>
|
| 108 |
+
<p>Documentation <a href="https://jfcarr.github.io/practical-astronomy-python/">here</a>.</p>
|
| 109 |
+
<h2><a class="anchor" id="autotoc_md136"></a>
|
| 110 |
+
Date/Time</h2>
|
| 111 |
+
<table class="markdownTable">
|
| 112 |
+
<tr class="markdownTableHead">
|
| 113 |
+
<th class="markdownTableHeadNone">Type </th><th class="markdownTableHeadNone">Description </th></tr>
|
| 114 |
+
<tr class="markdownTableRowOdd">
|
| 115 |
+
<td class="markdownTableBodyNone">Calculate </td><td class="markdownTableBodyNone">Date of Easter </td></tr>
|
| 116 |
+
<tr class="markdownTableRowEven">
|
| 117 |
+
<td class="markdownTableBodyNone">Convert </td><td class="markdownTableBodyNone">Civil Date to Day Number </td></tr>
|
| 118 |
+
<tr class="markdownTableRowOdd">
|
| 119 |
+
<td class="markdownTableBodyNone">Convert </td><td class="markdownTableBodyNone">Greenwich Date <-> Julian Date </td></tr>
|
| 120 |
+
<tr class="markdownTableRowEven">
|
| 121 |
+
<td class="markdownTableBodyNone">Convert </td><td class="markdownTableBodyNone">Julian Date to Day-of-Week </td></tr>
|
| 122 |
+
<tr class="markdownTableRowOdd">
|
| 123 |
+
<td class="markdownTableBodyNone">Extract </td><td class="markdownTableBodyNone">Day, Month, and Year parts of Julian Date </td></tr>
|
| 124 |
+
<tr class="markdownTableRowEven">
|
| 125 |
+
<td class="markdownTableBodyNone">Convert </td><td class="markdownTableBodyNone">Civil Time <-> Decimal Hours </td></tr>
|
| 126 |
+
<tr class="markdownTableRowOdd">
|
| 127 |
+
<td class="markdownTableBodyNone">Extract </td><td class="markdownTableBodyNone">Hour, Minutes, and Seconds parts of Decimal Hours </td></tr>
|
| 128 |
+
<tr class="markdownTableRowEven">
|
| 129 |
+
<td class="markdownTableBodyNone">Convert </td><td class="markdownTableBodyNone">Local Civil Time <-> Universal Time </td></tr>
|
| 130 |
+
<tr class="markdownTableRowOdd">
|
| 131 |
+
<td class="markdownTableBodyNone">Convert </td><td class="markdownTableBodyNone">Universal Time <-> Greenwich Sidereal Time </td></tr>
|
| 132 |
+
<tr class="markdownTableRowEven">
|
| 133 |
+
<td class="markdownTableBodyNone">Convert </td><td class="markdownTableBodyNone">Greenwich Sidereal Time <-> Local Sidereal Time </td></tr>
|
| 134 |
+
</table>
|
| 135 |
+
<h2><a class="anchor" id="autotoc_md137"></a>
|
| 136 |
+
Coordinates</h2>
|
| 137 |
+
<table class="markdownTable">
|
| 138 |
+
<tr class="markdownTableHead">
|
| 139 |
+
<th class="markdownTableHeadNone">Type </th><th class="markdownTableHeadNone">Description </th></tr>
|
| 140 |
+
<tr class="markdownTableRowOdd">
|
| 141 |
+
<td class="markdownTableBodyNone">Convert </td><td class="markdownTableBodyNone">Angle <-> Decimal Degrees </td></tr>
|
| 142 |
+
<tr class="markdownTableRowEven">
|
| 143 |
+
<td class="markdownTableBodyNone">Convert </td><td class="markdownTableBodyNone">Right Ascension <-> Hour Angle </td></tr>
|
| 144 |
+
<tr class="markdownTableRowOdd">
|
| 145 |
+
<td class="markdownTableBodyNone">Convert </td><td class="markdownTableBodyNone">Equatorial Coordinates <-> Horizon Coordinates </td></tr>
|
| 146 |
+
<tr class="markdownTableRowEven">
|
| 147 |
+
<td class="markdownTableBodyNone">Calculate </td><td class="markdownTableBodyNone">Obliquity of the Ecliptic </td></tr>
|
| 148 |
+
<tr class="markdownTableRowOdd">
|
| 149 |
+
<td class="markdownTableBodyNone">Convert </td><td class="markdownTableBodyNone">Ecliptic Coordinates <-> Equatorial Coordinates </td></tr>
|
| 150 |
+
<tr class="markdownTableRowEven">
|
| 151 |
+
<td class="markdownTableBodyNone">Convert </td><td class="markdownTableBodyNone">Equatorial Coordinates <-> Galactic Coordinates </td></tr>
|
| 152 |
+
<tr class="markdownTableRowOdd">
|
| 153 |
+
<td class="markdownTableBodyNone">Calculate </td><td class="markdownTableBodyNone">Angle between two objects </td></tr>
|
| 154 |
+
<tr class="markdownTableRowEven">
|
| 155 |
+
<td class="markdownTableBodyNone">Calculate </td><td class="markdownTableBodyNone">Rising and Setting times for an object </td></tr>
|
| 156 |
+
<tr class="markdownTableRowOdd">
|
| 157 |
+
<td class="markdownTableBodyNone">Calculate </td><td class="markdownTableBodyNone">Precession (corrected coordinates between two epochs) </td></tr>
|
| 158 |
+
<tr class="markdownTableRowEven">
|
| 159 |
+
<td class="markdownTableBodyNone">Calculate </td><td class="markdownTableBodyNone">Nutation (in ecliptic longitude and obliquity) for a Greenwich date </td></tr>
|
| 160 |
+
<tr class="markdownTableRowOdd">
|
| 161 |
+
<td class="markdownTableBodyNone">Calculate </td><td class="markdownTableBodyNone">Effects of aberration for ecliptic coordinates </td></tr>
|
| 162 |
+
<tr class="markdownTableRowEven">
|
| 163 |
+
<td class="markdownTableBodyNone">Calculate </td><td class="markdownTableBodyNone">RA and Declination values, corrected for atmospheric refraction and geocentric parallax </td></tr>
|
| 164 |
+
<tr class="markdownTableRowOdd">
|
| 165 |
+
<td class="markdownTableBodyNone">Calculate </td><td class="markdownTableBodyNone">Heliographic coordinates </td></tr>
|
| 166 |
+
<tr class="markdownTableRowEven">
|
| 167 |
+
<td class="markdownTableBodyNone">Calculate </td><td class="markdownTableBodyNone">Carrington rotation number </td></tr>
|
| 168 |
+
<tr class="markdownTableRowOdd">
|
| 169 |
+
<td class="markdownTableBodyNone">Calculate </td><td class="markdownTableBodyNone">Selenographic (lunar) coordinates (sub-Earth and sub-Solar) </td></tr>
|
| 170 |
+
</table>
|
| 171 |
+
<h2><a class="anchor" id="autotoc_md138"></a>
|
| 172 |
+
The Sun</h2>
|
| 173 |
+
<table class="markdownTable">
|
| 174 |
+
<tr class="markdownTableHead">
|
| 175 |
+
<th class="markdownTableHeadNone">Type </th><th class="markdownTableHeadNone">Description </th></tr>
|
| 176 |
+
<tr class="markdownTableRowOdd">
|
| 177 |
+
<td class="markdownTableBodyNone">Calculate </td><td class="markdownTableBodyNone">Approximate and precise positions of the Sun </td></tr>
|
| 178 |
+
<tr class="markdownTableRowEven">
|
| 179 |
+
<td class="markdownTableBodyNone">Calculate </td><td class="markdownTableBodyNone">Sun's distance and angular size </td></tr>
|
| 180 |
+
<tr class="markdownTableRowOdd">
|
| 181 |
+
<td class="markdownTableBodyNone">Calculate </td><td class="markdownTableBodyNone">Local sunrise and sunset </td></tr>
|
| 182 |
+
<tr class="markdownTableRowEven">
|
| 183 |
+
<td class="markdownTableBodyNone">Calculate </td><td class="markdownTableBodyNone">Morning and evening twilight </td></tr>
|
| 184 |
+
<tr class="markdownTableRowOdd">
|
| 185 |
+
<td class="markdownTableBodyNone">Calculate </td><td class="markdownTableBodyNone">Equation of time </td></tr>
|
| 186 |
+
<tr class="markdownTableRowEven">
|
| 187 |
+
<td class="markdownTableBodyNone">Calculate </td><td class="markdownTableBodyNone">Solar elongation </td></tr>
|
| 188 |
+
</table>
|
| 189 |
+
<h2><a class="anchor" id="autotoc_md139"></a>
|
| 190 |
+
Planets</h2>
|
| 191 |
+
<table class="markdownTable">
|
| 192 |
+
<tr class="markdownTableHead">
|
| 193 |
+
<th class="markdownTableHeadNone">Type </th><th class="markdownTableHeadNone">Description </th></tr>
|
| 194 |
+
<tr class="markdownTableRowOdd">
|
| 195 |
+
<td class="markdownTableBodyNone">Calculate </td><td class="markdownTableBodyNone">Approximate and precise position of planet </td></tr>
|
| 196 |
+
<tr class="markdownTableRowEven">
|
| 197 |
+
<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>
|
| 198 |
+
<tr class="markdownTableRowOdd">
|
| 199 |
+
<td class="markdownTableBodyNone">Calculate </td><td class="markdownTableBodyNone">Position of comet (elliptical and parabolic) </td></tr>
|
| 200 |
+
<tr class="markdownTableRowEven">
|
| 201 |
+
<td class="markdownTableBodyNone">Calculate </td><td class="markdownTableBodyNone">Binary star orbit data </td></tr>
|
| 202 |
+
</table>
|
| 203 |
+
<h2><a class="anchor" id="autotoc_md140"></a>
|
| 204 |
+
The Moon</h2>
|
| 205 |
+
<table class="markdownTable">
|
| 206 |
+
<tr class="markdownTableHead">
|
| 207 |
+
<th class="markdownTableHeadNone">Type </th><th class="markdownTableHeadNone">Description </th></tr>
|
| 208 |
+
<tr class="markdownTableRowOdd">
|
| 209 |
+
<td class="markdownTableBodyNone">Calculate </td><td class="markdownTableBodyNone">Approximate and precise position of Moon </td></tr>
|
| 210 |
+
<tr class="markdownTableRowEven">
|
| 211 |
+
<td class="markdownTableBodyNone">Calculate </td><td class="markdownTableBodyNone">Moon phase and position angle of bright limb </td></tr>
|
| 212 |
+
<tr class="markdownTableRowOdd">
|
| 213 |
+
<td class="markdownTableBodyNone">Calculate </td><td class="markdownTableBodyNone">Times of new Moon and full Moon </td></tr>
|
| 214 |
+
<tr class="markdownTableRowEven">
|
| 215 |
+
<td class="markdownTableBodyNone">Calculate </td><td class="markdownTableBodyNone">Moon's distance, angular diameter, and horizontal parallax </td></tr>
|
| 216 |
+
<tr class="markdownTableRowOdd">
|
| 217 |
+
<td class="markdownTableBodyNone">Calculate </td><td class="markdownTableBodyNone">Local moonrise and moonset </td></tr>
|
| 218 |
+
</table>
|
| 219 |
+
<h2><a class="anchor" id="autotoc_md141"></a>
|
| 220 |
+
Eclipses</h2>
|
| 221 |
+
<table class="markdownTable">
|
| 222 |
+
<tr class="markdownTableHead">
|
| 223 |
+
<th class="markdownTableHeadNone">Type </th><th class="markdownTableHeadNone">Description </th></tr>
|
| 224 |
+
<tr class="markdownTableRowOdd">
|
| 225 |
+
<td class="markdownTableBodyNone">Calculate </td><td class="markdownTableBodyNone">Lunar eclipse occurrence and circumstances </td></tr>
|
| 226 |
+
<tr class="markdownTableRowEven">
|
| 227 |
+
<td class="markdownTableBodyNone">Calculate </td><td class="markdownTableBodyNone">Solar eclipse occurrence and circumstances </td></tr>
|
| 228 |
+
</table>
|
| 229 |
+
</div></div><!-- PageDoc -->
|
| 230 |
+
</div><!-- contents -->
|
| 231 |
+
</div><!-- doc-content -->
|
| 232 |
+
<!-- start footer part -->
|
| 233 |
+
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
| 234 |
+
<ul>
|
| 235 |
+
<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>
|
| 236 |
+
</ul>
|
| 237 |
+
</div>
|
| 238 |
+
</body>
|
| 239 |
+
</html>
|
practical_astronomy/source/docs/jquery.js
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
practical_astronomy/source/docs/md_src_glossary.html
ADDED
|
@@ -0,0 +1,497 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
| 2 |
+
<html xmlns="http://www.w3.org/1999/xhtml">
|
| 3 |
+
<head>
|
| 4 |
+
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
| 5 |
+
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
| 6 |
+
<meta name="generator" content="Doxygen 1.9.1"/>
|
| 7 |
+
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
| 8 |
+
<title>Practical Astronomy: Glossary of Terms</title>
|
| 9 |
+
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
| 10 |
+
<script type="text/javascript" src="jquery.js"></script>
|
| 11 |
+
<script type="text/javascript" src="dynsections.js"></script>
|
| 12 |
+
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
| 13 |
+
<script type="text/javascript" src="resize.js"></script>
|
| 14 |
+
<script type="text/javascript" src="navtreedata.js"></script>
|
| 15 |
+
<script type="text/javascript" src="navtree.js"></script>
|
| 16 |
+
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
| 17 |
+
<script type="text/javascript" src="search/searchdata.js"></script>
|
| 18 |
+
<script type="text/javascript" src="search/search.js"></script>
|
| 19 |
+
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
| 20 |
+
</head>
|
| 21 |
+
<body>
|
| 22 |
+
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
| 23 |
+
<div id="titlearea">
|
| 24 |
+
<table cellspacing="0" cellpadding="0">
|
| 25 |
+
<tbody>
|
| 26 |
+
<tr style="height: 56px;">
|
| 27 |
+
<td id="projectalign" style="padding-left: 0.5em;">
|
| 28 |
+
<div id="projectname">Practical Astronomy
|
| 29 |
+
</div>
|
| 30 |
+
</td>
|
| 31 |
+
</tr>
|
| 32 |
+
</tbody>
|
| 33 |
+
</table>
|
| 34 |
+
</div>
|
| 35 |
+
<!-- end header part -->
|
| 36 |
+
<!-- Generated by Doxygen 1.9.1 -->
|
| 37 |
+
<script type="text/javascript">
|
| 38 |
+
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
| 39 |
+
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
|
| 40 |
+
/* @license-end */
|
| 41 |
+
</script>
|
| 42 |
+
<script type="text/javascript" src="menudata.js"></script>
|
| 43 |
+
<script type="text/javascript" src="menu.js"></script>
|
| 44 |
+
<script type="text/javascript">
|
| 45 |
+
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
| 46 |
+
$(function() {
|
| 47 |
+
initMenu('',true,false,'search.php','Search');
|
| 48 |
+
$(document).ready(function() { init_search(); });
|
| 49 |
+
});
|
| 50 |
+
/* @license-end */</script>
|
| 51 |
+
<div id="main-nav"></div>
|
| 52 |
+
</div><!-- top -->
|
| 53 |
+
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
| 54 |
+
<div id="nav-tree">
|
| 55 |
+
<div id="nav-tree-contents">
|
| 56 |
+
<div id="nav-sync" class="sync"></div>
|
| 57 |
+
</div>
|
| 58 |
+
</div>
|
| 59 |
+
<div id="splitbar" style="-moz-user-select:none;"
|
| 60 |
+
class="ui-resizable-handle">
|
| 61 |
+
</div>
|
| 62 |
+
</div>
|
| 63 |
+
<script type="text/javascript">
|
| 64 |
+
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
| 65 |
+
$(document).ready(function(){initNavTree('md_src_glossary.html',''); initResizable(); });
|
| 66 |
+
/* @license-end */
|
| 67 |
+
</script>
|
| 68 |
+
<div id="doc-content">
|
| 69 |
+
<!-- window showing the filter options -->
|
| 70 |
+
<div id="MSearchSelectWindow"
|
| 71 |
+
onmouseover="return searchBox.OnSearchSelectShow()"
|
| 72 |
+
onmouseout="return searchBox.OnSearchSelectHide()"
|
| 73 |
+
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
| 74 |
+
</div>
|
| 75 |
+
|
| 76 |
+
<!-- iframe showing the search results (closed by default) -->
|
| 77 |
+
<div id="MSearchResultsWindow">
|
| 78 |
+
<iframe src="javascript:void(0)" frameborder="0"
|
| 79 |
+
name="MSearchResults" id="MSearchResults">
|
| 80 |
+
</iframe>
|
| 81 |
+
</div>
|
| 82 |
+
|
| 83 |
+
<div class="PageDoc"><div class="header">
|
| 84 |
+
<div class="headertitle">
|
| 85 |
+
<div class="title">Glossary of Terms </div> </div>
|
| 86 |
+
</div><!--header-->
|
| 87 |
+
<div class="contents">
|
| 88 |
+
<div class="textblock"><h1><a class="anchor" id="autotoc_md1"></a>
|
| 89 |
+
aberration</h1>
|
| 90 |
+
<p>The apparent angular displacement of a celestial object from its geometric position, caused by the motion of the observer with respect to the object, and the finite speed of light.</p>
|
| 91 |
+
<h1><a class="anchor" id="autotoc_md2"></a>
|
| 92 |
+
age of Moon</h1>
|
| 93 |
+
<p>The angle between the Sun and the Moon measured at the Earth.</p>
|
| 94 |
+
<h1><a class="anchor" id="autotoc_md3"></a>
|
| 95 |
+
altitude</h1>
|
| 96 |
+
<p>The angle up from the horizon.</p>
|
| 97 |
+
<h1><a class="anchor" id="autotoc_md4"></a>
|
| 98 |
+
annual equation</h1>
|
| 99 |
+
<p>A correction of the Moon’s orbital motion due to the variation of the Sun–Earth distance as the Earth travels in its own ellipse about the Sun.</p>
|
| 100 |
+
<h1><a class="anchor" id="autotoc_md5"></a>
|
| 101 |
+
anomaly</h1>
|
| 102 |
+
<p>The angle at the focus or the centre of an orbital ellipse between the major axis and the orbiting body or its projection.</p>
|
| 103 |
+
<h1><a class="anchor" id="autotoc_md6"></a>
|
| 104 |
+
apastron</h1>
|
| 105 |
+
<p>The point in an orbit about a star that is furthest from the star.</p>
|
| 106 |
+
<h1><a class="anchor" id="autotoc_md7"></a>
|
| 107 |
+
aphelion</h1>
|
| 108 |
+
<p>The point in an orbit about the Sun most distant from the Sun.</p>
|
| 109 |
+
<h1><a class="anchor" id="autotoc_md8"></a>
|
| 110 |
+
apogee</h1>
|
| 111 |
+
<p>The point in an orbit about the Earth most distant from the Earth.</p>
|
| 112 |
+
<h1><a class="anchor" id="autotoc_md9"></a>
|
| 113 |
+
Astronomical Almanac</h1>
|
| 114 |
+
<p>A collection of tables predicting the positions and circumstances of astronomical phenomena. This title replaced both the <em>American Ephemeris and Nautical Almanac</em> and the <em>Astronomical Ephemeris</em>, beginning with the 1981 edition.</p>
|
| 115 |
+
<h1><a class="anchor" id="autotoc_md10"></a>
|
| 116 |
+
Astronomical Ephemeris</h1>
|
| 117 |
+
<p><em>see Astronomical Almanac.</em></p>
|
| 118 |
+
<h1><a class="anchor" id="autotoc_md11"></a>
|
| 119 |
+
astronomical latitude</h1>
|
| 120 |
+
<p>The angle between the astronomical zenith and the equator.</p>
|
| 121 |
+
<h1><a class="anchor" id="autotoc_md12"></a>
|
| 122 |
+
astronomical unit</h1>
|
| 123 |
+
<p>Approximately equal to the length of the semi-major axis of the Earth’s orbit about the Sun, 1.496 × 10 11 metres.</p>
|
| 124 |
+
<h1><a class="anchor" id="autotoc_md13"></a>
|
| 125 |
+
atmospheric refraction</h1>
|
| 126 |
+
<p>The apparent shift in the position of a celestial object due to the bending of light rays by the atmosphere.</p>
|
| 127 |
+
<h1><a class="anchor" id="autotoc_md14"></a>
|
| 128 |
+
azimuth</h1>
|
| 129 |
+
<p>The angle round from the north point measured on the horizon in the sense NESW.</p>
|
| 130 |
+
<h1><a class="anchor" id="autotoc_md15"></a>
|
| 131 |
+
binary star</h1>
|
| 132 |
+
<p>A pair of stars bound together by their mutual gravitational attraction, both in orbit about their common centre of mass.</p>
|
| 133 |
+
<h1><a class="anchor" id="autotoc_md16"></a>
|
| 134 |
+
calendar</h1>
|
| 135 |
+
<p>System of accounting the days in the year. The <b>Julian calendar</b>, introduced by Julius Caesar, divides the year into 365 days except for every fourth year which has 366. The <b>Gregorian calendar</b>, introduced by Pope Gregory XIII (1502–1585) in 1582 and accepted in England in 1752, is the one generally in use in the West today. It reduced the errors in the Julian calendar by removing three days every four centuries; if the year ends in two noughts it is only a leap year if it is divisible by 400. So, for example, 2000 was a leap year, but 1700, 1800 and 1900 were not. 2100 will not be a leap year either.</p>
|
| 136 |
+
<h1><a class="anchor" id="autotoc_md17"></a>
|
| 137 |
+
celestial sphere</h1>
|
| 138 |
+
<p>An imaginary sphere, usually centred on the Earth, of arbitrarily large radius on the surface of which the stars can be considered to be fixed.</p>
|
| 139 |
+
<h1><a class="anchor" id="autotoc_md18"></a>
|
| 140 |
+
circumpolar stars</h1>
|
| 141 |
+
<p>Stars whose angular distances from the north or south celestial pole are sufficiently small that they never dip below the horizon.</p>
|
| 142 |
+
<h1><a class="anchor" id="autotoc_md19"></a>
|
| 143 |
+
comet</h1>
|
| 144 |
+
<p>A diffuse member of the Solar System, usually with a highly elongated orbit, which becomes visible near the Sun. It has a bright head and one or more diffuse tails of variable length.</p>
|
| 145 |
+
<h1><a class="anchor" id="autotoc_md20"></a>
|
| 146 |
+
companion star</h1>
|
| 147 |
+
<p>The fainter of the pair of stars in a visual-**binary star** system.</p>
|
| 148 |
+
<h1><a class="anchor" id="autotoc_md21"></a>
|
| 149 |
+
conjunction</h1>
|
| 150 |
+
<p>The moment when two celestial bodies occupy the same position in the sky or share a common coordinate when viewed from a particular place. Thus <b>heliocentric conjunction</b>, and <b>conjunction in right ascension</b>.</p>
|
| 151 |
+
<h1><a class="anchor" id="autotoc_md22"></a>
|
| 152 |
+
coordinate systems</h1>
|
| 153 |
+
<p>Frames of reference by means of which the position of any point can be uniquely specified. In astronomy, the systems take their names from the fundamental planes on which they are based. Thus the <b>ecliptic coordinate system</b> measures longitude round from the first point of Aries, in the plane of the ecliptic and latitude northwards from it. The <b>equatorial coordinate system</b> measures right ascension round from Aries in the plane of the Earth’s equator, and declination northwards from it. In the <b>horizon coordinate system</b>, the azimuth is measured round from the north point in the sense NESW and the altitude is the angle up from the horizon. The <b>galactic coordinate system</b> specifies position by longitude measured in the galactic plane round from the direction of the galactic centre and by latitude measured perpendicular to the plane. <b>Heliographic coordinates</b> enable the position of an object on the surface of the Sun to be specified with respect to the solar equator and a fundamental meridian assumed to rotate at a uniform rate. <b>Selenographic coordinates</b> define positions on the surface of the Moon with respect to the lunar equator and the mean <b>sub-Earth point</b>.</p>
|
| 154 |
+
<h1><a class="anchor" id="autotoc_md23"></a>
|
| 155 |
+
coordinated universal time (UTC)</h1>
|
| 156 |
+
<p>The time scale available from broadcast time signals. It differs from <b>International atomic time (TAI)</b> by a whole number of seconds, and is maintained within 0.9 s of universal time (strictly UT1) by the insertion of leap seconds, usually at the ends of June or December.</p>
|
| 157 |
+
<h1><a class="anchor" id="autotoc_md24"></a>
|
| 158 |
+
culmination</h1>
|
| 159 |
+
<p>The moment at which a celestial body crosses the observer’s meridian. Circumpolar stars cross the meridian above the horizon twice in one day, giving <b>upper culmination</b> and <b>lower culmination</b>.</p>
|
| 160 |
+
<h1><a class="anchor" id="autotoc_md25"></a>
|
| 161 |
+
day</h1>
|
| 162 |
+
<p>The interval between two successive transits across the observer’s meridian of a fixed star (<b>sidereal day</b>), of the Sun (<b>solar day</b>), or of a fictitious body called the mean Sun which moves at a uniform rate along the equator (<b>mean solar day</b>).</p>
|
| 163 |
+
<h1><a class="anchor" id="autotoc_md26"></a>
|
| 164 |
+
daylight saving time</h1>
|
| 165 |
+
<p>see <b>time</b>.</p>
|
| 166 |
+
<h1><a class="anchor" id="autotoc_md27"></a>
|
| 167 |
+
declination</h1>
|
| 168 |
+
<p>In the equatorial coordinate system, the angle measured perpendicular to the equator (north positive, south negative).</p>
|
| 169 |
+
<h1><a class="anchor" id="autotoc_md28"></a>
|
| 170 |
+
dynamical time</h1>
|
| 171 |
+
<p>The family of time scales introduced in 1984 that replaces <b>ephemeris time</b>. See <b>time</b>.</p>
|
| 172 |
+
<h1><a class="anchor" id="autotoc_md29"></a>
|
| 173 |
+
earthshine</h1>
|
| 174 |
+
<p>Light reflected from the Earth which sometimes illuminates the dark portion of the Moon’s disc, making it visible.</p>
|
| 175 |
+
<h1><a class="anchor" id="autotoc_md30"></a>
|
| 176 |
+
eccentricity</h1>
|
| 177 |
+
<p>A measure of the degree of elongation of an ellipse, equal to the ratio of the distance of the focus from the centre to the length of the <b>semi-major axis</b>.</p>
|
| 178 |
+
<h1><a class="anchor" id="autotoc_md31"></a>
|
| 179 |
+
eclipse</h1>
|
| 180 |
+
<p>The passage of the Moon through the Earth’s shadow (<b>lunar eclipse</b>) or parts of the Earth through the Moon’s shadow (<b>solar eclipse</b>). If, at the moment of greatest eclipse, the Moon or Sun is only partly obscured it is a <b>partial eclipse</b>; if completely obscured it is a <b>total eclipse</b>. If during a solar eclipse the Moon obscures the central part of the Sun’s disc but leaves an unobscured ring around its edge, then it is an <b>annular eclipse</b>.</p>
|
| 181 |
+
<h1><a class="anchor" id="autotoc_md32"></a>
|
| 182 |
+
ecliptic</h1>
|
| 183 |
+
<p>The plane containing the orbit of the Earth about the Sun.</p>
|
| 184 |
+
<h1><a class="anchor" id="autotoc_md33"></a>
|
| 185 |
+
ellipse</h1>
|
| 186 |
+
<p>A type of regular closed curve, oval in shape, of which a circle is a special case. It is traced by a point moving in such a manner that it keeps constant the sum of its distances from two fixed points, each of which is called a <b>focus</b> of the ellipse. The longest diameter of the ellipse, which goes through both foci and the centre, is called the <b>major axis</b>, the portion from the centre to the curve in either direction being called the <b>semi-major axis</b>.</p>
|
| 187 |
+
<h1><a class="anchor" id="autotoc_md34"></a>
|
| 188 |
+
ephemeris time (ET)</h1>
|
| 189 |
+
<p>See <b>time</b>.</p>
|
| 190 |
+
<h1><a class="anchor" id="autotoc_md35"></a>
|
| 191 |
+
epoch</h1>
|
| 192 |
+
<p>A particular moment specified as the reference point from which time is measured. The dates 1950.0 (strictly 1950 January 0.923) and 2000.0 (2000 January 1.5) are often used as standard epochs.</p>
|
| 193 |
+
<h1><a class="anchor" id="autotoc_md36"></a>
|
| 194 |
+
equation of the centre</h1>
|
| 195 |
+
<p>A relation between the true and mean anomalies which is an approximation to Kepler’s equation. In its simplest form it is</p>
|
| 196 |
+
<p><em>v</em> = <em>M</em> + 2_e_ sin <em>M</em>,</p>
|
| 197 |
+
<p>where <em>v</em> and <em>M</em> are expressed in radians, useful for values of <em>e</em> less than about 0.1.</p>
|
| 198 |
+
<h1><a class="anchor" id="autotoc_md37"></a>
|
| 199 |
+
equation of the equinoxes</h1>
|
| 200 |
+
<p>Apparent sidereal time minus mean sidereal time, taking account of the effect of <b>nutation</b> on the positions of the <b>equinoxes</b>.</p>
|
| 201 |
+
<h1><a class="anchor" id="autotoc_md38"></a>
|
| 202 |
+
equation of time</h1>
|
| 203 |
+
<p>The difference between the real solar time and the mean solar time.</p>
|
| 204 |
+
<h1><a class="anchor" id="autotoc_md39"></a>
|
| 205 |
+
equator</h1>
|
| 206 |
+
<p>The plane through the centre of the Earth which is perpendicular to the spin axis.</p>
|
| 207 |
+
<h1><a class="anchor" id="autotoc_md40"></a>
|
| 208 |
+
equinox</h1>
|
| 209 |
+
<p>The moment at which the Sun crosses the celestial equator. This occurs on about 21 March when its right ascension is zero (the <b>vernal equinox</b>) and about 22 September when its right ascension is 12 h (the <b>autumnal equinox</b>). The positions of the equinoxes on the celestial sphere lie along the line of the intersection of the planes of the equator and the ecliptic.</p>
|
| 210 |
+
<h1><a class="anchor" id="autotoc_md41"></a>
|
| 211 |
+
evection</h1>
|
| 212 |
+
<p>A correction to the Moon’s orbital motion taking account of slight variations in the apparent value of the eccentricity of its orbit.</p>
|
| 213 |
+
<h1><a class="anchor" id="autotoc_md42"></a>
|
| 214 |
+
extinction</h1>
|
| 215 |
+
<p>The attenuation and colouring of light as it travels through a medium; in particular, <b>atmospheric extinction</b>.</p>
|
| 216 |
+
<h1><a class="anchor" id="autotoc_md43"></a>
|
| 217 |
+
figure of the Earth</h1>
|
| 218 |
+
<p>The true shape of the Earth. It is often approximated by a <b>spheroid of revolution</b>, a geometrical shape in which any cross-section parallel to the equator is a circle, while any cross-section through the north–south axis is an ellipse with the minor axis coincident with the diameter joining the north and south poles.</p>
|
| 219 |
+
<h1><a class="anchor" id="autotoc_md44"></a>
|
| 220 |
+
first point of Aries</h1>
|
| 221 |
+
<p>The position on the celestial sphere of the <b>vernal equinox</b>.</p>
|
| 222 |
+
<h1><a class="anchor" id="autotoc_md45"></a>
|
| 223 |
+
focus of an ellipse</h1>
|
| 224 |
+
<p>see <b>ellipse</b>.</p>
|
| 225 |
+
<h1><a class="anchor" id="autotoc_md46"></a>
|
| 226 |
+
geocentric coordinates</h1>
|
| 227 |
+
<p>Coordinates measured with respect to the centre of the Earth. Hence the <b>geocentric latitude</b> is the angle between the equator and a point on the surface of the Earth, as measured at the centre of the Earth.</p>
|
| 228 |
+
<h1><a class="anchor" id="autotoc_md47"></a>
|
| 229 |
+
geocentric parallax</h1>
|
| 230 |
+
<p>The angle subtended at a heavenly body by the centre of the Earth and the point of observation on the Earth’s surface.</p>
|
| 231 |
+
<h1><a class="anchor" id="autotoc_md48"></a>
|
| 232 |
+
geostationary satellite</h1>
|
| 233 |
+
<p>A body orbiting the Earth in the plane of the equator in such a direction and at such a height that its orbital period equals 1 day so that it keeps constant position with respect to the Earth’s surface.</p>
|
| 234 |
+
<h1><a class="anchor" id="autotoc_md49"></a>
|
| 235 |
+
GPS time</h1>
|
| 236 |
+
<p>An atomic time kept by the US Naval Observatory and broadcast by the satellites of the global positioning system. GPS time was equal to UTC on 1980 January 6 0.0, but, unlike UTC, is not adjusted by the insertion of leap seconds. Hence GPS time is equal, in June 2011, to UTC + 15 seconds (kept to within a microsecond) and is the time you can extract from your GPS navigation device.</p>
|
| 237 |
+
<h1><a class="anchor" id="autotoc_md50"></a>
|
| 238 |
+
gravity</h1>
|
| 239 |
+
<p>The mutual force of attraction between any two bodies which is proportional to the product of their masses and inversely proportional to the square of their separation.</p>
|
| 240 |
+
<h1><a class="anchor" id="autotoc_md51"></a>
|
| 241 |
+
great circle</h1>
|
| 242 |
+
<p>Any circle drawn on the surface of a sphere whose centre is the same as that of the sphere.</p>
|
| 243 |
+
<h1><a class="anchor" id="autotoc_md52"></a>
|
| 244 |
+
Greenwich mean time (GMT)</h1>
|
| 245 |
+
<p>This is ambiguous and is not now used in the <em>Astronomical Almanac</em>. Its meaning in civil life is usually the same as UTC, though previously it has been used to mean UT. Before 1925 it was reckoned from Greenwich mean noon (12 h UT).</p>
|
| 246 |
+
<h1><a class="anchor" id="autotoc_md53"></a>
|
| 247 |
+
Greenwich meridian</h1>
|
| 248 |
+
<p>That half of the great circle on the surface of the Earth passing through the north and south poles and through the reference point in Greenwich, England. It is taken as the line of longitude 0◦.</p>
|
| 249 |
+
<h1><a class="anchor" id="autotoc_md54"></a>
|
| 250 |
+
horizontal parallax</h1>
|
| 251 |
+
<p>The geocentric parallax when the celestial body is on the observer’s horizon; hence <b>equatorial horizontal parallax</b> when the observer is also on the equator.</p>
|
| 252 |
+
<h1><a class="anchor" id="autotoc_md55"></a>
|
| 253 |
+
hour angle</h1>
|
| 254 |
+
<p>The difference between the local sidereal time and the right ascension.</p>
|
| 255 |
+
<h1><a class="anchor" id="autotoc_md56"></a>
|
| 256 |
+
inclination of orbit</h1>
|
| 257 |
+
<p>The angle between the plane of the orbit and the plane of the ecliptic.</p>
|
| 258 |
+
<h1><a class="anchor" id="autotoc_md57"></a>
|
| 259 |
+
inner planet</h1>
|
| 260 |
+
<p>A planet whose semi-major axis is smaller than that of the Earth; that is the planets Mercury and Venus.</p>
|
| 261 |
+
<h1><a class="anchor" id="autotoc_md58"></a>
|
| 262 |
+
international atomic time (TAI)</h1>
|
| 263 |
+
<p>see <b>time</b>.</p>
|
| 264 |
+
<h1><a class="anchor" id="autotoc_md59"></a>
|
| 265 |
+
Julian date</h1>
|
| 266 |
+
<p>The number of Julian days that have elapsed since the fundamental epoch Greenwich mean noon of 1 January 4713 BC. For 2010 January 0.0 its value is 2 455 196.5. The <b>Julian day number</b> is the integer part of the Julian date. See also <b>modified Julian date</b> (MJD).</p>
|
| 267 |
+
<h1><a class="anchor" id="autotoc_md60"></a>
|
| 268 |
+
Kepler’s equation</h1>
|
| 269 |
+
<p>The relation between the mean and eccentric anomalies, <em>M</em> and <em>E</em>,</p>
|
| 270 |
+
<p><em>E</em> − <em>e_sin_E</em> = <em>M</em>,</p>
|
| 271 |
+
<p>where the angles are expressed in radians.</p>
|
| 272 |
+
<h1><a class="anchor" id="autotoc_md61"></a>
|
| 273 |
+
latitude</h1>
|
| 274 |
+
<p>The coordinate expressing the angle (north positive, south negative) perpendicular to a fundamental plane, hence <b>ecliptic latitude</b> and <b>galactic latitude</b>. On the Earth, the <b>geographical latitude</b> is measured with respect to the equator. The ecliptic latitude can be measured either at the Earth (<b>geocentric</b>) or at the Sun (<b>heliocentric</b>).</p>
|
| 275 |
+
<h1><a class="anchor" id="autotoc_md62"></a>
|
| 276 |
+
librations</h1>
|
| 277 |
+
<p>Variations in the orientation of the Moon’s surface with respect to an observer on the Earth.</p>
|
| 278 |
+
<h1><a class="anchor" id="autotoc_md63"></a>
|
| 279 |
+
light time</h1>
|
| 280 |
+
<p>The time it takes light signals from a celestial body to reach an observer.</p>
|
| 281 |
+
<h1><a class="anchor" id="autotoc_md64"></a>
|
| 282 |
+
longitude</h1>
|
| 283 |
+
<p>The coordinate expressing the angle round from a fixed direction measured in a fundamental plane, hence <b>ecliptic longitude</b> and <b>galactic longitude</b>. On the Earth, the <b>geographical longitude</b> is measured at the equator. The ecliptic longitude can be measured either at the Earth (<b>geocentric</b>) or at the Sun (<b>heliocentric</b>).</p>
|
| 284 |
+
<h1><a class="anchor" id="autotoc_md65"></a>
|
| 285 |
+
lunation</h1>
|
| 286 |
+
<p>The period between two successive new Moons.</p>
|
| 287 |
+
<h1><a class="anchor" id="autotoc_md66"></a>
|
| 288 |
+
luni–solar precession</h1>
|
| 289 |
+
<p>The slow retrograde motion of the first point of Aries along the equator caused by the combined effects of the Sun and the Moon on the slightly non-spherical Earth.</p>
|
| 290 |
+
<h1><a class="anchor" id="autotoc_md67"></a>
|
| 291 |
+
magnitude</h1>
|
| 292 |
+
<p>(i) the unit defined on a logarithmic scale which measures the brightness of a celestial object considered as a point.</p>
|
| 293 |
+
<p>(ii) <b>in a lunar eclipse</b>, the fraction of the lunar diameter obscured by the shadow of the Earth at the moment of greatest eclipse, measured along the common diameter.</p>
|
| 294 |
+
<p>(iii) <b>in a solar eclipse</b>, the fraction of the solar diameter obscured by the Moon at the moment of greatest eclipse, measured along the common diameter.</p>
|
| 295 |
+
<h1><a class="anchor" id="autotoc_md68"></a>
|
| 296 |
+
mean Sun</h1>
|
| 297 |
+
<p>A fictitious heavenly body that moves at a uniform rate along the equator making one complete circuit in the same time (1 year) as the real Sun takes to make a complete circuit.</p>
|
| 298 |
+
<h1><a class="anchor" id="autotoc_md69"></a>
|
| 299 |
+
meridian</h1>
|
| 300 |
+
<p>That half of a great circle which is terminated at the north and south poles. On the Earth a meridian is a line of longitude. On the celestial sphere, the meridian which passes through the zenith is called the <b>observer’s meridian</b>.</p>
|
| 301 |
+
<h1><a class="anchor" id="autotoc_md70"></a>
|
| 302 |
+
modified Julian date (MJD)</h1>
|
| 303 |
+
<p>The number of Julian days elapsed since 1858 November 17.0.</p>
|
| 304 |
+
<h1><a class="anchor" id="autotoc_md71"></a>
|
| 305 |
+
month</h1>
|
| 306 |
+
<p>The period taken by the Moon to make one complete circuit of its orbit from reference point to reference point. The <b>draconic month</b> or <b>nodal month</b> takes the ascending node as the reference and is equal to 27.212 2 mean solar days. The <b>sidereal month</b> is reckoned against the background of stars and is equal to 27.321 7 mean solar days. The Sun is used as the reference for the <b>synodic month</b> of 29.530 6 mean solar days, and the perigee for the <b>anomalistic month</b> of 27.554 6 mean solar days.</p>
|
| 307 |
+
<h1><a class="anchor" id="autotoc_md72"></a>
|
| 308 |
+
nadir</h1>
|
| 309 |
+
<p>The point on the celestial sphere diametrically opposite the <b>zenith</b>.</p>
|
| 310 |
+
<h1><a class="anchor" id="autotoc_md73"></a>
|
| 311 |
+
node</h1>
|
| 312 |
+
<p>A point on the celestial sphere where the great circle representing the orbit cuts the great circle representing the plane of the ecliptic. The point where the orbiting body is moving from below (south of) to above the ecliptic is called the <b>ascending node</b>; the other is the <b>descending node</b>.</p>
|
| 313 |
+
<h1><a class="anchor" id="autotoc_md74"></a>
|
| 314 |
+
noon</h1>
|
| 315 |
+
<p>The instant at which the Sun crosses the observer’s meridian.</p>
|
| 316 |
+
<h1><a class="anchor" id="autotoc_md75"></a>
|
| 317 |
+
north celestial pole</h1>
|
| 318 |
+
<p>The point at which the projection of the Earth’s rotation axis through the north pole intersects the celestial sphere.</p>
|
| 319 |
+
<h1><a class="anchor" id="autotoc_md76"></a>
|
| 320 |
+
nutation</h1>
|
| 321 |
+
<p>A small periodic wobbling motion of the Earth’s rotation axis.</p>
|
| 322 |
+
<h1><a class="anchor" id="autotoc_md77"></a>
|
| 323 |
+
obliquity of the ecliptic</h1>
|
| 324 |
+
<p>The angle at which the plane of the ecliptic is inclined to the plane of the equator.</p>
|
| 325 |
+
<h1><a class="anchor" id="autotoc_md78"></a>
|
| 326 |
+
opposition</h1>
|
| 327 |
+
<p>The moment when two celestial bodies occupy opposite positions in the sky, or have longitudes different by 180◦ , when viewed at a particular place.</p>
|
| 328 |
+
<h1><a class="anchor" id="autotoc_md79"></a>
|
| 329 |
+
orbit</h1>
|
| 330 |
+
<p>The path through space taken by a body gravitationally attracted to another body.</p>
|
| 331 |
+
<h1><a class="anchor" id="autotoc_md80"></a>
|
| 332 |
+
orbital elements</h1>
|
| 333 |
+
<p>The quantities which need to be known in order to specify an orbit uniquely.</p>
|
| 334 |
+
<h1><a class="anchor" id="autotoc_md81"></a>
|
| 335 |
+
osculating elements</h1>
|
| 336 |
+
<p>The elements describing the elliptical orbit followed by a body if all perturbing influences vanish. Since perturbations disturb the true orbit of any member of the Solar System, the osculating elements are constantly changing.</p>
|
| 337 |
+
<h1><a class="anchor" id="autotoc_md82"></a>
|
| 338 |
+
outer planet</h1>
|
| 339 |
+
<p>Those planets having semi-major axes larger than that of the Earth. The major outer planets are Mars, Jupiter, Saturn, Uranus and Neptune. In 2006, Pluto was reclassified as a dwarf planet by the International Astronomical Union.</p>
|
| 340 |
+
<h1><a class="anchor" id="autotoc_md83"></a>
|
| 341 |
+
parabolic orbit</h1>
|
| 342 |
+
<p>An orbit in which the velocity at any point is equal to the escape velocity.</p>
|
| 343 |
+
<h1><a class="anchor" id="autotoc_md84"></a>
|
| 344 |
+
parallax</h1>
|
| 345 |
+
<p>The amount by which the apparent position of a celestial object shifts as the point of observation is changed.</p>
|
| 346 |
+
<h1><a class="anchor" id="autotoc_md85"></a>
|
| 347 |
+
penumbra</h1>
|
| 348 |
+
<p>The outer portion of a shadow where the light is only partially cut off.</p>
|
| 349 |
+
<h1><a class="anchor" id="autotoc_md86"></a>
|
| 350 |
+
periastron</h1>
|
| 351 |
+
<p>The point in an orbit about a star that is nearest to the star.</p>
|
| 352 |
+
<h1><a class="anchor" id="autotoc_md87"></a>
|
| 353 |
+
perigee</h1>
|
| 354 |
+
<p>The point in an orbit about the Earth which is nearest the Earth.</p>
|
| 355 |
+
<h1><a class="anchor" id="autotoc_md88"></a>
|
| 356 |
+
perihelion</h1>
|
| 357 |
+
<p>The point of closest approach to the Sun in an orbit about the Sun.</p>
|
| 358 |
+
<h1><a class="anchor" id="autotoc_md89"></a>
|
| 359 |
+
period of orbit</h1>
|
| 360 |
+
<p>The time taken by the orbiting body to make one complete circuit.</p>
|
| 361 |
+
<h1><a class="anchor" id="autotoc_md90"></a>
|
| 362 |
+
perturbations</h1>
|
| 363 |
+
<p>Deviations from true elliptical motion caused by the gravitational fields of other members of the Solar System.</p>
|
| 364 |
+
<h1><a class="anchor" id="autotoc_md91"></a>
|
| 365 |
+
phase</h1>
|
| 366 |
+
<p>(i) <b>of Moon or planet</b>: the fraction of the area of the disc which is illuminated. When the dark side of the Moon faces the Earth, the phase is zero and it is <b>new Moon</b>. At the <b>first quarter</b> and the <b>third quarter</b>, the phase is equal to a half and the Moon is in <b>quadrature</b>. <b>Full Moon</b> has a phase equal to one. Whenever the phase is greater than a half, the Moon is described as <b>gibbous</b>.</p>
|
| 367 |
+
<p>(ii) <b>of an eclipse</b>: the stage of a lunar or solar eclipse during which the eclipsed body is partly obscured (<b>partial phase</b>) or totally obscured (<b>total phase</b>). During a lunar eclipse, the Moon is in the penumbra of the Earth’s shadow during the <b>penumbral phase</b> and partially or totally in the umbra during the <b>umbral phase</b>. The partial and total phases occur during the umbral phase.</p>
|
| 368 |
+
<h1><a class="anchor" id="autotoc_md92"></a>
|
| 369 |
+
planet</h1>
|
| 370 |
+
<p>A solid body in closed orbit about a star. In our own Solar System, the major planets are (in order of increasing distance from the Sun) Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, and Neptune. Pluto, formerly recognised as a planet, was reclassified as a dwarf planet in 2006.</p>
|
| 371 |
+
<h1><a class="anchor" id="autotoc_md93"></a>
|
| 372 |
+
polar distance</h1>
|
| 373 |
+
<p>The angle on the celestial sphere from the celestial pole.</p>
|
| 374 |
+
<h1><a class="anchor" id="autotoc_md94"></a>
|
| 375 |
+
pole</h1>
|
| 376 |
+
<p>The point on a sphere which is perpendicular to a given plane. Hence <b>pole of the ecliptic</b> and <b>pole of the equator</b> (each has two poles called north and south poles for short).</p>
|
| 377 |
+
<h1><a class="anchor" id="autotoc_md95"></a>
|
| 378 |
+
position-angle</h1>
|
| 379 |
+
<p>A celestial angle measured from 0◦ to 360◦ eastwards from the north.</p>
|
| 380 |
+
<h1><a class="anchor" id="autotoc_md96"></a>
|
| 381 |
+
precession</h1>
|
| 382 |
+
<p>see <b>luni-solar precession</b>.</p>
|
| 383 |
+
<h1><a class="anchor" id="autotoc_md97"></a>
|
| 384 |
+
primary star</h1>
|
| 385 |
+
<p>The brighter of the pair of stars in a visual-binary system.</p>
|
| 386 |
+
<h1><a class="anchor" id="autotoc_md98"></a>
|
| 387 |
+
prograde motion</h1>
|
| 388 |
+
<p>Motion in the same sense as that of all the planets about the Sun. When looking down on the Solar System from the north celestial pole, prograde motion is counter-clockwise.</p>
|
| 389 |
+
<h1><a class="anchor" id="autotoc_md99"></a>
|
| 390 |
+
radian</h1>
|
| 391 |
+
<p>A natural unit used to measure angles, equal to 1/2π revolutions and 180/π degrees.</p>
|
| 392 |
+
<h1><a class="anchor" id="autotoc_md100"></a>
|
| 393 |
+
radius vector</h1>
|
| 394 |
+
<p>The line joining the principal focus to the position of the orbiting body on its orbital ellipse.</p>
|
| 395 |
+
<h1><a class="anchor" id="autotoc_md101"></a>
|
| 396 |
+
reflectivity of planet</h1>
|
| 397 |
+
<p>A measure of a planet’s ability to reflect sunlight; a factor affecting its apparent brightness.</p>
|
| 398 |
+
<h1><a class="anchor" id="autotoc_md102"></a>
|
| 399 |
+
refraction</h1>
|
| 400 |
+
<p>see <b>atmospheric refraction</b>.</p>
|
| 401 |
+
<h1><a class="anchor" id="autotoc_md103"></a>
|
| 402 |
+
retrograde motion</h1>
|
| 403 |
+
<p>Motion in the opposite sense to that of all the planets about the Sun. When looking down on the Solar System from the north celestial pole, retrograde motion is clockwise.</p>
|
| 404 |
+
<h1><a class="anchor" id="autotoc_md104"></a>
|
| 405 |
+
right ascension</h1>
|
| 406 |
+
<p>In the equatorial coordinate system the angle measured round from the first point of Aries in the plane of the equator, in the sense NWSE.</p>
|
| 407 |
+
<h1><a class="anchor" id="autotoc_md105"></a>
|
| 408 |
+
rising</h1>
|
| 409 |
+
<p>The moment when a celestial body crosses the horizon on the way up.</p>
|
| 410 |
+
<h1><a class="anchor" id="autotoc_md106"></a>
|
| 411 |
+
Saros cycle</h1>
|
| 412 |
+
<p>The period of 18 years 11 days and 8 hours after which the pattern of lunar and solar eclipses tends to repeat.</p>
|
| 413 |
+
<h1><a class="anchor" id="autotoc_md107"></a>
|
| 414 |
+
second (SI second)</h1>
|
| 415 |
+
<p>The unit of time for the <b>international atomic time (TAI)</b> scale defined to be exactly 9 192 631 770 cycles of radiation corresponding to the transition between two hyperfine levels in the ground state of caesium 133.</p>
|
| 416 |
+
<h1><a class="anchor" id="autotoc_md108"></a>
|
| 417 |
+
semi-major axis</h1>
|
| 418 |
+
<p>see <b>ellipse</b>.</p>
|
| 419 |
+
<h1><a class="anchor" id="autotoc_md109"></a>
|
| 420 |
+
setting</h1>
|
| 421 |
+
<p>The moment when a celestial body crosses the horizon on the way down.</p>
|
| 422 |
+
<h1><a class="anchor" id="autotoc_md110"></a>
|
| 423 |
+
solar elongation</h1>
|
| 424 |
+
<p>The angle between the lines of sight to the Sun and to the celestial body in question.</p>
|
| 425 |
+
<h1><a class="anchor" id="autotoc_md111"></a>
|
| 426 |
+
Solar System</h1>
|
| 427 |
+
<p>The Sun and all the bodies, planets, comets and asteroids in closed orbits about it.</p>
|
| 428 |
+
<h1><a class="anchor" id="autotoc_md112"></a>
|
| 429 |
+
solstice</h1>
|
| 430 |
+
<p>The points at which the apparent longitude of the Sun is 90◦ and 270◦, or the moments at which the Sun is at either of these points. These occur around 21 June and 21 December.</p>
|
| 431 |
+
<h1><a class="anchor" id="autotoc_md113"></a>
|
| 432 |
+
sub-Earth point</h1>
|
| 433 |
+
<p>The point on a celestial body (especially the Moon) where the line joining the centre of the Earth and the centre of the body intersects the surface of the body.</p>
|
| 434 |
+
<h1><a class="anchor" id="autotoc_md114"></a>
|
| 435 |
+
synodic period</h1>
|
| 436 |
+
<p>The time between successive conjunctions in longitude.</p>
|
| 437 |
+
<h1><a class="anchor" id="autotoc_md115"></a>
|
| 438 |
+
terminator</h1>
|
| 439 |
+
<p>The line marking the boundary between the dark and sunlit hemispheres of a member of the Solar System.</p>
|
| 440 |
+
<h1><a class="anchor" id="autotoc_md116"></a>
|
| 441 |
+
terrestrial dynamical time (TDT)</h1>
|
| 442 |
+
<p>see <b>time</b>.</p>
|
| 443 |
+
<h1><a class="anchor" id="autotoc_md117"></a>
|
| 444 |
+
terrestrial time (TT)</h1>
|
| 445 |
+
<p>see <b>time</b>.</p>
|
| 446 |
+
<h1><a class="anchor" id="autotoc_md118"></a>
|
| 447 |
+
time</h1>
|
| 448 |
+
<h2><a class="anchor" id="autotoc_md119"></a>
|
| 449 |
+
atomic time</h2>
|
| 450 |
+
<p>Time measured with respect to the natural period of oscillations of an atomic system. Caesium beam clocks currently constitute the most precise time-keepers available, and the SI unit of atomic time is defined in terms of the caesium 133 atom (see <b>second</b>). <b>International atomic time (TAI)</b> is the continuous scale resulting from analyses by the Bureau International des Poids et Mesures of atomic time standards in many countries, starting from the epoch 1958 January 1. <b>Coordinated universal time</b> (UTC) is the time scale distributed by standard time services and is tied to both TAI and UT in such a manner that (a) it differs from TAI by a whole number of seconds, and (b) it is never more than 0.9 s different from UT (strictly UT1). This is achieved by the introduction of leap seconds into UTC from time to time. UTC constitutes the basis for legal time keeping in most parts of the world. <b>Terrestrial time (TT)</b> (<b>called terrestrial dynamic time (TDT)</b> until 1991) is used as the argument in theories of celestial dynamics and in the compilation of the <em>Astronomical Almanac</em>. It is equal to TAI +32.184 s. <b>TDT</b> had replaced <b>ephemeris time (ET)</b> in 1984, which was itself derived from analyses of the Moon’s motion.</p>
|
| 451 |
+
<h2><a class="anchor" id="autotoc_md120"></a>
|
| 452 |
+
solar time</h2>
|
| 453 |
+
<p>Time measured with respect to the motion of the Sun or a fictitious body, no longer used, called the mean Sun (<b>mean solar time</b>). <b>Universal time (UT)</b> is, broadly speaking, the mean solar time as measured on the Greenwich meridian. It is formally defined by a mathematical formula as a function of <b>sidereal time</b> (see below), and is thus determined from observations of the stars. A direct application of the formula gives UT0; with a small correction for polar motion the scale UT1 is obtained. Whenever the term UT is used, UT1 is usually implied. <b>British summer time (BST)</b> is 1 hour ahead of UT and is an example of <b>daylight saving time</b> in which the time is adjusted to make the working day fit more conveniently into the daylight hours.</p>
|
| 454 |
+
<h2><a class="anchor" id="autotoc_md121"></a>
|
| 455 |
+
sidereal time</h2>
|
| 456 |
+
<p>Time measured with respect to the apparent motion of the stars. The <b>local sidereal time</b> at any place is equal to the hour angle of the first point of Aries; local sidereal time on the Greenwich meridian is called <b>Greenwich sidereal time</b>. The difference between <b>apparent sidereal time</b> and <b>mean sidereal time</b> is called the <b>equation of the equinoxes</b>, and takes account of <b>nutation</b>. It may be as much as 1.2 seconds.</p>
|
| 457 |
+
<h1><a class="anchor" id="autotoc_md122"></a>
|
| 458 |
+
time zone</h1>
|
| 459 |
+
<p>A longitudinal strip on the surface of the Earth in which the <b>zone time</b>, usually a whole number of hours before or after UT, is adopted as the local civil time by national or international agreement.</p>
|
| 460 |
+
<h1><a class="anchor" id="autotoc_md123"></a>
|
| 461 |
+
transit</h1>
|
| 462 |
+
<p>The moment at which a celestial body crosses the observer’s meridian.</p>
|
| 463 |
+
<h1><a class="anchor" id="autotoc_md124"></a>
|
| 464 |
+
twilight</h1>
|
| 465 |
+
<p>That period of semi-darkness after sunset or before sunrise during which the sun’s zenith distance is more than 90◦ but less than some agreed figure. This figure is 108◦ for <b>astronomical twilight</b> and 102◦ for <b>nautical twilight</b>, while for <b>civil twilight</b> it is 96◦.</p>
|
| 466 |
+
<h1><a class="anchor" id="autotoc_md125"></a>
|
| 467 |
+
umbra</h1>
|
| 468 |
+
<p>The inner portion of a shadow where the light is completely obscured.</p>
|
| 469 |
+
<h1><a class="anchor" id="autotoc_md126"></a>
|
| 470 |
+
universal time</h1>
|
| 471 |
+
<p>see <b>time</b>.</p>
|
| 472 |
+
<h1><a class="anchor" id="autotoc_md127"></a>
|
| 473 |
+
variation</h1>
|
| 474 |
+
<p>A correction to the Moon’s orbital motion about the Earth that takes account of the changing solar gravitational field.</p>
|
| 475 |
+
<h1><a class="anchor" id="autotoc_md128"></a>
|
| 476 |
+
vernal equinox</h1>
|
| 477 |
+
<p>see <b>equinox</b>.</p>
|
| 478 |
+
<h1><a class="anchor" id="autotoc_md129"></a>
|
| 479 |
+
year</h1>
|
| 480 |
+
<p>The interval between two successive passages of the Sun through a reference point. A particular point among the stars is used as reference in the <b>sidereal year</b>, equal to 365.2564 mean solar days. The <b>tropical year</b>, 365.242 191 mean solar days, uses the first point of Aries as its reference. When no qualifying adjective is used with the word 'year', it is usually the tropical year that is meant. Perturbations to the Earth’s orbit by the other planets cause small changes in the Earth’s orbital elements. The <b>anomalistic year</b>, 365.2596 mean solar days, is the interval between two successive passages of the Sun through perigee. The <b>Besselian year</b>, not used since 1984, is the period of one complete revolution in right ascension of the fictitious mean Sun as defined by the astronomer Simon Newcomb (1835–1909). It is almost the same as the tropical year, but begins when the right ascension of the Sun is exactly 240◦ ; this instant falls very near the beginning of the <b>civil year</b>.</p>
|
| 481 |
+
<h1><a class="anchor" id="autotoc_md130"></a>
|
| 482 |
+
zenith</h1>
|
| 483 |
+
<p>The point directly overhead at the observer. The <b>zenith angle</b> or <b>zenith distance</b> of a star is the angle between the star and the zenith.</p>
|
| 484 |
+
<h1><a class="anchor" id="autotoc_md131"></a>
|
| 485 |
+
zone correction</h1>
|
| 486 |
+
<p>The number of hours that needs to be added to or subtracted from UT to get the <b>zone time</b>. </p>
|
| 487 |
+
</div></div><!-- contents -->
|
| 488 |
+
</div><!-- PageDoc -->
|
| 489 |
+
</div><!-- doc-content -->
|
| 490 |
+
<!-- start footer part -->
|
| 491 |
+
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
| 492 |
+
<ul>
|
| 493 |
+
<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>
|
| 494 |
+
</ul>
|
| 495 |
+
</div>
|
| 496 |
+
</body>
|
| 497 |
+
</html>
|
practical_astronomy/source/docs/menu.js
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/*
|
| 2 |
+
@licstart The following is the entire license notice for the JavaScript code in this file.
|
| 3 |
+
|
| 4 |
+
The MIT License (MIT)
|
| 5 |
+
|
| 6 |
+
Copyright (C) 1997-2020 by Dimitri van Heesch
|
| 7 |
+
|
| 8 |
+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software
|
| 9 |
+
and associated documentation files (the "Software"), to deal in the Software without restriction,
|
| 10 |
+
including without limitation the rights to use, copy, modify, merge, publish, distribute,
|
| 11 |
+
sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
|
| 12 |
+
furnished to do so, subject to the following conditions:
|
| 13 |
+
|
| 14 |
+
The above copyright notice and this permission notice shall be included in all copies or
|
| 15 |
+
substantial portions of the Software.
|
| 16 |
+
|
| 17 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
|
| 18 |
+
BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
| 19 |
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
| 20 |
+
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
| 21 |
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
| 22 |
+
|
| 23 |
+
@licend The above is the entire license notice for the JavaScript code in this file
|
| 24 |
+
*/
|
| 25 |
+
function initMenu(relPath,searchEnabled,serverSide,searchPage,search) {
|
| 26 |
+
function makeTree(data,relPath) {
|
| 27 |
+
var result='';
|
| 28 |
+
if ('children' in data) {
|
| 29 |
+
result+='<ul>';
|
| 30 |
+
for (var i in data.children) {
|
| 31 |
+
result+='<li><a href="'+relPath+data.children[i].url+'">'+
|
| 32 |
+
data.children[i].text+'</a>'+
|
| 33 |
+
makeTree(data.children[i],relPath)+'</li>';
|
| 34 |
+
}
|
| 35 |
+
result+='</ul>';
|
| 36 |
+
}
|
| 37 |
+
return result;
|
| 38 |
+
}
|
| 39 |
+
|
| 40 |
+
$('#main-nav').append(makeTree(menudata,relPath));
|
| 41 |
+
$('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu');
|
| 42 |
+
if (searchEnabled) {
|
| 43 |
+
if (serverSide) {
|
| 44 |
+
$('#main-menu').append('<li style="float:right"><div id="MSearchBox" class="MSearchBoxInactive"><div class="left"><form id="FSearchBox" action="'+relPath+searchPage+'" method="get"><img id="MSearchSelect" src="'+relPath+'search/mag.svg" alt=""/><input type="text" id="MSearchField" name="query" value="'+search+'" size="20" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)"></form></div><div class="right"></div></div></li>');
|
| 45 |
+
} else {
|
| 46 |
+
$('#main-menu').append('<li style="float:right"><div id="MSearchBox" class="MSearchBoxInactive"><span class="left"><img id="MSearchSelect" src="'+relPath+'search/mag_sel.svg" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" alt=""/><input type="text" id="MSearchField" value="'+search+'" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)" onkeyup="searchBox.OnSearchFieldChange(event)"/></span><span class="right"><a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="'+relPath+'search/close.svg" alt=""/></a></span></div></li>');
|
| 47 |
+
}
|
| 48 |
+
}
|
| 49 |
+
$('#main-menu').smartmenus();
|
| 50 |
+
}
|
| 51 |
+
/* @license-end */
|
practical_astronomy/source/docs/menudata.js
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/*
|
| 2 |
+
@licstart The following is the entire license notice for the JavaScript code in this file.
|
| 3 |
+
|
| 4 |
+
The MIT License (MIT)
|
| 5 |
+
|
| 6 |
+
Copyright (C) 1997-2020 by Dimitri van Heesch
|
| 7 |
+
|
| 8 |
+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software
|
| 9 |
+
and associated documentation files (the "Software"), to deal in the Software without restriction,
|
| 10 |
+
including without limitation the rights to use, copy, modify, merge, publish, distribute,
|
| 11 |
+
sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
|
| 12 |
+
furnished to do so, subject to the following conditions:
|
| 13 |
+
|
| 14 |
+
The above copyright notice and this permission notice shall be included in all copies or
|
| 15 |
+
substantial portions of the Software.
|
| 16 |
+
|
| 17 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
|
| 18 |
+
BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
| 19 |
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
| 20 |
+
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
| 21 |
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
| 22 |
+
|
| 23 |
+
@licend The above is the entire license notice for the JavaScript code in this file
|
| 24 |
+
*/
|
| 25 |
+
var menudata={children:[
|
| 26 |
+
{text:"Main Page",url:"index.html"},
|
| 27 |
+
{text:"Related Pages",url:"pages.html"},
|
| 28 |
+
{text:"Packages",url:"namespaces.html",children:[
|
| 29 |
+
{text:"Packages",url:"namespaces.html"},
|
| 30 |
+
{text:"Package Functions",url:"namespacemembers.html",children:[
|
| 31 |
+
{text:"All",url:"namespacemembers.html",children:[
|
| 32 |
+
{text:"a",url:"namespacemembers.html#index_a"},
|
| 33 |
+
{text:"b",url:"namespacemembers_b.html#index_b"},
|
| 34 |
+
{text:"c",url:"namespacemembers_c.html#index_c"},
|
| 35 |
+
{text:"d",url:"namespacemembers_d.html#index_d"},
|
| 36 |
+
{text:"e",url:"namespacemembers_e.html#index_e"},
|
| 37 |
+
{text:"f",url:"namespacemembers_f.html#index_f"},
|
| 38 |
+
{text:"g",url:"namespacemembers_g.html#index_g"},
|
| 39 |
+
{text:"h",url:"namespacemembers_h.html#index_h"},
|
| 40 |
+
{text:"i",url:"namespacemembers_i.html#index_i"},
|
| 41 |
+
{text:"j",url:"namespacemembers_j.html#index_j"},
|
| 42 |
+
{text:"k",url:"namespacemembers_k.html#index_k"},
|
| 43 |
+
{text:"l",url:"namespacemembers_l.html#index_l"},
|
| 44 |
+
{text:"m",url:"namespacemembers_m.html#index_m"},
|
| 45 |
+
{text:"n",url:"namespacemembers_n.html#index_n"},
|
| 46 |
+
{text:"o",url:"namespacemembers_o.html#index_o"},
|
| 47 |
+
{text:"p",url:"namespacemembers_p.html#index_p"},
|
| 48 |
+
{text:"r",url:"namespacemembers_r.html#index_r"},
|
| 49 |
+
{text:"s",url:"namespacemembers_s.html#index_s"},
|
| 50 |
+
{text:"t",url:"namespacemembers_t.html#index_t"},
|
| 51 |
+
{text:"u",url:"namespacemembers_u.html#index_u"},
|
| 52 |
+
{text:"v",url:"namespacemembers_v.html#index_v"}]},
|
| 53 |
+
{text:"Functions",url:"namespacemembers_func.html",children:[
|
| 54 |
+
{text:"a",url:"namespacemembers_func.html#index_a"},
|
| 55 |
+
{text:"b",url:"namespacemembers_func_b.html#index_b"},
|
| 56 |
+
{text:"c",url:"namespacemembers_func_c.html#index_c"},
|
| 57 |
+
{text:"d",url:"namespacemembers_func_d.html#index_d"},
|
| 58 |
+
{text:"e",url:"namespacemembers_func_e.html#index_e"},
|
| 59 |
+
{text:"f",url:"namespacemembers_func_f.html#index_f"},
|
| 60 |
+
{text:"g",url:"namespacemembers_func_g.html#index_g"},
|
| 61 |
+
{text:"h",url:"namespacemembers_func_h.html#index_h"},
|
| 62 |
+
{text:"i",url:"namespacemembers_func_i.html#index_i"},
|
| 63 |
+
{text:"j",url:"namespacemembers_func_j.html#index_j"},
|
| 64 |
+
{text:"k",url:"namespacemembers_func_k.html#index_k"},
|
| 65 |
+
{text:"l",url:"namespacemembers_func_l.html#index_l"},
|
| 66 |
+
{text:"m",url:"namespacemembers_func_m.html#index_m"},
|
| 67 |
+
{text:"n",url:"namespacemembers_func_n.html#index_n"},
|
| 68 |
+
{text:"o",url:"namespacemembers_func_o.html#index_o"},
|
| 69 |
+
{text:"p",url:"namespacemembers_func_p.html#index_p"},
|
| 70 |
+
{text:"r",url:"namespacemembers_func_r.html#index_r"},
|
| 71 |
+
{text:"s",url:"namespacemembers_func_s.html#index_s"},
|
| 72 |
+
{text:"t",url:"namespacemembers_func_t.html#index_t"},
|
| 73 |
+
{text:"u",url:"namespacemembers_func_u.html#index_u"},
|
| 74 |
+
{text:"v",url:"namespacemembers_func_v.html#index_v"}]},
|
| 75 |
+
{text:"Variables",url:"namespacemembers_vars.html"}]}]},
|
| 76 |
+
{text:"Files",url:"files.html",children:[
|
| 77 |
+
{text:"File List",url:"files.html"}]}]}
|