diff --git a/docs/sphinx/source/whatsnew/v0.6.0.rst b/docs/sphinx/source/whatsnew/v0.6.0.rst index c0ffea27f0..0eed2c2a2d 100644 --- a/docs/sphinx/source/whatsnew/v0.6.0.rst +++ b/docs/sphinx/source/whatsnew/v0.6.0.rst @@ -10,7 +10,7 @@ API Changes Enhancements ~~~~~~~~~~~~ - +* Add sea surface albedo in irradiance.py (:issue:`458`) Bug fixes ~~~~~~~~~ @@ -28,3 +28,4 @@ Testing Contributors ~~~~~~~~~~~~ * Will Holmgren +* Yu Cao diff --git a/pvlib/irradiance.py b/pvlib/irradiance.py index cd92abc50c..fd03c3ffac 100644 --- a/pvlib/irradiance.py +++ b/pvlib/irradiance.py @@ -17,7 +17,7 @@ from pvlib import solarposition from pvlib import atmosphere - +# see References section of grounddiffuse function SURFACE_ALBEDOS = {'urban': 0.18, 'grass': 0.20, 'fresh grass': 0.26, @@ -30,7 +30,8 @@ 'aluminum': 0.85, 'copper': 0.74, 'fresh steel': 0.35, - 'dirty steel': 0.08} + 'dirty steel': 0.08, + 'sea': 0.06} def extraradiation(datetime_or_doy, solar_constant=1366.1, method='spencer', @@ -470,8 +471,8 @@ def grounddiffuse(surface_tilt, ghi, albedo=.25, surface_type=None): surface_type: None or string, default None If not None, overrides albedo. String can be one of ``'urban', - 'grass', 'fresh grass', 'snow', 'fresh snow', 'asphalt', - 'concrete', 'aluminum', 'copper', 'fresh steel', 'dirty steel'``. + 'grass', 'fresh grass', 'snow', 'fresh snow', 'asphalt', 'concrete', + 'aluminum', 'copper', 'fresh steel', 'dirty steel', 'sea'``. Returns ------- @@ -488,9 +489,11 @@ def grounddiffuse(surface_tilt, ghi, albedo=.25, surface_type=None): The calculation is the last term of equations 3, 4, 7, 8, 10, 11, and 12. [2] albedos from: - http://pvpmc.org/modeling-steps/incident-irradiance/plane-of-array-poa-irradiance/calculating-poa-irradiance/poa-ground-reflected/albedo/ + 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 ''' if surface_type is not None: