Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add functions to read and retrieve SolarAnywhere irradiance data #1497

Merged
merged 36 commits into from Dec 20, 2023
Merged
Show file tree
Hide file tree
Changes from 34 commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
d7deb80
Add cams.get_cams_radiation function
Feb 22, 2021
510f08e
Revert "Add cams.get_cams_radiation function"
Feb 22, 2021
8743519
Add get, read, parse solaranywhere functions
AdamRJensen Jul 22, 2022
b5b2508
Add whatsnew
AdamRJensen Jul 22, 2022
0158719
Updates to get_solaranywhere
AdamRJensen Jul 22, 2022
2aeafb1
Minor doc updates
AdamRJensen Jul 22, 2022
43eca90
Updated default values & add POE
AdamRJensen Jul 23, 2022
8456aee
Properly raise start/end ValueError
AdamRJensen Jul 26, 2022
cc4135d
Merge branch 'master' into solaranywhere
AdamRJensen Aug 16, 2022
78a3edb
Add api_key to pytest-remote-data.yml
AdamRJensen Aug 16, 2022
2d52719
Add test coverage
AdamRJensen Aug 16, 2022
7b0fd25
Set encoding to iso-8859-1
AdamRJensen Aug 16, 2022
acff9e1
Remove solaranywhere_api_key
AdamRJensen Aug 18, 2022
192e1b3
Remove parse_solaranywhere
AdamRJensen Aug 18, 2022
11ad2f1
Merge branch 'master' into solaranywhere
AdamRJensen Aug 18, 2022
1917da1
Update tests
AdamRJensen Aug 18, 2022
2ec4627
Update error message handling
AdamRJensen Oct 6, 2022
b7db5b1
Merge branch 'main' into solaranywhere
AdamRJensen Dec 19, 2023
3457ab0
Merge remote-tracking branch 'upstream/main' into solaranywhere
AdamRJensen Dec 19, 2023
ece667f
Update iotools.rst
AdamRJensen Dec 19, 2023
2711135
Update v0.10.3.rst
AdamRJensen Dec 19, 2023
3f440a9
Update __init__.py
AdamRJensen Dec 19, 2023
40ed834
Address code review by kandersolar
AdamRJensen Dec 19, 2023
59216d2
Update v0.9.2.rst
AdamRJensen Dec 19, 2023
6c3ca61
Update v0.9.2.rst
AdamRJensen Dec 19, 2023
e0abc76
Update tests
AdamRJensen Dec 19, 2023
de116aa
Update flake8.yml
AdamRJensen Dec 19, 2023
4744615
Update v0.10.3.rst
AdamRJensen Dec 19, 2023
0bcb74d
Update solaranywhere documentation
AdamRJensen Dec 19, 2023
2ddd01f
Add additional solaranywhere tests
AdamRJensen Dec 19, 2023
0a7f9e2
Update .github/workflows/flake8.yml
AdamRJensen Dec 19, 2023
736b0cc
Implement review changes from kandersolar
AdamRJensen Dec 19, 2023
a009d05
Update test_solaranywhere.py
AdamRJensen Dec 19, 2023
927ea6e
Merge branch 'main' into solaranywhere
AdamRJensen Dec 20, 2023
62ba7d9
Apply suggestions from code review
AdamRJensen Dec 20, 2023
6db7fa5
Switch to isinstance
AdamRJensen Dec 20, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/flake8.yml
Expand Up @@ -20,7 +20,7 @@ jobs:
git remote add upstream https://github.com/pvlib/pvlib-python.git
git fetch upstream $GITHUB_BASE_REF
- name: Run Flake8 linter
run: git diff upstream/$GITHUB_BASE_REF HEAD | flake8
run: git diff upstream/$GITHUB_BASE_REF HEAD -- "*.py" | flake8
--exclude pvlib/version.py
--ignore E201,E241,E226,W503,W504
--max-line-length 79
Expand Down
2 changes: 2 additions & 0 deletions docs/sphinx/source/reference/iotools.rst
Expand Up @@ -46,6 +46,8 @@ of sources and file formats relevant to solar energy modeling.
iotools.get_acis_station_data
iotools.get_acis_available_stations
iotools.read_panond
iotools.get_solaranywhere
iotools.read_solaranywhere
iotools.get_solcast_tmy
iotools.get_solcast_historic
iotools.get_solcast_forecast
Expand Down
3 changes: 3 additions & 0 deletions docs/sphinx/source/whatsnew/v0.10.3.rst
Expand Up @@ -20,6 +20,9 @@ Enhancements
read data from the Solcast API. (:issue:`1313`, :pull:`1875`)
* Added :py:func:`~pvlib.iam.convert` and :py:func:`~pvlib.iam.fit` that
convert between IAM models, and that fit an IAM model to data. (:issue:`1824`, :pull:`1827`)
* Add :py:func:`pvlib.iotools.read_solaranywhere` and
:py:func:`pvlib.iotools.get_solaranywhere` for reading and retrieving
SolarAnywhere solar irradiance data. (:pull:`1497`, :discuss:`1310`)

Bug fixes
~~~~~~~~~
Expand Down
2 changes: 1 addition & 1 deletion docs/sphinx/source/whatsnew/v0.9.2.rst
Copy link
Member

Choose a reason for hiding this comment

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

Revert this, or is it fixing a mistake?

Copy link
Member Author

Choose a reason for hiding this comment

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

There's no change there so I can't remove the file... I think it's fine leaving it. @kandersolar leave a thumb if you have an opinion

Expand Up @@ -82,4 +82,4 @@ Contributors
* Mark Campanelli (:ghuser:`campanelli-sunpower`)
* Anton Driesse (:ghuser:`adriesse`)
* Kristen Wagner (:ghuser:`kwagnercpr`)
* Mark Mikofski (:ghuser:`mikofski`)
* Mark Mikofski (:ghuser:`mikofski`)

Large diffs are not rendered by default.

@@ -0,0 +1,74 @@
0,Burlington United States,NA,-5,44.465,-73.205,41,"Data Version: 3.6 / Type: Typical Year / LatLon Resolution: 0.010 / Time Resolution: 60 minutes / Averaging Method: End of Period / TD: No / Copyright 2010-2022 Clean Power Research®, L.L.C. DownloadID=9a0a90e9-cb05-44f6-892c-a1506e8a1185"
ObservationTime(LST),Global Horizontal Irradiance (GHI) W/m2,Direct Normal Irradiance (DNI) W/m2,AmbientTemperature (deg C),WindSpeed (m/s),Relative Humidity (%),Liquid Precipitation (kg/m2),Solid Precipitation (kg/m2),Snow Depth (m),Clear Sky GHI,Clear Sky DNI,Clear Sky DHI,IrradianceObservationType,LeadTime,DataVersion,ObservationTime(GMT),Diffuse Horizontal Irradiance (DIF) W/m2,AmbientTemperatureObservationType,WindSpeedObservationType,Albedo,Particulate Matter 10 (µg/m3),Particulate Matter 2.5 (µg/m3)
01/01/2000 01:00,0,0,-6,,,,,,,,,AN,,SolarAnywhereTGY2021,01/01/2000 06:00,0,O,O,,,
01/01/2000 02:00,0,0,-5,,,,,,,,,AN,,SolarAnywhereTGY2021,01/01/2000 07:00,0,O,O,,,
01/01/2000 03:00,0,0,-5,,,,,,,,,AN,,SolarAnywhereTGY2021,01/01/2000 08:00,0,O,O,,,
01/01/2000 04:00,0,0,-5,,,,,,,,,AN,,SolarAnywhereTGY2021,01/01/2000 09:00,0,O,O,,,
01/01/2000 05:00,0,0,-5,,,,,,,,,AN,,SolarAnywhereTGY2021,01/01/2000 10:00,0,O,O,,,
01/01/2000 06:00,0,0,-4,,,,,,,,,AN,,SolarAnywhereTGY2021,01/01/2000 11:00,0,O,O,,,
01/01/2000 07:00,0,0,-4,,,,,,,,,AN,,SolarAnywhereTGY2021,01/01/2000 12:00,0,O,O,,,
01/01/2000 08:00,3,1,-3,,,,,,,,,AD,,SolarAnywhereTGY2021,01/01/2000 13:00,3,O,O,,,
01/01/2000 09:00,50,24,-3,,,,,,,,,AD,,SolarAnywhereTGY2021,01/01/2000 14:00,47,O,O,,,
01/01/2000 10:00,171,245,-2,,,,,,,,,AD,,SolarAnywhereTGY2021,01/01/2000 15:00,109,O,O,,,
01/01/2000 11:00,234,237,-2,,,,,,,,,AD,,SolarAnywhereTGY2021,01/01/2000 16:00,154,O,O,,,
01/01/2000 12:00,220,168,-2,,,,,,,,,AD,,SolarAnywhereTGY2021,01/01/2000 17:00,156,O,O,,,
01/01/2000 13:00,202,107,1,,,,,,,,,AD,,SolarAnywhereTGY2021,01/01/2000 18:00,162,O,O,,,
01/01/2000 14:00,122,41,1,,,,,,,,,AD,,SolarAnywhereTGY2021,01/01/2000 19:00,108,O,O,,,
01/01/2000 15:00,141,165,1,,,,,,,,,AD,,SolarAnywhereTGY2021,01/01/2000 20:00,101,O,O,,,
01/01/2000 16:00,65,101,3,,,,,,,,,AD,,SolarAnywhereTGY2021,01/01/2000 21:00,53,O,O,,,
01/01/2000 17:00,2,1,4,,,,,,,,,AD,,SolarAnywhereTGY2021,01/01/2000 22:00,2,O,O,,,
01/01/2000 18:00,0,0,2,,,,,,,,,AN,,SolarAnywhereTGY2021,01/01/2000 23:00,0,O,O,,,
01/01/2000 19:00,0,0,2,,,,,,,,,AN,,SolarAnywhereTGY2021,01/02/2000 00:00,0,O,O,,,
01/01/2000 20:00,0,0,2,,,,,,,,,AN,,SolarAnywhereTGY2021,01/02/2000 01:00,0,O,O,,,
01/01/2000 21:00,0,0,2,,,,,,,,,AN,,SolarAnywhereTGY2021,01/02/2000 02:00,0,O,O,,,
01/01/2000 22:00,0,0,0,,,,,,,,,AN,,SolarAnywhereTGY2021,01/02/2000 03:00,0,O,O,,,
01/01/2000 23:00,0,0,0,,,,,,,,,AN,,SolarAnywhereTGY2021,01/02/2000 04:00,0,O,O,,,
01/02/2000 00:00,0,0,0,,,,,,,,,AN,,SolarAnywhereTGY2021,01/02/2000 05:00,0,O,O,,,
01/02/2000 01:00,0,0,0,,,,,,,,,AN,,SolarAnywhereTGY2021,01/02/2000 06:00,0,O,O,,,
01/02/2000 02:00,0,0,0,,,,,,,,,AN,,SolarAnywhereTGY2021,01/02/2000 07:00,0,O,O,,,
01/02/2000 03:00,0,0,0,,,,,,,,,AN,,SolarAnywhereTGY2021,01/02/2000 08:00,0,O,O,,,
01/02/2000 04:00,0,0,-1,,,,,,,,,AN,,SolarAnywhereTGY2021,01/02/2000 09:00,0,O,O,,,
01/02/2000 05:00,0,0,0,,,,,,,,,AN,,SolarAnywhereTGY2021,01/02/2000 10:00,0,O,O,,,
01/02/2000 06:00,0,0,0,,,,,,,,,AN,,SolarAnywhereTGY2021,01/02/2000 11:00,0,O,O,,,
01/02/2000 07:00,0,0,0,,,,,,,,,AN,,SolarAnywhereTGY2021,01/02/2000 12:00,0,O,O,,,
01/02/2000 08:00,2,0,0,,,,,,,,,AD,,SolarAnywhereTGY2021,01/02/2000 13:00,2,O,O,,,
01/02/2000 09:00,48,23,0,,,,,,,,,AD,,SolarAnywhereTGY2021,01/02/2000 14:00,45,O,O,,,
01/02/2000 10:00,105,29,1,,,,,,,,,AD,,SolarAnywhereTGY2021,01/02/2000 15:00,98,O,O,,,
01/02/2000 11:00,161,53,2,,,,,,,,,AD,,SolarAnywhereTGY2021,01/02/2000 16:00,143,O,O,,,
01/02/2000 12:00,135,5,2,,,,,,,,,AD,,SolarAnywhereTGY2021,01/02/2000 17:00,133,O,O,,,
01/02/2000 13:00,108,0,4,,,,,,,,,AD,,SolarAnywhereTGY2021,01/02/2000 18:00,108,O,O,,,
01/02/2000 14:00,72,0,3,,,,,,,,,AD,,SolarAnywhereTGY2021,01/02/2000 19:00,72,O,O,,,
01/02/2000 15:00,58,0,3,,,,,,,,,AD,,SolarAnywhereTGY2021,01/02/2000 20:00,58,O,O,,,
01/02/2000 16:00,33,3,3,,,,,,,,,AD,,SolarAnywhereTGY2021,01/02/2000 21:00,33,O,O,,,
01/02/2000 17:00,2,0,3,,,,,,,,,AD,,SolarAnywhereTGY2021,01/02/2000 22:00,2,O,O,,,
01/02/2000 18:00,0,0,4,,,,,,,,,AN,,SolarAnywhereTGY2021,01/02/2000 23:00,0,O,O,,,
01/02/2000 19:00,0,0,4,,,,,,,,,AN,,SolarAnywhereTGY2021,01/03/2000 00:00,0,O,O,,,
01/02/2000 20:00,0,0,4,,,,,,,,,AN,,SolarAnywhereTGY2021,01/03/2000 01:00,0,O,O,,,
01/02/2000 21:00,0,0,4,,,,,,,,,AN,,SolarAnywhereTGY2021,01/03/2000 02:00,0,O,O,,,
01/02/2000 22:00,0,0,5,,,,,,,,,AN,,SolarAnywhereTGY2021,01/03/2000 03:00,0,O,O,,,
01/02/2000 23:00,0,0,5,,,,,,,,,AN,,SolarAnywhereTGY2021,01/03/2000 04:00,0,O,O,,,
01/03/2000 00:00,0,0,5,,,,,,,,,AN,,SolarAnywhereTGY2021,01/03/2000 05:00,0,O,O,,,
01/03/2000 01:00,0,0,7,,,,,,,,,AN,,SolarAnywhereTGY2021,01/03/2000 06:00,0,O,O,,,
01/03/2000 02:00,0,0,7,,,,,,,,,AN,,SolarAnywhereTGY2021,01/03/2000 07:00,0,O,O,,,
01/03/2000 03:00,0,0,6,,,,,,,,,AN,,SolarAnywhereTGY2021,01/03/2000 08:00,0,O,O,,,
01/03/2000 04:00,0,0,7,,,,,,,,,AN,,SolarAnywhereTGY2021,01/03/2000 09:00,0,O,O,,,
01/03/2000 05:00,0,0,7,,,,,,,,,AN,,SolarAnywhereTGY2021,01/03/2000 10:00,0,O,O,,,
01/03/2000 06:00,0,0,6,,,,,,,,,AN,,SolarAnywhereTGY2021,01/03/2000 11:00,0,O,O,,,
01/03/2000 07:00,0,0,7,,,,,,,,,AN,,SolarAnywhereTGY2021,01/03/2000 12:00,0,O,O,,,
01/03/2000 08:00,4,0,7,,,,,,,,,AD,,SolarAnywhereTGY2021,01/03/2000 13:00,4,O,O,,,
01/03/2000 09:00,47,7,8,,,,,,,,,AD,,SolarAnywhereTGY2021,01/03/2000 14:00,46,O,O,,,
01/03/2000 10:00,124,86,5,,,,,,,,,AD,,SolarAnywhereTGY2021,01/03/2000 15:00,102,O,O,,,
01/03/2000 11:00,99,6,4,,,,,,,,,AD,,SolarAnywhereTGY2021,01/03/2000 16:00,97,O,O,,,
01/03/2000 12:00,116,0,3,,,,,,,,,AD,,SolarAnywhereTGY2021,01/03/2000 17:00,116,O,O,,,
01/03/2000 13:00,130,1,2,,,,,,,,,AD,,SolarAnywhereTGY2021,01/03/2000 18:00,130,O,O,,,
01/03/2000 14:00,165,96,2,,,,,,,,,AD,,SolarAnywhereTGY2021,01/03/2000 19:00,133,O,O,,,
01/03/2000 15:00,110,47,2,,,,,,,,,AD,,SolarAnywhereTGY2021,01/03/2000 20:00,98,O,O,,,
01/03/2000 16:00,36,5,1,,,,,,,,,AD,,SolarAnywhereTGY2021,01/03/2000 21:00,35,O,O,,,
01/03/2000 17:00,1,0,1,,,,,,,,,AD,,SolarAnywhereTGY2021,01/03/2000 22:00,1,O,O,,,
01/03/2000 18:00,0,0,-1,,,,,,,,,AN,,SolarAnywhereTGY2021,01/03/2000 23:00,0,O,O,,,
01/03/2000 19:00,0,0,-1,,,,,,,,,AN,,SolarAnywhereTGY2021,01/04/2000 00:00,0,O,O,,,
01/03/2000 20:00,0,0,-1,,,,,,,,,AN,,SolarAnywhereTGY2021,01/04/2000 01:00,0,O,O,,,
01/03/2000 21:00,0,0,-1,,,,,,,,,AN,,SolarAnywhereTGY2021,01/04/2000 02:00,0,O,O,,,
01/03/2000 22:00,0,0,-1,,,,,,,,,AN,,SolarAnywhereTGY2021,01/04/2000 03:00,0,O,O,,,
01/03/2000 23:00,0,0,-1,,,,,,,,,AN,,SolarAnywhereTGY2021,01/04/2000 04:00,0,O,O,,,
01/04/2000 00:00,0,0,-1,,,,,,,,,AN,,SolarAnywhereTGY2021,01/04/2000 05:00,0,O,O,,,
1 change: 1 addition & 0 deletions pvlib/data/variables_style_rules.csv
Expand Up @@ -4,6 +4,7 @@ latitude;latitude
longitude;longitude
dni;direct normal irradiance
dni_extra;direct normal irradiance at top of atmosphere (extraterrestrial)
dni_clear;clear sky direct normal irradiance
dhi;diffuse horizontal irradiance
bhi;beam/direct horizontal irradiance
ghi;global horizontal irradiance
Expand Down
2 changes: 2 additions & 0 deletions pvlib/iotools/__init__.py
Expand Up @@ -27,6 +27,8 @@
from pvlib.iotools.acis import get_acis_mpe # noqa: F401
from pvlib.iotools.acis import get_acis_station_data # noqa: F401
from pvlib.iotools.acis import get_acis_available_stations # noqa: F401
from pvlib.iotools.solaranywhere import get_solaranywhere # noqa: F401
from pvlib.iotools.solaranywhere import read_solaranywhere # noqa: F401
from pvlib.iotools.solcast import get_solcast_forecast # noqa: F401
from pvlib.iotools.solcast import get_solcast_live # noqa: F401
from pvlib.iotools.solcast import get_solcast_historic # noqa: F401
Expand Down