Developer Network NREL NREL Developer Network

PVWatts (Version 5) (GET /api/pvwatts/v5)

NREL's PVWatts calculates the energy production of grid-connected photovoltaic (PV) energy systems. This service estimates the performance of hypothetical residential and small commercial PV installations.

PVWatts Version 5 is a major update to the algorithms that were used in previous versions of the PVWatts web services. Compared with PVWatts Version 4, our new update will predict roughly 7-9% greater energy output for a fixed tilt system given similar assumptions. The new results much more closely match measured system performance data, and address concerns that PVWatts Version 4 tended to under-predict PV system performance given the default input assumptions.

PVWatts uses the NREL NSRDB 1961-1990 TMY2 dataset as the default option. However, you can select to use NREL NSRDB 1991-2005 TMY3 data, international data, or a 10km gridded dataset covering all of India.

Full technical details can be found in: Dobos, A. P. PVWatts Version 5 Manual. NREL/TP-6A20-62641, 2014.

Request URL

GET /api/pvwatts/v5.format?parameters

Request Parameters

Parameter Required Value Description
format Yes
Type: string
Default: None
Options: json, xml

The output response format.

api_key Yes
Type: string
Default: None

Your developer API key. See API keys for more information.

system_capacity Yes
Type: decimal
Default: None
Range: 0.05 to 500000

Nameplate capacity (kW).

module_type Yes
Type: integer
Default: None
Options: 0, 1, 2

Module type.

Option Description
0 Standard
1 Premium
2 Thin film
losses Yes
Type: decimal
Default: None
Range: -5 to 99
System losses (percent).
array_type Yes
Type: integer
Default: None
Options: 0, 1, 2, 3, 4

Array type.

Option Description
0 Fixed - Open Rack
1 Fixed - Roof Mounted
2 1-Axis
3 1-Axis Backtracking
4 2-Axis
tilt Yes
Type: decimal
Default: None
Range: 0 to 90
Tilt angle (degrees).
azimuth Yes
Type: decimal
Default: None
Min: 0
Max: < 360
Azimuth angle (degrees).
address Depends
Type: string
Default: None

The address to use (lat/lon returned by Google's geocoding service). Required if lat/lon or file_id not specified.

lat Depends
Type: decimal
Default: None
Range: -90 to 90

The latitude for the location to use. Required if address or file_id not specified.

lon Depends
Type: decimal
Default: None
Range: -180 to 180

The longitude for the location to use. Required if address or file_id not specified.

file_id Depends
Type: string
Default: none
Reference to a specific climate data file to use. Must be a valid id returned by the Solar Dataset Query API. Required if lat/lon or address not specified.
dataset No
Type: string
Default: tmy2
Options: tmy2, tmy3, intl, IN

The climate dataset to use. Should not be passed in if using file_id to specify the climate data file.

Option Description
tmy2

TMY2 station data (see Typical Meteorological Year, version 2)

tmy3

TMY3 station data (see Typical Meteorological Year version 3)

intl

International station data

IN

India 10km gridded solar resource data (see India Solar Resource Maps)

radius No
Type: integer
Default: 100

The search radius to use when searching for the closest climate data station (miles). Pass in radius=0 to use the closest station regardless of the distance.

timeframe No
Type: string
Default: monthly
Options: monthly, hourly
Granularity of the output response.
dc_ac_ratio No
Type: decimal
Default: 1.1
Range: must be positive

DC to AC ratio.

gcr No
Type: decimal
Default: 0.4
Range: 0 - 3

Ground coverage ratio.

inv_eff No
Type: decimal
Default: 96
Range: 90 - 99.5

Inverter efficiency at rated power.

callback No
Type: string
Default: None

Return the data using JSONP and the given callback function (only applicable when using the json format).

Response Fields

The response is composed of service-related informational fields and the results of the PVWatts simulation.

Field Value Description
inputs Type: collection The input parameters received in the request.
errors Type: array of strings Any error messages resulting from the request.
warnings Type: array of strings Any warning messages resulting from the request.
version Type: string The current version of the web service.
ssc_info Type: collection Information about the SSC library.
station_info Type: collection Information about the climate data used in the simulation. (see station info fields for more detail)
outputs Type: collection The data outputs from the simulation. (see output fields for more detail)


Station Info Fields

Field Value Description
lat Type: decimal Latitude of the climate station.
lon Type: decimal Longitude of the climate station.
elev Type: decimal Elevation of the climate station. (meters)
tz Type: decimal Timezone offset from GMT.
location Type: string ID of the climate station.
city Type: string City where climate station is located.
state Type: string State where climate station is located.
solar_resource_file Type: string Solar resource filename.
distance Type: integer Distance between the input location and the climate station. (meters)


Output Fields

Field Value Description
poa_monthly Type: array of decimal Monthly plane of array irradiance values. (kWh/m2)

The array of values represents the value for each month, with the first element being for January and the last element being for December.
dc_monthly Type: array of decimal Monthly DC array output. (kWhdc)

The array of values represents the value for each month, with the first element being for January and the last element being for December.
ac_monthly Type: array of decimal Monthly AC system output. (kWhac)

The array of values represents the value for each month, with the first element being for January and the last element being for December.
ac_annual Type: decimal Annual AC system output. (kWhac)
solrad_monthly Type: array of decimal Monthly solar radiation values. (kWh/m2/day) The array of values represents the value for each month, with the first element being for January and the last element being for December.
solrad_annual Type: decimal Annual solar radiation values. (kWh/m2/day)
capacity_factor Type: decimal The ratio of the system's predicted electrical output in the first year of operation to the nameplate output, which is equivalent to the quantity of energy the system would generate if it operated at its nameplate capacity for every hour of the year. (AC-to-DC)
ac Type: array of decimal Hourly AC system output (only when timeframe=hourly). (Wac)
poa Type: array of decimal Hourly plane of array irradiance (only when timeframe=hourly). (W/m2)
dn Type: array of decimal Hourly beam normal irradiance (only when timeframe=hourly). (W/m2)
dc Type: array of decimal Hourly DC array output (only when timeframe=hourly). (Wdc)
df Type: array of decimal Hourly diffuse irradiance (only when timeframe=hourly). (W/m2)
tamb Type: array of decimal Hourly ambient temperature (only when timeframe=hourly). (C)
tcell Type: array of decimal Hourly module temperature (only when timeframe=hourly) (C)
wspd Type: array of decimal Hourly windspeed (only when timeframe=hourly). (m/s)

Examples

JSON Output Format

GET /api/pvwatts/v5.json?api_key=DEMO_KEY&lat=40&lon=-105&system_capacity=4&azimuth=180&tilt=40&array_type=1&module_type=1&losses=10
{
  "inputs" : {
    "lat" : "40",
    "lon" : "-105",
    "system_capacity" : "4",
    "azimuth" : "180",
    "tilt" : "40",
    "array_type" : "1",
    "module_type" : "1",
    "losses" : "10"
  },
  "errors" : [ ],
  "warnings" : [ ],
  "version" : "1.0.0",
  "ssc_info" : {
    "version" : 34,
    "build" : "Unix 64 bit GNU/C++ Feb 19 2014 11:40:21"
  },
  "station_info" : {
    "lat" : 40.016666412353516,
    "lon" : -105.25,
    "elev" : 1634.0,
    "tz" : -7.0,
    "location" : "94018",
    "city" : "BOULDER",
    "state" : "CO",
    "solar_resource_file" : "94018.tm2",
    "distance" : 21235
  },
  "outputs" : {
    "ac_monthly" : [ 474.2408142089844, 465.6669921875, 628.282470703125, 602.544677734375, 610.743896484375, 591.1350708007812, 595.8433227539062, 610.0640869140625, 597.9025268554688, 574.707275390625, 471.6990661621094, 458.9857177734375 ],
    "poa_monthly" : [ 136.04103088378906, 136.04443359375, 185.7895965576172, 181.16891479492188, 185.77963256835938, 182.52105712890625, 187.89971923828125, 193.35572814941406, 187.40081787109375, 175.5979461669922, 137.59872436523438, 131.25526428222656 ],
    "solrad_monthly" : [ 4.388420581817627, 4.858729839324951, 5.993212699890137, 6.038963794708252, 5.992891311645508, 6.084035396575928, 6.061281204223633, 6.237281322479248, 6.246694087982178, 5.664449691772461, 4.5866241455078125, 4.2340407371521 ],
    "dc_monthly" : [ 495.09564208984375, 487.5823669433594, 657.702880859375, 629.8565063476562, 638.9706420898438, 618.6126708984375, 623.68994140625, 637.5205688476562, 624.635009765625, 599.9056396484375, 492.5662841796875, 479.1076354980469 ],
    "ac_annual" : 6681.81640625,
    "solrad_annual" : 5.5322184562683105
  }
}

XML Output Format

GET /api/pvwatts/v5.xml?api_key=DEMO_KEY&lat=40&lon=-105&system_capacity=4&azimuth=180&tilt=40&array_type=1&module_type=1&losses=10
<?xml version="1.0" encoding="UTF-8"?>
<response>
    <inputs>
        <lat>40</lat>
        <lon>-105</lon>
        <system-capacity>4</system-capacity>
        <azimuth>180</azimuth>
        <tilt>40</tilt>
        <array-type>1</array-type>
        <module-type>1</module-type>
        <losses>10</losses>
    </inputs>
    <errors type="array"/>
    <warnings type="array"/>
    <version>1.0.0</version>
    <ssc-info>
        <version type="integer">34</version>
        <build>Unix 64 bit GNU/C++ Feb 19 2014 11:40:21</build>
    </ssc-info>
    <station-info>
        <lat type="float">40.016666412353516</lat>
        <lon type="float">-105.25</lon>
        <elev type="float">1634.0</elev>
        <tz type="float">-7.0</tz>
        <location>94018</location>
        <city>BOULDER</city>
        <state>CO</state>
        <solar-resource-file>94018.tm2</solar-resource-file>
        <distance type="integer">21235</distance>
    </station-info>
    <outputs>
        <ac-monthly type="array">
            <ac-monthly type="float">474.2408142089844</ac-monthly>
            <ac-monthly type="float">465.6669921875</ac-monthly>
            <ac-monthly type="float">628.282470703125</ac-monthly>
            <ac-monthly type="float">602.544677734375</ac-monthly>
            <ac-monthly type="float">610.743896484375</ac-monthly>
            <ac-monthly type="float">591.1350708007812</ac-monthly>
            <ac-monthly type="float">595.8433227539062</ac-monthly>
            <ac-monthly type="float">610.0640869140625</ac-monthly>
            <ac-monthly type="float">597.9025268554688</ac-monthly>
            <ac-monthly type="float">574.707275390625</ac-monthly>
            <ac-monthly type="float">471.6990661621094</ac-monthly>
            <ac-monthly type="float">458.9857177734375</ac-monthly>
        </ac-monthly>
        <poa-monthly type="array">
            <poa-monthly type="float">136.04103088378906</poa-monthly>
            <poa-monthly type="float">136.04443359375</poa-monthly>
            <poa-monthly type="float">185.7895965576172</poa-monthly>
            <poa-monthly type="float">181.16891479492188</poa-monthly>
            <poa-monthly type="float">185.77963256835938</poa-monthly>
            <poa-monthly type="float">182.52105712890625</poa-monthly>
            <poa-monthly type="float">187.89971923828125</poa-monthly>
            <poa-monthly type="float">193.35572814941406</poa-monthly>
            <poa-monthly type="float">187.40081787109375</poa-monthly>
            <poa-monthly type="float">175.5979461669922</poa-monthly>
            <poa-monthly type="float">137.59872436523438</poa-monthly>
            <poa-monthly type="float">131.25526428222656</poa-monthly>
        </poa-monthly>
        <solrad-monthly type="array">
            <solrad-monthly type="float">4.388420581817627</solrad-monthly>
            <solrad-monthly type="float">4.858729839324951</solrad-monthly>
            <solrad-monthly type="float">5.993212699890137</solrad-monthly>
            <solrad-monthly type="float">6.038963794708252</solrad-monthly>
            <solrad-monthly type="float">5.992891311645508</solrad-monthly>
            <solrad-monthly type="float">6.084035396575928</solrad-monthly>
            <solrad-monthly type="float">6.061281204223633</solrad-monthly>
            <solrad-monthly type="float">6.237281322479248</solrad-monthly>
            <solrad-monthly type="float">6.246694087982178</solrad-monthly>
            <solrad-monthly type="float">5.664449691772461</solrad-monthly>
            <solrad-monthly type="float">4.5866241455078125</solrad-monthly>
            <solrad-monthly type="float">4.2340407371521</solrad-monthly>
        </solrad-monthly>
        <dc-monthly type="array">
            <dc-monthly type="float">495.09564208984375</dc-monthly>
            <dc-monthly type="float">487.5823669433594</dc-monthly>
            <dc-monthly type="float">657.702880859375</dc-monthly>
            <dc-monthly type="float">629.8565063476562</dc-monthly>
            <dc-monthly type="float">638.9706420898438</dc-monthly>
            <dc-monthly type="float">618.6126708984375</dc-monthly>
            <dc-monthly type="float">623.68994140625</dc-monthly>
            <dc-monthly type="float">637.5205688476562</dc-monthly>
            <dc-monthly type="float">624.635009765625</dc-monthly>
            <dc-monthly type="float">599.9056396484375</dc-monthly>
            <dc-monthly type="float">492.5662841796875</dc-monthly>
            <dc-monthly type="float">479.1076354980469</dc-monthly>
        </dc-monthly>
        <ac-annual type="float">6681.81640625</ac-annual>
        <solrad-annual type="float">5.5322184562683105</solrad-annual>
    </outputs>
</response>

Rate Limits

Standard rate limits apply. No more than 1,000 requests may be made in any hour.

Errors

Standard errors may be returned. In addition, the following service-specific errors may be returned:

HTTP Status Code Description
422 Unprocessable Entity - One or more parameters did not pass validation, or a parameter may be missing. Check the errors section of the response to see how the request should be modified to address the error.
Help Improve this Content