pvlib-python icon indicating copy to clipboard operation
pvlib-python copied to clipboard

Units in pvlib.temperature not complying with styleguide

Open ramaroesilva opened this issue 5 months ago • 4 comments

Describe the bug In pvlib.temperature, several units are missing unicode superscripts, and degrees Celsius are missing the °.

To Reproduce Steps to reproduce the behavior:

  1. Visit documentation

Expected behavior Units following the styling guide recommendations.

Versions:

  • pvlib.__version__: 13.0

Additional context The styling guide mentions dni [Wm⁻²] as an example, but personally I think that units should be separated by ., because letters together usually relate to scale, like kW.

ramaroesilva avatar Jul 30 '25 17:07 ramaroesilva

Also, in pvlib.temperature.ross documentation, would it make sense shift from the original equation and make the 80 denominator become 800 so that S is used in W.m-2? I think it would be more easier to read (since mW/cm-2 is really no longer used) and currently the code includes a 0.1 factor for the irradiance so that the implementation is faithful with the documentation.

ramaroesilva avatar Jul 30 '25 17:07 ramaroesilva

As long as this modification to the equation is stated, or both original and converted eqs are shown, I don't see any drawbacks.

For the superscript, go ahead if you like. Consider a multi-file find and replace to modify [C] in all pvlib.

echedey-ls avatar Jul 31 '25 14:07 echedey-ls

Have a question regarding where units should be placed. In some cases a parameter is described mostly by expanding the short-name used in the code such as

ir_down : numeric, default 0.0 Downwelling infrared radiation from the sky, measured on a horizontal surface. [W.m⁻²]

But when this is followed by some additional context (example below), should the unit be mentioned after the initial description or always at the end of the parameter description? Put the two possibilities below as example

sky_view : numeric, default 1.0 Effective view factor limiting the radiative exchange between the module and the sky [unitless]. For a tilted array the expressions (1 + 3*cos(tilt)) / 4 can be used as a first estimate for sky_view as discussed in [4]_. The default value is for a horizontal module. [unitless]

ramaroesilva avatar Aug 01 '25 20:08 ramaroesilva

Put it at the end of the first "sentence".

cwhanse avatar Aug 01 '25 21:08 cwhanse