Open
Description
Describe the bug
pvlib has a policy that the output type should be as similar as possible to the input type. So, for all scalar input, most functions should return a scalar output. However, some functions return ndim=0 array outputs instead of true scalars. I know this happens with irradiance.perez
, but I think it happens with a handful of functions.
To Reproduce
out = irradiance.perez(40, 180, 118.45831879, 939.95469881,
1321.1655834833093, 10.56413562, 144.76567754,
1.01688136)
assert np.isscalar(out)
Expected behavior
The function should return a scalar, not an ndim=0 array.
Versions:
pvlib.__version__
: 0.6.0pandas.__version__
: manynumpy.__version__
: many- python: many
Additional context
We've previously discussed creating utility functions and decorators to handle type issues like this one. See #635 for example.
The first thing we need to do is catalog which functions exhibit this behavior.