Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
DateTime::Astro(3)    User Contributed Perl Documentation   DateTime::Astro(3)

NAME
       DateTime::Astro - Functions For Astromical Calendars

DESCRIPTION
       DateTime::Astro implements functions used in astronomical calendars,
       such as calculation of lunar longitudea and solar longitude.

       This module is best used	in environments	where a	C compiler and the
       MPFR arbitrary precision	math library is	installed. It can fallback to
       using Math::BigInt, but that would pretty much render it	useless
       because of its speed and	loss of	accuracy that may creep	up while doing
       Perl to C struct	conversions.

DISCLAIMER
       This module works, but there are	several	caveats	you should be aware
       of:

   MPFR	Is Required / PurePerl Version Not Functional
       There /is/ a HALF BAKED Pure Perl implmentation bundled with this
       distribution, but at this point please consider it UNUSABLE. This sort
       of calculation requires the speed and efficiency	of a C library anyway.

       As such,	you HAVE to have MPFR installed	correctly in your system.
       Please consult your local package manager, or http://mpfr.org

       Patches to make the pure	perl version work better is always welcome.

   17 solar terms are still off	by ~ 5 minutes
       I've tried very hard to correctly calculate the solar term dates	with
       this module, but	I still	get 17 instances in about 130 years worth of
       solar terms, where the dates are	off by an average of about 5 minutes
       -- and these usually fall at right about	midnight, causing day-based
       comparisons to be off by	1.

       I'm sure	there's	something that's causing a round off somwhere. If
       you're up to it,	please see xt/101_solar_terms.t	and see	if you can fix
       it for me!

FUNCTIONS
   BACKEND()
       Returns 'XS' or 'PP', noting the	current	backend.

   dt_from_moment($moment)
       Given a moment (days since rd + fractional seconds), returns a DateTime
       object in UTC

   dynamical_moment($moment)
       Computes	the moment value from given moemnt, taking into	account	the
       ephemeris correction.

   dynamical_moment_from_dt($dt)
       Computes	the moment value from a	DateTime object, taking	into account
       the ephemeris correction.

   ephemeris_correction($moment)
       Computes	the ephemeris correction on a given moment

   gregorian_components_from_rd($rd_days)
       Computes	year, month, date from RD value

   gregorian_year_from_rd($rd_days)
       Computes	year from RD value

   julian_centuries($dt)
       Computes	the julian centuries for given DateTime	object

   julian_centuries_from_moment($moment)
       Computes	the julian centuries for given moment

   lunar_phase($dt)
       Computes	the lunar phase	for given DateTime object

   lunar_phase_from_moment($moment)
       Computes	the lunar phase	for given moment

   polynomial($x, ...)
       Computes	the polynomical	expression using $x as the variable. The left
       most argument is	the constant, and each successive argument is the
       coefficient for the next	power of $x

   ymd_seconds_from_moment($moment)
       Computes	the gregorian components (year,	month, day) from the RD	date,
       and the number of seconds from the fractional part.

   lunar_longitude($dt)
       Returns the Moon's longitude on the given date $dt

   lunar_longitude_from_moment($moment)
       Returns the Moon's longitude on the given moment	$moment

   moment($dt)
       Returns the date	$dt expressed in moment

   nth_new_moon($n)
       Returns the $n-th new moon, in $moment.

       Currently the new moons dates are accurate to about within +/- 60
       seconds of the actual new moon for modern dates.

       For older dates,	the accuraccy degrades a bit to	about +/- 5 minutes.

   new_moon_after($dt)
   new_moon_before($dt)
   solar_longitude($dt)
       Returns the Sun's longitude on the given	date $dt

   solar_longitude_from_moment($moment)
       Returns the Sun's longitude on the given	moment $moment

   new_moon_after_from_moment
   new_moon_before_from_moment
   solar_longitude_after
   solar_longitude_after_from_moment
   solar_longitude_before
   solar_longitude_before_from_moment
CONSTANTS
   MEAN_SYNODIC_MONTH
       Mean time (in moment) between new moons

   MEAN_TROPICAL_YEAR
       Mean time (in moment) between a full year (time for the Earth to	go
       around the sun)

LICENSE
       This library is available under Artistic	License	v2, and	is:

	   Copyright (C) 2012  Daisuke Maki C<<	<daisuke@endeworks.jp> >>

AUTHOR
       Daisuke Maki "<daisuke@endeworks.jp>"

perl v5.32.1			  2021-08-26		    DateTime::Astro(3)

NAME | DESCRIPTION | DISCLAIMER | FUNCTIONS | CONSTANTS | LICENSE | AUTHOR

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=DateTime::Astro&sektion=3&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help