use Astro::Utils;
my $spring = calculate_equinox( 'mar', 'utc', '2021' );
$logger->info("spring begins $spring");
####
$ ./3.vernal.pl
./3.vernal.pl
Name Right Ascension Declination
Mars 1.19220473652282 0.409015700183571
Moon 1.6536783961676 0.442537954264476
Sun 0.0202246733370893 0.00876435085335973
Aldeb 1.20392811802569 0.288139315093836
Time is Sun Mar 21 17:03:18 2021
Julian day is 2459295.460625
Sun set is Mon Mar 22 01:58:54 2021
Astro::Coord::ECI=HASH(0x560eda31aa70)
spring begins 2021-03-20 09:37:05
$ cat 3.vernal.pl
####
#!/usr/bin/perl
use Time::Piece;
use Astro::Coord::ECI::Utils 'deg2rad';
use Astro::Coords;
use Log::Log4perl;
use 5.030;
my $file = '/home/hogan/Documents/hogan/logs/3.log4perl.txt';
unlink $file or warn "Could not unlink $file: $!";
my $log_conf4 = "/home/hogan/Documents/hogan/logs/conf_files/3.conf";
Log::Log4perl::init($log_conf4); #info
my $logger = Log::Log4perl->get_logger();
$logger->info("$0");
$logger->info("Name\tRight Ascension\t\tDeclination");
for my $name (qw/Mars Moon Sun/) {
my $planet2 = Astro::Coords->new( planet => $name );
$planet2->datetime( Time::Piece->new );
my $ra = $planet2->ra( format => q/rad/ );
my $dec = $planet2->dec( format => q/rad/ );
$logger->info("$name\t$ra\t$dec");
}
## declare values and tailor to what these routines expect...
my $aldeb_ra_degrees = 68.98;
my $aldeb_ra_radians = deg2rad($aldeb_ra_degrees);
my $aldeb_declination_degrees = 16.509166666667;
my $aldeb_dec_radians = deg2rad($aldeb_declination_degrees);
my $local_lat = deg2rad(43.6135); # Radians
my $local_long = deg2rad(-116.20345); # Radians
my $local_alt = 8321 / 1000; # Kilometers
$logger->info("Aldeb\t$aldeb_ra_radians\t$aldeb_dec_radians ");
my $t = localtime;
my $jd = $t->julian_day;
$logger->info("Time is $t");
$logger->info("Julian day is $jd");
use Astro::Coord::ECI::Sun;
my $sun = Astro::Coord::ECI::Sun->new();
my $sta = Astro::Coord::ECI->universal( time() )
->geodetic( $local_lat, $local_long, $local_alt );
my ( $time, $rise ) = $sta->next_elevation($sun);
my $string =
"Sun @{[$rise ? 'rise' : 'set']} is " . scalar gmtime $time . " UT\n";
$logger->info("$string");
$logger->debug("$sta");
# calculate begin of spring
use Astro::Utils;
my $spring = calculate_equinox( 'mar', 'utc', '2021' );
$logger->info("spring begins $spring");
__END__
$