Skip to content

Solar Resource Data

Get solar irradiance and weather data for any location using NASA POWER satellite data.

Endpoint

POST /solar/resource

Request

{
  "latitude": 35.0,
  "longitude": -110.0
}

Parameters

Field Type Required Description
latitude float Yes Latitude in degrees (-90 to 90)
longitude float Yes Longitude in degrees (-180 to 180)

Response

{
  "latitude": 35.0,
  "longitude": -110.0,
  "annual_ghi": 2150.5,
  "annual_dni": 2450.3,
  "annual_dhi": 650.2,
  "avg_temp": 18.5,
  "monthly_ghi": [145.2, 165.3, 195.4, 210.5, 225.8, 235.2, 230.1, 215.6, 190.3, 165.4, 148.2, 138.5],
  "monthly_dni": [168.5, 185.2, 210.3, 225.5, 240.8, 250.2, 245.1, 230.6, 205.3, 180.4, 160.2, 148.5],
  "monthly_dhi": [48.2, 52.3, 55.4, 58.5, 60.8, 62.2, 61.1, 58.6, 54.3, 50.4, 47.2, 45.5],
  "monthly_temp": [8.5, 10.2, 14.3, 18.5, 23.2, 28.5, 31.2, 30.5, 26.3, 20.2, 13.5, 9.2],
  "data_source": "NASA_POWER"
}

Response Fields

Field Description Unit
annual_ghi Global Horizontal Irradiance (yearly total) kWh/m²
annual_dni Direct Normal Irradiance (yearly total) kWh/m²
annual_dhi Diffuse Horizontal Irradiance (yearly total) kWh/m²
avg_temp Average ambient temperature °C
monthly_ghi 12-element array of monthly GHI kWh/m²
monthly_dni 12-element array of monthly DNI kWh/m²
monthly_dhi 12-element array of monthly DHI kWh/m²
monthly_temp 12-element array of monthly temperature °C
data_source Source of the data string

Code Examples

import requests

response = requests.post(
    "https://api.tessellaterenewables.com/solar/resource",
    json={
        "latitude": 35.0,
        "longitude": -110.0
    }
)

data = response.json()
print(f"Annual GHI: {data['annual_ghi']} kWh/m²")
print(f"Annual DNI: {data['annual_dni']} kWh/m²")
print(f"Average Temperature: {data['avg_temp']}°C")
const response = await fetch(
  'https://api.tessellaterenewables.com/solar/resource',
  {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({
      latitude: 35.0,
      longitude: -110.0
    })
  }
);

const data = await response.json();
console.log(`Annual GHI: ${data.annual_ghi} kWh/m²`);
curl -X POST https://api.tessellaterenewables.com/solar/resource \
  -H "Content-Type: application/json" \
  -d '{"latitude": 35.0, "longitude": -110.0}'

Understanding Solar Irradiance

GHI (Global Horizontal Irradiance)

Total solar radiation on a horizontal surface. Used for fixed-tilt systems.

  • Excellent: > 2000 kWh/m²/year
  • Good: 1600-2000 kWh/m²/year
  • Moderate: 1200-1600 kWh/m²/year

DNI (Direct Normal Irradiance)

Solar radiation from the sun's direct beam. Important for tracking systems.

  • Excellent for CSP: > 2500 kWh/m²/year
  • Good for tracking PV: > 2000 kWh/m²/year

DHI (Diffuse Horizontal Irradiance)

Scattered solar radiation. Higher in cloudy climates.

Data Quality

Data is sourced from NASA POWER, which provides:

  • 20+ years of historical data
  • 0.5° × 0.5° spatial resolution
  • Monthly and daily granularity
  • Global coverage

Caching

Results are cached for 24 hours. Identical requests will return cached data for faster response times.