Metadata-Version: 1.1
Name: jdcal
Version: 1.3
Summary: Julian dates from proleptic Gregorian and Julian calendars.
Home-page: http://github.com/phn/jdcal
Author: Prasanth Nair
Author-email: prasanthhn@gmail.com
License: BSD
Description: jdcal
        =====
        
        .. _TPM: http://www.sal.wisc.edu/~jwp/astro/tpm/tpm.html
        .. _Jeffrey W. Percival: http://www.sal.wisc.edu/~jwp/
        .. _IAU SOFA: http://www.iausofa.org/
        .. _pip: http://pypi.python.org/pypi/pip
        .. _easy_install: packages.python.org/distribute/easy_install.html
        
        .. image:: https://travis-ci.org/phn/jdcal.svg?branch=master
            :target: https://travis-ci.org/phn/jdcal
        
        
        This module contains functions for converting between Julian dates and
        calendar dates.
        
        A function for converting Gregorian calendar dates to Julian dates, and
        another function for converting Julian calendar dates to Julian dates
        are defined. Two functions for the reverse calculations are also
        defined.
        
        Different regions of the world switched to Gregorian calendar from
        Julian calendar on different dates. Having separate functions for Julian
        and Gregorian calendars allow maximum flexibility in choosing the
        relevant calendar.
        
        Julian dates are stored in two floating point numbers (double).  Julian
        dates, and Modified Julian dates, are large numbers. If only one number
        is used, then the precision of the time stored is limited. Using two
        numbers, time can be split in a manner that will allow maximum
        precision. For example, the first number could be the Julian date for
        the beginning of a day and the second number could be the fractional
        day. Calculations that need the latter part can now work with maximum
        precision.
        
        All the above functions are "proleptic". This means that they work for
        dates on which the concerned calendar is not valid. For example,
        Gregorian calendar was not used prior to around October 1582.
        
        A function to test if a given Gregorian calendar year is a leap year is
        also defined.
        
        Zero point of Modified Julian Date (MJD) and the MJD of 2000/1/1
        12:00:00 are also given as module level constants.
        
        Examples
        --------
        
        Some examples are given below. For more information see
        http://oneau.wordpress.com/jdcal/.
        
        Gregorian calendar:
        
        .. code-block:: python
        
            >>> from jdcal import gcal2jd, jd2gcal
            >>> gcal2jd(2000,1,1)
            (2400000.5, 51544.0)
            >>> 2400000.5 + 51544.0 + 0.5
            2451545.0
        
            >>> gcal2jd(2000,2,30)
            (2400000.5, 51604.0)
            >>> gcal2jd(2000,3,1)
            (2400000.5, 51604.0)
            >>> gcal2jd(2001,2,30)
            (2400000.5, 51970.0)
            >>> gcal2jd(2001,3,2)
            (2400000.5, 51970.0)
        
            >>> jd2gcal(*gcal2jd(2000,1,1))
            (2000, 1, 1, 0.0)
            >>> jd2gcal(*gcal2jd(1950,1,1))
            (1950, 1, 1, 0.0)
        
            >>> gcal2jd(2000,1,1)
            (2400000.5, 51544.0)
            >>> jd2gcal(2400000.5, 51544.0)
            (2000, 1, 1, 0.0)
            >>> jd2gcal(2400000.5, 51544.5)
            (2000, 1, 1, 0.5)
            >>> jd2gcal(2400000.5, 51544.245)
            (2000, 1, 1, 0.24500000000261934)
            >>> jd2gcal(2400000.5, 51544.1)
            (2000, 1, 1, 0.099999999998544808)
            >>> jd2gcal(2400000.5, 51544.75)
            (2000, 1, 1, 0.75)
        
        Julian calendar:
        
        .. code-block:: python
        
            >>> jd2jcal(*jcal2jd(2000, 1, 1))
            (2000, 1, 1, 0.0)
            >>> jd2jcal(*jcal2jd(-4000, 10, 11))
            (-4000, 10, 11, 0.0)
        
        Gregorian leap year:
        
        .. code-block:: python
        
            >>> from jdcal import is_leap
            >>> is_leap(2000)
            True
            >>> is_leap(2100)
            False
        
        JD for zero point of MJD, and MJD for JD2000.0:
        
        .. code-block:: python
        
            >>> from jdcal import MJD_0, MJD_JD2000
            >>> print MJD_0
            2400000.5
            >>> print MJD_JD2000
            51544.5
        
        
        Installation
        ------------
        
        The module can be installed using `pip`_ or `easy_install`_::
        
          $ pip install jdcal
        
        or,
        
        ::
        
          $ easy_install jdcal
        
        
        Tests are in ``test_jdcal.py``.
        
        Credits
        --------
        
        1. A good amount of the code is based on the excellent `TPM`_ C library
           by `Jeffrey W. Percival`_.
        2. The inspiration to split Julian dates into two numbers came from the
           `IAU SOFA`_ C library. No code or algorithm from the SOFA library is
           used in `jdcal`.
        
        License
        -------
        
        Released under BSD; see LICENSE.txt.
        
        For comments and suggestions, email to user `prasanthhn` in the `gmail.com`
        domain.
        
        
Platform: UNKNOWN
Classifier: Development Status :: 6 - Mature
Classifier: Intended Audience :: Science/Research
Classifier: Operating System :: OS Independent
Classifier: License :: OSI Approved :: BSD License
Classifier: Topic :: Scientific/Engineering :: Astronomy
Classifier: Programming Language :: Python
