How to Identify Polar Day and Night Seasons?

  • Context: Undergrad 
  • Thread starter Thread starter simurq
  • Start date Start date
  • Tags Tags
    Polar Seasons
Click For Summary

Discussion Overview

The discussion focuses on identifying polar day and night seasons programmatically, particularly in relation to calculating sunrise and sunset times for locations above the Arctic and Antarctic Circles. Participants explore how to handle errors in calculations due to the unique conditions in these regions.

Discussion Character

  • Technical explanation
  • Debate/contested
  • Mathematical reasoning

Main Points Raised

  • One participant describes using a specific model to calculate sunrise/sunset times but encounters errors for latitudes above the polar circles due to the ACOS function limitations.
  • Another participant suggests checking the latitude to issue a message for polar day or night, but acknowledges the need to also determine the current season.
  • A question is raised about whether the dates of the seasons vary from year to year, indicating a potential complexity in the calculations.
  • Participants discuss the need for additional arguments such as year, month, day, latitude, longitude, timezone, and daylight saving time to properly handle the calculations.
  • One participant proposes placing an error trap before the ACOS function to avoid runtime errors and directly determine whether it is polar day or night based on the input values.

Areas of Agreement / Disagreement

Participants generally agree on the need to handle errors in calculations for polar regions, but there is no consensus on the best method to determine the season or how to implement the error trapping effectively.

Contextual Notes

Participants note that the determination of season dates may vary by year and is influenced by longitude and timezone, which adds complexity to the problem.

simurq
Messages
6
Reaction score
0
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?

Thanks!

Rustam
 
Last edited:
Astronomy news on Phys.org
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.
 
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...
 
Do you know the season dates or does that vary from year to year?
 
That's exactly what I would like to know, Sir! The rest I'll do programmatically...
 
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?
 
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.
 
jedishrfu said:
Do you know the season dates or does that vary from year to year?
Oh yes, it does. It also varies by longitude/timezone.
Are the year, longitude and timezone used as arguments?
 
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...
 
  • #10
simurq said:
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...
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?
 
  • #11
Thanks! I'll try to replicate what you just recommended. I'll come back...
 

Similar threads

  • · Replies 16 ·
Replies
16
Views
11K
  • · Replies 10 ·
Replies
10
Views
6K
  • · Replies 3 ·
Replies
3
Views
4K
  • · Replies 18 ·
Replies
18
Views
5K