Estoy usando el siguiente script R para trazar la fase lunar y la fracción iluminada de la luna:
library(oce)
X11()
t_start <- as.POSIXct("2017-02-23", tz='UTC')
t_end <- t_start + 75 * 24 * 3600 # 35 days
tm <- seq(from = t_start,
to = t_end,
by = 10000
)
moon <- moonAngle(t=tm, longitude=-8, latitude=47)
fraction <- moon$illuminatedFraction
phase <- moon$phase - floor(moon$phase)
plot (tm, fraction, type="l", col='blue')
lines(tm, phase , type="l", col='red' )
grid()
# wait for mouse click or enter pressed
locator(1)
Las líneas rojas indican la fase (0 = luna nueva, 1/4 = cuarto creciente, 1/2 = luna llena, etc.), la curva azul indica la cantidad de luna iluminada.
He esperado que la fracción iluminada sea cero exactamente entonces cuando también la fase es cero. Sin embargo, éste no es el caso.
Entonces, ¿hay algo que me falta? ¿Estoy haciendo algo mal en mi script o la implementación es oce
inexacta?
Esta es una respuesta parcial ya que su pregunta aún no está clara. Recomendaría encontrar un paquete de astronomía para herramientas como esta en lugar de usar lo que es básicamente una "función adicional" de un paquete oceanográfico.
Desde las páginas de ayuda para el paquete oce
,
Fracción iluminada
fracción del disco visible de la luna que está iluminada
fase
fase de la luna, definida en la ecuación 32.3 de Meeus [1982]. La parte fraccionaria es 0 para luna nueva, 1/4 para cuarto creciente, 1/2 para luna llena y 3/4 para cuarto menguante.
¿Quizás te estás perdiendo el hecho de que marginalmente más del 50% de la luna está iluminada y, por lo tanto, en el primer/último cuarto marginalmente más del 50% del disco visible está iluminado? También recomendaría buscar la "ecuación 32.3" a la que se hace referencia para ver cuál es la definición y cómo se aplica a un visor de altitud cero.
moonAngle
.La función azul fraction
alcanza su máximo en tiempo de luna llena, 12. März en su diagrama.
En ese momento, la parte fraccionaria del rojo phase
, es decir, moon$phase - floor(moon$phase)
llega a 0,5, porque se produce una Luna llena en el medio tiempo.
No veo "fuera de sincronización" aquí.
Carlos Witthoft
R
paquete que está utilizando. En segundo lugar, puede consultar toda la documentación provista en ese paquete para ver si hay alguna discusión sobre imprecisiones conocidas. Tercero, ¿puede explicar por qué está usandofloor
en lugar demin
?René Nyffenegger
floor
en lugar demin
.