Polar Day/Night Seasons

  • Thread starter simurq
  • Start date
  • #1
7
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:

Answers and Replies

  • #2
12,488
6,276
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.
 
  • #3
7
0
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...
 
  • #4
12,488
6,276
Do you know the season dates or does that vary from year to year?
 
  • #5
7
0
That's exactly what I would like to know, Sir! The rest I'll do programmatically...
 
  • #6
12,488
6,276
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?
 
  • #7
7
0
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.
 
  • #8
1,620
228
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?
 
  • #9
7
0
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
1,620
228
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
7
0
Thanks! I'll try to replicate what you just recommended. I'll come back...
 

Related Threads on Polar Day/Night Seasons

  • Last Post
Replies
4
Views
3K
  • Last Post
Replies
16
Views
4K
  • Last Post
Replies
7
Views
3K
Replies
7
Views
1K
  • Last Post
Replies
2
Views
2K
Replies
4
Views
1K
Replies
4
Views
1K
  • Last Post
Replies
6
Views
3K
  • Last Post
Replies
2
Views
4K
Replies
4
Views
651
Top