Skip to main content
Glama

Get NASA POWER climatology

nasa_power_get_climatology
Read-only

Retrieve complete monthly and annual climatology at latitude/longitude. Optionally supply both startYear and endYear; omitted years use the source product range. Use nasa_power_list_reference for presets and tilted solar aliases. Small profiles remain inline; larger profiles return a complete table handle and bounded preview, preserving orientation text. Oversized summaries stage as summaryDataset with exact summaryCount, queried in summaryIndex order. Supply canvas_id to reuse a returned workspace.

Input Schema

NameRequiredDescriptionDefault
unitsNoRequested units mode; response units remain authoritativemetric
endYearNoCalendar year
latitudeYesLatitude in degrees north
canvas_idNoReuse a returned canvas token for an oversized profile
communityNoNASA community controlling parameter unitsRE
longitudeYesLongitude in degrees east
selectionNoParameter selection
startYearNoCalendar year
windSurfaceNoWind surface paired with windElevation; airport_ice and airport ice alias airportice
timeStandardNoLocal solar time or UTCLST
siteElevationNoSite elevation in meters; supplying it adds PSC to the effective parameter selection
windElevationNoWind correction height in meters; requires windSurface and adds WSC to the effective parameter selection

Output Schema

NameRequiredDescriptionDefault
rowsNoComplete inline observations or bounded preview with a full-data handle and exact rowCount
errorNoPresent when the call failed. Absent on success.
datasetNoFull-table handle when observations exceed inline budget; null otherwise
requestNoNormalized climatology request and corrections
metadataNoOriginal source provenance and access information
rowCountNoExact full normalized observation count
summariesNoNumeric observation summaries with explicit missingness
expansionsNoRequested alias to actual returned member codes
parametersNoReturned parameter columns, including dynamic alias members
summaryCountNoExact complete summary count when summaries are staged; summaries then holds one
summaryDatasetNoComplete summaries ordered by summaryIndex; SQL NULL units restore an omitted source unit
omittedParametersNoRequested parameters omitted by the source, distinct from fill values

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedOutput schema / properties / error / properties / data / properties / reason / description
      Previous value: -"Machine-readable failure mode. Declared by this tool: `canvas_required`: Oversized observations require an enabled workspace. `canvas_not_found`: The supplied workspace token is absent or expired. `unsupported_parameter`: Selected parameter is unavailable for this community and resolution. `unsupported_preset`: Preset is unavailable at this resolution. `invalid_window`: Window is reversed, impossible or outside source coverage. `invalid_correction`: Wind settings are unpaired or correction inputs are missing. `upstream_rejected`: NASA rejects the scientific request. `upstream_rate_limited`: NASA responds with a rate limit. `request_queue_full`: Source scheduling capacity is exhausted. `dataset_limit`: Complete data exceeds a bounded workload limit. `producer_capacity_exhausted`: Other data calls hold the in-flight capacity this call needs past its admission wait. `canvas_capacity_exhausted`: Canvas count, table or retained staging capacity is exhausted. `canvas_busy`: Another query, staging or removal occupies the supplied canvas. Other values are possible when a failure originates below the handler."New value: +"Machine-readable failure mode. Declared by this tool: `canvas_required`: Oversized observations or summaries require an enabled workspace. `canvas_not_found`: The supplied workspace token is absent or expired. `unsupported_parameter`: Selected parameter is unavailable for this community and resolution. `unsupported_preset`: Preset is unavailable at this resolution. `invalid_window`: Window is reversed, impossible or outside source coverage. `invalid_correction`: Wind settings are unpaired or correction inputs are missing. `upstream_rejected`: NASA rejects the scientific request. `upstream_rate_limited`: NASA responds with a rate limit. `request_queue_full`: Source scheduling capacity is exhausted. `dataset_limit`: Complete data exceeds a bounded workload limit. `producer_capacity_exhausted`: Other data calls hold the in-flight capacity this call needs past its admission wait. `canvas_capacity_exhausted`: Canvas count, table or retained staging capacity is exhausted. `canvas_busy`: Another query, staging or removal occupies the supplied canvas. Other values are possible when a failure originates below the handler."
    • addedOutput schema / properties / summaryCount
      Added value: +{
      +  "description": "Exact complete summary count when summaries are staged; summaries then holds one",
      +  "maximum": 9007199254740991,
      +  "minimum": -9007199254740991,
      +  "type": "integer"
      +}
    • addedOutput schema / properties / summaryDataset
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "Complete summaries ordered by summaryIndex; SQL NULL units restore an omitted source unit",
      +  "properties": {
      +    "canvas_id": {
      +      "description": "Explicit process-local canvas access token",
      +      "type": "string"
      +    },
      +    "columns": {
      +      "description": "Explicit schema of every staged column",
      +      "items": {
      +        "additionalProperties": false,
      +        "description": "One explicitly typed staged column",
      +        "properties": {
      +          "name": {
      +            "description": "Exact registered column name",
      +            "type": "string"
      +          },
      +          "nullable": {
      +            "description": "Whether this column permits null values",
      +            "type": "boolean"
      +          },
      +          "type": {
      +            "description": "Explicit DuckDB column type",
      +            "type": "string"
      +          },
      +          "units": {
      +            "description": "Exact source units for scientific columns",
      +            "type": "string"
      +          },
      +          "valueKind": {
      +            "description": "Scientific value kind when applicable",
      +            "enum": [
      +              "number",
      +              "categorical",
      +              "orientation"
      +            ],
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "name",
      +          "type",
      +          "nullable"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "describeTool": {
      +      "const": "nasa_power_dataframe_describe",
      +      "description": "Tool for inspecting this dataset",
      +      "type": "string"
      +    },
      +    "expiresAt": {
      +      "description": "Table expiry timestamp",
      +      "type": "string"
      +    },
      +    "queryTool": {
      +      "const": "nasa_power_dataframe_query",
      +      "description": "Tool for querying this dataset",
      +      "type": "string"
      +    },
      +    "rowCount": {
      +      "description": "Exact full staged row count",
      +      "type": "number"
      +    },
      +    "table": {
      +      "description": "Registered full-data table name",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "canvas_id",
      +    "table",
      +    "rowCount",
      +    "expiresAt",
      +    "columns",
      +    "describeTool",
      +    "queryTool"
      +  ],
      +  "type": "object"
      +}
  2. Changed2 schema fields changed
    • changedOutput schema / properties / error / properties / data / properties / reason / description
      Previous value: -"Machine-readable failure mode. Declared by this tool: `canvas_required`: Oversized observations require an enabled workspace. `canvas_not_found`: The supplied workspace token is absent or expired. `unsupported_parameter`: Selected parameter is unavailable for this community and resolution. `unsupported_preset`: Preset is unavailable at this resolution. `invalid_window`: Window is reversed, impossible or outside source coverage. `invalid_correction`: Wind settings are unpaired or correction inputs are missing. `upstream_rejected`: NASA rejects the scientific request. `upstream_rate_limited`: NASA responds with a rate limit. `request_queue_full`: Source scheduling capacity is exhausted. `dataset_limit`: Complete data exceeds a bounded workload limit. `canvas_capacity_exhausted`: Producer or staging admission capacity is exhausted. Other values are possible when a failure originates below the handler."New value: +"Machine-readable failure mode. Declared by this tool: `canvas_required`: Oversized observations require an enabled workspace. `canvas_not_found`: The supplied workspace token is absent or expired. `unsupported_parameter`: Selected parameter is unavailable for this community and resolution. `unsupported_preset`: Preset is unavailable at this resolution. `invalid_window`: Window is reversed, impossible or outside source coverage. `invalid_correction`: Wind settings are unpaired or correction inputs are missing. `upstream_rejected`: NASA rejects the scientific request. `upstream_rate_limited`: NASA responds with a rate limit. `request_queue_full`: Source scheduling capacity is exhausted. `dataset_limit`: Complete data exceeds a bounded workload limit. `producer_capacity_exhausted`: Other data calls hold the in-flight capacity this call needs past its admission wait. `canvas_capacity_exhausted`: Canvas count, table or retained staging capacity is exhausted. `canvas_busy`: Another query, staging or removal occupies the supplied canvas. Other values are possible when a failure originates below the handler."
    • changedOutput schema / properties / error / properties / data / properties / reason / examples
      Previous value: -[
      -  "canvas_required",
      -  "canvas_not_found",
      -  "unsupported_parameter",
      -  "unsupported_preset",
      -  "invalid_window",
      -  "invalid_correction",
      -  "upstream_rejected",
      -  "upstream_rate_limited",
      -  "request_queue_full",
      -  "dataset_limit",
      -  "canvas_capacity_exhausted"
      -]New value: +[
      +  "canvas_required",
      +  "canvas_not_found",
      +  "unsupported_parameter",
      +  "unsupported_preset",
      +  "invalid_window",
      +  "invalid_correction",
      +  "upstream_rejected",
      +  "upstream_rate_limited",
      +  "request_queue_full",
      +  "dataset_limit",
      +  "producer_capacity_exhausted",
      +  "canvas_capacity_exhausted",
      +  "canvas_busy"
      +]
  3. First observed

TDQS

A4.2/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare readOnly/openWorld, but the description discloses substantial behavior the schema cannot express: small profiles return inline, larger ones return a table handle plus bounded preview with orientation text, and overflowing summaries stage as summaryDataset with an exact summaryCount queried in summaryIndex order. The canvas_id round-trip for reusing a workspace is a genuine operational detail.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four dense sentences with no filler, front-loading what is retrieved and the year-range rule before output-shape details. The output-staging sentences are jargon-heavy but each carries necessary information for handling the response.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 12-parameter tool with an output schema, the description covers the non-obvious gaps: year-pair coupling, preset sourcing, canvas reuse, and how large results are staged and indexed. Minor omission is the relationship between community and valid parameter codes, though the schema documents that inline.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3, but the description adds real semantics: startYear and endYear must be supplied together and omitted values resolve to the source product range, and presets should be resolved via nasa_power_list_reference. It adds little for units/community/timeStandard, which the schema already covers well.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource+scope: 'Retrieve complete monthly and annual climatology at latitude/longitude'. This clearly separates it from nasa_power_get_timeseries by product type (climatology vs. time series), though that differentiation is implied rather than stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete conditional guidance: years are optional but must be supplied as a pair, omitted years fall back to the product range, and presets/tilted solar aliases should come from nasa_power_list_reference. It does not explicitly say when to prefer nasa_power_get_timeseries instead, so no exclusion rules are stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.