pyclaw
                                
                                 pyclaw copied to clipboard
                                
                                    pyclaw copied to clipboard
                            
                            
                            
                        On Travis, either h5py or mpi breaks
PyClaw is now compatible with Python 3, but some tests are failing on Travis because h5py fails to import there; see this test build, with the error
$ python -c "from clawpack.pyclaw import io; io.hdf5"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
AttributeError: module 'clawpack.pyclaw.io' has no attribute 'hdf5'
@ahmadia can you lend a hand here? Do we need to add something to the hashdist stack? On my laptop I have no problem installing h5py for Python 3 and all the tests pass.
Sorry; nevermind -- pip install h5py is all that was needed (although that revealed some hdf5 issues due to Python 3 changes).
Do you mean our issues or hdf5 issues?
Our issues. I solved that, but now there is something wrong with the Python 3 parallel builds...
Okay, I reopened and renamed this. I can get hdf5 working and the serial tests passing by doing
pip install h5py
in .travis.yml; see this build: https://travis-ci.org/clawpack/pyclaw/builds/185434113
which is based on this branch: https://github.com/clawpack/pyclaw/pull/553.
Unfortunately, as you can also see there, this seems to break the parallel builds as described in https://github.com/clawpack/pyclaw/issues/554.
@ahmadia can you help me out here?
I get the following error in my iMac (OS Yosemite 10.10.5) and Linux 16.04. Both have Python 3.5 installed. h5py version 2.6.0 comes with Anaconda 3.
======================================================================
ERROR: examples.euler_3d.Sedov({'solver_type': 'classic', 'num_cells': (16, 16, 16), 'num_output_times': 1, 'outdir': './_sedov_test_results'})
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/hadjimy/programs/anaconda/lib/python3.5/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/Users/hadjimy/programs/clawpack/clawpack/pyclaw/util.py", line 175, in <lambda>
    test = lambda: test_app(application, verifier, test_kwargs)
  File "/Users/hadjimy/programs/clawpack/clawpack/pyclaw/util.py", line 240, in test_app
    claw.run()
  File "/Users/hadjimy/programs/clawpack/clawpack/pyclaw/controller.py", line 354, in run
    self.output_options)
  File "/Users/hadjimy/programs/clawpack/clawpack/pyclaw/solution.py", line 295, in write
    options=options,write_p=write_p)
  File "/Users/hadjimy/programs/clawpack/clawpack/pyclaw/io/hdf5.py", line 123, in write
    subgroup.attrs['dimensions'] = patch.get_dim_attribute('name')
  File "h5py/_objects.pyx", line 54, in h5py._objects.with_phil.wrapper (/Users/ilan/minonda/conda-bld/work/h5py/_objects.c:2696)
  File "h5py/_objects.pyx", line 55, in h5py._objects.with_phil.wrapper (/Users/ilan/minonda/conda-bld/work/h5py/_objects.c:2654)
  File "/Users/hadjimy/programs/anaconda/lib/python3.5/site-packages/h5py/_hl/attrs.py", line 93, in __setitem__
    self.create(name, data=value, dtype=base.guess_dtype(value))
  File "/Users/hadjimy/programs/anaconda/lib/python3.5/site-packages/h5py/_hl/attrs.py", line 169, in create
    htype = h5t.py_create(original_dtype, logical=True)
  File "h5py/h5t.pyx", line 1450, in h5py.h5t.py_create (/Users/ilan/minonda/conda-bld/work/h5py/h5t.c:16090)
  File "h5py/h5t.pyx", line 1470, in h5py.h5t.py_create (/Users/ilan/minonda/conda-bld/work/h5py/h5t.c:15924)
  File "h5py/h5t.pyx", line 1531, in h5py.h5t.py_create (/Users/ilan/minonda/conda-bld/work/h5py/h5t.c:15883)
TypeError: No conversion path for dtype: dtype('<U1')
-------------------- >> begin captured stdout << ---------------------
{'use_petsc': False, 'solver_type': 'classic', 'num_cells': (16, 16, 16), 'num_output_times': 1, 'kernel_language': 'Fortran', 'outdir': './_sedov_test_results'}
--------------------- >> end captured stdout << ----------------------
----------------------------------------------------------------------
Ran 63 tests in 34.570s
FAILED (errors=1)
@hadjimy The dtype error is fixed in this patch, which unfortunately breaks other things.