iam.schlick_diffuse returns inf and nan at surface_tilt=180
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 78/100
Hướng nghiên cứu
Bắt đầu bằng cách đọc pvlib.iam.schlick_diffuse và các bài kiểm thử cho trường hợp đặc biệt hiện có của thành phần mặt đất với surface_tilt=0. Tái hiện kết quả đã báo cáo với surface_tilt=180, sau đó kiểm tra cả hai thành phần khuếch tán tại các điểm cuối và các góc nghiêng lân cận. Hoàn tất khi hàm trả về các giá trị bầu trời và mặt đất như mong đợi mà không có cảnh báo chia cho không, đồng thời các bài kiểm thử hồi quy bao quát hành vi này.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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.
- Ngôn ngữ chính
- Python
- Star
- 1.7k
- Fork
- 1.2k
- Merge trung bình
- 3 ngày 4 giờ
- Pull request đã merge (30 ngày)
- 8
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của pvlib/pvlib-python
-
detect_clearsky and prilliman fail on DST days, kimber fails on tz-naive data (since #2924)Có thể đã có người làm @pranaysb đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
pvlib/pvlib-python#2935 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
documentation
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 72/100
pvlib/pvlib-python#2921 · 4 bình luận · 3 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Possibility of beam irradiance from behind plane of arrayCó thể làm lại được Pull request cho issue này đã bị đóng mà không được merge. Đang mởbug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
pvlib/pvlib-python#2903 · 5 bình luận · 2 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
use offset parameter instead of calculating bday in cdromCó thể đã có người làm @chenyi6758-source đã nhận 20 ngày trước. Đang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 92/100
pvlib/pvlib-python#2902 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Add an example or documentation on using 'bhi' from ERA5Có thể làm lại được @anshurajbisoyi98-ctrl đã nhận 35 ngày trước và không có pull request nào đang mở. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
pvlib/pvlib-python#2880 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của pvlib/pvlib-python
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
adafruit/Fruit-Jam-OS#98 ·
-
python triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
microsoft/semantic-kernel#14753 ·
Maintainer thường phản hồi trong vòng 5 ngày
-
area:cli area:configuration documentation priority:low size:small
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 80/100
RonaldHensbergen/composable-data-stack#1222 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug python
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 86/100
Maintainer thường phản hồi trong vòng 1 ngày
-
area: i18n bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 3 ngày