Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Lunar eclipse, penumbral magnitude and umbral magnitude #345

Open
jibdata opened this issue May 9, 2024 · 5 comments
Open

Lunar eclipse, penumbral magnitude and umbral magnitude #345

jibdata opened this issue May 9, 2024 · 5 comments

Comments

@jibdata
Copy link

jibdata commented May 9, 2024

Hi,

I love your library and it has helped me a lot with astronomical computation in Node.js.
I don't know if this is a bit sidetracked with the intention of the Astronomy Engine, but would it be possible to include penumbral magnitude and umbral magnitude when searching (SearchLunarEclipse) for eclipses? And when the eclipse is at its maximum for an observer? Maybe a new function that can be called with the eclipse data and the observer, or a SearchLocalLunarEclipse function that is called with date and observer (i.e the SearchLocalSolarEclipse).

@cosinekitty
Copy link
Owner

Hi @jibdata and thank you for your kind words!

About making an observer-centered eclipse function, I don't think it makes any measurable difference about where on Earth you observe the Moon while it is being shadowed by the Earth. Everyone on Earth sees the Moon from almost exactly the same angle. Lunar eclipses are notoriously subjective experiences in reality. The Earth's shadow is so blurry, and the atmospheric refraction effects are impossible to predict. Therefore, there is already the problem of trying to numerically evaluate how accurate a lunar eclipse prediction is.

When you talk about penumbral magnitude and umbral magnitude, I'm not sure how you would separate the two. Perhaps you can define these terms for me?

@jibdata
Copy link
Author

jibdata commented May 9, 2024

Ok, I see your point. I have compared with MoonCalc.org and TimeAndDate.com, and especially TimeAndDate.com are operating with both Global Event and Local Type for the eclipses where the local type can have a maximum view for the observers location. I just thought that could be an interesting fact for the eclipse.
Example Oslo: https://www.timeanddate.com/eclipse/in/norway/oslo?iso=20250314
Example New York: https://www.timeanddate.com/eclipse/in/usa/new-york?iso=20250314
There is a big difference from the observers perspective between the two locations.

The terms for the penumbral magnitude and umbral magnitude is according to MoonCalc.org:
Penumbral Magnitude:
Penumbral magnitude is the fraction of the Moon's DIAMETER obscured by Earth's penumbral shadow.
For penumbral eclipses, it is usually less than 100%.

Umbral Magnitude:
Umbral magnitude is the fraction of the Moon's DIAMETER obscured by Earth's umbral shadow.
For partial eclipses, it is greater than 0 but less than 100%.
For total eclipses, it is equal or greater than 100%.

There is also information about this at TimeAndDate.com:
https://www.timeanddate.com/eclipse/magnitude.html

@jibdata
Copy link
Author

jibdata commented May 9, 2024

Sorry for spamming, but I hope you bear with me.
With the penumbral and umbral values it would also be interesting to know the direction where the earth shadow hits the moon (as TimeAndDate.com are visualising it).
I have implemented the Camera function from your demo, and have used this to create a visualisation of the moon and the current phase for a given date and observer.
With the penumbral and umbral values, and the direction/position of the earth shadow, I would be able to enrich the visualisation with what an eclipse would look like. I know that in real life there will be many occurrences where it is almost impossible to see the eclipse as calculated, but from a nerdy mathematical perspective it would be very satisfying.

@cosinekitty
Copy link
Owner

I like the idea of being able to visualize a lunar eclipse. Instead of trying to pack everything into a single return value (LunarEclipseInfo), it seems like it would be better to have a separate function where you pass in the date/time and it somehow tells you how to draw a picture of the Moon at that moment. Then you could animate the whole eclipse if you wanted.

And for this, it does make sense to provide the observer's location because you want to render the orientation as it would appear in that observer's horizontal coordinates.

This function should ideally correct for libration, parallax, and illuminated phase, whether or not there is a lunar eclipse in progress. When there is an eclipse, it should also report where and how to draw the penumbra and umbra.

I don't think anything less than this will be enough to render a convincing depiction of the Moon in all cases.

This is quite a complex undertaking, so while I like the idea, I'm not sure when I would be able to work on this any time soon...

@jibdata
Copy link
Author

jibdata commented May 9, 2024

I understand that this is a complex undertaking, and have briefly tried to look for other libraries without any luck (also not a fan of using multiple libraries).
I guess this would involve Besselian Elements, Danjon’s Method and Saros Cycle, and is way overhead of my level on this matter. (NASA's JPL DE (Development Ephemeris) data like DE421, DE430, or DE441)

I would be interested in doing a small sponsor contribution, if and when you see it fits to look into this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants