NAME

Time::Keeper::Eclipse::Local - a solar eclipse as one place sees it

VERSION

Version 0.01

SYNOPSIS

my $l = Time::Keeper::Eclipse->next(kind => 'solar', after => $t)->local(place => $sky);
$l->type;                       # partial | annular | total, there
$l->maximum;                    # a Time::Keeper value
$l->magnitude;  $l->obscuration;
for ($l->contacts) { my ($name, $when, $altitude, $azimuth) = @$_ }   # c1 c2 c3 c4
$l->duration;                   # of totality or annularity there, or undef
$l->is_seen;                    # the sun up for some of it

METHODS

type

partial, annular or total at the place.

maximum

The instant the sun's and the moon's centres are nearest, seen from the place, in the place's zone.

magnitude

The fraction of the sun's diameter covered at the maximum (over 1 in a total eclipse).

obscuration

The fraction of the sun's disc covered at the maximum, by area.

contacts

The contacts, in order, as [name, value, altitude, azimuth] with the sun's apparent altitude and azimuth there: c1 and c4, the discs first and last touching; c2 and c3, totality's or annularity's beginning and end. A contact may fall with the sun below the horizon: its altitude says so.

contact

my $c2 = $l->contact('c2');     # undef in a partial eclipse

duration

The duration of totality or annularity, a Time::Keeper::Duration, or undef.

sun_at_maximum

my ($altitude, $azimuth) = $l->sun_at_maximum;

is_seen

Whether the sun is up at some time between C1 and C4.

SEE ALSO

Time::Keeper::Eclipse.

AUTHOR

LNATION, <email at lnation.org>

LICENSE AND COPYRIGHT

This software is Copyright (c) 2026 by LNATION.

This is free software, licensed under:

The Artistic License 2.0 (GPL Compatible)