Skip to content

Conversation

@kandersolar
Copy link
Member

@kandersolar kandersolar commented Nov 3, 2025

  • [ ] Closes #xxxx
  • I am familiar with the contributing guidelines
  • [ ] Tests added
  • [ ] Updates entries in docs/sphinx/source/reference for API changes.
  • Adds description and name entries in the appropriate "what's new" file in docs/sphinx/source/whatsnew for all changes. Includes link to the GitHub Issue with :issue:`num` or this Pull Request with :pull:`num`. Includes contributor name and/or GitHub username (link with :ghuser:`user`).
  • [ ] New code is fully documented. Includes numpydoc compliant docstrings, examples, and comments where necessary.
  • Pull request is nearly complete and ready for detailed review.
  • Maintainer: Appropriate GitHub Labels (including remote-data) and Milestone are assigned to the Pull Request and linked Issue.

Continuing in a broader thrust of developing our user guide section. Previously:

See also:

Docs build: https://pvlib-python--2591.org.readthedocs.build/en/2591/user_guide/modeling_topics/temperature.html

@kandersolar kandersolar added this to the v0.13.2 milestone Nov 3, 2025
@adriesse
Copy link
Member

adriesse commented Nov 4, 2025

One thing that could be added is the parameter conversion from one model to another. Please leave this open for a few weeks as I'd like to comment more.

@AdamRJensen
Copy link
Member

Could consider listing prilliman in the table with only a check mark for the dynamic column and a dash or a blank cell for the remaining columns. I'm open to other suggestions, but I think it's a shame that it's hidden as a footnote at the end of the guide.

@kandersolar kandersolar mentioned this pull request Dec 1, 2025
4 tasks
@AdamRJensen
Copy link
Member

This PR has been open for a few weeks now. I suggest we merge it on Monday the 7th if there are no objections.

Temperature models predict one of two quantities:

- *module temperature*: the temperature as measured at the back surface
of a PV module. Easy to measure, but usually less
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
of a PV module. Easy to measure, but usually less
of a PV module. Easy to measure, but usually marginally less

irradiance, ambient temperature, and wind speed. Each model also takes
a set of parameter values that represent how a PV module responds to
those inputs. Parameter values generally depend on both the PV
module technologies and the mounting conditions of the module.
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
module technologies and the mounting conditions of the module.
module technologies, the mounting conditions of the module
and on any weather parameters that are not included in the model.

those inputs. Parameter values generally depend on both the PV
module technologies and the mounting conditions of the module.

Another way to classify temperature models is whether they account for
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
Another way to classify temperature models is whether they account for
Another aspect of temperature models is whether they account for

Comment on lines +75 to +77
- :py:func:`~pvlib.temperature.generic_linear`: a generic linear model form,
equivalent to several conventional temperature models.

Copy link
Member

Choose a reason for hiding this comment

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

I think this one could go in the table.

and several additional sets of temperature model parameter values are
available in :py:data:`pvlib.temperature.TEMPERATURE_MODEL_PARAMETERS`.
However, these generic values may not be suitable for all modules and mounting
configurations.
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
configurations.
configurations. It should be noted that using the default parameter values for each
model generally leads to different modules temperature predictions. This alone
does not mean one model is better than another; it's just evidence that the measurements
used to derive the default parameter values were taken on different PV systems in different
locations under different conditions.

configurations.

Module-specific values can be obtained via testing, for example following
the IEC 61853-2 standard.
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
the IEC 61853-2 standard.
the IEC 61853-2 standard for the Faiman model; however, such values still do not capture
the dependency of temperature on system design and other variables.

Comment on lines +91 to +93
Parameter values for one model (e.g. ``u0``, ``u1`` for :py:func:`~pvlib.temperature.faiman`)
can be converted to another model (e.g. ``u_c``, ``u_v`` for :py:func:`~pvlib.temperature.pvsyst_cell`)
using :py:class:`~pvlib.temperature.GenericLinearModel`.
Copy link
Member

Choose a reason for hiding this comment

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

I would move this to before the preceding paragraph

can be converted to another model (e.g. ``u_c``, ``u_v`` for :py:func:`~pvlib.temperature.pvsyst_cell`)
using :py:class:`~pvlib.temperature.GenericLinearModel`.

Currently, pvlib provides no functionality for fitting parameter values
Copy link
Member

Choose a reason for hiding this comment

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

You could consider including references to:

  • The sandia data set for temperature model fitting, and it's accompanying notebook
  • My paper on model fitting from last years PVSEC.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants