Reading-eScience-Centre / pycovjson

Create CovJSON files from common scientific data formats
BSD 3-Clause "New" or "Revised" License
11 stars 7 forks source link

Implement exception handling for time object conversions #45

Open lewismc opened 6 years ago

lewismc commented 6 years ago

The test file can be found here

lmcgibbn@LMC-056430 ~/Desktop $ pycovjson-convert -i SSS_OI_7D_20151482015154_V40.nc -o SSS_OI_7D_20151482015154_V40.nc_sss.covjson -v sss
Error in sitecustomize; set PYTHONVERBOSE for traceback:
KeyError: 'PYTHONPATH'
Failed to decode times encoded in the standard NetCDF datetime format into datetime objects. Attempting less strict opening logic. Reason:  unable to decode time units 'Julian days since December 31, 2010' with the default calendar. Try opening your dataset with decode_times=False.
Successfully opened dataset with less strict logic.
Error: DataArray does not include 'standard name' or 'name'.
Error: DataArray does not include 'standard name' or 'name'.
Error: DataArray does not include 'standard name' or 'name'.
Error: DataArray does not include 'standard name' or 'name'.
Error: DataArray does not include 'standard name' or 'name'.
Error: DataArray does not include 'standard name' or 'name'.
Error: DataArray does not include 'standard name' or 'name'.
Error: DataArray does not include 'standard name' or 'name'.
Error: DataArray does not include 'standard name' or 'name'.
Traceback (most recent call last):
  File "/Users/lmcgibbn/miniconda3/lib/python3.6/site-packages/pandas/core/tools/datetimes.py", line 303, in _convert_listlike
    values, tz = tslib.datetime_to_datetime64(arg)
  File "pandas/_libs/tslib.pyx", line 1880, in pandas._libs.tslib.datetime_to_datetime64
TypeError: Unrecognized value type: <class 'str'>

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/lmcgibbn/miniconda3/bin/pycovjson-convert", line 11, in <module>
    load_entry_point('pycovjson==0.3.9', 'console_scripts', 'pycovjson-convert')()
  File "/Users/lmcgibbn/miniconda3/lib/python3.6/site-packages/pycovjson-0.3.9-py3.6.egg/pycovjson/cli/convert.py", line 66, in main
  File "/Users/lmcgibbn/miniconda3/lib/python3.6/site-packages/pycovjson-0.3.9-py3.6.egg/pycovjson/write.py", line 57, in write
  File "/Users/lmcgibbn/miniconda3/lib/python3.6/site-packages/pycovjson-0.3.9-py3.6.egg/pycovjson/write.py", line 74, in _construct_coverage
  File "/Users/lmcgibbn/miniconda3/lib/python3.6/site-packages/pycovjson-0.3.9-py3.6.egg/pycovjson/write.py", line 92, in _construct_domain
  File "/Users/lmcgibbn/miniconda3/lib/python3.6/site-packages/pycovjson-0.3.9-py3.6.egg/pycovjson/read_netcdf.py", line 415, in get_t
  File "/Users/lmcgibbn/miniconda3/lib/python3.6/site-packages/pycovjson-0.3.9-py3.6.egg/pycovjson/read_netcdf.py", line 314, in convert_time
  File "/Users/lmcgibbn/miniconda3/lib/python3.6/site-packages/pandas/core/tools/datetimes.py", line 382, in to_datetime
    result = _convert_listlike(np.array([arg]), box, format)[0]
  File "/Users/lmcgibbn/miniconda3/lib/python3.6/site-packages/pandas/core/tools/datetimes.py", line 306, in _convert_listlike
    raise e
  File "/Users/lmcgibbn/miniconda3/lib/python3.6/site-packages/pandas/core/tools/datetimes.py", line 294, in _convert_listlike
    require_iso8601=require_iso8601
  File "pandas/_libs/tslib.pyx", line 2152, in pandas._libs.tslib.array_to_datetime
  File "pandas/_libs/tslib.pyx", line 2375, in pandas._libs.tslib.array_to_datetime
  File "pandas/_libs/tslib.pyx", line 2369, in pandas._libs.tslib.array_to_datetime
  File "pandas/_libs/tslibs/parsing.pyx", line 99, in pandas._libs.tslibs.parsing.parse_datetime_string
  File "/Users/lmcgibbn/miniconda3/lib/python3.6/site-packages/dateutil/parser.py", line 1168, in parse
    return DEFAULTPARSER.parse(timestr, **kwargs)
  File "/Users/lmcgibbn/miniconda3/lib/python3.6/site-packages/dateutil/parser.py", line 559, in parse
    raise ValueError("Unknown string format")
ValueError: Unknown string format