Skip to content

Instantly share code, notes, and snippets.

@blazetopher
Created January 24, 2013 16:10
Show Gist options
  • Save blazetopher/4624066 to your computer and use it in GitHub Desktop.
Save blazetopher/4624066 to your computer and use it in GitHub Desktop.
><> from coverage_model import *
><> from coverage_model.recovery import CoverageDoctor
><> cov=SimplexCoverage.load('test_data/6eced7e8466f4d70a5d8febe0b9178f2')
---------------------------------------------------------------------------
IOError Traceback (most recent call last)
/Users/cmueller/Development/OOI/Dev/code/coverage-model/extern/pyon/scripts/pycc.pyc in <module>()
----> 1 cov=SimplexCoverage.load('test_data/6eced7e8466f4d70a5d8febe0b9178f2')
/Users/cmueller/Development/OOI/Dev/code/coverage-model/coverage_model/coverage.pyc in load(cls, root_dir, persistence_guid, mode)
104 raise ValueError('\'persistence_guid\' must be a string')
105
--> 106 return SimplexCoverage(root_dir, persistence_guid, mode=mode)
107
108 @classmethod
/Users/cmueller/Development/OOI/Dev/code/coverage-model/coverage_model/coverage.pyc in __init__(self, root_dir, persistence_guid, name, parameter_dictionary, temporal_domain, spatial_domain, mode, in_memory_storage, bricking_scheme, inline_data_writes, auto_flush_values)
270 if name is None or parameter_dictionary is None:
271 # This appears to be a load
--> 272 _doload(self)
273
274 else:
/Users/cmueller/Development/OOI/Dev/code/coverage-model/coverage_model/coverage.pyc in _doload(self)
244
245 # All appears well - load it up!
--> 246 self._persistence_layer = PersistenceLayer(root_dir, persistence_guid, mode=self.mode)
247
248 self.name = self._persistence_layer.name
/Users/cmueller/Development/OOI/Dev/code/coverage-model/coverage_model/persistence.pyc in __init__(self, root, guid, name, tdom, sdom, mode, bricking_scheme, inline_data_writes, auto_flush_values, **kwargs)
47 root = '.' if root is ('' or None) else root
48
---> 49 self.master_manager = MasterManager(root, guid, name=name, tdom=tdom, sdom=sdom, global_bricking_scheme=bricking_scheme)
50
51 self.mode = mode
/Users/cmueller/Development/OOI/Dev/code/coverage-model/coverage_model/persistence_helpers.pyc in __init__(self, root_dir, guid, **kwargs)
138
139 def __init__(self, root_dir, guid, **kwargs):
--> 140 BaseManager.__init__(self, root_dir=os.path.join(root_dir,guid), file_name='{0}_master.hdf5'.format(guid), **kwargs)
141 self.guid = guid
142
/Users/cmueller/Development/OOI/Dev/code/coverage-model/coverage_model/persistence_helpers.pyc in __init__(self, root_dir, file_name, **kwargs)
37
38 if os.path.exists(self.file_path):
---> 39 self._load()
40
41 for k, v in kwargs.iteritems():
/Users/cmueller/Development/OOI/Dev/code/coverage-model/coverage_model/persistence_helpers.pyc in _load(self)
148 def _load(self):
149 with h5py.File(self.file_path, 'r') as f:
--> 150 self._base_load(f)
151
152 self.param_groups = set()
/Users/cmueller/Development/OOI/Dev/code/coverage-model/coverage_model/persistence_helpers.pyc in _base_load(self, f)
71
72 def _base_load(self, f):
---> 73 for key, val in f.attrs.iteritems():
74 if val.startswith('DICTABLE'):
75 i = val.index('|', 9)
/Users/cmueller/Development/OOI/Dev/code/coverage-model/eggs/h5py-2.1.1a1-py2.7-macosx-10.6-intel.egg/h5py/_hl/base.pyc in iteritems(self)
276 """ Get an iterator over (name, object) pairs """
277 for x in self:
--> 278 yield (x, self[x])
279
280
/Users/cmueller/Development/OOI/Dev/code/coverage-model/eggs/h5py-2.1.1a1-py2.7-macosx-10.6-intel.egg/h5py/_hl/attrs.pyc in __getitem__(self, name)
41
42 arr = numpy.ndarray(attr.shape, dtype=rtdt, order='C')
---> 43 attr.read(arr)
44
45 if len(arr.shape) == 0:
/Users/cmueller/Development/OOI/Dev/code/coverage-model/eggs/h5py-2.1.1a1-py2.7-macosx-10.6-intel.egg/h5py/h5a.so in h5py.h5a.AttrID.read (h5py/h5a.c:4125)()
/Users/cmueller/Development/OOI/Dev/code/coverage-model/eggs/h5py-2.1.1a1-py2.7-macosx-10.6-intel.egg/h5py/_proxy.so in h5py._proxy.attr_rw (h5py/_proxy.c:855)()
IOError: unable to read attribute (Attribute: Read failed)
><> cd=CoverageDoctor('test_data/6eced7e8466f4d70a5d8febe0b9178f2',None,None)
><> ar=cd.analyze()
h5dump(50629) malloc: *** error for object 0x100356e10: pointer being freed was not allocated
*** set a breakpoint in malloc_error_break to debug
><> ar.is_corrupt
--> True
><> cd.repair()
Fixed Master! Original file moved to: test_data/6eced7e8466f4d70a5d8febe0b9178f2/6eced7e8466f4d70a5d8febe0b9178f2_master_orig.hdf5
--> True
><> cov=SimplexCoverage.load('test_data/6eced7e8466f4d70a5d8febe0b9178f2')
><> cov.num_timesteps
--> 9888
><> cov.list_parameters()
-->
['conductivity',
'density',
'driver_timestamp',
'internal_timestamp',
'lat',
'lon',
'port_timestamp',
'preferred_timestamp',
'pressure',
'quality_flag',
'salinity',
'temp',
'time']
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment