I think instead of doing `numpy.array(w)` here, it would be better to keep `wave_list` as a numpy array to begin with.  I think it would probably (slightly) speed up some of the manipulations you do with wave_list, since you can use numpy functions, which tend to be a bit faster than using python lists.  

But also, it took me a while to figure out why this didn't make the below line with `galsim.integ.int1d` fail.  It turns out to rely on the (to me counter-intuitive) numpy behavior that an array of length 1 times a scalar returns a scalar rather than an array, as I would have expected.