Skip to content

Clip beam projections before multiplying by irradiance - #2913

Closed
Noumenon-ai wants to merge 2 commits into
pvlib:mainfrom
Noumenon-ai:fixit/issue-2903
Closed

Noumenon-ai wants to merge 2 commits into
pvlib:mainfrom
Noumenon-ai:fixit/issue-2903

Conversation

@Noumenon-ai

@Noumenon-ai Noumenon-ai commented Oct 21, 2026 •

Copy link
Copy Markdown
  • Closes Possibility of beam irradiance from behind plane of array #2903
  • I am familiar with the contributing guidelines
  • I attest that all AI-generated material has been vetted for accuracy and is in compliance with the pvlib license
  • Tests added
  • Adds description and name entries in the appropriate "what's new" file in 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`).
  • New code is fully documented. Includes numpydoc compliant docstrings, examples, and comments where necessary.
  • Pull request is nearly complete and ready for detailed review.
  • Maintainer: Appropriate GitHub Labels (including remote-data) and Milestone are assigned to the Pull Request and linked Issue.

No API changes, so the reference docs item is removed.

Negative DNI measurements produce positive beam irradiance when the sun is behind the array.
Cause: beam_component and poa_components clip the irradiance product instead of the solar projection.
Fix: clip the projection (cosine of AOI) at zero first, then multiply by DNI, so beam is zero whenever the sun is behind the surface.
Coverage: regression tests for both functions with numpy arrays and pandas Series.

@github-actions

Copy link
Copy Markdown

Hey @Noumenon-ai! 🎉

Thanks for opening your first pull request! We appreciate your
contribution. Please ensure you have reviewed and understood the
contributing guidelines.

If AI is used for any portion of this PR, you must vet the content
for technical accuracy.

Finally, be sure the PR description includes the PR
checklist,
and complete the items you are able to.

@RDaxini RDaxini left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Finally, be sure the PR description includes the PR checklist, and complete the items you are able to.

This PR is not in compliance with the contributing guidelines and may be closed if the guidelines are not followed.

As far as I understand, #2903 never discussed changing the variable name beam into projection either, which gives me the impression that the following guideline:

If AI is used for any portion of this PR, you must vet the content for technical accuracy.

was also not followed because this appears to be an automated job with no expert oversight from the contributor.

FYI: Adherence to the basic guidelines at least gives reviewers some confidence in contributor commitment and engagement if they invest the time to review.

@Noumenon-ai

Copy link
Copy Markdown
Author

Thanks for the review, and sorry for the noise. You're right: this was opened by an automated tool, and the fix takes one side of a design question the issue thread hasn't settled. Closing it. If the team agrees on an approach, I'm happy to send a hand-checked PR that follows the guidelines.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Possibility of beam irradiance from behind plane of array

2 participants