NASA POWER

NASA POWER provides global daily meteorological and solar energy data (1981–present) at ~55 km resolution. No API key is required.

MetaData(NASAPower())
MetaData("", "No published rate limit", :weather, Dict(:WD2M => "Wind direction at 2m (°)", :PRECTOTCORR => "Precipitation corrected (mm/day)", :CLOUD_AMT => "Cloud amount (%)", :CLRSKY_SFC_SW_DWN => "Clear-sky surface shortwave downward irradiance (MJ/m²/day)", :ALLSKY_SFC_SW_DWN => "All-sky surface shortwave downward irradiance (MJ/m²/day)", :RH2M => "Relative humidity at 2m (%)", :WS10M => "Wind speed at 10m (m/s)", :ALLSKY_SFC_LW_DWN => "All-sky surface longwave downward irradiance (W/m²)", :WD10M => "Wind direction at 10m (°)", :WS2M => "Wind speed at 2m (m/s)"…), :raster, "55 km", "Global", :timeseries, Day(1), "1981-present", "Open Data (NASA)", "https://power.larc.nasa.gov/docs/services/api/", Dict("DataFrames" => "a93c6f00-e57d-5684-b7b6-d8193f3e46c0"))

Point Query

plan = DataAccessPlan(NASAPower(), (-74.0, 40.7),
    Date(2024, 1, 1), Date(2024, 1, 7);
    variables = [:T2M, :PRECTOTCORR])
plan
DataAccessPlan for nasapower
  Extent:    Point(40.7, -74.0)
  Time:      2024-01-01 to 2024-01-07 (7 days)
  Variables: T2M, PRECTOTCORR
  community: AG
  query_type: point
  API calls: 1
  Est. size: 112 bytes

  Request 1: GET Point(40.7, -74.0), 7 days → nasapower/8aa767d440b8371b.json
files = fetch(plan)
data = JSON.parsefile(files[1])
keys(data)
KeySet for a JSON.Object{String, Any} with 7 entries. Keys:
  "type"
  "geometry"
  "properties"
  "header"
  "messages"
  "parameters"
  "times"

Regional Query

NASA POWER supports regional bounding box queries (requires at least 2° in each dimension):

ext = Extent(X=(-76.0, -72.0), Y=(39.0, 42.0))

plan = DataAccessPlan(NASAPower(), ext,
    Date(2024, 1, 1), Date(2024, 1, 7);
    variables = [:T2M])
plan
DataAccessPlan for nasapower
  Extent:    Extent(X=(-76.0, -72.0), Y=(39.0, 42.0))
  Time:      2024-01-01 to 2024-01-07 (7 days)
  Variables: T2M
  community: AG
  query_type: regional
  API calls: 1
  Est. size: 56 bytes

  Request 1: GET Regional bbox, 7 days → nasapower/4ec2c52b8c5be1bf.json

Variables

Variable Description
T2M Temperature at 2m (°C)
T2M_MAX Maximum temperature at 2m (°C)
T2M_MIN Minimum temperature at 2m (°C)
T2M_RANGE Temperature range at 2m (°C)
T2MDEW Dew/frost point at 2m (°C)
RH2M Relative humidity at 2m (%)
PRECTOTCORR Precipitation corrected (mm/day)
WS2M Wind speed at 2m (m/s)
WS10M Wind speed at 10m (m/s)
WD2M Wind direction at 2m (°)
WD10M Wind direction at 10m (°)
PS Surface pressure (kPa)
QV2M Specific humidity at 2m (g/kg)
CLOUD_AMT Cloud amount (%)
ALLSKY_SFC_SW_DWN All-sky surface shortwave downward irradiance (MJ/m²/day)
CLRSKY_SFC_SW_DWN Clear-sky surface shortwave downward irradiance (MJ/m²/day)
ALLSKY_SFC_LW_DWN All-sky surface longwave downward irradiance (W/m²)