Tony S Yu | 30 May 22:48
Favicon

Fipy 2.0a1 with numpy 1.1

Hi,

I just installed numpy 1.1.0 and (after fixing a minor ImportError for  
masked arrays) I get 77 failures and 13 errors from FiPy's `setup.py  
test`. With my previous install (with numpy 1.0.4), I had 1 failure  
(diffusion/anisotropy.py).

Are there plans to make FiPy compatible with numpy 1.1?

I took a crack at making some fixes, but I don't understand the  
internals of FiPy (or the changes in numpy) well enough to do a good  
job. The changes I made should be backwards compatible (I wrapped  
everything in try/except blocks), but I can't actually test it with  
numpy 1.0.4 on my computer.

I've included a diff file with the changes, but the code I added may  
be a little amateurish.

-Tony

Specs:
=====
FiPy 2.0a1 revision 2542
Numpy 1.1.0 (easy_install)
OS X Leopard 10.5.3

Summary of Changes
=================
1) set take to use numpy's masked array `take` function.
	-- 47 failures and 3 errors.

2) modify the take function to skip the call to `filled`
	-- 24 failures and 3 errors.

3) modify /models/levelSet/distanceFunction/distanceVariable.py in  
_calcTrialValue to call argsort array method instead of the argsort  
function.
	-- 12 failures and 1 error.

4) change flat-attribute call to ravel-method call in PeriodicGrid2D.py
	-- 12 failures

5) changes to  `put` function of tools.numerix
	-- 11 failures
	NOTE: I'm not convinced that I actually fixed anything with this  
change. I may have just done enough to pass the test.

Of the remaining 11 failures:
Minor:
=====
* 3 are due to changes in printed representation of integer values
* 3 are due to changes in spacing of printed representation
Major?:
======
* 2 result from values being altered after roundtrip (dump then load)  
through pickle (WTF; doc numpy 1.1 recommends using numpy's dump:  
probably a difficult fix).
* 1 result from something broken in mesh2D _extrude
* 1 results from something broken in grid3D
* 1 is the same problem I had before with diffusion/anisotropy.py

Attachment (numpy1.1_changes.diff): application/octet-stream, 8 KiB


Gmane