Skip to content
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

Improve docstring for get_ground_diffuse #1953

Merged
merged 11 commits into from
Feb 27, 2024
3 changes: 2 additions & 1 deletion docs/sphinx/source/whatsnew/v0.10.4.rst
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ Testing

Documentation
~~~~~~~~~~~~~

* Improved references and description for :py:func:`~pvlib.irradiance.get_ground_diffuse`. (:pull:`1953`)

Requirements
~~~~~~~~~~~~
Expand All @@ -29,3 +29,4 @@ Requirements
Contributors
~~~~~~~~~~~~
* :ghuser:`matsuobasho`
* :ghuser:`cwhanse`
33 changes: 15 additions & 18 deletions pvlib/irradiance.py
Original file line number Diff line number Diff line change
Expand Up @@ -552,12 +552,7 @@ def poa_components(aoi, dni, poa_sky_diffuse, poa_ground_diffuse):

def get_ground_diffuse(surface_tilt, ghi, albedo=.25, surface_type=None):
'''
Estimate diffuse irradiance from ground reflections given
irradiance, albedo, and surface tilt.

Function to determine the portion of irradiance on a tilted surface
due to ground reflections. Any of the inputs may be DataFrames or
scalars.
Estimate diffuse irradiance on a tilted surface from ground reflections.

Parameters
----------
Expand All @@ -567,13 +562,13 @@ def get_ground_diffuse(surface_tilt, ghi, albedo=.25, surface_type=None):
(e.g. surface facing up = 0, surface facing horizon = 90).

ghi : numeric
Global horizontal irradiance. [W/m^2]
Global horizontal irradiance. :math:`W/m^2`

albedo : numeric, default 0.25
Ground reflectance, typically 0.1-0.4 for surfaces on Earth
(land), may increase over snow, ice, etc. May also be known as
the reflection coefficient. Must be >=0 and <=1. Will be
overridden if surface_type is supplied.
overridden if ``surface_type`` is supplied.

surface_type : string, optional
If supplied, overrides ``albedo``. ``surface_type`` can be one of
Expand All @@ -584,23 +579,25 @@ def get_ground_diffuse(surface_tilt, ghi, albedo=.25, surface_type=None):
Returns
-------
grounddiffuse : numeric
Ground reflected irradiance. [W/m^2]
Ground reflected irradiance. :math:`W/m^2`

Notes
-----
Ground diffuse irradiance is the the last term of equations 3, 4, 7, 8,
10, 11, and 12 in [1]_. Table of albedo values by ``surface_type``
Copy link
Member

@adriesse adriesse Jan 28, 2024

Choose a reason for hiding this comment

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

Could you describe what that last term is, rather than refer to a paper that's not openly accessible?

Copy link
Member Author

Choose a reason for hiding this comment

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

There's a preprint here but one has to find it by searching the title.

are from [2]_, [3]_, [4]_;
see :py:data:`~pvlib.irradiance.SURFACE_ALBEDOS`.

References
----------
.. [1] Loutzenhiser P.G. et. al. "Empirical validation of models to compute
solar irradiance on inclined surfaces for building energy simulation"
2007, Solar Energy vol. 81. pp. 254-267.

The calculation is the last term of equations 3, 4, 7, 8, 10, 11, and 12.

.. [2] albedos from:
http://files.pvsyst.com/help/albedo.htm
and
http://en.wikipedia.org/wiki/Albedo
and
https://doi.org/10.1175/1520-0469(1972)029<0959:AOTSS>2.0.CO;2
.. [2] https://www.pvsyst.com/help/albedo.htm Accessed January, 2024.
.. [3] http://en.wikipedia.org/wiki/Albedo Accessed January, 2024.
.. [4] Payne, R. E. "Albedo of the Sea Surface". J. Atmos. Sci., 29,
pp. 959–970, 1972.
:doi:`10.1175/1520-0469(1972)029<0959:AOTSS>2.0.CO;2`
'''

if surface_type is not None:
Expand Down
Loading