From c584fe306d7b32cbbf3de39b1dfe99709fcd6ca9 Mon Sep 17 00:00:00 2001 From: "Adam R. Jensen" <39184289+AdamRJensen@users.noreply.github.com> Date: Wed, 5 Aug 2026 14:48:02 +0200 Subject: [PATCH 1/4] Correct column names in logical record 0500 in get/read_bsrn --- pvlib/iotools/bsrn.py | 1 - 1 file changed, 1 deletion(-) diff --git a/pvlib/iotools/bsrn.py b/pvlib/iotools/bsrn.py index f42e37caaf..c6922287ce 100644 --- a/pvlib/iotools/bsrn.py +++ b/pvlib/iotools/bsrn.py @@ -45,7 +45,6 @@ 'empty', 'empty', 'empty', 'empty', 'uvb_global', 'uvb_global_std', 'uvb_global_min', 'uvb_global_max', 'uvb_diffuse', 'uvb_diffuse_std', - 'uvb_diffuse', 'uvb_diffuse_std', 'uvb_diffuse_min', 'uvb_diffuse_max', 'uvb_reflected', 'uvb_reflected_std', 'uvb_reflected_min', 'uvb_reflected_max'] From 3a4030a132cd8715c40eb7403a45db17f6f3642b Mon Sep 17 00:00:00 2001 From: "Adam R. Jensen" <39184289+AdamRJensen@users.noreply.github.com> Date: Wed, 5 Aug 2026 15:04:47 +0200 Subject: [PATCH 2/4] Add missing empty column names --- pvlib/iotools/bsrn.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pvlib/iotools/bsrn.py b/pvlib/iotools/bsrn.py index c6922287ce..f523d92c67 100644 --- a/pvlib/iotools/bsrn.py +++ b/pvlib/iotools/bsrn.py @@ -42,7 +42,7 @@ BSRN_LR0500_COLUMNS = ['day', 'minute', 'uva_global', 'uva_global_std', 'uva_global_min', 'uva_global_max', 'uvb_direct', 'uvb_direct_std', 'uvb_direct_min', 'uvb_direct_max', - 'empty', 'empty', 'empty', 'empty', + 'empty', 'empty', 'empty', 'empty', 'empty', 'empty', 'uvb_global', 'uvb_global_std', 'uvb_global_min', 'uvb_global_max', 'uvb_diffuse', 'uvb_diffuse_std', 'uvb_diffuse_min', 'uvb_diffuse_max', From 854b818e4a63865264c83fd7c39822eb593ae133 Mon Sep 17 00:00:00 2001 From: "Adam R. Jensen" <39184289+AdamRJensen@users.noreply.github.com> Date: Wed, 5 Aug 2026 15:16:52 +0200 Subject: [PATCH 3/4] Update v0.16.0.rst --- docs/sphinx/source/whatsnew/v0.16.0.rst | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/sphinx/source/whatsnew/v0.16.0.rst b/docs/sphinx/source/whatsnew/v0.16.0.rst index 6d62b9e1c6..b8a22c9f8e 100644 --- a/docs/sphinx/source/whatsnew/v0.16.0.rst +++ b/docs/sphinx/source/whatsnew/v0.16.0.rst @@ -19,7 +19,10 @@ Deprecations Bug fixes ~~~~~~~~~ - +* Fix incorrect column naming when parsing data from logical record + 0500 using :py:func:`~pvlib.iotools.read_bsrn` or + :py:func:`~pvlib.iotools.get_bsrn`. + (:issue:`2835`, :pull:`2841`) Enhancements ~~~~~~~~~~~~ From d418f3b951e6b28ccb5012b58cad785be49de9a4 Mon Sep 17 00:00:00 2001 From: "Adam R. Jensen" <39184289+AdamRJensen@users.noreply.github.com> Date: Wed, 5 Aug 2026 15:23:49 +0200 Subject: [PATCH 4/4] Add test --- tests/iotools/test_bsrn.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/iotools/test_bsrn.py b/tests/iotools/test_bsrn.py index 8d8f905635..5bb9434f47 100644 --- a/tests/iotools/test_bsrn.py +++ b/tests/iotools/test_bsrn.py @@ -76,6 +76,9 @@ def test_read_bsrn_logical_records(expected_index): assert 'uva_global' in data.columns assert 'uvb_reflected_std' in data.columns assert 'ghi' not in data.columns + # Check that there are no duplicate columns when parsing + # LR0500 data (see #2841) + assert not data.columns.duplicated().any() def test_read_bsrn_bad_logical_record():