iam.schlick_diffuse returns inf and nan at surface_tilt=180
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 78/100
Piste de recherche
Commencez par lire pvlib.iam.schlick_diffuse et ses tests pour le cas particulier existant du terme du sol avec surface_tilt=0. Reproduisez le résultat signalé avec surface_tilt=180, puis vérifiez les deux composantes diffuses aux valeurs limites et pour des inclinaisons proches. Le travail est terminé lorsque la fonction renvoie les valeurs attendues pour le ciel et le sol sans avertissement de division par zéro, et que des tests de régression couvrent ce comportement.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Describe the bug
pvlib.iam.schlick_diffuse(180) returns {'sky': inf, 'ground': nan} with a RuntimeWarning: divide by zero. Eq 4 for the sky term divides by 1 + cos(surface_tilt), which is 0/0 at 180. The ground term is already special-cased at tilt 0 (surface_tilt < 1e-6); the sky term has no equivalent at 180.
To Reproduce
import pvlib
pvlib.iam.schlick_diffuse(180)
# {'sky': inf, 'ground': nan}
Expected behavior
sky is 0 (a surface facing straight down sees no sky; the value tends to 0 as the tilt approaches 180) and ground is 20/21 = 0.9524, the same as sky at tilt 0. marion_diffuse('schlick', surface_tilt=180) gives 0 and 0.95236.
Versions:
pvlib.__version__: 0.16.2.dev19+gc5de586d7pandas.__version__: 3.1.1- python: 3.12.12
Additional context
Found while reading the code. PVSystem.get_iam_diffuse(180, iam_model='schlick_diffuse') returns the same. I can open a PR that applies the same 1e-6 clamp to the sky term.
- Langage dominant
- Python
- Étoiles
- 1.7k
- Forks
- 1.2k
- Merge moyen
- 3 j 4 h
- PR mergées (30 j)
- 8
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de pvlib/pvlib-python
-
detect_clearsky and prilliman fail on DST days, kimber fails on tz-naive data (since #2924)Peut-être pris @pranaysb l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
pvlib/pvlib-python#2935 ·
Les mainteneurs répondent en général sous 1 jour
-
documentation
Difficulté 1/5 Moins d'une heure Accessibilité débutants 72/100
pvlib/pvlib-python#2921 · 4 commentaires · 3 réactions ·
Les mainteneurs répondent en général sous 1 jour
-
Possibility of beam irradiance from behind plane of arrayPeut-être à nouveau libre Une pull request pour cette issue a été fermée sans être fusionnée. Ouvertebug
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
pvlib/pvlib-python#2903 · 5 commentaires · 2 réactions ·
Les mainteneurs répondent en général sous 1 jour
-
use offset parameter instead of calculating bday in cdromPeut-être pris @chenyi6758-source l’a pris il y a 20 jours. Ouverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 92/100
pvlib/pvlib-python#2902 ·
Les mainteneurs répondent en général sous 1 jour
-
Add an example or documentation on using 'bhi' from ERA5Peut-être à nouveau libre @anshurajbisoyi98-ctrl l’a pris il y a 35 jours, et aucune pull request n’est ouverte. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 66/100
pvlib/pvlib-python#2880 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de pvlib/pvlib-python
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
adafruit/Fruit-Jam-OS#98 ·
-
python triage
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
microsoft/semantic-kernel#14753 ·
Les mainteneurs répondent en général sous 5 jours
-
area:cli area:configuration documentation priority:low size:small
Difficulté 1/5 1-3 heures Accessibilité débutants 80/100
RonaldHensbergen/composable-data-stack#1222 ·
Les mainteneurs répondent en général sous 1 jour
-
bug python
Difficulté 2/5 1-3 heures Accessibilité débutants 86/100
Les mainteneurs répondent en général sous 1 jour
-
area: i18n bug
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Les mainteneurs répondent en général sous 3 jours