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

`bifacial.utils.vf_ground_sky_2d` interprets `max_rows` asymmetrically

Open kandersolar opened this issue 2 years ago • 2 comments

Describe the bug vf_ground_sky_2d considers one fewer sky wedge on the right side of the central wedge than it does on the left side.

To Reproduce I added a line print(next_edge) after here: https://github.com/pvlib/pvlib-python/blob/7608eda81d8302d66be6a686f85f9c3eb5cbe955/pvlib/bifacial/utils.py#L170

Then I ran _ = vf_ground_sky_2d(surface_tilt=0, gcr=0.5, x=0.5, pitch=1, height=1, max_rows=3) and got the printed text: [[[0.01598559 0.04556841 0.18086881 0.48507125 0.18086881 0.04556841]]].

Each value in that output describes the VF of a visible sky wedge. The inputs describe a symmetrical system, so the VFs should be symmetrical too, and they are, except one of them is missing... 0.485 for the wedge directly overhead, with three wedges to the left but only two to the right.

Expected behavior I want the number of sky wedges considered in each direction to be equal.

Maybe this is a fencepost problem, and really what I want is effectively a max_wedges parameter instead of max_rows?

kandersolar avatar Sep 20 '23 21:09 kandersolar

k goes from -max_rows to max_rows+1 so the symmetry is for x=0 which is indeed problematic if you intergrate betwen 0 and 1 for a small max_rows. However as max_rows is set to be high enough to neglect the horizon VF, not sure it will change a lot the results.

download (7)

pasquierjb avatar Oct 17 '23 12:10 pasquierjb

Hi @kandersolar, is this issue still open? I would love to contribute to this issue!

Sar-thak-3 avatar Jan 07 '24 08:01 Sar-thak-3