-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Martinez shading factor #2070
Martinez shading factor #2070
Conversation
From NREL paper
Co-Authored-By: Kevin Anderson <57452607+kandersolar@users.noreply.github.com>
Co-Authored-By: Kevin Anderson <57452607+kandersolar@users.noreply.github.com>
Co-Authored-By: Kevin Anderson <57452607+kandersolar@users.noreply.github.com>
Co-Authored-By: Anton Driesse <9001027+adriesse@users.noreply.github.com>
Co-Authored-By: Will Holmgren <william.holmgren@gmail.com> Co-Authored-By: Mark Mikofski <bwana.marko@yahoo.com>
…acking.singleaxis
Co-Authored-By: Cliff Hansen <5393711+cwhanse@users.noreply.github.com>
Ready for another review guys!! @kandersolar @cwhanse and everyone else ^.^ |
I wondered the same thing as I was typing it out :) I more intended to just list the variables in the equations. I'm not saying we should necessarily use that specific function signature (although I see my comment could easily be read that way).
Not widely used, but sometimes used. It is currently available from some transposition models (e.g. Anyway yes I agree, dropping the |
Co-Authored-By: Kevin Anderson <57452607+kandersolar@users.noreply.github.com>
…ls/pvlib-python into martinez-shading-factor
Co-Authored-By: Kevin Anderson <57452607+kandersolar@users.noreply.github.com>
Co-Authored-By: Kevin Anderson <57452607+kandersolar@users.noreply.github.com>
Co-Authored-By: Kevin Anderson <57452607+kandersolar@users.noreply.github.com> Co-Authored-By: Ioannis Sifnaios <88548539+IoannisSifnaios@users.noreply.github.com>
Co-Authored-By: Kevin Anderson <57452607+kandersolar@users.noreply.github.com>
Co-Authored-By: Kevin Anderson <57452607+kandersolar@users.noreply.github.com>
Co-Authored-By: Kevin Anderson <57452607+kandersolar@users.noreply.github.com>
Co-Authored-By: Kevin Anderson <57452607+kandersolar@users.noreply.github.com>
Co-Authored-By: Kevin Anderson <57452607+kandersolar@users.noreply.github.com>
Co-authored-by: Cliff Hansen <cwhanse@sandia.gov>
Thank you very much for your reviews @kandersolar & @cwhanse ❣️ From my side, I think all comments have been addressed. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just minor details
pvlib/shading.py
Outdated
A shading losses power factor for non-monolithic Silicon | ||
modules and arrays with an arbitrary number of bypass diodes. | ||
|
||
This experimental model cancels a fraction of the direct and circumsolar |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't understand what "cancels" means in this context
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've changed the verb to "zeroes":
This experimental model zeroes a fraction of the direct and circumsolar
I may have not translated that correctly. I've seen "to zero" as a verb. Should I reword it to something along This experimental model decreases a fraction of the direct and circumsolar with each shaded block
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's use the word reduces
This experimental model reduces a fraction of the direct and circumsolar with each shaded block
pvlib/shading.py
Outdated
**Blocks terminology:** | ||
|
||
[1]_ defines a *block* as a group of solar cells protected by a bypass | ||
diode. Also, a *block* is shaded when at least one of its cells is shaded. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If one of its cells is "partly" shaded or "completely" shaded?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A block is shaded when at least one of its cells is shaded. A first possibility is to consider that the power of a block is fully cancelled when the block is shaded.
The paper does not specify it, but from the original tests spreadsheet I confirm they are considered shaded if a minimal amount of shade impacts on them.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've added partially to the docstring, thou maybe I shouldn't.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like it! Especially if you've confirmed with the spreadsheet
Co-authored-by: Adam R. Jensen <39184289+AdamRJensen@users.noreply.github.com>
Co-Authored-By: Adam R. Jensen <39184289+AdamRJensen@users.noreply.github.com>
Co-Authored-By: Adam R. Jensen <39184289+AdamRJensen@users.noreply.github.com>
Co-authored-by: Cliff Hansen <cwhanse@sandia.gov>
Great contribution @echedey-ls! |
docs/sphinx/source/reference
for API changes.docs/sphinx/source/whatsnew
for all changes. Includes link to the GitHub Issue with:issue:`num`
or this Pull Request with:pull:`num`
. Includes contributor name and/or GitHub username (link with:ghuser:`user`
).remote-data
) and Milestone are assigned to the Pull Request and linked Issue.Addresses adding the shading model described in #2063, which divides the modules into blocks, i.e. groups of cells protected by bypass diodes. It is applied to the unshaded output power.
Tests have been made with the original paper data, that is not explicitly in the paper.
The most difficult part of this model is documenting the blocks IMO. Please have a look at it.
Docs links