Skip to content

Fetch EOP from IERS via HTTP#313

Draft
attipaci wants to merge 12 commits into
mainfrom
eop-fetch
Draft

Fetch EOP from IERS via HTTP#313
attipaci wants to merge 12 commits into
mainfrom
eop-fetch

Conversation

@attipaci
Copy link
Copy Markdown
Collaborator

@attipaci attipaci commented May 4, 2026

C99 API

Added

  • novas_fetch_eop() -- to obtain cubic spline interpolated EOP from IERS for given Julian Date.
  • novas_fetch_eop_unix() -- to obtain cubic spline interpolated EOP from IERS for a given UNIX time.
  • novas_set_eop_url() / novas_get_eop_url() -- to use alternative (e.g. mirrored) URLs for IERS EOP series, or to check what URLs are currently configured.
  • novas_cleanup_eop() -- to free up resources used for obtaining EOP data from IERS.
  • novas_set_auto_fetch_eop() and novas_is_auto_fetch_eop() -- To control and check whether automatic fetching of EOP values from IERS is allowed if needed.
  • novas_set_leap_list() -- to use a local leap-seconds.list data file (at least until it's expired).
  • novas_leap_lookup() -- to look up leap seconds for a given UNIX time.

Changed

  • novas_set_time() and related functions, and novas_make_frame() changed to fetch EOP values from IERS if the arguments for these are NAN and fetching is allowed.

C++11 API

Added

  • EOP::fetch_for_jd(), EOP::fetch_for_mjd(), EOP::fetch_for(), and EOP::fetch_current() methods.

Changed

  • Time constructors will fetch EOP as needed (if allowed) if dUT1 is undefined (NAN), and the EOP parameter is now optional as a result.
  • EOP values to GeodeticObserver are now optional, and invalid EOP does not invalidate the observer so long as automatic fetching of EOP is allowed.
  • Frame will fetch polar offsets from IERS if the geodetic observer does not provide these, and fetching is allowed.

@attipaci attipaci self-assigned this May 4, 2026
@attipaci attipaci added the enhancement New feature or request label May 4, 2026
@attipaci attipaci added this to the 1.7.0 milestone May 4, 2026
@attipaci attipaci force-pushed the eop-fetch branch 22 times, most recently from c93bb77 to b57179a Compare May 4, 2026 16:16
@codecov
Copy link
Copy Markdown

codecov Bot commented May 4, 2026

Codecov Report

❌ Patch coverage is 71.26437% with 100 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
src/c99/iers.c 78.19% 58 Missing ⚠️
src/cpp/EOP.cpp 6.06% 31 Missing ⚠️
src/cpp/Observer.cpp 73.07% 7 Missing ⚠️
src/cpp/Frame.cpp 71.42% 2 Missing ⚠️
src/c99/frames.c 83.33% 1 Missing ⚠️
src/c99/timescale.c 83.33% 1 Missing ⚠️

📢 Thoughts on this report? Let us know!

@coveralls
Copy link
Copy Markdown

coveralls commented May 4, 2026

Coverage Report for CI Build 25672560778

Coverage decreased (-1.3%) to 97.793%

Details

  • Coverage decreased (-1.3%) from the base build.
  • Patch coverage: 104 uncovered changes across 6 files (251 of 355 lines covered, 70.7%).
  • No coverage regressions found.

Uncovered Changes

File Changed Covered %
src/c99/iers.c 269 211 78.44%
src/cpp/EOP.cpp 37 2 5.41%
src/cpp/Observer.cpp 26 19 73.08%
src/cpp/Frame.cpp 7 5 71.43%
src/c99/frames.c 6 5 83.33%
src/c99/timescale.c 6 5 83.33%

Coverage Regressions

No coverage regressions found.


Coverage Stats

Coverage Status
Relevant Lines: 9698
Covered Lines: 9484
Line Coverage: 97.79%
Coverage Strength: 38619.12 hits per line

💛 - Coveralls

@attipaci attipaci force-pushed the eop-fetch branch 3 times, most recently from aeae2b8 to 8e16826 Compare May 5, 2026 09:44
@attipaci attipaci force-pushed the eop-fetch branch 14 times, most recently from ee70e4d to 6bf2246 Compare May 7, 2026 17:27
@attipaci attipaci force-pushed the eop-fetch branch 3 times, most recently from 6fe3a89 to df0d417 Compare May 11, 2026 13:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants