NREL PVwatts API

问题描述 投票:0回答:1

大家好。我正在尝试使用 python 通过 API 访问 pvwatts,但是错误状态代码 422 总是出现。我检查了参数,但什么也没发现 - 我还尝试了适合我所在位置的网站版本,它有效。您能帮助我并教我解决这个问题吗?我仍然是 python 的新手,但是我的最终项目需要这个。

我曾尝试填充更多参数,甚至尝试使用其他代码,但它不起作用 - 有时它会变得更糟。我尝试过的代码是:

import requests

# Define the PVWatts API URL
url = 'https://developer.nrel.gov/api/pvwatts/v8.json'

# Define your API key
api_key = 'xoxoxoxoxoxoxoxo'

# Define the parameters for the PVWatts API request
params = {
    'format': 'json',
    'api_key': api_key,
    'system_capacity': 12,  # kW
    'module_type': 0,  # 0 for standard, 1 for premium
    'losses': 14,  # percentage
    'array_type': 1,  # 0 for fixed open rack, 1 for fixed roof mount, 2 for 1-axis tracking, 3 for 1-axis backtracking, 4 for 2-axis tracking
    'tilt': 15,  # degrees
    'azimuth': 0,  # degrees
    'address': 'Cakung, Bekasi',  # location address
    'lat': -6.1833,  # latitude
    'lon': 106.9499,  # longitude
    'dataset': 'nsrdb', # climate dataset
    'timeframe': 'hourly',  # 'hourly' or 'monthly'
    'dc_ac_ratio': 1.2, / # DC/AC ratio
    'gcr': 0.4  # ground coverage ratio
}

# Send the API request
response = requests.get(url, params=params)

# Check if the request was successful (HTTP status code 200)
if response.status_code == 200:
    data = response.json()
    # Process the response data as per your requirements
    # For example, you can access the estimated energy production
    ac_annual = data['outputs']['ac_annual']
    print(f"Estimated annual AC energy production: {ac_annual} kWh")
else:
    print(f"Request failed with status code {response.status_code}")

代码的最终结果是显示当前模型的图表 - 但是,我想从头开始学习它,所以我尝试不使用现有的代码 - 也因为我的教授想要发布它,我可以不要不加修改地使用现有代码。

python python-requests http-status-code-422
1个回答
0
投票

可以在

https://developer.nrel.gov/docs/solar/pvwatts/v8/
找到使用 DEMO_KEY

的工作示例

删除地址似乎可以做到这一点,因为您有

lat
lon

我相信该地址必须与现有的气象站相匹配,并且它具有纬度、经度的优先级,如果它错过了,你会得到 422

params = {
    "api_key": 'DEMO_KEY',
    "azimuth":0,
    "lat": -6.1833,  # latitude
    "lon": 106.9499,  # longitude
    "system_capacity":4,
    "losses":14,
    "array_type":1,
    "module_type":0,
    "gcr":0.4,
    "dc_ac_ratio":1.2,
    "inv_eff":96.0,
    "radius":0,
    "dataset": "nsrdb",
    "tilt": 10
}

给出:

Estimated annual AC energy production: 5626.015769442323 kWh
© www.soinside.com 2019 - 2024. All rights reserved.