Skip to content

Commit 7241196

Browse files
Adam's corrections
1 parent 11eedcc commit 7241196

1 file changed

Lines changed: 16 additions & 9 deletions

File tree

pvlib/iotools/nasa_power.py

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,23 +2,30 @@
22

33
import pandas as pd
44
import requests
5+
import numpy as np
56

67
URL = 'https://power.larc.nasa.gov/api/temporal/hourly/point'
78

9+
DEFAULT_PARAMETERS = [
10+
'ALLSKY_SFC_SW_DNI', 'ALLSKY_SFC_SW_DIFF', 'ALLSKY_SFC_SW_DWN',
11+
'T2M', 'WS10M'
12+
]
13+
814
VARIABLE_MAP = {
915
'ALLSKY_SFC_SW_DWN': 'ghi',
1016
'ALLSKY_SFC_SW_DIFF': 'dhi',
1117
'ALLSKY_SFC_SW_DNI': 'dni',
1218
'CLRSKY_SFC_SW_DWN': 'ghi_clear',
1319
'T2M': 'temp_air',
1420
'WS2M': 'wind_speed_2m',
15-
'WS10M': 'wind_speed_10m',
21+
'WS10M': 'wind_speed',
1622
}
1723

1824

19-
def get_nasa_power(latitude, longitude, start, end, parameters,
20-
community='re', elevation=None,
21-
wind_height=None, wind_surface=None, map_variables=True):
25+
def get_nasa_power(latitude, longitude, start, end,
26+
parameters=DEFAULT_PARAMETERS, community='re', url=URL,
27+
elevation=None, wind_height=None, wind_surface=None,
28+
map_variables=True):
2229
"""
2330
Retrieve irradiance and weather data from NASA POWER.
2431
@@ -37,15 +44,14 @@ def get_nasa_power(latitude, longitude, start, end, parameters,
3744
end: datetime like
3845
Last timestamp of the requested period.
3946
parameters: str, list
40-
List of parameters. Some common parameters are mentioned below; for the
41-
full list see [3]_:
47+
List of parameters. The default parameters are mentioned below; for the
48+
full list see [3]_. Note that the pvlib naming conventions can also be
49+
used.
4250
4351
* ``ALLSKY_SFC_SW_DWN``: Global Horizontal Irradiance (GHI) [Wm⁻²]
4452
* ``ALLSKY_SFC_SW_DIFF``: Diffuse Horizontal Irradiance (DHI) [Wm⁻²]
4553
* ``ALLSKY_SFC_SW_DNI``: Direct Normal Irradiance (DNI) [Wm⁻²]
46-
* ``CLRSKY_SFC_SW_DWN``: Clear-sky GHI [Wm⁻²]
4754
* ``T2M``: Air temperature at 2 m [C]
48-
* ``WS2M``: Wind speed at 2 m [m/s]
4955
* ``WS10M``: Wind speed at 10 m [m/s]
5056
5157
community: str, default: ``'re'``
@@ -119,7 +125,7 @@ def get_nasa_power(latitude, longitude, start, end, parameters,
119125
'wind-surface': wind_surface,
120126
}
121127

122-
response = requests.get(URL, params=params)
128+
response = requests.get(url, params=params)
123129
if not response.ok:
124130
# response.raise_for_status() does not give a useful error message
125131
raise requests.HTTPError(response.json())
@@ -129,6 +135,7 @@ def get_nasa_power(latitude, longitude, start, end, parameters,
129135
hourly_data = data['properties']['parameter']
130136
df = pd.DataFrame(hourly_data)
131137
df.index = pd.to_datetime(df.index, format='%Y%m%d%H').tz_localize('UTC')
138+
df = df.replace(-999, np.nan)
132139

133140
# Create metadata dictionary
134141
meta = data['header']

0 commit comments

Comments
 (0)