Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Looking ofr dusks/dawns along a year : TargetNeverUpWarning lead to crash #508

Open
tstolarczyk opened this issue Apr 27, 2021 · 1 comment

Comments

@tstolarczyk
Copy link

tstolarczyk commented Apr 27, 2021

Hello,

Astroplan v0.8

I am making the list of dusks and dawns along the year 2021 with the code below.
It returns Nan (and crashes because of year -4713) on June the 14th because of a too-short night it seems, which is likely to happen every year :-)

I realize this can happen at Pole, i.e. a day without night, but the search within 24 hours is a strange limitation (although it is mentioned in the doc).
I guess that I have to check that dusk or dawn is not Nan and rewind to continue, but that's a bit tricky...
Any known workaround to suggest?
Thanks !!!

from astropy.time import Time
import astropy.units as u

from astropy.coordinates import EarthLocation
from astroplan import Observer
twindow = [Time("2021-06-01 00:00:00.0",scale="utc"),
           Time("2021-12-31 23:59:59.0",scale="utc")]
tstart = twindow[0]
tstop = twindow[1]
location = EarthLocation.of_address("Paris")

obs   = Observer(location  = location, name = location, timezone ="utc")
night = obs.is_night(tstart, horizon = -18*u.deg)

if (night): search = "previous" # Will search start of that night
else:       search = "next"     # Will search next night

t_night=[]

t_dawn = tstart # First dawwn cannot be before start
while(t_dawn < tstop):
        t_dusk = obs.twilight_evening_astronomical(t_dawn, which = search)
        print(" dusk :",t_dusk.datetime)
        search="next"
        t_dawn = obs.twilight_morning_astronomical(t_dusk, which="next")
        print(" dawn :",t_dawn.datetime)
        t_night.append([t_dusk, t_dawn])

Here is the sequence:

dusk : 2021-06-12 23:35:46.674107
dawn : 2021-06-13 00:07:07.888164
dusk : 2021-06-13 23:42:10.162592
dawn : 2021-06-14 00:02:01.176933
WARNING: TargetNeverUpWarning: Target with index 0 does not cross horizon=-18.0 deg within 24 hours [astroplan.observer]

@bmorris3
Copy link
Contributor

Hi @tstolarczyk,

As I just wrote in #511, I think this won't be a problem if the time you use as a reference time is centered closer to local noon. As you suggest, this occurs when the querying time is very close to a rise/set, and can be avoided if you start your tstart variable at a time further from dawn/dusk.

Does that help?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants