Use PVWatts to Create a Solar Profile

If you don’t want to use an external tool for your solar estimation, you can use NREL’s PVWatts. It’s integrated into our API, so you can do the estimate and upload a profile at the same time.

Note that our service is calling out to an external API to do this. Over the years we have found NREL’s PVWatts to be reliable. That being said, creating profiles with PVWatts will not work when NREL experiences an API outage. We track uptime, and send notification emails when their service is down. This is rare. See historical uptime of the PVWatts API on our API Status Page.

Create a Solar Profile

You use the same API endpoints that you are probably already using to manage bill or meter usage data, the Usage Profile endpoints. There are two key differences when adding or editing usage profiles for electricity vs. solar. The first is the serviceTypes field. Set it to SOLAR_PV instead of ELECTRICITY to indicate that your data is solar production, not electricity usage. The second difference is you are loading estimated (modeled data), not time specific actual usage data. For estimated solar production, your hour by hour solar production numbers should be populated in the baselineMeasures. For electricity, you probably put your data in the readingData property. When you use the integrated PVWatts model, this is populated for you. To do this, set the sourceId to PVWatts and optionally specify a number of additional parameters that define the configuration of the system you are modeling. Here’s an example of a common case:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
{
  "providerAccountId" : "api-eg-01",
  "providerProfileId" : "PVWATTS_RESIDENTIAL_CA_V8_TESTING",
  "groupBy" : "YEAR",
  "serviceTypes" : "SOLAR_PV",
  "source": {
    "sourceId":"PVWatts",
    "sourceVersion":"8"
  },
  "properties" : {
    "systemSize" : {
      "keyName" : "systemSize",
      "dataValue" : "2.65"
    },
    "azimuth" : {
      "keyName" : "azimuth",
      "dataValue" : "170"
    },
    "losses" : {
      "keyName" : "losses",
      "dataValue" : "15"
    },
    "inverterEfficiency" : {
      "keyName" : "inverterEfficiency",
      "dataValue" : "96"
    },
    "tilt" : {
      "keyName" : "tilt",
      "dataValue" : "17"
    },
    "bifaciality" : {
        "keyName" : "bifaciality",
        "dataValue" : "0.5"
    },
    "albedo" : {
        "keyName" : "albedo",
        "dataValue" : "0.5"
    },
    "useWeatherFileAlbedo" : {
        "keyName" : "useWeatherFileAlbedo",
        "dataValue" : "0"
    },
    "soiling" : {
        "keyName" : "soiling",
        "dataValue" : "12.0, 4.0, 45.0, 23.0, 9.0, 99.0, 67.0, 12.54, 54.0, 9.0, 0.0, 7.6"
    }
  }
}

We have integrated both PVWatts v6 and v8 until v6 is deprecated in January 2024 after which the v* will be the default. See the Usage Profile API Reference documentation for more of the specific parameters you can pass in.

Account for Hawaii Sun Zones in a PVWatts Profile

When estimating solar production in Hawaii, it’s all about location, location, location. Because the weather varies so much there, systems located only a few miles apart may produce wildly different amounts of energy.

To help installers deal with this issue, the Hawaii State Energy Office put together a map of “Sun Zones”. These Sun Zones can be used to adjust PVWatts estimates to be more accurate. Fortunately, they’re also built right into the Genability API! In order to incorporate a Hawaii Sun Zone into your PVWatts analysis, just add the following property to your add profile request:

1
2
3
4
"climateDataCorrectionZone": { 
    "keyName":"climateDataCorrectionZone", 
    "dataValue":"{sunZone}" 
}

The Sun Zone values range from 200-250, 251-300, and so on up to 601-650. After you’ve included this new property, a correction factor based on the Sun Zone will be automatically applied to the resulting profile.

Account for Addresses Located Greater than 100 miles from a TMY2 Weather Station

PVWatts v6 and PVWatts v8 uses the NSRDB climate dataset by default, which includes solar radiation data for the entire U.S. in gridded segments (4 km x 4 km). Since your site will always lie within one of the 2 million grid segements, you needn’t worry about proximity to a weather station when using v6 or v8.