**Author:** [Behrouz Safari](https://astrodatascience.net/)<br/>
**License:** [MIT](https://opensource.org/licenses/MIT)<br/>
# bspice
*Working with SPICE kernels*
## Installation
You can install the latest version of *bspice* from [PyPI](https://pypi.org/project/bspice/):
pip install bspice
The requirements are *numpy*, *requests* and *spiceypy*.
## Download Kernels
```python
import bspice as bs
bs.download_kernels(overwrite=False, solsys=True, jupiter=True)
```
## Apparent position of Saturn
```python
import bspice as bs
from datetime import datetime
t = datetime.utcnow()
obs_loc = (7.744083817548831, 48.58313582900411, 140)
adr = 'C:/Moi/_py/Astronomy/Solar System/kernels/'
kernels = [adr+i for i in bs.main_kernels]
kernels = kernels + [adr+'de440_2030.bsp']
r, az, alt = bs.get_apparent(6, t, obs_loc, kernels)
print(az, alt)
```
## Apparent position of Jupiter Moons
```python
import bspice as bs
from datetime import datetime
import matplotlib.pyplot as plt
t = datetime.utcnow()
obs_loc = (7.744083817548831, 48.58313582900411, 140)
adr = 'C:/Moi/_py/Astronomy/Solar System/kernels/'
kernels = [adr+i for i in bs.main_kernels]
kernels = kernels + [adr+'jup4_2030.bsp']
bodies = [599, 501, 502, 503, 504]
r_az_alt = bs.get_apparent_bodies(bodies, t, obs_loc, kernels, abcorr='LT+S')
print(r_az_alt)
fig, ax = plt.subplots()
ax.scatter(r_az_alt[0,1], r_az_alt[0,2])
ax.scatter(r_az_alt[1:,1], r_az_alt[1:,2])
plt.show()
```
## Apparent position of the Sun during 24 hours
```python
import bspice as bs
from datetime import datetime
obs_loc = (7.744083817548831, 48.58313582900411, 140)
adr = 'C:/Moi/_py/Astronomy/Solar System/kernels/'
kernels = [adr+i for i in bs.main_kernels]
kernels = kernels + [adr+'de440_2030_earth_sun_moon.bsp']
t1 = datetime(2022, 9, 10)
t2 = datetime(2022, 9, 11)
r_az_alt = bs.get_apparent_window(10, t1, t2, 24, obs_loc, kernels, abcorr='LT+S')
for i in r_az_alt:
print(f'Az:{i[1]} ||| Alt:{i[2]}')
```
## Local and absolute minimum angular positions of Sun and Moon
```python
import bspice as bs
t1 = '2022-01-01'
t2 = '2023-01-01'
adr = 'C:/Users/H21/Desktop/Desktop/Behrouz/Astronomy/kernels/'
kernels = [
adr + 'naif0012.tls',
adr + 'pck00010.tpc',
adr + 'de440s.bsp',
]
print('Local:')
times = bs.conjunction(t1=t1, t2=t2, targ1='sun', targ2='moon', kernels=kernels)
for i in times:
print(i)
print('Absolute:')
times = bs.conjunction(t1=t1, t2=t2, targ1='sun', targ2='moon', kernels=kernels, relate='ABSMIN')
for i in times:
print(i)
```
```
Local:
2022-01-02 18:08:14
2022-02-01 05:32:21
2022-03-02 17:49:18
2022-04-01 06:53:57
2022-04-30 20:41:32
2022-05-30 11:11:34
2022-06-29 02:19:09
2022-07-28 17:40:45
2022-08-27 08:34:53
2022-09-25 22:24:24
2022-10-25 11:00:06
2022-11-23 22:40:53
2022-12-23 09:52:10
Absolute:
2022-10-25 11:00:06
```
Raw data
{
"_id": null,
"home_page": "https://github.com/behrouzz/bspice",
"name": "bspice",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": "",
"keywords": "",
"author": "Behrouz Safari",
"author_email": "behrouz.safari@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/bb/fe/a959d8e096b145af223234039b9fb7eff2dbee7ff483274d6954a9e8f8e1/bspice-0.0.3.tar.gz",
"platform": null,
"description": "**Author:** [Behrouz Safari](https://astrodatascience.net/)<br/>\r\n**License:** [MIT](https://opensource.org/licenses/MIT)<br/>\r\n\r\n# bspice\r\n*Working with SPICE kernels*\r\n\r\n\r\n## Installation\r\n\r\nYou can install the latest version of *bspice* from [PyPI](https://pypi.org/project/bspice/):\r\n\r\n pip install bspice\r\n\r\nThe requirements are *numpy*, *requests* and *spiceypy*.\r\n\r\n\r\n## Download Kernels\r\n\r\n```python\r\nimport bspice as bs\r\n\r\nbs.download_kernels(overwrite=False, solsys=True, jupiter=True)\r\n```\r\n\r\n## Apparent position of Saturn\r\n\r\n```python\r\nimport bspice as bs\r\nfrom datetime import datetime\r\n\r\nt = datetime.utcnow()\r\nobs_loc = (7.744083817548831, 48.58313582900411, 140)\r\n\r\nadr = 'C:/Moi/_py/Astronomy/Solar System/kernels/'\r\n\r\nkernels = [adr+i for i in bs.main_kernels]\r\nkernels = kernels + [adr+'de440_2030.bsp']\r\n\r\nr, az, alt = bs.get_apparent(6, t, obs_loc, kernels)\r\nprint(az, alt)\r\n```\r\n\r\n## Apparent position of Jupiter Moons\r\n\r\n```python\r\nimport bspice as bs\r\nfrom datetime import datetime\r\nimport matplotlib.pyplot as plt\r\n\r\nt = datetime.utcnow()\r\nobs_loc = (7.744083817548831, 48.58313582900411, 140)\r\n\r\nadr = 'C:/Moi/_py/Astronomy/Solar System/kernels/'\r\n\r\nkernels = [adr+i for i in bs.main_kernels]\r\nkernels = kernels + [adr+'jup4_2030.bsp']\r\n\r\nbodies = [599, 501, 502, 503, 504]\r\nr_az_alt = bs.get_apparent_bodies(bodies, t, obs_loc, kernels, abcorr='LT+S')\r\nprint(r_az_alt)\r\n\r\nfig, ax = plt.subplots()\r\nax.scatter(r_az_alt[0,1], r_az_alt[0,2])\r\nax.scatter(r_az_alt[1:,1], r_az_alt[1:,2])\r\nplt.show()\r\n```\r\n\r\n## Apparent position of the Sun during 24 hours\r\n\r\n```python\r\nimport bspice as bs\r\nfrom datetime import datetime\r\n\r\nobs_loc = (7.744083817548831, 48.58313582900411, 140)\r\n\r\nadr = 'C:/Moi/_py/Astronomy/Solar System/kernels/'\r\n\r\nkernels = [adr+i for i in bs.main_kernels]\r\nkernels = kernels + [adr+'de440_2030_earth_sun_moon.bsp']\r\n\r\nt1 = datetime(2022, 9, 10)\r\nt2 = datetime(2022, 9, 11)\r\n\r\nr_az_alt = bs.get_apparent_window(10, t1, t2, 24, obs_loc, kernels, abcorr='LT+S')\r\n\r\nfor i in r_az_alt:\r\n print(f'Az:{i[1]} ||| Alt:{i[2]}')\r\n```\r\n\r\n## Local and absolute minimum angular positions of Sun and Moon\r\n\r\n```python\r\nimport bspice as bs\r\n\r\nt1 = '2022-01-01'\r\nt2 = '2023-01-01'\r\n\r\nadr = 'C:/Users/H21/Desktop/Desktop/Behrouz/Astronomy/kernels/'\r\n\r\nkernels = [\r\n adr + 'naif0012.tls',\r\n adr + 'pck00010.tpc',\r\n adr + 'de440s.bsp',\r\n ]\r\n\r\nprint('Local:')\r\ntimes = bs.conjunction(t1=t1, t2=t2, targ1='sun', targ2='moon', kernels=kernels)\r\n\r\nfor i in times:\r\n print(i)\r\n\r\nprint('Absolute:')\r\ntimes = bs.conjunction(t1=t1, t2=t2, targ1='sun', targ2='moon', kernels=kernels, relate='ABSMIN')\r\n\r\nfor i in times:\r\n print(i)\r\n```\r\n\r\n```\r\nLocal:\r\n2022-01-02 18:08:14\r\n2022-02-01 05:32:21\r\n2022-03-02 17:49:18\r\n2022-04-01 06:53:57\r\n2022-04-30 20:41:32\r\n2022-05-30 11:11:34\r\n2022-06-29 02:19:09\r\n2022-07-28 17:40:45\r\n2022-08-27 08:34:53\r\n2022-09-25 22:24:24\r\n2022-10-25 11:00:06\r\n2022-11-23 22:40:53\r\n2022-12-23 09:52:10\r\nAbsolute:\r\n2022-10-25 11:00:06\r\n```\r\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Working with SPICE kernels",
"version": "0.0.3",
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"md5": "293446aabad9f0cb8270d999399e32ad",
"sha256": "a61ed937076e887e1b20bd2095d37901bde5a05c53560b158046b56e504a4818"
},
"downloads": -1,
"filename": "bspice-0.0.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "293446aabad9f0cb8270d999399e32ad",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 6271,
"upload_time": "2022-12-14T10:36:51",
"upload_time_iso_8601": "2022-12-14T10:36:51.164264Z",
"url": "https://files.pythonhosted.org/packages/ef/41/f1c03771d1203d6c3ae609300f1faf718f3f4ab7de5716d75e84b2df4cf3/bspice-0.0.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "2aea75397310a37de11b457acb5516dd",
"sha256": "7c40f935a0d3b560c6a1ba5c96acccdf252621756bcd54312b5958d4783db943"
},
"downloads": -1,
"filename": "bspice-0.0.3.tar.gz",
"has_sig": false,
"md5_digest": "2aea75397310a37de11b457acb5516dd",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 5779,
"upload_time": "2022-12-14T10:36:53",
"upload_time_iso_8601": "2022-12-14T10:36:53.232452Z",
"url": "https://files.pythonhosted.org/packages/bb/fe/a959d8e096b145af223234039b9fb7eff2dbee7ff483274d6954a9e8f8e1/bspice-0.0.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2022-12-14 10:36:53",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "behrouzz",
"github_project": "bspice",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "bspice"
}