On Thursday 29 March 2007 14:09:38 Bryce Hendrix wrote:
I really should widen my tests before proclaiming success... If you change the default units to "feet", the result of concatenating two UnitArrays instances with "meters" units is a UnitArray with "feet".
Not a surprise at all, and I should have thought about it:
concatenate creates a plain ndarray first and ends up calling Unit_array.__array_finalize__. As the caller has no unit yet (it's a plain ndarray), the result gets the Unit_array.default_unit.
That's why you should really write a custom concatenate function that checks the units of its inputs, and sets the unit of the output accordingly.