> Anyway, here's what I got so far with the Astro:: stuff: > > Astro::Sun - stuff related to solar position > Astro::Moon - stuff related to lunar position > Astro::Common - common calculation utilities
How common is "Common"? Remember there is stuff like Astro::FITS::CFITSIO (also a good example of why C interfaces suck in perl) under that namespace. > Astro::Earth::Location - simple structure > to store latitude/longitude, etc. Do you know how accurate the algorithm is? Our local guru has a 308 term polynomial. :) > Astro::BigFloat - Wrapper to Math::BigFloat to allow > toggling on/off the use of Math::BigFloat Again, I'm concerned about namespace pollution. > I by no means declare that these are good names: I used them just so I > could roughly divide things up. Please suggest any ideas you might have. > > Here are some points that I'm kind of pondering about: > - naming. > - better organization If all the algorithms are out of the CC book would about something like Astro::Calendrical::* ? > - usage? is a plain procedural interface ok? My personal preference is class methods over exporting stuff. > use Astro::Sun qw(solar_longitude); > my $degrees = solar_longitude($dt); my $degrees = Astro::Sun->solar_longitude( $dt ); I think it makes the code more readable but obviously opinions are varied on this. > - I think Astro::Common can be separated out into smaller packages. > - when structure is settled, optimize a bit. > > Once I get the idea of how to organize these modules, I will polish them > up, and bring them up again... -J --
