Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Polar Day/Night Seasons

  1. Dec 20, 2014 #1
    Hello good people,

    I'm using http://www.ecy.wa.gov/programs/eap/models/twilight.zip by Greg Pelletier to calculate sunrise/sunset times at a desired location. However, the sheet formulae return an error message (#NUM) for latitudes above the Arctic/Antarctic Circle since the sun/moon almost never set there depending on latitude and season (summer/winter). Actually, it's because the ACOS function (-1 to 1) used in the sheet for HA sunrise degree calculation fails...

    Anyway, what I'm really after is a trap to confine this error message in the program I'm writing so that instead of an error message I could write "Polar Day" or "Polar Night" depending on latitude and season.

    So, how can I (programmatically?) know which season is on to get a relevant "polar day/night" message pop up?


    Last edited: Dec 20, 2014
  2. jcsd
  3. Dec 20, 2014 #2


    Staff: Mentor

    Why not check the latitude value and if it's in the polar range issue your message else call the function that does the computation that with this value.
  4. Dec 21, 2014 #3
    Yes, but it's half of the job - the other half is the season of year which I don't actually know. This would further help with determining polar day and polar night depending on season...
  5. Dec 21, 2014 #4


    Staff: Mentor

    Do you know the season dates or does that vary from year to year?
  6. Dec 21, 2014 #5
    That's exactly what I would like to know, Sir! The rest I'll do programmatically...
  7. Dec 21, 2014 #6


    Staff: Mentor

    Be nice you didn't explain it well, you didn't show any code. Based on your description, I'm trying to provide some effective answers.

    How do you run this program? Do you execute it from a shell script or from your own program? How does it return the error?

    In languages like Java, methods will throw an exception that the application can capture and write out some message.

    If the program runs from a shell script then maybe it returns a program code to the shell that you can query?
  8. Dec 21, 2014 #7
    Sorry if I sound rude to you! It's not my intention anyway...

    I've developed my app in VBA under MS Excel. And it returns runtime 1004 error failing to properly run the arccos function which, in turn, fails to return a value for latitudes above Arctic circle, that is when the sun almost never sets in summer.

    You can also check it from the file in my OP.

    So, my intention is to trap the error which is easy if I know the seasons.
  9. Dec 21, 2014 #8
    Oh yes, it does. It also varies by longitude/timezone.
    Are the year, longitude and timezone used as arguments?
  10. Dec 21, 2014 #9
    Yes, the arguments passed to the function are year, month, day, lat, lon, timezone, and dst (1 if on, 0 if off).

    But again, when the sun/moon is below the horizon (never rises), the function returns a #num, runtime error, which I can trap easily. But to do this "nicely" (showing either "polar day" or "polar night" message), I need to know when exactly that season starts / ends...
  11. Dec 21, 2014 #10
    Do you? Cannot you just put the error trap before the arccos function - if the argument is outside the bounds of +1 to -1, you can divert to polar time without attempting the arccos function, and then use the value of the argument (whether over +1 or under -1) in deciding whether it is polar day or night?
  12. Dec 21, 2014 #11
    Thanks! I'll try to replicate what you just recommended. I'll come back...
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook

Similar Threads for Polar Night Seasons
A Milancovitch cycles and how they relate to seasons
Stargazing Strange evening sky