Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 7 additions & 3 deletions docs/sphinx/source/whatsnew/v0.13.1.rst
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,11 @@ Bug fixes

Enhancements
~~~~~~~~~~~~


* Rename parameter name ``aparent_azimuth`` to ``solar_azimuth`` in :py:func:`~pvlib.tracking.singleaxis`.
(:issue:`2479`, :pull:`2480`)
Comment thread
kandersolar marked this conversation as resolved.
Outdated
* Adds k coefficient in :py:func:`~pvlib.temperature.ross`
(:issue:`2506`, :pull:`2521`)

Comment thread
kandersolar marked this conversation as resolved.
Outdated
Documentation
~~~~~~~~~~~~~
* Substantiate definitions of solar/surface azimuth/zenith and aoi on the
Expand Down Expand Up @@ -48,4 +51,5 @@ Contributors
~~~~~~~~~~~~
* Elijah Passmore (:ghuser:`eljpsm`)
* Rajiv Daxini (:ghuser:`RDaxini`)
* Omar Bahamida (:ghuser:`OmarBahamida`)
* Omar Bahamida (:ghuser:`OmarBahamida`)
* Rodrigo Amaro e Silva (:ghuser:`ramaroesilva`)
44 changes: 40 additions & 4 deletions pvlib/temperature.py
Original file line number Diff line number Diff line change
Expand Up @@ -618,7 +618,7 @@ def faiman_rad(poa_global, temp_air, wind_speed=1.0, ir_down=None,
return temp_air + temp_difference


def ross(poa_global, temp_air, noct):
def ross(poa_global, temp_air, noct=None, k=None):
r'''
Calculate cell temperature using the Ross model.

Expand All @@ -638,6 +638,9 @@ def ross(poa_global, temp_air, noct):
noct : numeric
Comment thread
kandersolar marked this conversation as resolved.
Outdated
Nominal operating cell temperature [C], determined at conditions of
800 W/m^2 irradiance, 20 C ambient air temperature and 1 m/s wind.
Comment thread
cwhanse marked this conversation as resolved.
Outdated
Comment thread
kandersolar marked this conversation as resolved.
Outdated
k: numeric
Comment thread
kandersolar marked this conversation as resolved.
Outdated
Ross coefficient [Km^2/W], which is an alternative to employing
Comment thread
kandersolar marked this conversation as resolved.
Outdated
NOCT in Ross's equation.
Comment thread
kandersolar marked this conversation as resolved.
Outdated

Returns
-------
Expand All @@ -650,19 +653,52 @@ def ross(poa_global, temp_air, noct):

.. math::

T_{C} = T_{a} + \frac{NOCT - 20}{80} S
T_{C} = T_{a} + \frac{NOCT - 20}{80} S = T_{a} + k × S

where :math:`S` is the plane of array irradiance in :math:`mW/{cm}^2`.
This function expects irradiance in :math:`W/m^2`.
Comment thread
kandersolar marked this conversation as resolved.
Outdated

Reference values for k are provided in [2]_, covering different types
Comment thread
kandersolar marked this conversation as resolved.
Outdated
of mounting and module structure.

+---------------------+-----------+
| Mounting | :math:`k` |
+=====================+===========+
| well_cooled | 0.02 |
Comment thread
kandersolar marked this conversation as resolved.
Outdated
+---------------------+-----------+
| free_standing | 0.0208 |
+---------------------+-----------+
| flat_on_roof | 0.026 |
+---------------------+-----------+
| not_so_well_cooled | 0.0342 |
+---------------------+-----------+
| transparent_pv | 0.0455 |
+---------------------+-----------+
| facade_integrated | 0.0538 |
+---------------------+-----------+
| on_sloped_roof | 0.0563 |
+---------------------+-----------+

Comment thread
cwhanse marked this conversation as resolved.
References
----------
.. [1] Ross, R. G. Jr., (1981). "Design Techniques for Flat-Plate
Photovoltaic Arrays". 15th IEEE Photovoltaic Specialist Conference,
Orlando, FL.
.. [2] E. Skoplaki and J. A. Palyvos, “Operating temperature of
photovoltaic modules: A survey of pertinent correlations,” Renewable
Energy, vol. 34, no. 1, pp. 23–29, Jan. 2009, doi:
https://doi.org/10.1016/j.renene.2008.04.009.
Comment thread
kandersolar marked this conversation as resolved.
Outdated
'''
# factor of 0.1 converts irradiance from W/m2 to mW/cm2
return temp_air + (noct - 20.) / 80. * poa_global * 0.1
if (noct is None) & (k is None):
raise ValueError("noct or k need to be provided as numeric input.")
Comment thread
kandersolar marked this conversation as resolved.
Outdated
elif (noct is not None) & (k is not None):
raise ValueError("Provide only noct or k, not both.")
Comment thread
kandersolar marked this conversation as resolved.
Outdated
elif k is None:
# factor of 0.1 converts irradiance from W/m2 to mW/cm2
return temp_air + (noct - 20.) / 80. * poa_global * 0.1
Comment thread
cwhanse marked this conversation as resolved.
elif noct is None:
# k assumes irradiance in W.m-2, dismissing 0.1 factor
return temp_air + k * poa_global
Comment thread
cwhanse marked this conversation as resolved.


def _fuentes_hconv(tave, windmod, tinoct, temp_delta, xlen, tilt,
Expand Down