astrorigin / pyswisseph

Python extension to the Swiss Ephemeris
https://astrorigin.com/pyswisseph
GNU Affero General Public License v3.0
237 stars 65 forks source link

Strange error when calculating true node position #50

Closed deveklavya closed 2 years ago

deveklavya commented 2 years ago

Hello, I am trying to calculate the true node position and receive weird error. I used the same date to calculate the position and it worked with the exception of True Nodes.

JD UTC Date = 2446509.534513889 Python Code: data = swe.calc_ut(jd_utc, swe.TRUE_NODE , flag = swe.FLG_SWIEPH | swe.FLG_TRUEPOS | swe.FLG_TOPOCTR | swe.FLG_SPEED | swe.FLG_SIDEREAL )

Error code: jd -0.001010 outside moshier planet range

Any suggestion, where am I messing things up?

Thanks Abhinav

stotz commented 2 years ago

import swisseph as swe print(swe.calc_ut(2446509.534513889, swe.TRUE_NODE , flag = swe.FLG_SWIEPH | swe.FLG_TRUEPOS | swe.FLG_TOPOCTR | swe.FLG_SPEED | swe.FLG_SIDEREAL)) ((5.881635769908859, 0.0, 0.0026818609663255446, -0.030988376574059968, 0.0, 7.01210375414492e-06), 100178)

Seems to work for me.

greeting Urs

deveklavya commented 2 years ago

Weird, may be i did not setup the library correctly?

On Sat., Apr. 9, 2022, 12:48 p.m. Urs Stotz, @.***> wrote:

import swisseph as swe print(swe.calc_ut(2446509.534513889, swe.TRUE_NODE , flag = swe.FLG_SWIEPH | swe.FLG_TRUEPOS | swe.FLG_TOPOCTR | swe.FLG_SPEED | swe.FLG_SIDEREAL)) ((5.881635769908859, 0.0, 0.0026818609663255446, -0.030988376574059968, 0.0, 7.01210375414492e-06), 100178)

Seems to work for me.

— Reply to this email directly, view it on GitHub https://github.com/astrorigin/pyswisseph/issues/50#issuecomment-1094082802, or unsubscribe https://github.com/notifications/unsubscribe-auth/AS5RXN2XFQJ34DKHSYUQWNTVEGYGZANCNFSM5QTSKKHQ . You are receiving this because you authored the thread.Message ID: @.***>

stotz commented 2 years ago

Yes, perhaps. I have installed the swiss ephe files on my system, and set the environment to the path SE_EPHE_PATH=Z:\development\ephe\astro.com\pub\swisseph\ephe Or I can set the path with: swe.set_ephe_path('Z:/development/ephe/astro.com/pub/swisseph/ephe') But I dont get your error: Error code: jd -0.001010 outside moshier planet range

When I go outside of range, I get the following error:
>>> print(swe.calc_ut(-20446509.534513889, swe.TRUE_NODE, flag = swe.FLG_SWIEPH | swe.FLG_TRUEPOS | swe.FLG_TOPOCTR | swe.FLG_SPEED | swe.FLG_SIDEREAL))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
swisseph.Error: SwissEph file 'semom612.se1' not found in PATH 'Z:\development\ephe\astro.com\pub\swisseph\ephe\'

If I remember correctly "moshier" is an imprecise fallback algorithm. But I can't reproduce that.

tchka commented 6 months ago

Hello, I had the same error. I declared the swissephe path in the beginning of my module. And I found out that when the swe.calc_ut function is called the path setting was not applied. I put the swissephe path setting swe.set_ephe_path inside the local function just before the swe.set_ephe_path call. And the error has gone. May be it''ll help somebody.