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
{
  "providerAccountId" : "api-eg-008",
  "providerProfileId" : "PVWATTS_RESIDENTIAL_CA_2012",
  "serviceTypes" : "SOLAR_PV",
  "sourceId" : "PVWatts",
  "properties" : {
    "systemSize" : {
      "keyName" : "systemSize",
      "dataValue" : "8.25"
    },
    "azimuth" : {
      "keyName" : "azimuth",
      "dataValue" : "170"
    },
    "derate" : {
      "keyName" : "derate",
      "dataValue" : "0.816"
    },
    "tilt" : {
      "keyName" : "tilt",
      "dataValue" : "17"
    }
  }
}

We have integrated both PVWatts v4 and v5. 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 of a TMY2 Weather Station

NREL’s PVWatts by default looks for a TMY2 weather station within 100 miles of a latitude and longitude. However, PVWatts returns an error if it doesn’t find one. One way to make this less brittle is to set an optional argument that widens the radius PVWatts restricts to. An alternate approach might be to open up to a TMY3 weather station.

Widen the search radius for a climate data station

By default, PVWatts looks for a TMY2 weather station within 100 miles of a latitude and longitude. You can widen the search radius for a climate data station by adding the climateDataSearchRadius property to your add profile request.

Here is an example of setting the climateDataSearchRadius to 150 miles:

1
2
3
4
"climateDataSearchRadius": {
	"keyName": "climateDataSearchRadius",
	"dataValue": "150"
}

By specifying the search radius to 150 miles, PVWatts will look for a TMY2 weather station that is within 150 miles of the latitude and longitude.

Use a TMY3 weather station

By default, PVWatts looks for a TMY2 weather station. You can open up the climate data set to TMY3 adding the climateDataset property to your add profile request:

1
2
3
4
"climateDataset": {
	"keyName": "climateDataset",
	"dataValue": "tmy3"
}

By specifying the climate data set as tmy3, PVWatts will look for a TMY3 weather station.