> 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

--

Reply via email to