My "unthinking" expectation would be that axis applies to the broadcasted arrays, even if it doesn't make statistical sense.

So, I would expect axis=0 to make perfect (non)sense, and I would expect to use axis=1 to get the desired result.

What I'm a bit suspicious about is that reversing the roles of f_obs and f_exp produces completely different results, in this case (one 1D, the other 2D).