>>> print cube.coord('time')[0]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/project/avd/iris/live/pre-release/iris/coords.py", line 546, in __str__
points = self._str_dates(self.points)
File "/project/avd/iris/live/pre-release/iris/coords.py", line 529, in _str_dates
date_obj_array = self.units.num2date(dates_as_numbers)
File "/project/avd/iris/live/pre-release/iris/unit.py", line 1981, in num2date
cdf_utime = self.utime()
File "/project/avd/iris/live/pre-release/iris/unit.py", line 1902, in utime
return netcdftime.utime(str(self).rstrip(" UTC"), self.calendar)
File "/usr/local/sci/lib/python2.7/site-packages/netcdftime.py", line 609, in __init__
units, tzoffset, self.origin = _dateparse(unit_string)
File "/usr/local/sci/lib/python2.7/site-packages/netcdftime.py", line 463, in _dateparse
raise ValueError("units must be one of 'seconds', 'minutes', 'hours' or 'days' (or singular version of these), got '%s'" % units)
ValueError: units must be one of 'seconds', 'minutes', 'hours' or 'days' (or singular version of these), got 'months'
'seconds', 'minutes', 'hours' or 'days'".
>>> print c[0].coord('time')
Traceback (most recent call last):
File "<pyshell#18>", line 1, in <module>
print c[0].coord('time')
File "/opt/ukmo/iris/default/linux64/site-packages/iris/coords.py", line 555, in __str__
points = self._str_dates(self.points)
File "/opt/ukmo/iris/default/linux64/site-packages/iris/coords.py", line 543, in _str_dates
date_obj_array, formatter={'numpystr': str}, **kwargs)
File "/usr/local/sci/lib/python2.7/site-packages/numpy/core/arrayprint.py", line 454, in array2string
separator, prefix, formatter=formatter)
File "/usr/local/sci/lib/python2.7/site-packages/numpy/core/arrayprint.py", line 328, in _array2string
_summaryEdgeItems, summary_insert)[:-1]
File "/usr/local/sci/lib/python2.7/site-packages/numpy/core/arrayprint.py", line 500, in _formatArray
word = format_function(a[-1])
File "/usr/local/sci/lib/python2.7/site-packages/netcdftime.py", line 51, in __repr__
return self.strftime(self.format)
File "/usr/local/sci/lib/python2.7/site-packages/netcdftime.py", line 47, in strftime
return _strftime(self,format)
File "/usr/local/sci/lib/python2.7/site-packages/netcdftime.py", line 864, in _strftime
s1 = time.strftime(fmt, (year,) + timetuple[1:])
ValueError: day of month out of range
>>> print c[0].coord('time').points
[ 2.20752000e+08]
>>> print c[0].coord('time').units
seconds since 1976-01-01 00:00:00
>>> ap.iris.__version__
'1.8.1'
I guess no-one thought it was important that printing a cube fails gracefully.
--------------------------------------------------------------------------- ValueError Traceback (most recent call last) <ipython-input-138-e806e4f44a2b> in <module>() 2 woa=woa[0] 3 ----> 4 print(woa) /opt/niwa/anaconda/Anaconda-2.4.1-Python-2.7/lib/python2.7/site-packages/iris/cube.py in __str__(self) 2128 return self.summary() 2129 else: -> 2130 return self.summary().encode(errors='replace') 2131 2132 def __unicode__(self): /opt/niwa/anaconda/Anaconda-2.4.1-Python-2.7/lib/python2.7/site-packages/iris/cube.py in summary(self, shorten, name_padding) 2028 if coord.units.is_time_reference(): 2029 coord_cell_cpoint = coord.units.num2date( -> 2030 coord_cell.point) 2031 if coord_cell.bound is not None: 2032 coord_cell_cbound = coord.units.num2date( /opt/niwa/anaconda/Anaconda-2.4.1-Python-2.7/lib/python2.7/site-packages/cf_units/__init__.pyc in num2date(self, time_value) 2072 2073 """ -> 2074 cdf_utime = self.utime() 2075 return cdf_utime.num2date(time_value) /opt/niwa/anaconda/Anaconda-2.4.1-Python-2.7/lib/python2.7/site-packages/cf_units/__init__.pyc in utime(self) 1993 if self.calendar is None: 1994 raise ValueError('Unit has undefined calendar') -> 1995 return netcdftime.utime(str(self).rstrip(" UTC"), self.calendar) 1996 1997 def date2num(self, date): /opt/niwa/anaconda/Anaconda-2.4.1-Python-2.7/lib/python2.7/site-packages/netcdftime/netcdftime.pyc in __init__(self, unit_string, calendar) 664 raise ValueError( 665 "calendar must be one of %s, got '%s'" % (str(_calendars), calendar)) --> 666 units, tzoffset, self.origin = _dateparse(unit_string) 667 self.tzoffset = tzoffset # time zone offset in minutes 668 self.units = units /opt/niwa/anaconda/Anaconda-2.4.1-Python-2.7/lib/python2.7/site-packages/netcdftime/netcdftime.pyc in _dateparse(timestr) 512 if units not in _units: 513 raise ValueError( --> 514 "units must be one of 'seconds', 'minutes', 'hours' or 'days' (or singular version of these), got '%s'" % units) 515 if timestr_split[1].lower() != 'since': 516 raise ValueError("no 'since' in unit_string")
ValueError: units must be one of 'seconds', 'minutes', 'hours' or 'days' (or singular version of these), got 'months'