[AstroPy] Time/IERS Question

Erik Tollerud erik.tollerud at gmail.com
Wed Dec 16 13:23:20 EST 2015

Hi Josh,

The short answer here is that it probably should work just the way you're
thinking, but that hasn't been implemented yet. See
https://github.com/astropy/astropy/issues/3275 for some background.

The longer answer is that it's not entirely clear how *often* they should
be downloaded.  In *theory* it should be downloaded every time, because the
IERS A predictions are based on earth-based observations, and so they are
updated at irregular intervals (~1 week).  For almost all applications, the
predictions are more than good enough up to the end of when they're valid
(I think that's 21 days, although I can't recall for sure).

So probably the best solution, and one that would be *nice* to have in
Astropy would be to have the IERS A be cached in a way that expires after
maybe a week or so, and is only re-downloaded after that.  Unfortunately,
that requires some changes to the caching machinery, which we simply
haven't had time to do.  But certainly anyone is welcome to take a shot at
getting this in for Astropy 1.2 - I would love to see it, personally, and
might get to it, but I say that about a lot of things...

Erik T

On Tue, Dec 1, 2015 at 6:10 PM, Josh Walawender <jmwalawender at gmail.com>

> Hi all,
> I’m getting some behavior I don’t understand from astropy.time.  I’m
> trying to make a quick tool for printing out the current time in UT, MJD,
> and sidereal (LMST).  When I run it, I get an error on the step of
> calculating the sidereal time:
> LST_string = now.sidereal_time('mean').to_string(sep=':',  precision=1)
> Traceback (most recent call last):
>   File "time_example.py", line 20, in <module>
>     LST_string = now.sidereal_time('mean').to_string(sep=':',  precision=1)
>   File
> "/Users/joshw/anaconda/lib/python2.7/site-packages/astropy/time/core.py",
> line 523, in sidereal_time
>     gst = self._erfa_sidereal_time(available_models[model.upper()])
>   File
> "/Users/joshw/anaconda/lib/python2.7/site-packages/astropy/time/core.py",
> line 539, in _erfa_sidereal_time
>     for jd_part in ('jd1', 'jd2')]
>   File
> "/Users/joshw/anaconda/lib/python2.7/site-packages/astropy/time/core.py",
> line 704, in __getattr__
>     tm._set_scale(attr)
>   File
> "/Users/joshw/anaconda/lib/python2.7/site-packages/astropy/time/core.py",
> line 372, in _set_scale
>     args.append(get_dt(jd1, jd2))
>   File
> "/Users/joshw/anaconda/lib/python2.7/site-packages/astropy/time/core.py",
> line 834, in _get_delta_ut1_utc
>     delta = iers_table.ut1_utc(jd1, jd2)
>   File
> "/Users/joshw/anaconda/lib/python2.7/site-packages/astropy/utils/iers/iers.py",
> line 234, in ut1_utc
>     raise IndexError('(some) times are outside of range covered '
> IndexError: (some) times are outside of range covered by IERS table.
> When I go ahead and download the IERS table using the tools in astroplan:
> from astroplan import download_IERS_A
> download_IERS_A()
> the code works.  But I need to do this download every time I run the code
> which is time consuming on code that I want to run many times.  Shouldn’t
> this be cached?
> Any idea why the download is needed every time?
> thanks!
> Josh
> P.S.  Entire code is pasted in below:
> from datetime import datetime as dt
> from astropy.time import Time
> from astropy.coordinates import EarthLocation
> import astropy.units as u
> # from astroplan import download_IERS_A
> # download_IERS_A()
> utnow = dt.utcnow()
> subaru = EarthLocation.from_geodetic(-155.476111111*u.degree,\
>                                      19.8255555556*u.degree,\
>                                      height=4139.0*u.meter)
> now = Time(utnow, location=subaru)
> UTC_string = utnow.strftime('%H:%M:%S.%f')
> print(UTC_string)
> MJD_string = '{:20.8f}'.format(now.mjd)
> print(MJD_string)
> LST_string = now.sidereal_time('mean').to_string(sep=':',  precision=1)
> print(LST_string)
> _______________________________________________
> AstroPy mailing list
> AstroPy at scipy.org
> https://mail.scipy.org/mailman/listinfo/astropy
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/astropy/attachments/20151216/508d254f/attachment.html>

More information about the AstroPy mailing list