Improved method for computing Marion's IAM-correction to horizon diffuse POA irradiance #2815
Replies: 2 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.
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