> For the complete documentation index, see [llms.txt](https://docs.jua.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.jua.ai/api-v2/query-engine/open-api-reference/climate-indices.md).

# Climate Indices

Query climate oscillation indices (ENSO, NAO, AO, PDO, QBO, sunspots, etc.).

## Query climate indices data

> Query climate oscillation indices timeseries data.\
> \
> \*\*Available indices\*\* (46 series):\
> \- Atmospheric oscillations: NAO, AO, AAO, PNA, PDO, QBO, AMO, SOI, WPO, EPO, GBI\
> \- Teleconnections: EA, SCAND, EAWR, TNH, POL, EPNP\
> \- ENSO: ENSO\_NINO12, ENSO\_NINO3, ENSO\_NINO4, ENSO\_NINO34 (and their \_ANOM variants), MEI, ONI\
> \- Atlantic SST: TNA, TSA, AMM\
> \- Indian Ocean: IOD\
> \- MJO (Wheeler-Hendon RMM, daily): MJO\_RMM1, MJO\_RMM2, MJO\_PHASE, MJO\_AMPLITUDE\
> \- MJO (CPC velocity-potential, pentad): MJO\_20E..MJO\_10W (10 longitude series)\
> \- Solar: SUNSPOT\
> \
> \*\*Sources\*\*: noaa\_psl, noaa\_cpc, noaa\_ncei, bom, sidc, wisc\_aos\
> \
> \*\*Temporal resolution\*\*: monthly for most indices; daily for BOM RMM MJO; pentad (5-day) for CPC VP-MJO.\
> \
> \*\*Response Formats:\*\*\
> \- \`json\`: Columnar JSON format \`{column: \[values], ...}\`\
> \- \`arrow\`: Apache Arrow IPC stream for efficient processing\
> \
> \*\*Authentication\*\*: Requires API key.

```json
{"openapi":"3.1.0","info":{"title":"Jua Query Engine API","version":"0.1.0"},"tags":[{"name":"climate-indices","description":"Query climate oscillation indices (ENSO, NAO, AO, PDO, QBO, sunspots, etc.)."}],"security":[{"HTTPBearer":[]}],"paths":{"/v1/climate-indices/data":{"post":{"tags":["climate-indices"],"summary":"Query climate indices data","description":"Query climate oscillation indices timeseries data.\n\n**Available indices** (46 series):\n- Atmospheric oscillations: NAO, AO, AAO, PNA, PDO, QBO, AMO, SOI, WPO, EPO, GBI\n- Teleconnections: EA, SCAND, EAWR, TNH, POL, EPNP\n- ENSO: ENSO_NINO12, ENSO_NINO3, ENSO_NINO4, ENSO_NINO34 (and their _ANOM variants), MEI, ONI\n- Atlantic SST: TNA, TSA, AMM\n- Indian Ocean: IOD\n- MJO (Wheeler-Hendon RMM, daily): MJO_RMM1, MJO_RMM2, MJO_PHASE, MJO_AMPLITUDE\n- MJO (CPC velocity-potential, pentad): MJO_20E..MJO_10W (10 longitude series)\n- Solar: SUNSPOT\n\n**Sources**: noaa_psl, noaa_cpc, noaa_ncei, bom, sidc, wisc_aos\n\n**Temporal resolution**: monthly for most indices; daily for BOM RMM MJO; pentad (5-day) for CPC VP-MJO.\n\n**Response Formats:**\n- `json`: Columnar JSON format `{column: [values], ...}`\n- `arrow`: Apache Arrow IPC stream for efficient processing\n\n**Authentication**: Requires API key.","operationId":"post_climate_indices_data_v1_climate_indices_data_post","parameters":[{"name":"format","in":"query","required":false,"schema":{"enum":["json","arrow"],"type":"string","description":"Response format: 'json' or 'arrow'","default":"json","title":"Format"},"description":"Response format: 'json' or 'arrow'"},{"name":"include_units","in":"query","required":false,"schema":{"type":"boolean","description":"When true, JSON responses are wrapped in {data, units}.","default":false,"title":"Include Units"},"description":"When true, JSON responses are wrapped in {data, units}."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClimateIndicesTimeseriesQuery"}}}},"responses":{"200":{"description":"Successfully retrieved climate indices data","content":{"application/json":{"schema":{}},"application/vnd.apache.arrow.stream":{"description":"Apache Arrow IPC stream format"}}},"400":{"description":"Invalid query parameters"},"401":{"description":"Authentication required"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"ClimateIndicesTimeseriesQuery":{"properties":{"indices":{"anyOf":[{"items":{"$ref":"#/components/schemas/ClimateIndex"},"type":"array"},{"type":"null"}],"title":"Indices","description":"Climate indices to query. If not set, returns all."},"sources":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Sources","description":"Data sources to filter by (e.g. 'noaa_psl', 'noaa_cpc', 'sidc')."},"start_time":{"type":"string","format":"date-time","title":"Start Time","description":"Start time for the query (inclusive)"},"end_time":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Time","description":"End time for the query (exclusive). If None, no upper bound."},"time_zone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Time Zone","description":"IANA time zone for time formatting (e.g. 'Europe/Berlin')."},"order_by":{"anyOf":[{"items":{"$ref":"#/components/schemas/OrderByItem_str_"},"type":"array"},{"type":"null"}],"title":"Order By","description":"Columns to order by (e.g. 'time__desc')."},"pagination":{"anyOf":[{"$ref":"#/components/schemas/Pagination"},{"type":"null"}],"description":"Pagination parameters"}},"type":"object","required":["start_time"],"title":"ClimateIndicesTimeseriesQuery","description":"Query parameters for climate indices timeseries data."},"ClimateIndex":{"type":"string","enum":["NAO","AO","AAO","PNA","PDO","QBO","AMO","SOI","WPO","EPO","GBI","EA","SCAND","EAWR","TNH","POL","EPNP","ENSO_NINO12","ENSO_NINO12_ANOM","ENSO_NINO3","ENSO_NINO3_ANOM","ENSO_NINO4","ENSO_NINO4_ANOM","ENSO_NINO34","ENSO_NINO34_ANOM","MEI","ONI","TNA","TSA","AMM","IOD","MJO_20E","MJO_70E","MJO_80E","MJO_100E","MJO_120E","MJO_140E","MJO_160E","MJO_120W","MJO_40W","MJO_10W","MJO_RMM1","MJO_RMM2","MJO_PHASE","MJO_AMPLITUDE","SUNSPOT"],"title":"ClimateIndex","description":"Climate oscillation index identifiers."},"OrderByItem_str_":{"properties":{"field":{"type":"string","title":"Field","description":"Field to sort by"},"direction":{"$ref":"#/components/schemas/SortDirection","description":"Sort direction: 'asc' (default) or 'desc'","default":"asc"},"aggregation":{"anyOf":[{"type":"string","enum":["avg","std","min","max","sum","count","median","quantile","argmin","argmax"]},{"type":"null"}],"title":"Aggregation","description":"Aggregation function when ordering by variable"}},"type":"object","required":["field"],"title":"OrderByItem[str]"},"SortDirection":{"type":"string","enum":["asc","desc"],"title":"SortDirection","description":"Sort direction for ORDER BY clauses."},"Pagination":{"properties":{"limit":{"type":"integer","title":"Limit","default":100},"offset":{"type":"integer","title":"Offset","default":0}},"type":"object","title":"Pagination"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## List available climate indices

> Get a list of available climate oscillation indices with metadata.\
> \
> \*\*Authentication\*\*: Requires API key.

```json
{"openapi":"3.1.0","info":{"title":"Jua Query Engine API","version":"0.1.0"},"tags":[{"name":"climate-indices","description":"Query climate oscillation indices (ENSO, NAO, AO, PDO, QBO, sunspots, etc.)."}],"security":[{"HTTPBearer":[]}],"paths":{"/v1/climate-indices/indices":{"get":{"tags":["climate-indices"],"summary":"List available climate indices","description":"Get a list of available climate oscillation indices with metadata.\n\n**Authentication**: Requires API key.","operationId":"get_climate_indices_list_v1_climate_indices_indices_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AvailableIndicesResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"AvailableIndicesResult":{"properties":{"indices":{"items":{"$ref":"#/components/schemas/ClimateIndexInfo"},"type":"array","title":"Indices"}},"type":"object","required":["indices"],"title":"AvailableIndicesResult","description":"Result for available climate indices query."},"ClimateIndexInfo":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"unit":{"type":"string","title":"Unit"}},"type":"object","required":["name","description","unit"],"title":"ClimateIndexInfo","description":"Metadata for a climate index."},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## List available climate indices data sources

> Get a list of available data sources for climate indices.\
> \
> \*\*Authentication\*\*: Requires API key.

```json
{"openapi":"3.1.0","info":{"title":"Jua Query Engine API","version":"0.1.0"},"tags":[{"name":"climate-indices","description":"Query climate oscillation indices (ENSO, NAO, AO, PDO, QBO, sunspots, etc.)."}],"security":[{"HTTPBearer":[]}],"paths":{"/v1/climate-indices/sources":{"get":{"tags":["climate-indices"],"summary":"List available climate indices data sources","description":"Get a list of available data sources for climate indices.\n\n**Authentication**: Requires API key.","operationId":"get_climate_indices_sources_v1_climate_indices_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/jua_query_v2__climate_indices__types__AvailableSourcesResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"jua_query_v2__climate_indices__types__AvailableSourcesResult":{"properties":{"sources":{"items":{"type":"string"},"type":"array","title":"Sources"}},"type":"object","required":["sources"],"title":"AvailableSourcesResult","description":"Result for available climate indices data sources query."},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.jua.ai/api-v2/query-engine/open-api-reference/climate-indices.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
