Skip to content

Instantly share code, notes, and snippets.

@scivision
Forked from meresmclr/pyephem_sunrise_sunset.py
Last active October 25, 2024 04:54
Show Gist options
  • Save scivision/228cad3ee5efe74dd5230ddb19bf36fe to your computer and use it in GitHub Desktop.
Save scivision/228cad3ee5efe74dd5230ddb19bf36fe to your computer and use it in GitHub Desktop.
Python example of computing sunrise/sunset using PyEphem
import ephem
import datetime
Boston=ephem.Observer()
Boston.lat='42.3462'
Boston.lon='-71.0978'
Boston.date = datetime.datetime.now()
# %% these parameters are for super-precise estimates, not necessary.
Boston.elevation = 3 # meters
Boston.pressure = 1010 # millibar
Boston.temp = 25 # deg. Celcius
Boston.horizon = 0
sun = ephem.Sun()
print("Next sunrise in Boston will be: ",ephem.localtime(Boston.next_rising(sun)))
print("Next sunset in Boston will be: ",ephem.localtime(Boston.next_setting(sun)))
@Lebostein
Copy link

Lebostein commented Oct 25, 2024

Boston.date = datetime.datetime.now() is wrong. All PyEphem dates are expressed in Universal Time (UTC), which is similar to Standard Time in Greenwich, England. datetime.datetime.now() returns a local time!!! Use Boston.date = datetime.datetime.utcnow() or Boston.date = ephem.now() to get the current UTC time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment