iers 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +64 -0
- data/README.md +4 -3
- data/Rakefile +0 -1
- data/data/Leap_Second.dat +2 -2
- data/data/finals2000A.all +860 -797
- data/lib/iers/configuration.rb +13 -0
- data/lib/iers/data.rb +25 -4
- data/lib/iers/delta_t.rb +61 -18
- data/lib/iers/version.rb +1 -1
- data/lib/iers.rb +7 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 39a64a5333955d6d28a26abc77c01371004f91b8fb8ca4b958f3ac5d415cca13
|
|
4
|
+
data.tar.gz: 1f219ef6f35bc93ab6263832546a3af6534a7d2a29007425cfa54b2abea6c284
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: cd2df5b1019640ac16f44d7289a5af2721fc90bef064785921701992fd6798c96c94ce9ef9f34f69323e79baba9b4d2ab28310520045b18c7ac1332d63fc6b69
|
|
7
|
+
data.tar.gz: 42cc738efcb811f3f01f2de2d303d89b333a33ae394cbacc27f261cda39ab00e8e982ff2e3706eaac93b40a25a0e2522cfeb3d2dfe78c196137f7e3fbb8fd7b0
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,69 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.3.0 - 2026-09-06
|
|
4
|
+
|
|
5
|
+
### Fixed
|
|
6
|
+
|
|
7
|
+
- `DeltaT.at` answers every date in 1972 again. The switch from the Espenak &
|
|
8
|
+
Meeus polynomial to measured data was pinned to 1972-01-01, the start of the
|
|
9
|
+
modern UTC era, but the bundled EOP series only starts at 1973-01-02, so the
|
|
10
|
+
367 days in between belonged to neither source and raised `OutOfRangeError`.
|
|
11
|
+
|
|
12
|
+
### Changed
|
|
13
|
+
|
|
14
|
+
- `DeltaT.at` picks its source by asking what the loaded data actually covers
|
|
15
|
+
rather than by calendar date. The EOP series is used wherever it reaches, the
|
|
16
|
+
polynomial covers the rest of 1800–1986, and only a date outside both raises.
|
|
17
|
+
A configured or extended series therefore moves the seam with it, and no
|
|
18
|
+
fixed date can drift away from the data behind it again.
|
|
19
|
+
|
|
20
|
+
Two consequences for a series that does not span the query. A date past the
|
|
21
|
+
end of a short series now returns a polynomial estimate if it falls before
|
|
22
|
+
1986, where it used to raise; this cannot arise with the bundled data, which
|
|
23
|
+
ends decades beyond 1986. And a date outside both sources now raises with
|
|
24
|
+
a message naming the polynomial range and the series range, instead of the
|
|
25
|
+
EOP range alone, which read as if the caller had asked for something out of
|
|
26
|
+
range when the polynomial covered it.
|
|
27
|
+
|
|
28
|
+
Where the polynomial and the series meet in the bundled data they differ by
|
|
29
|
+
about 61 ms, well inside the polynomial's own error in that era.
|
|
30
|
+
|
|
31
|
+
- Pointing the gem at a different data file now takes effect. `finals_path`,
|
|
32
|
+
`leap_second_path` and `cache_dir` memoised their parse on first read and
|
|
33
|
+
never dropped it, so setting any of them after a lookup kept serving the
|
|
34
|
+
previous file until `IERS.reset!`. Each now invalidates just the data it
|
|
35
|
+
governs; `interpolation`, `sources` and `download_timeout` leave the parse
|
|
36
|
+
in place, since they do not change which file is read, and a `Configuration`
|
|
37
|
+
the gem is not reading through governs nothing.
|
|
38
|
+
|
|
39
|
+
- `Data.clear_cache!` drops the parse along with the files it deletes. It
|
|
40
|
+
removed the cached files and left their contents in memory, so the process
|
|
41
|
+
kept serving a deleted cache while `Data.status` already reported `:bundled`.
|
|
42
|
+
|
|
43
|
+
- `Data.update!` drops the parse for each source as soon as it downloads it.
|
|
44
|
+
It replaced the files on disk but left the old contents in memory, so a
|
|
45
|
+
process that had already read them carried on with the pre-download data.
|
|
46
|
+
|
|
47
|
+
- `OutOfRangeError` raised by `DeltaT.at` no longer carries an
|
|
48
|
+
`available_range`. What the gem can answer is two disjoint spans, and naming
|
|
49
|
+
one of them in a field called available range is the same thing that made the
|
|
50
|
+
old message misleading. The message names both spans; `requested_mjd` is
|
|
51
|
+
unchanged.
|
|
52
|
+
|
|
53
|
+
- `Data.clear_loaded!` raises `ConfigurationError` for a source it does not
|
|
54
|
+
recognise, rather than clearing nothing and reporting success.
|
|
55
|
+
|
|
56
|
+
- `DeltaT.at` consults the EOP series for every query, so a finals file that
|
|
57
|
+
fails to parse now raises `ParseError` even for a date the polynomial owns
|
|
58
|
+
outright, where it used to answer without reading the file. A file that
|
|
59
|
+
parses to no rows is a series covering nothing and still falls back to the
|
|
60
|
+
polynomial. A corrupt data file is worth surfacing whichever query reaches
|
|
61
|
+
it.
|
|
62
|
+
|
|
63
|
+
- Refreshed the bundled `finals2000A.all` and `Leap_Second.dat` snapshots from
|
|
64
|
+
IERS. Final values now extend through 2026-08-27 (previously 2026-06-25) and
|
|
65
|
+
predictions through 2027-09-04 (previously 2027-07-03).
|
|
66
|
+
|
|
3
67
|
## 0.2.0 - 2026-07-25
|
|
4
68
|
|
|
5
69
|
### Added
|
data/README.md
CHANGED
|
@@ -167,9 +167,10 @@ entry.observed? # => true
|
|
|
167
167
|
|
|
168
168
|
### Delta T
|
|
169
169
|
|
|
170
|
-
Compute Delta T (TT − UT1).
|
|
171
|
-
|
|
172
|
-
|
|
170
|
+
Compute Delta T (TT − UT1). Wherever the loaded EOP series reaches, the value is
|
|
171
|
+
derived from IERS data. Outside it, Espenak & Meeus polynomial approximations
|
|
172
|
+
cover 1800 to 1986. The bundled series starts at MJD 41684 (1973-01-02), so
|
|
173
|
+
earlier dates are estimated; `measured?` and `estimated?` say which you got:
|
|
173
174
|
|
|
174
175
|
```ruby
|
|
175
176
|
entry = IERS::DeltaT.at(Time.utc(2020, 6, 15))
|
data/Rakefile
CHANGED
data/data/Leap_Second.dat
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# Value of TAI-UTC in second valid beetween the initial value until
|
|
2
2
|
# the epoch given on the next line. The last line reads that NO
|
|
3
3
|
# leap second was introduced since the corresponding date
|
|
4
|
-
# Updated through IERS Bulletin
|
|
4
|
+
# Updated through IERS Bulletin 72 issued in July 2026
|
|
5
5
|
#
|
|
6
6
|
#
|
|
7
|
-
# File expires on 28
|
|
7
|
+
# File expires on 28 June 2027
|
|
8
8
|
#
|
|
9
9
|
#
|
|
10
10
|
# MJD Date TAI-UTC (s)
|