LeapSeconds#

class astropy.utils.iers.LeapSeconds(data=None, masked=False, names=None, dtype=None, meta=None, copy=True, rows=None, copy_indices=True, units=None, descriptions=None, **kwargs)[源代码]#

基类:QTable

闰秒类,保持太古标准差。

该表应包含“year”、“month”、“taiu utc”列。

方法用于从IER初始化表 Leap_Second.dat ,IETF/ntp leap-seconds.list ,或内置ERFA/SOFA,并更新ERFA使用的列表。

笔记

Astropy有一个内置的 iers.IERS_LEAP_SECONDS_FILE . 最新版本可从 iers.IERS_LEAP_SECONDS_URLiers.LEAP_SECONDS_LIST_URL . 许多系统还存储 leap-seconds.list 供使用 ntp (例如,在Debian/Ubuntu系统上, /usr/share/zoneinfo/leap-seconds.list

若要防止在可用的本地闰秒文件过期时查询internet资源,请设置 iers.conf.auto_download = False 。此操作必须在执行以下任何操作之前完成 Time 与UTC相关的比例转换(例如,从UTC转换为TAI)。

属性摘要

expires 

表的有效性限制。

方法总结

auto_open([files])

尝试获取最新的闰秒列表。

from_erfa([built_in])

从ERFA中的闰秒列表创建表。

from_iers_leap_seconds([file])

从像IERS这样的文件创建一个表 Leap_Second.dat .

from_leap_seconds_list \(文件)

从像IETF这样的文件创建一个表 leap-seconds.list .

open([file, cache])

打开闰秒列表。

update_erfa_leap_seconds([initialize_erfa])

将不存在的任何闰秒添加到ERFA表中。

属性文档

expires#

表的有效性限制。

方法文件

classmethod auto_open(files=None)[源代码]#

尝试获取最新的闰秒列表。

例程将按顺序尝试这些文件,直到找到一个过期日期为“足够好”的文件(见下文)。如果没有一个足够好,它将返回最新过期日期的文件,如果该文件已过期,则会发出警告。

对于已缓存的远程文件,先尝试缓存的文件,然后再尝试检索它。

参数:
files : listpath-like object ,可选PYTHON:PATH-LIKE对象列表,可选

要尝试打开的文件/URL的列表。默认情况下,使用 cls._auto_open_files .

返回:
leap_secondsLeapSecondsLeapSeconds

最新闰秒表

笔记

公告C在可能的闰秒引入后10天发布,即1月中旬或7月中旬。因此,有效期通常至少在现在之后150天。我们查找过期超过180的文件- auto_max_age 在现在之后。

classmethod from_erfa(built_in=False)[源代码]#

从ERFA中的闰秒列表创建表。

参数:
built_in : bool布尔

如果 False (默认),检索ERFA当前使用的列表,该列表可能已更新。如果 True ,检索erfa附带的列表。

classmethod from_iers_leap_seconds(file='/xpy/lib/python3.11/site-packages/astropy_iers_data/data/Leap_Second.dat')[源代码]#

从像IERS这样的文件创建一个表 Leap_Second.dat .

参数:
file : path-like object ,可选Python:类似路径的对象,可选

以与IER使用的格式一致的格式保存闰秒数据的文件的完整本地或网络路径。默认情况下,使用 iers.IERS_LEAP_SECOND_FILE .

笔记

文件 must 在注释行中包含到期日期,如“文件于2020年6月28日到期”

classmethod from_leap_seconds_list(file)[源代码]#

从像IETF这样的文件创建一个表 leap-seconds.list .

参数:
file : path-like object ,可选Python:类似路径的对象,可选

以与IETF使用的格式一致的格式保存闰秒数据的文件的完整本地或网络路径。最新版本可以从 iers.IETF_LEAP_SECOND_URL .

笔记

文件 must 在注释行中包含到期日期,如“#文件到期日期:2020年6月28日”

classmethod open(file=None, cache=False)[源代码]#

打开闰秒列表。

参数:
file : path-like objectNonePYTHON:类似路径的对象或PYTHON:无

保存闰秒数据的文件的完整本地或网络路径,用于传递到 from_ 类方法。如果为“erfa”,则返回erfa库使用的数据。如果 None ,使用文件和配置中的默认位置查找未过期的表。

cache : bool布尔

是否使用缓存。默认为False,因为闰秒文件会定期更新。

返回:
leap_secondsLeapSecondsLeapSeconds

包含“年”、“月”和“太古utc”列的表,以及可能的其他列。

笔记

公告C在可能的闰秒引入后10天发布,即1月中旬或7月中旬。因此,有效期通常至少在现在之后150天。对于自动加载,一个由astropy附带的表和文件和url组成的列表 Conf 尝试,返回第一个足够新的,或其中最新的。

update_erfa_leap_seconds(initialize_erfa=False)[源代码]#

将不存在的任何闰秒添加到ERFA表中。

此方法将闰秒与ERFA表中的闰秒匹配,并根据需要扩展后者。

参数:
initialize_erfa : bool ,或“只”,或“空”bool,或“only”或“empty”

在尝试展开ERFA leap second表之前,将其初始化为其内置值。这通常是不需要的,但有助于防止它以某种方式被破坏。如果等于'only',则重新初始化ERFA表,并且不尝试更新它。如果“empty”,则闰秒表在更新前被清空,也就是说,它会被完全覆盖(注意,这可能会以令人惊讶的方式破坏某些东西,因为大多数闰秒表不包括1970年以前的伪闰秒;我们警告过您)。

返回:
n_update : intPython :整型

更新的项目数。

加薪:
ValueError

如果表中的闰秒不在1月1日或7月1日,或者如果匹配不一致。这通常会表明Leap Second表已损坏,但也可能表示ERFA表已损坏。如果需要,可以通过使用适当的值调用此方法来重置ERFA表 initialize_erfa