Skip to content
Open
Show file tree
Hide file tree
Changes from all 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
3 changes: 3 additions & 0 deletions docs/sphinx/source/whatsnew/v0.16.2.rst
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ Bug fixes

Enhancements
~~~~~~~~~~~~
* Add the wind-dependent ``freestanding_wind`` PVsyst temperature parameter
set and clarify the wind measurement height. (:issue:`2834`)
* Add ``pandas==3.1.0`` support. (:pull:`2924`)
* Add ``dataset`` parameter to :py:func:`~pvlib.iotools.get_era5`
allowing for choosing between ERA5 and ERA5-Land datasets.
Expand Down Expand Up @@ -70,6 +72,7 @@ Maintenance
Contributors
~~~~~~~~~~~~

* :ghuser:`sahaja9707`
* :ghuser:`anshurajbisoyi98-ctrl`
* Adam R. Jensen (:ghuser:`AdamRJensen`)
* Cliff Hansen (:ghuser:`cwhanse`)
Expand Down
36 changes: 25 additions & 11 deletions pvlib/temperature.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
'insulated_back_glass_polymer': {'a': -2.81, 'b': -.0455, 'deltaT': 0},
},
'pvsyst': {'freestanding': {'u_c': 29.0, 'u_v': 0},
'freestanding_wind': {'u_c': 25.0, 'u_v': 1.2},
'insulated': {'u_c': 15.0, 'u_v': 0},
'semi_integrated': {'u_c': 20.0, 'u_v': 0}}
}
Expand Down Expand Up @@ -342,8 +343,8 @@ def pvsyst_cell(poa_global, temp_air, wind_speed=1.0, u_c=29.0, u_v=0.0,

wind_speed : numeric, default 1.0
Wind speed in m/s measured at the same height for which the wind loss
factor was determined. The default value 1.0 m/s is the wind
speed at module height used to determine NOCT. [m/s]
factor was determined. See Notes for the ``freestanding_wind``
parameter set. [m/s]

u_c : float, default 29.0
Combined heat loss factor coefficient. The default value is
Expand Down Expand Up @@ -388,15 +389,23 @@ def pvsyst_cell(poa_global, temp_air, wind_speed=1.0, u_c=29.0, u_v=0.0,
factors provided represent the combined effect of convection, radiation and
conduction, and their values are experimentally determined.

+-----------------+---------------+---------------+
| Mounting | :math:`U_{c}` | :math:`U_{v}` |
+=================+===============+===============+
| freestanding | 29.0 | 0.0 |
+-----------------+---------------+---------------+
| insulated | 15.0 | 0.0 |
+-----------------+---------------+---------------+
| semi_integrated | 20.0 | 0.0 |
+-----------------+---------------+---------------+
+-------------------+---------------+---------------+
| Parameter set | :math:`U_{c}` | :math:`U_{v}` |
+===================+===============+===============+
| freestanding | 29.0 | 0.0 |
+-------------------+---------------+---------------+
| freestanding_wind | 25.0 | 1.2 |
+-------------------+---------------+---------------+
| insulated | 15.0 | 0.0 |
+-------------------+---------------+---------------+
| semi_integrated | 20.0 | 0.0 |
+-------------------+---------------+---------------+

The ``freestanding_wind`` parameters are the PVUSA correlation described
in [3]_ for open-rack systems with wind speed data. Standard meteorological
wind speed is measured at 10 m above ground. The wind loss coefficient
must be appropriate for the measurement height; these coefficients are
not universal. Use coefficients fitted to the installation when available.

Mounting cases can be described in terms of air flow across and around the
rear-facing surface of the module:
Expand All @@ -417,6 +426,11 @@ def pvsyst_cell(poa_global, temp_air, wind_speed=1.0, u_c=29.0, u_v=0.0,
.. [2] Faiman, D. (2008). "Assessing the outdoor operating temperature of
photovoltaic modules." Progress in Photovoltaics 16(4): 307-315.

.. [3] PVsyst SA, "Heat transfer coefficients (U-values)," PVsyst
documentation. [Online]. Available:
https://www.pvsyst.com/help/project-design/array-and-system-losses/array-thermal-losses/u-value-measurement.html.
[Accessed: 8-Nov-2026].

Examples
--------
>>> from pvlib.temperature import pvsyst_cell, TEMPERATURE_MODEL_PARAMETERS
Expand Down
8 changes: 8 additions & 0 deletions tests/test_temperature.py
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,14 @@ def test_pvsyst_cell_kwargs():
assert_allclose(result, 33.315, 0.001)


def test_pvsyst_cell_freestanding_wind():
params = temperature._temperature_model_params(
'pvsyst', 'freestanding_wind')
result = temperature.pvsyst_cell(1000, 20, wind_speed=np.array([0, 5]),
**params)
assert_allclose(result, [52.4, 46.12903226])


def test_pvsyst_cell_ndarray():
temps = np.array([0, 10, 5])
irrads = np.array([0, 500, 0])
Expand Down
Loading