You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, UT1-UTC is interpolated linearly in the IERS data, ignoring the effects of tides (which are not included in the tables)..While this is fine for almost all purposes, the recommended procedure is to use a Lagrangian interpolation scheme and include the tides [1]. This is a reminder to implement this in IERS, following the ideas in the fortran code mentioned in [1], after checking what should be done for jumps in UT1-UTC due to leap seconds.
I find myself in a position of needing this rather badly. I've made some progress on getting interp.f ported, but have run in to troubles with the IERS_A code apparently always reporting the IERS_B columns of the finals2000A.all, and completely missing the bit about needing to back out the zonal tides before I put them back in.
#!/usr/bin/python3fromastropy.utilsimportiersfromastropy.timeimportTimet=Time('2017-08-20',format='isot')
iers_a=iers.IERS_A.open()
dX,dY=iers_a.dcip_xy(t)
XP,YP=iers_a.pm_xy(t)
dUT1UTC=iers_a.ut1_utc(t)
# 17 820 57985.00 I 0.228614 0.000009 0.378523 0.000024 I 0.3403042 0.0000064 0.2552 0.0047 I 0.122\0.1340.1790.2080.2285980.3785220.34029290.1500.190print(XP)
print(YP)
print(dX)
print(dY)
print(dUT1UTC)
@mcbeth - yes, this has long been on my list! I'm a bit confused about what problem you have with the columns, though it is certainly the case that the various methods use IERS_B results in preference to those of IERS_A (since IERS_B results are presumably the "final" ones).
But perhaps more importantly, about the backing out of the zonal tides: I looked back at the e-mail exchange I had with Daniel Gambis of the Observatoire de Paris, and he wrote that the corrections that are in the table include the zonal tides already (unlike what the text accompanying interp.f suggests), and one would first take those out (presumably using the RAY routine), then interpolate, and finally add them back again.
I must say that I have partially held back from implementing all this because I wasn't sure how to test that whatever I did was in fact correct... Do you have any way to verify?
Which comes from the USNO (and would be authoritative?). I was hoping to use that as the official comparison, but I just turned in a bug report against the code and its interpretation of the dX/dY terms.
My assumption about IERS_A/B was coming from my reading of that USNO code, as he uses the IERS_A exclusively in his calculations.
So, I've been talking about Tech Note 36 (which I think may be about prediction), and the algorithm you describe is close to Gazette 13 (which I think is about adjusting measurements). I think it's clear that for any moment in the past Gazette 13 is the right thing (what you were guiding me toward).
I've wrapped the fortran code from Gazette 13 using pybind11, so I have evidence that my python versions of the lagrange interpolation and the ray model match to within compiler floating point variability. I'm going to try to incorporate that in to my EOM code and start comparing that against the website I posted from the USNO, see how it goes.
I probably need some of your contacts with IERS to see if I'm crazy, if you don't mind sharing
Don't mind sharing though probably best off-line. You can contact me at <same_username>@astro.utoronto.ca; but the person I contacted was Daniel Gambis (see http://hpiers.obspm.fr/eop-pc/index.php; e-mails in the link under the "director" item of "contact" in the bottom of the page).
p.s. Looking at links to this issue, I see @helgee raised a similar issue about interpolation in the IERS tables for JuliaAstro - @helgee: did you find some official numbers to compare against?
Activity
mhvk commentedon Dec 10, 2013
Mostly so there is a record: from an e-mail exchange with Daniel Gambis (IERS), the recommended procedure is:
The interpolation/tide routine to follow would be ftp://hpiers.obspm.fr/iers/models/interp.f
mhvk commentedon Jan 13, 2015
Cleared milestone as I won't be able to do this for 1.0. It should be done for ultimate precision and is not in itself difficult.
mcbeth commentedon May 20, 2019
I find myself in a position of needing this rather badly. I've made some progress on getting interp.f ported, but have run in to troubles with the IERS_A code apparently always reporting the IERS_B columns of the finals2000A.all, and completely missing the bit about needing to back out the zonal tides before I put them back in.
mhvk commentedon May 20, 2019
@mcbeth - yes, this has long been on my list! I'm a bit confused about what problem you have with the columns, though it is certainly the case that the various methods use IERS_B results in preference to those of IERS_A (since IERS_B results are presumably the "final" ones).
But perhaps more importantly, about the backing out of the zonal tides: I looked back at the e-mail exchange I had with Daniel Gambis of the Observatoire de Paris, and he wrote that the corrections that are in the table include the zonal tides already (unlike what the text accompanying
interp.fsuggests), and one would first take those out (presumably using theRAYroutine), then interpolate, and finally add them back again.I must say that I have partially held back from implementing all this because I wasn't sure how to test that whatever I did was in fact correct... Do you have any way to verify?
mcbeth commentedon May 20, 2019
First, I was hoping to use:
http://maia.usno.navy.mil/t2c36e/t2c36e.html
It provides the EOM instead of the UT1-UTC, so it is a step away from an easy test.
I've also been looking at
https://github.com/USNavalResearchLaboratory/TrackerComponentLibrary/blob/master/Astronomical%20Code/getEOP.m
Which comes from the USNO (and would be authoritative?). I was hoping to use that as the official comparison, but I just turned in a bug report against the code and its interpretation of the dX/dY terms.
My assumption about IERS_A/B was coming from my reading of that USNO code, as he uses the IERS_A exclusively in his calculations.
mcbeth commentedon May 23, 2019
So, I've been talking about Tech Note 36 (which I think may be about prediction), and the algorithm you describe is close to Gazette 13 (which I think is about adjusting measurements). I think it's clear that for any moment in the past Gazette 13 is the right thing (what you were guiding me toward).
I've wrapped the fortran code from Gazette 13 using pybind11, so I have evidence that my python versions of the lagrange interpolation and the ray model match to within compiler floating point variability. I'm going to try to incorporate that in to my EOM code and start comparing that against the website I posted from the USNO, see how it goes.
I probably need some of your contacts with IERS to see if I'm crazy, if you don't mind sharing
mhvk commentedon May 23, 2019
Don't mind sharing though probably best off-line. You can contact me at <same_username>@astro.utoronto.ca; but the person I contacted was Daniel Gambis (see http://hpiers.obspm.fr/eop-pc/index.php; e-mails in the link under the "director" item of "contact" in the bottom of the page).
mhvk commentedon May 23, 2019
p.s. Looking at links to this issue, I see @helgee raised a similar issue about interpolation in the IERS tables for JuliaAstro - @helgee: did you find some official numbers to compare against?
Juan-789 commentedon Mar 9, 2025
Hi, this issue is dead. Wondering if you'd like a hand still?
mhvk commentedon Mar 9, 2025
@Juan-789 - yes, it would be great if someone could implement this!
LoveChauhan-18 commentedon Feb 13, 2026
Hello, I would like to contribute to this issue. Would it be possible to assign it to me?
simolanayak commentedon Apr 27, 2026
Is this still relevant? Any active pull requests?