astropy: IERS error when converting to altaz

When writing this code with Python 3.6 and Astropy v2.0.2:

from astropy import coordinates as coord
import astropy.units as u
from astropy import time

vega = coord.SkyCoord.from_name('Vega')

loc = coord.EarthLocation(lon=0.1 * u.deg,
                          lat=51.5 * u.deg)

obstime = time.Time(57734.1231, format='mjd')

altaz = coord.AltAz(location=loc, obstime=obstime)

vega_altaz = vega.transform_to(altaz)

I get this error:

---------------------------------------------------------------------------
IndexError                                Traceback (most recent call last)
/Users/elliannaschwab/anaconda/lib/python3.6/site-packages/astropy/io/ascii/core.py in _convert_vals(self, cols)
    956                 try:
--> 957                     converter_func, converter_type = col.converters[0]
    958                     if not issubclass(converter_type, col.type):

IndexError: list index out of range

During handling of the above exception, another exception occurred:

ValueError                                Traceback (most recent call last)
<ipython-input-23-5540b2e880c6> in <module>()
     10 altaz = coord.AltAz(location=loc, obstime=time)
     11 
---> 12 vega_altaz = vega.transform_to(altaz)
     13 vega_altaz.alt

/Users/elliannaschwab/anaconda/lib/python3.6/site-packages/astropy/coordinates/sky_coordinate.py in transform_to(self, frame, merge_attributes)
    479         # Do the transformation, returning a coordinate frame of the desired
    480         # final type (not generic).
--> 481         new_coord = trans(self.frame, generic_frame)
    482 
    483         # Finally make the new SkyCoord object from the `new_coord` and

/Users/elliannaschwab/anaconda/lib/python3.6/site-packages/astropy/coordinates/transformations.py in __call__(self, fromcoord, toframe)
   1312 
   1313             curr_toframe = t.tosys(**frattrs)
-> 1314             curr_coord = t(curr_coord, curr_toframe)
   1315 
   1316         # this is safe even in the case where self.transforms is empty, because

/Users/elliannaschwab/anaconda/lib/python3.6/site-packages/astropy/coordinates/transformations.py in __call__(self, fromcoord, toframe)
    912             return reprwithoutdiff.realize_frame(reprwithdiff)
    913         else:
--> 914             return supcall(fromcoord, toframe)
    915 
    916 

/Users/elliannaschwab/anaconda/lib/python3.6/site-packages/astropy/coordinates/builtin_frames/cirs_observed_transforms.py in cirs_to_altaz(cirs_coo, altaz_frame)
     51 
     52     lon, lat, height = altaz_frame.location.to_geodetic('WGS84')
---> 53     xp, yp = get_polar_motion(obstime)
     54 
     55     # first set up the astrometry context for CIRS<->AltAz

/Users/elliannaschwab/anaconda/lib/python3.6/site-packages/astropy/coordinates/builtin_frames/utils.py in get_polar_motion(time)
     41     """
     42     # Get the polar motion from the IERS table
---> 43     xp, yp, status = iers.IERS_Auto.open().pm_xy(time, return_status=True)
     44 
     45     wmsg = None

/Users/elliannaschwab/anaconda/lib/python3.6/site-packages/astropy/utils/iers/iers.py in open(cls)
    586             return cls.iers_table
    587 
--> 588         cls.iers_table = cls.read(file=filename)
    589         cls.iers_table.meta['data_url'] = str(conf.iers_auto_url)
    590 

/Users/elliannaschwab/anaconda/lib/python3.6/site-packages/astropy/utils/iers/iers.py in read(cls, file, readme)
    455         # Read in as a regular Table, including possible masked columns.
    456         # Columns will be filled and converted to Quantity in cls.__init__.
--> 457         iers_a = Table.read(file, format='cds', readme=readme)
    458 
    459         # Combine the A and B data for UT1-UTC and PM columns

/Users/elliannaschwab/anaconda/lib/python3.6/site-packages/astropy/table/table.py in read(cls, *args, **kwargs)
   2519         passed through to the underlying data reader (e.g. `~astropy.io.ascii.read`).
   2520         """
-> 2521         out = io_registry.read(cls, *args, **kwargs)
   2522         # For some readers (e.g., ascii.ecsv), the returned `out` class is not
   2523         # guaranteed to be the same as the desired output `cls`.  If so,

/Users/elliannaschwab/anaconda/lib/python3.6/site-packages/astropy/io/registry.py in read(cls, *args, **kwargs)
    529 
    530         reader = get_reader(format, cls)
--> 531         data = reader(*args, **kwargs)
    532 
    533         if not isinstance(data, cls):

/Users/elliannaschwab/anaconda/lib/python3.6/site-packages/astropy/io/ascii/connect.py in io_read(format, filename, **kwargs)
     37     from .ui import read
     38     format = re.sub(r'^ascii\.', '', format)
---> 39     return read(filename, format=format, **kwargs)
     40 
     41 

/Users/elliannaschwab/anaconda/lib/python3.6/site-packages/astropy/io/ascii/ui.py in read(table, guess, **kwargs)
    351                                              ' with fast (no guessing)'})
    352         else:
--> 353             dat = reader.read(table)
    354             _read_trace.append({'kwargs': new_kwargs,
    355                                 'status': 'Success with specified Reader class '

/Users/elliannaschwab/anaconda/lib/python3.6/site-packages/astropy/io/ascii/cds.py in read(self, table)
    320                     return table
    321         else:
--> 322             return super(Cds, self).read(table)

/Users/elliannaschwab/anaconda/lib/python3.6/site-packages/astropy/io/ascii/core.py in read(self, table)
   1200         if hasattr(self.header, 'table_meta'):
   1201             self.meta['table'].update(self.header.table_meta)
-> 1202         table = self.outputter(cols, self.meta)
   1203         self.cols = self.header.cols
   1204 

/Users/elliannaschwab/anaconda/lib/python3.6/site-packages/astropy/io/ascii/core.py in __call__(self, cols, meta)
    986         # Sets col.data to numpy array and col.type to io.ascii Type class (e.g.
    987         # FloatType) for each col.
--> 988         self._convert_vals(cols)
    989 
    990         # If there are any values that were filled and tagged with a mask bit then this

/Users/elliannaschwab/anaconda/lib/python3.6/site-packages/astropy/io/ascii/core.py in _convert_vals(self, cols)
    971                     last_err = err
    972                 except IndexError:
--> 973                     raise ValueError('Column {} failed to convert: {}'.format(col.name, last_err))
    974 
    975 

ValueError: Column year failed to convert: invalid literal for int() with base 10: '<h'


About this issue

  • Original URL
  • State: closed
  • Created 7 years ago
  • Comments: 20 (7 by maintainers)

Most upvoted comments

@pllim I installed Anaconda3 and basically started python3 from Anaconda bin directory and was able to execute the code.

Apparently you were right.Something in my system is not right. Thank you for your help.

@mshemuni , any chance you can use conda to create a fresh environment and see if the problem goes away? This might be also something incompatible hiding in your installation library…

@adrn sorry for not responding earlier, but yes clearing cache fixed the issue, thank you!