Problem
currently the data are np.array(2,len(intensity)), but more standard would probably be np.array(len(intensity),2) , and at that point we could put all the other independent variable axes in the same array to avoid duplication, so np.array(len(q), num_axes)`, something like that. we could use standard that intensity data is in column 0, col 1 is q, col 2 is tth, col 3 is d and so on.
Proposed solution
see above