TimeDecimalYear#

class astropy.time.TimeDecimalYear(val1, val2, scale, precision, in_subfmt, out_subfmt, from_jd=False)[source]#

Bases: TimeNumeric

Time as a decimal year, with integer values corresponding to midnight of the first day of each year.

The fractional part represents the exact fraction of the year, considering the precise number of days in the year (365 or 366). The following example shows essentially how the decimal year is computed:

>>> from astropy.time import Time
>>> tm = Time("2024-04-05T12:34:00")
>>> tm0 = Time("2024-01-01T00:00:00")
>>> tm1 = Time("2025-01-01T00:00:00")
>>> print(2024 + (tm.jd - tm0.jd) / (tm1.jd - tm0.jd))  
2024.2609934729812
>>> print(tm.decimalyear)  
2024.2609934729812

Since for this format the length of the year varies between 365 and 366 days, it is not possible to use Quantity input, in which a year is always 365.25 days.

This format is convenient for low-precision applications or for plotting data.

Attributes Summary

in_subfmt

jd1

jd2

name

out_subfmt

precision

scale

Time scale.

subfmts

value

Return time representation from internal jd1 and jd2.

Methods Summary

fill_value(subfmt)

Return a value corresponding to J2000 (2000-01-01 12:00:00) in this format.

set_jds(val1, val2)

Set internal jd1 and jd2 from val1 and val2.

to_value(**kwargs)

Return time representation from internal jd1 and jd2.

Attributes Documentation

in_subfmt#
jd1#
jd2#
name = 'decimalyear'#
out_subfmt#
precision#
scale#

Time scale.

subfmts = (('float', <class 'numpy.float64'>, None, <ufunc 'add'>), ('long', <class 'numpy.longdouble'>, <function longdouble_to_twoval>, <function twoval_to_longdouble>), ('decimal', <class 'numpy.object_'>, <numpy.vectorize object>, <numpy.vectorize object>), ('str', <class 'numpy.str_'>, <numpy.vectorize object>, <numpy.vectorize object>), ('bytes', <class 'numpy.bytes_'>, <numpy.vectorize object>, <numpy.vectorize object>))#
value#

Methods Documentation

classmethod fill_value(subfmt)#

Return a value corresponding to J2000 (2000-01-01 12:00:00) in this format.

This is used as a fill value for masked arrays to ensure that any ERFA operations on the masked array will not fail due to the masked value.

set_jds(val1, val2)[source]#

Set internal jd1 and jd2 from val1 and val2. Must be provided by derived classes.

to_value(**kwargs)[source]#

Return time representation from internal jd1 and jd2. Subclasses that require parent or to adjust the jds should override this method.