Developer Network NREL NREL Developer Network

Solar Dataset Query (GET /api/solar/data_query/v1)

Returns information on the closest climate data for a location.

Request URL

GET /api/solar/data_query/v1.format?parameters

Request Parameters

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

The output response format.

api_key Yes
Type: string
Default: None

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

address Depends
Type: string
Default: None
The address to use (lat/lon returned by Google's geocoding service). Required if lat/lon not specified.
lat Depends
Type: decimal
Default: None
Min: -90
Max: 90
The latitude for the location to use. Required if address not specified.
lon Depends
Type: decimal
Default: None
Min: -180
Max: 180
The longitude for the location to use. Required if address not specified.
radius No
Type: integer
Default: 100
Min: 0
Max: 2000

The search radius to use when searching for climate data stations (miles). Pass in radius=0 to find the closest stations regardless of the distance. A value greater than 0 is required when using in combination with all=1.

all No
Type: integer
Default: 0
Options: 0, 1

Return all stations within the radius. The closest stations will still be returned individually.

Response Fields

The response is composed of service-related informational fields and information about the closest climate data files.

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. This includes messages regarding data not being found for one or more datasets.
version Type: string The current version of the web service.
metadata Type: collection Any metadata associated with the request (sources, etc)
outputs Type: collection

Information about the climate data files for each supported dataset. (see output fields for more detail)

Dataset 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)
all_stations Information for all stations within the radius (only if all=1 is specified)

Output Fields

The output fields contain the following information regarding climate data files from each supported dataset. If no data is found for a specific dataset, the service will return null for it in the outputs, and return a message in the warnings.

Field Value Description
id Type: string An identifier for that climate data within the dataset.
lat Type: decimal The latitude of the station.
lon Type: decimal The longitude of the station.
city Type: string The city where the station is located.
state Type: string The state where the station is located.
timezone Type: integer The timezone of the station, relative to GMT.
elevation Type: integer The elevation of the station in meters.
distance Type: integer The distance in meters from the input location to the station.

Examples

JSON Output Format

GET /api/solar/data_query/v1.json?api_key=DEMO_KEY&lat=40&lon=-105&radius=50&all=1
{
  "version" : "1.1.1",
  "warnings" : [ "No intl data found for lat=40.0 lon=-105.0" ],
  "errors" : [ ],
  "metadata" : { },
  "inputs" : {
    "lat" : "40",
    "lon" : "-105",
    "radius" : "50",
    "all" : "1"
  },
  "outputs" : {
    "tmy2" : {
      "id" : "0-94018",
      "city" : "BOULDER",
      "state" : "COLORADO",
      "timezone" : -7,
      "lat" : 40.13,
      "lon" : -105.24,
      "elevation" : 1689,
      "distance" : 24977
    },
    "tmy3" : {
      "id" : "1-724699",
      "city" : "BROOMFIELD/JEFFCO [BOULDER - SURFRAD]",
      "state" : "COLORADO",
      "timezone" : -7,
      "lat" : 40.13,
      "lon" : -105.24,
      "elevation" : 1689,
      "distance" : 24977
    },
    "intl" : null,
    "all_stations" : [ {
      "id" : "0-94018",
      "city" : "BOULDER",
      "state" : "COLORADO",
      "timezone" : -7,
      "lat" : 40.13,
      "lon" : -105.24,
      "elevation" : 1689,
      "distance" : 24977,
      "dataset" : "tmy2"
    }, {
      "id" : "1-724699",
      "city" : "BROOMFIELD/JEFFCO [BOULDER - SURFRAD]",
      "state" : "COLORADO",
      "timezone" : -7,
      "lat" : 40.13,
      "lon" : -105.24,
      "elevation" : 1689,
      "distance" : 24977,
      "dataset" : "tmy3"
    }, {
      "id" : "1-724666",
      "city" : "DENVER/CENTENNIAL [GOLDEN - NREL]",
      "state" : "COLORADO",
      "timezone" : -7,
      "lat" : 39.742,
      "lon" : -105.179,
      "elevation" : 1829,
      "distance" : 32650,
      "dataset" : "tmy3"
    }, {
      "id" : "1-725650",
      "city" : "DENVER INTL AP",
      "state" : "COLORADO",
      "timezone" : -7,
      "lat" : 39.833,
      "lon" : -104.65,
      "elevation" : 1650,
      "distance" : 35063,
      "dataset" : "tmy3"
    }, {
      "id" : "1-724695",
      "city" : "AURORA BUCKLEY FIELD ANGB",
      "state" : "COLORADO",
      "timezone" : -7,
      "lat" : 39.717,
      "lon" : -104.75,
      "elevation" : 1726,
      "distance" : 38143,
      "dataset" : "tmy3"
    }, {
      "id" : "1-724769",
      "city" : "FORT COLLINS (AWOS)",
      "state" : "COLORADO",
      "timezone" : -7,
      "lat" : 40.45,
      "lon" : -105.017,
      "elevation" : 1529,
      "distance" : 50435,
      "dataset" : "tmy3"
    }, {
      "id" : "1-724768",
      "city" : "GREELEY/WELD (AWOS)",
      "state" : "COLORADO",
      "timezone" : -7,
      "lat" : 40.433,
      "lon" : -104.633,
      "elevation" : 1420,
      "distance" : 57549,
      "dataset" : "tmy3"
    } ]
  }
}

XML Output Format

GET /api/solar/data_query/v1.xml?api_key=DEMO_KEY&lat=40&lon=-105&radius=50&all=1
<?xml version="1.0" encoding="UTF-8"?>
<response>
    <version>1.1.1</version>
    <warnings type="array">
        <warning>No intl data found for lat=40.0 lon=-105.0</warning>
    </warnings>
    <errors type="array"/>
    <metadata/>
    <inputs>
        <lat>40</lat>
        <lon>-105</lon>
        <radius>50</radius>
        <all>1</all>
    </inputs>
    <outputs>
        <tmy2>
            <id>0-94018</id>
            <city>BOULDER</city>
            <state>COLORADO</state>
            <timezone type="integer">-7</timezone>
            <lat type="float">40.13</lat>
            <lon type="float">-105.24</lon>
            <elevation type="integer">1689</elevation>
            <distance type="integer">24977</distance>
        </tmy2>
        <tmy3>
            <id>1-724699</id>
            <city>BROOMFIELD/JEFFCO [BOULDER - SURFRAD]</city>
            <state>COLORADO</state>
            <timezone type="integer">-7</timezone>
            <lat type="float">40.13</lat>
            <lon type="float">-105.24</lon>
            <elevation type="integer">1689</elevation>
            <distance type="integer">24977</distance>
        </tmy3>
        <intl nil="true"/>
        <all-stations type="array">
            <all-station>
                <id>0-94018</id>
                <city>BOULDER</city>
                <state>COLORADO</state>
                <timezone type="integer">-7</timezone>
                <lat type="float">40.13</lat>
                <lon type="float">-105.24</lon>
                <elevation type="integer">1689</elevation>
                <distance type="integer">24977</distance>
                <dataset>tmy2</dataset>
            </all-station>
            <all-station>
                <id>1-724699</id>
                <city>BROOMFIELD/JEFFCO [BOULDER - SURFRAD]</city>
                <state>COLORADO</state>
                <timezone type="integer">-7</timezone>
                <lat type="float">40.13</lat>
                <lon type="float">-105.24</lon>
                <elevation type="integer">1689</elevation>
                <distance type="integer">24977</distance>
                <dataset>tmy3</dataset>
            </all-station>
            <all-station>
                <id>1-724666</id>
                <city>DENVER/CENTENNIAL [GOLDEN - NREL]</city>
                <state>COLORADO</state>
                <timezone type="integer">-7</timezone>
                <lat type="float">39.742</lat>
                <lon type="float">-105.179</lon>
                <elevation type="integer">1829</elevation>
                <distance type="integer">32650</distance>
                <dataset>tmy3</dataset>
            </all-station>
            <all-station>
                <id>1-725650</id>
                <city>DENVER INTL AP</city>
                <state>COLORADO</state>
                <timezone type="integer">-7</timezone>
                <lat type="float">39.833</lat>
                <lon type="float">-104.65</lon>
                <elevation type="integer">1650</elevation>
                <distance type="integer">35063</distance>
                <dataset>tmy3</dataset>
            </all-station>
            <all-station>
                <id>1-724695</id>
                <city>AURORA BUCKLEY FIELD ANGB</city>
                <state>COLORADO</state>
                <timezone type="integer">-7</timezone>
                <lat type="float">39.717</lat>
                <lon type="float">-104.75</lon>
                <elevation type="integer">1726</elevation>
                <distance type="integer">38143</distance>
                <dataset>tmy3</dataset>
            </all-station>
            <all-station>
                <id>1-724769</id>
                <city>FORT COLLINS (AWOS)</city>
                <state>COLORADO</state>
                <timezone type="integer">-7</timezone>
                <lat type="float">40.45</lat>
                <lon type="float">-105.017</lon>
                <elevation type="integer">1529</elevation>
                <distance type="integer">50435</distance>
                <dataset>tmy3</dataset>
            </all-station>
            <all-station>
                <id>1-724768</id>
                <city>GREELEY/WELD (AWOS)</city>
                <state>COLORADO</state>
                <timezone type="integer">-7</timezone>
                <lat type="float">40.433</lat>
                <lon type="float">-104.633</lon>
                <elevation type="integer">1420</elevation>
                <distance type="integer">57549</distance>
                <dataset>tmy3</dataset>
            </all-station>
        </all-stations>
    </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