Este documento explica las fórmulas utilizadas en la implementación en R para calcular el ángulo solar, la duración del día, la sombra proyectada y otros parámetros astronómicos relacionados.
El ángulo solar se obtiene a partir de la siguiente ecuación:
\[ h = \arcsin\left(\sin \varphi \cdot \sin \delta + \cos \varphi \cdot \cos \delta \cdot \cos H\right) \]
Tomado de Meeus (1991, p. 93).
donde:
La declinación solar \(\delta\) se calcula con la ecuación:
\[ \delta = 23.44^\circ \cdot \sin\left(\frac{360}{365}(N - 81) \cdot \frac{\pi}{180}\right) \]
Tomado de Cooper (1969).
La constante \(23.44^\circ\) representa la inclinación del eje de rotación de la Tierra con respecto al plano de su órbita alrededor del Sol (llamado la eclíptica) (Meeus, 1991). Esta inclinación es responsable de la variación estacional de la luz solar que recibe la Tierra.
El ángulo horario \(H\) se calcula como:
\[ H = 15(t - 12) \]
donde \(t\) es la hora local en horas solares.
Tomado de Duffie y Beckman (2013, p. 30).
El meridiano central de un huso horario se obtiene dividiendo la longitud por 15 y redondeando:
\[ M = 15 \times \text{round}\left(\frac{\lambda}{15}\right) \]
donde \(M\) es el meridiano central y \(\lambda\) es la longitud geográfica.
Tomado de Duffie y Beckman (2013, p. 30).
La duración del día depende de la latitud y la declinación solar. Se calcula mediante el ángulo horario al amanecer y atardecer:
\[ \cos H = -\tan \varphi \cdot \tan \delta \]
Tomado de Duffie y Beckman (2013, p. 17).
Si \(|\cos H| > 1\), ocurre el fenómeno de sol de medianoche o noche polar.
La duración del día es:
\[ \text{Duración} = \frac{2H}{15} \]
en horas solares.
Tomado de Duffie y Beckman (2013, p. 89).
La longitud de la sombra proyectada por un objeto se obtiene usando:
\[ S = \frac{h_a}{\tan h} \]
donde \(S\) es la longitud de la sombra y \(h_a\) la altura del árbol.
Tomado de Duffie y Beckman (2013, pp. 32).
# Funciones para el cálculo de sombra
calcular_angulo_solar <- function(latitud, fecha, hora) {
N <- as.numeric(strftime(as.Date(fecha), format = '%j'))
delta <- 23.44 * sin((360 / 365) * (N - 81) * pi / 180)
H <- 15 * (hora - 12)
h <- asin(sin(latitud * pi / 180) * sin(delta * pi / 180) +
cos(latitud * pi / 180) * cos(delta * pi / 180) * cos(H * pi / 180)) * 180 / pi
return(h)
}
calcular_duracion_dia <- function(latitud, fecha) {
N <- as.numeric(strftime(as.Date(fecha), format = '%j'))
delta <- 23.44 * sin((360 / 365) * (N - 81) * pi / 180)
cos_H <- -tan(latitud * pi / 180) * tan(delta * pi / 180)
if (cos_H < -1) {
H <- 180
} else if (cos_H > 1) {
H <- 0
} else {
H <- acos(cos_H) * 180 / pi
}
amanecer <- 12 - (H / 15)
atardecer <- 12 + (H / 15)
duracion_dia <- atardecer - amanecer
return(duracion_dia)
}
calcular_hora_sombra <- function(latitud, fecha, altura_objeto, longitud_sombra) {
N <- as.numeric(strftime(as.Date(fecha), format = '%j'))
delta <- 23.44 * sin((360 / 365) * (N - 81) * pi / 180)
theta <- atan(altura_objeto / longitud_sombra) * 180 / pi
sin_theta <- sin(theta * pi / 180)
sin_phi <- sin(latitud * pi / 180)
sin_delta <- sin(delta * pi / 180)
cos_phi <- cos(latitud * pi / 180)
cos_delta <- cos(delta * pi / 180)
H <- acos((sin_theta - sin_phi * sin_delta) / (cos_phi * cos_delta)) * 180 / pi
amanecer <- 12 - (H / 15)
atardecer <- 12 + (H / 15)
duracion_luz <- atardecer - amanecer
return(duracion_luz)
}
calcular_sombra_promedio <- function(longitud_sombra, latitud, altura_objeto, fecha_siembra,fecha_final) {
fechas <- seq(fecha_siembra, as.Date(fecha_final), by='day')
sombras <- sapply(fechas, function(fecha) {
duracion_dia <- calcular_duracion_dia(latitud, fecha)
duracion_luz <- calcular_hora_sombra(latitud, fecha, altura_objeto, longitud_sombra)
if (is.null(duracion_luz) || duracion_dia <= 0) {
return(NA)
}
return((1 - duracion_luz / duracion_dia)/2)
})
return(mean(sombras, na.rm = TRUE))
}
Cooper, P. I. (1969). The absorption of solar radiation in solar stills. Solar Energy, 12(3), 333-345. Duffie, J. A., & Beckman, W. A. (2013). Solar engineering of thermal processes (1st ed.). Wiley. https://doi.org/10.1002/9781118671603 Meeus, J. (1991). Astronomical algorithms—Jean meeus(1991) (2nd ed.). http://archive.org/details/astronomicalalgorithmsjeanmeeus1991