Problema de cálculo del amanecer del ángulo horario

Estoy tratando de programar una calculadora de amanecer/atardecer usando este tutorial de fórmula .

Si sigue los pasos, eventualmente obtendrá esta fórmula para "H" (el "ángulo horario"):

H = arccos ( [ pecado ( 0.83 ) pecado ( yo norte ) pecado ( d ) ] / [ porque ( yo norte ) porque ( d ) ] )

Que viene con una nota adjunta:

Note: If H is undefined, then there is either no sunrise (in winter) or no sunset (in summer) for the supplied latitude.

Ahora bien, resulta que esto sucede con bastante frecuencia (porque el coseno inverso tiene un dominio de -1 a 1). Ejecuté un programa y aquí están todas las fechas donde se define la H desde enero de 2008 hasta diciembre de 2014 (usando una longitud al oeste de -77.0368710 y una latitud al norte de 38.9071920 [Washington DC]):

January 1 2008
January 3 2008
January 4 2008
January 11 2008
January 30 2008
******************************
February 5 2008
February 24 2008
******************************
March 2 2008
March 24 2008
March 25 2008
March 29 2008
March 31 2008
******************************
April 3 2008
April 4 2008
April 6 2008
April 11 2008
April 12 2008
April 13 2008
April 14 2008
April 17 2008
April 19 2008
April 22 2008
April 23 2008
April 25 2008
April 26 2008
April 30 2008
******************************
May 2 2008
May 3 2008
May 5 2008
May 6 2008
May 8 2008
May 14 2008
May 15 2008
May 19 2008
May 21 2008
May 24 2008
May 25 2008
May 27 2008
******************************
June 1 2008
June 2 2008
June 3 2008
June 4 2008
June 7 2008
June 9 2008
June 12 2008
June 13 2008
June 15 2008
June 16 2008
June 20 2008
June 22 2008
June 23 2008
June 25 2008
June 26 2008
June 28 2008
******************************
July 4 2008
July 5 2008
July 9 2008
July 11 2008
July 14 2008
July 15 2008
July 17 2008
July 22 2008
July 23 2008
July 24 2008
July 25 2008
July 28 2008
July 30 2008
******************************
August 2 2008
August 3 2008
August 5 2008
August 6 2008
August 10 2008
August 12 2008
August 13 2008
August 15 2008
August 16 2008
August 18 2008
August 24 2008
August 25 2008
August 29 2008
August 31 2008
******************************
September 3 2008
September 4 2008
September 6 2008
September 11 2008
September 12 2008
September 13 2008
September 14 2008
September 17 2008
September 19 2008
September 22 2008
September 23 2008
September 25 2008
September 26 2008
September 30 2008
******************************
October 2 2008
October 3 2008
October 5 2008
October 6 2008
October 8 2008
October 14 2008
October 15 2008
October 19 2008
October 21 2008
October 24 2008
October 25 2008
October 27 2008
******************************
November 1 2008
November 2 2008
November 3 2008
November 4 2008
November 7 2008
November 9 2008
November 12 2008
November 13 2008
November 15 2008
November 16 2008
November 20 2008
November 22 2008
November 23 2008
November 25 2008
November 26 2008
November 28 2008
******************************
December 4 2008
December 5 2008
December 9 2008
December 11 2008
December 14 2008
December 15 2008
December 17 2008
December 22 2008
December 23 2008
December 24 2008
December 25 2008
December 28 2008
December 30 2008
******************************
January 2 2009
January 3 2009
January 16 2009
January 23 2009
******************************
February 11 2009
February 17 2009
******************************
March 8 2009
March 15 2009
March 23 2009
March 25 2009
March 26 2009
March 28 2009
March 29 2009
March 31 2009
******************************
April 6 2009
April 7 2009
April 11 2009
April 13 2009
April 16 2009
April 17 2009
April 19 2009
April 24 2009
April 25 2009
April 26 2009
April 27 2009
April 30 2009
******************************
May 2 2009
May 5 2009
May 6 2009
May 8 2009
May 9 2009
May 13 2009
May 15 2009
May 16 2009
May 18 2009
May 19 2009
May 21 2009
May 27 2009
May 28 2009
******************************
June 1 2009
June 3 2009
June 6 2009
June 7 2009
June 9 2009
June 14 2009
June 15 2009
June 16 2009
June 17 2009
June 20 2009
June 22 2009
June 25 2009
June 26 2009
June 28 2009
June 29 2009
******************************
July 3 2009
July 5 2009
July 6 2009
July 8 2009
July 9 2009
July 11 2009
July 17 2009
July 18 2009
July 22 2009
July 24 2009
July 27 2009
July 28 2009
July 30 2009
******************************
August 4 2009
August 5 2009
August 6 2009
August 7 2009
August 10 2009
August 12 2009
August 15 2009
August 16 2009
August 18 2009
August 19 2009
August 23 2009
August 25 2009
August 26 2009
August 28 2009
August 29 2009
August 31 2009
******************************
September 6 2009
September 7 2009
September 11 2009
September 13 2009
September 16 2009
September 17 2009
September 19 2009
September 24 2009
September 25 2009
September 26 2009
September 27 2009
September 30 2009
******************************
October 2 2009
October 5 2009
October 6 2009
October 8 2009
October 9 2009
October 13 2009
October 15 2009
October 16 2009
October 18 2009
October 19 2009
October 21 2009
October 27 2009
October 28 2009
******************************
November 1 2009
November 3 2009
November 6 2009
November 7 2009
November 9 2009
November 14 2009
November 15 2009
November 16 2009
November 17 2009
November 20 2009
November 22 2009
November 25 2009
November 26 2009
November 28 2009
November 29 2009
******************************
December 3 2009
December 5 2009
December 6 2009
December 8 2009
December 9 2009
December 11 2009
December 17 2009
December 18 2009
December 22 2009
December 24 2009
December 27 2009
December 28 2009
December 30 2009
******************************
January 4 2010
January 10 2010
January 17 2010
January 29 2010
******************************
February 5 2010
February 24 2010
******************************
March 2 2010
March 9 2010
March 21 2010
March 23 2010
March 25 2010
March 28 2010
March 29 2010
March 31 2010
******************************
April 1 2010
April 5 2010
April 7 2010
April 8 2010
April 10 2010
April 11 2010
April 13 2010
April 19 2010
April 20 2010
April 24 2010
April 26 2010
April 29 2010
April 30 2010
******************************
May 2 2010
May 7 2010
May 8 2010
May 9 2010
May 10 2010
May 13 2010
May 15 2010
May 18 2010
May 19 2010
May 21 2010
May 22 2010
May 26 2010
May 28 2010
May 29 2010
May 31 2010
******************************
June 1 2010
June 3 2010
June 9 2010
June 10 2010
June 14 2010
June 16 2010
June 19 2010
June 20 2010
June 22 2010
June 27 2010
June 28 2010
June 29 2010
June 30 2010
******************************
July 3 2010
July 5 2010
July 8 2010
July 9 2010
July 11 2010
July 12 2010
July 16 2010
July 18 2010
July 19 2010
July 21 2010
July 22 2010
July 24 2010
July 30 2010
July 31 2010
******************************
August 4 2010
August 6 2010
August 9 2010
August 10 2010
August 12 2010
August 17 2010
August 18 2010
August 19 2010
August 20 2010
August 23 2010
August 25 2010
August 28 2010
August 29 2010
August 31 2010
******************************
September 1 2010
September 5 2010
September 7 2010
September 8 2010
September 10 2010
September 11 2010
September 13 2010
September 19 2010
September 20 2010
September 24 2010
September 26 2010
September 29 2010
September 30 2010
******************************
October 2 2010
October 7 2010
October 8 2010
October 9 2010
October 10 2010
October 13 2010
October 15 2010
October 18 2010
October 19 2010
October 21 2010
October 22 2010
October 26 2010
October 28 2010
October 29 2010
October 31 2010
******************************
November 1 2010
November 3 2010
November 9 2010
November 10 2010
November 14 2010
November 16 2010
November 19 2010
November 20 2010
November 22 2010
November 27 2010
November 28 2010
November 29 2010
November 30 2010
******************************
December 3 2010
December 5 2010
December 8 2010
December 9 2010
December 11 2010
December 12 2010
December 16 2010
December 18 2010
December 19 2010
December 21 2010
December 22 2010
December 24 2010
December 30 2010
December 31 2010
******************************
January 17 2011
January 23 2011
January 30 2011
******************************
February 11 2011
February 18 2011
******************************
March 9 2011
March 15 2011
March 22 2011
March 23 2011
March 25 2011
March 30 2011
March 31 2011
******************************
April 1 2011
April 2 2011
April 5 2011
April 7 2011
April 10 2011
April 11 2011
April 13 2011
April 14 2011
April 18 2011
April 20 2011
April 21 2011
April 23 2011
April 24 2011
April 26 2011
******************************
May 2 2011
May 3 2011
May 7 2011
May 9 2011
May 12 2011
May 13 2011
May 15 2011
May 20 2011
May 21 2011
May 22 2011
May 23 2011
May 26 2011
May 28 2011
May 31 2011
******************************
June 1 2011
June 3 2011
June 4 2011
June 8 2011
June 10 2011
June 11 2011
June 13 2011
June 14 2011
June 16 2011
June 22 2011
June 23 2011
June 27 2011
June 29 2011
******************************
July 2 2011
July 3 2011
July 5 2011
July 10 2011
July 11 2011
July 12 2011
July 13 2011
July 16 2011
July 18 2011
July 21 2011
July 22 2011
July 24 2011
July 25 2011
July 29 2011
July 31 2011
******************************
August 1 2011
August 3 2011
August 4 2011
August 6 2011
August 12 2011
August 13 2011
August 17 2011
August 19 2011
August 22 2011
August 23 2011
August 25 2011
August 30 2011
August 31 2011
******************************
September 1 2011
September 2 2011
September 5 2011
September 7 2011
September 10 2011
September 11 2011
September 13 2011
September 14 2011
September 18 2011
September 20 2011
September 21 2011
September 23 2011
September 24 2011
September 26 2011
******************************
October 2 2011
October 3 2011
October 7 2011
October 9 2011
October 12 2011
October 13 2011
October 15 2011
October 20 2011
October 21 2011
October 22 2011
October 23 2011
October 26 2011
October 28 2011
October 31 2011
******************************
November 1 2011
November 3 2011
November 4 2011
November 8 2011
November 10 2011
November 11 2011
November 13 2011
November 14 2011
November 16 2011
November 22 2011
November 23 2011
November 27 2011
November 29 2011
******************************
December 2 2011
December 3 2011
December 5 2011
December 10 2011
December 11 2011
December 12 2011
December 13 2011
December 16 2011
December 18 2011
December 21 2011
December 22 2011
December 24 2011
December 25 2011
December 29 2011
December 31 2011
******************************
January 1 2012
January 3 2012
January 4 2012
January 11 2012
January 30 2012
******************************
February 5 2012
February 12 2012
February 24 2012
******************************
March 2 2012
March 24 2012
March 25 2012
March 26 2012
March 29 2012
March 31 2012
******************************
April 3 2012
April 4 2012
April 6 2012
April 11 2012
April 12 2012
April 13 2012
April 14 2012
April 17 2012
April 19 2012
April 22 2012
April 23 2012
April 25 2012
April 26 2012
April 30 2012
******************************
May 2 2012
May 3 2012
May 5 2012
May 6 2012
May 8 2012
May 14 2012
May 15 2012
May 16 2012
May 19 2012
May 21 2012
May 24 2012
May 25 2012
May 27 2012
******************************
June 1 2012
June 2 2012
June 3 2012
June 4 2012
June 7 2012
June 9 2012
June 12 2012
June 13 2012
June 15 2012
June 16 2012
June 20 2012
June 22 2012
June 23 2012
June 25 2012
June 26 2012
June 28 2012
******************************
July 4 2012
July 5 2012
July 6 2012
July 9 2012
July 11 2012
July 14 2012
July 15 2012
July 17 2012
July 22 2012
July 23 2012
July 24 2012
July 25 2012
July 28 2012
July 30 2012
******************************
August 2 2012
August 3 2012
August 5 2012
August 6 2012
August 10 2012
August 12 2012
August 13 2012
August 15 2012
August 16 2012
August 18 2012
August 24 2012
August 25 2012
August 26 2012
August 29 2012
August 31 2012
******************************
September 3 2012
September 4 2012
September 6 2012
September 11 2012
September 12 2012
September 13 2012
September 14 2012
September 17 2012
September 19 2012
September 22 2012
September 23 2012
September 25 2012
September 26 2012
September 30 2012
******************************
October 2 2012
October 3 2012
October 5 2012
October 6 2012
October 8 2012
October 14 2012
October 15 2012
October 16 2012
October 19 2012
October 21 2012
October 24 2012
October 25 2012
October 27 2012
******************************
November 1 2012
November 2 2012
November 3 2012
November 4 2012
November 7 2012
November 9 2012
November 12 2012
November 13 2012
November 15 2012
November 16 2012
November 20 2012
November 22 2012
November 23 2012
November 25 2012
November 26 2012
November 28 2012
******************************
December 4 2012
December 5 2012
December 6 2012
December 9 2012
December 11 2012
December 14 2012
December 15 2012
December 17 2012
December 22 2012
December 23 2012
December 24 2012
December 25 2012
December 28 2012
December 30 2012
******************************
January 2 2013
January 3 2013
January 4 2013
January 16 2013
January 23 2013
******************************
February 11 2013
February 17 2013
February 24 2013
******************************
March 8 2013
March 15 2013
March 23 2013
March 25 2013
March 26 2013
March 28 2013
March 29 2013
March 31 2013
******************************
April 6 2013
April 7 2013
April 8 2013
April 11 2013
April 13 2013
April 16 2013
April 17 2013
April 19 2013
April 24 2013
April 25 2013
April 26 2013
April 27 2013
April 30 2013
******************************
May 2 2013
May 6 2013
May 8 2013
May 9 2013
May 13 2013
May 15 2013
May 16 2013
May 18 2013
May 19 2013
May 21 2013
May 27 2013
May 28 2013
May 29 2013
******************************
June 1 2013
June 3 2013
June 6 2013
June 7 2013
June 9 2013
June 14 2013
June 15 2013
June 16 2013
June 17 2013
June 20 2013
June 22 2013
June 26 2013
June 28 2013
June 29 2013
******************************
July 3 2013
July 5 2013
July 6 2013
July 8 2013
July 9 2013
July 11 2013
July 17 2013
July 18 2013
July 19 2013
July 22 2013
July 24 2013
July 27 2013
July 28 2013
July 30 2013
******************************
August 4 2013
August 5 2013
August 6 2013
August 7 2013
August 10 2013
August 12 2013
August 16 2013
August 18 2013
August 19 2013
August 23 2013
August 25 2013
August 26 2013
August 28 2013
August 29 2013
August 31 2013
******************************
September 6 2013
September 7 2013
September 8 2013
September 11 2013
September 13 2013
September 16 2013
September 17 2013
September 19 2013
September 24 2013
September 25 2013
September 26 2013
September 27 2013
September 30 2013
******************************
October 2 2013
October 6 2013
October 8 2013
October 9 2013
October 13 2013
October 15 2013
October 16 2013
October 18 2013
October 19 2013
October 21 2013
October 27 2013
October 28 2013
October 29 2013
******************************
November 1 2013
November 3 2013
November 6 2013
November 7 2013
November 9 2013
November 14 2013
November 15 2013
November 16 2013
November 17 2013
November 20 2013
November 22 2013
November 26 2013
November 28 2013
November 29 2013
******************************
December 3 2013
December 5 2013
December 6 2013
December 8 2013
December 9 2013
December 11 2013
December 17 2013
December 18 2013
December 19 2013
December 22 2013
December 24 2013
December 27 2013
December 28 2013
December 30 2013
******************************
January 4 2014
January 10 2014
January 17 2014
January 29 2014
******************************
February 5 2014
February 24 2014
******************************
March 2 2014
March 9 2014
March 21 2014
March 23 2014
March 25 2014
March 29 2014
March 31 2014
******************************
April 1 2014
April 5 2014
April 7 2014
April 8 2014
April 10 2014
April 11 2014
April 13 2014
April 19 2014
April 20 2014
April 21 2014
April 24 2014
April 26 2014
April 29 2014
April 30 2014
******************************
May 2 2014
May 7 2014
May 8 2014
May 9 2014
May 10 2014
May 13 2014
May 15 2014
May 19 2014
May 21 2014
May 22 2014
May 26 2014
May 28 2014
May 29 2014
May 31 2014
******************************
June 1 2014
June 3 2014
June 9 2014
June 10 2014
June 11 2014
June 14 2014
June 16 2014
June 19 2014
June 20 2014
June 22 2014
June 27 2014
June 28 2014
June 29 2014
June 30 2014
******************************
July 3 2014
July 5 2014
July 9 2014
July 11 2014
July 12 2014
July 16 2014
July 18 2014
July 19 2014
July 21 2014
July 22 2014
July 24 2014
July 30 2014
July 31 2014
******************************
August 1 2014
August 4 2014
August 6 2014
August 9 2014
August 10 2014
August 12 2014
August 17 2014
August 18 2014
August 19 2014
August 20 2014
August 23 2014
August 25 2014
August 29 2014
August 31 2014
******************************
September 1 2014
September 5 2014
September 7 2014
September 8 2014
September 10 2014
September 11 2014
September 13 2014
September 19 2014
September 20 2014
September 21 2014
September 24 2014
September 26 2014
September 29 2014
September 30 2014
******************************
October 2 2014
October 7 2014
October 8 2014
October 9 2014
October 10 2014
October 13 2014
October 15 2014
October 19 2014
October 21 2014
October 22 2014
October 26 2014
October 28 2014
October 29 2014
October 31 2014
******************************
November 1 2014
November 3 2014
November 9 2014
November 10 2014
November 11 2014
November 14 2014
November 16 2014
November 19 2014
November 20 2014
November 22 2014
November 27 2014
November 28 2014
November 29 2014
November 30 2014
******************************
December 3 2014
December 5 2014
December 9 2014
December 11 2014
December 12 2014
December 16 2014
December 18 2014
December 19 2014
December 21 2014
December 22 2014
December 24 2014
December 30 2014
December 31 2014

Notará que hay bastantes fechas en las que H (el ángulo horario) no está definido. Entiendo desde un punto de vista trigonométrico por qué es incalculable, pero ¿hay una razón científica para esto? Además, ¿cómo calculan cuándo se pondrá el sol y cuándo saldrá el sol en esos días? ¿Es un promedio de la última fecha conocida y la siguiente fecha conocida?

¿Cuál es el ángulo horario, exactamente, y cómo se calcula el amanecer/atardecer si no se puede calcular?

Respuestas (1)

¿Consideró la conversión de grados a radianes y viceversa? Parece que algo así está sucediendo. Tenga en cuenta que -0,83 está en grados, que es la corrección por el tamaño del sol y los efectos de refracción en el horizonte. (Más detalles aquí: https://en.wikipedia.org/wiki/Sunrise_equation ) En la latitud 38 N, no debería haber ningún día en el que el amanecer/atardecer no esté definido.

Además, el ángulo horario en cualquier momento es el tiempo transcurrido desde la culminación (la culminación es el paso de un cuerpo por el meridiano; el meridiano es el círculo máximo que pasa por el punto cardinal norte, el polo norte, el cenit y el punto cardinal sur. En este caso, Hora El ángulo da el tiempo entre la salida del sol y el mediodía (es decir, la culminación del sol), o entre el mediodía y la puesta del sol.

Si, gracias. Más tarde me di cuenta de lo que dice exactamente la nota: En ciertas latitudes (Polo Sur, Polo Norte), hay días sin amanecer (invierno) y sin atardecer (verano). No estaba claro al principio, pero ahora veo lo que estás diciendo. El ángulo horario nunca debe estar indefinido para ciertas latitudes.
Entonces, mis cálculos son inexactos en alguna parte.
No, no consideré ningún desplazamiento de grados vs radianes. ¿Crees que debo convertir los grados a radianes para mis cálculos?
Ok, entonces cuando dice "mod 360", debería ser "mod 2 π ?
Arccos dará salida en radianes. Del mismo modo, cos generalmente tomará la entrada en radianes. Por lo tanto, debe cambiar todo a radianes por conveniencia. Alguna θ en grados entonces se convierte en θ × π / 180 en radianes. (Un simple factor multiplicativo. Esto también debería resolver el factor de modificación).
Entonces, cada vez que uso sen/cos/arcos debo cambiar la entrada a radianes y la salida a grados...
Sí. Convierta la salida a grados para una medida angular más intuitiva. También el H obtienes al final, se puede convertir a horas/minutos/segundos usando 24 h = 360 para obtener la hora real desde el mediodía local hasta la puesta del sol.
Ya veo. Entonces una H de 12 = 180 \grados
Si, eso es correcto. 1 hora = 15 grados, 4 minutos = 1 grado, 1 minuto = 15', 4 segundos = 1', 1 segundo = 15" y así sucesivamente.