Improved method for computing Marion's IAM-correction to horizon diffuse POA irradiance #2815
Replies: 3 comments 1 reply
-
|
From this comment:
@cwhanse Does I'd consider incorporating the above horizon-integral implementation improvement in a bigger paper on a view-factor improved ground-diffuse correction, assuming your hunch is correct that it is missing in the Marion method. |
Beta Was this translation helpful? Give feedback.
-
|
I wrote up the derivation, which led me to realize an even simpler expression for the integral: import numpy
from scipy.integrate import quad
def integrand(phi_rad, theta_tilt_rad, iam_fun):
return iam_fun(numpy.degrees(numpy.arccos(numpy.sin(phi_rad) * numpy.sin(theta_tilt_rad)))) * numpy.sin(phi_rad) / 2
def marion_integrate_horizon(theta_tilt_rad, iam_fun):
# quad returns result and accuracy as a tuple, so take first element.
return quad(integrand, 0, numpy.pi, args=(theta_tilt_rad, iam_fun))[0]Marion_Horizon_Integral_Alternative.pdf @cwhanse I am happy to collaborate on a publication by adding the view-factor correction to the ground diffuse integrals. @cbcrespo I struggled to follow Marion's original derivation. Maybe this helps in understanding? Also, would you benefit by publishing a paper on this? (See also comment above for Cliff.) |
Beta Was this translation helpful? Give feedback.
-
|
@markcampanelli, it's meritful how you got your hands dirty and made the effort to understand what was happening under the hood. while it was easy for me to understand the practical challenge of " personally, and I have yet to discuss this with @AdamRJensen about it, I think that a brief technical note could be a good diffusion mechanism for a potential new, interpolation-based IAM timeseries generation (which @cbcrespo is now testing). however, while that is a high-level modification (in the sense that it doesn't change the base code) that only helps for trackers, yours is a low-level one which benefits all cases and - from what you say - even corrects a potential gap in |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
As mentioned in #1402, here is a simpler and ~2x faster (and more memory efficient?) way to compute Marion's IAM-correction to horizon diffuse POA irradiance. Copied this from a Jupyter notebook:
The key outputs are:
The new algorithm still expects radians and doesn't yet handle the special case where POA tilt is zero.
I am working on a proper math writeup to show how the two integrands are derived.
cc @cwhanse @kandersolar
Beta Was this translation helpful? Give feedback.
All reactions