-
Notifications
You must be signed in to change notification settings - Fork 32
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
QA methods for plane-of-array irradiance #123
Comments
Hey @cwhanse, I was wondering if I could get started on this one. Is there a particular component you would like to prioritize? Section 6.1 Range limits seems to be interesting. I could not understand how the authors arrived at the upper limit for GTI though. Best, |
Hi @abhisheksparikh yes, please do! It will be a big job to put all of that paper's QC algorithm into code so best to break it up as multiple pull requests. I'd say start with the range limit checks. There's a check for GTI and another for GHI, which gives pvanalytics a second option (with the QCRad code already in place). Putting a second set of range checks will let us adjust the design of |
We can implement the method as published, except when it's clear there's a mistake in the paper, or where we need to close a gap the authors don't describe (such as handling edge cases like zenith=90). My guess, that upper bound on GTI is just a curve that roughly follows the upper edge of a scatterplot the authors made of their data. |
Thanks, Cliff! For cases where the zenith > 75, do you have any recommendations for the lower limit of GHI and GTI? The paper says 0, which I don't think is very realistic. I went to this reference used by the paper - Project ENDORSE, and it mentions about the lower limit as side question: Is |
I would say implement as published (with the discontinuity) and use the first author's name (Lorenz) to identify the method. The ENDORSE method is slightly different, and could be implemented separately if there's interest. We could write Elke to ask if there's a name for this method that she would prefer. I missed the QF=2 and QF=3 distinction when I looked at the paper. pvanalytics has a pattern to return a Series of boolean: True if the test passes, False if it fails. In this case, False means any of QF 1, 2 or 3. We can return an additional Series that gives the QF value at each point. I think your description of |
For testing the
The following image is a sample day, showing the above two observations. From the above observations, I was thinking that while calculating Does this make sense? |
Hi @abhisheksparikh sorry for this delayed response. For this function, I think it is safe to clip I think that night times ( |
Hi @cwhanse - Thank you very much for providing guidance on this. I have created a draft PR implementing the function to check the poa_global (gti). I would like to implement other components as well once I get this one alright. Please excuse me for the PR being a draft one. I still haven't got all the PR requisites checked (mainly editing the Do you have any recommendations on how to edit Abhi |
Also, I used a python notebook while writing those functions. The notebook has some plots which could be useful. What is the best way to share this notebook? Put it in the |
Hello @abhisheksparikh a quick read of the code looks good, thank you! I'll do a detailed review when you switch it to Ready. I edit .rst files in a text editor. I don't use VScode so probably can't help with the errors. The doc pages are built from the PR with a Github action so after we run the CI you can see the pages and make adjustments. If you can convert the notebook to .py, we can add that to |
@abhisheksparikh |
This paper describes a workflow to establish quality of measured plane-of-array irradiance. The components and the workflow would be of significant value in this library.
The text was updated successfully, but these errors were encountered: