> ## Documentation Index
> Fetch the complete documentation index at: https://aisa.one/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Ensemble Models

> Probabilistic ensemble weather forecasts with per-member arrays.

Fetch probabilistic ensemble forecasts for spread and probability analysis. `models` is **optional** — omit it to get the default best-match global ensemble (a 30-member set), or pass a comma-separated list such as `icon_seamless`, `gfs_seamless`, `ecmwf_ifs025` or `gem_global`; each model exposes its own number of members. Request variables with `hourly` and/or `daily` lists.

Every requested variable is returned once per ensemble member, suffixed with the member index (e.g. `temperature_2m_member01`, `temperature_2m_member02`, ...), alongside grid-cell metadata, a shared `time` array and a `*_units` object.

Example: `GET /apis/v1/openmeteo/ensemble?latitude=52.52&longitude=13.41&hourly=temperature_2m,wind_speed_10m&models=icon_seamless&forecast_days=7`.

**Billing: \$0.00015 per call (150 micros USD), metered per request.** All Open-Meteo endpoints are GET pass-through — authenticate with your AIsa API key as a bearer token (the same key used across every AIsa `/apis/*` endpoint); AIsa handles provider access.


## OpenAPI

````yaml openapi/openmeteo.json GET /openmeteo/ensemble
openapi: 3.0.3
info:
  title: Open-Meteo Weather API
  version: 1.0.0
  description: >-
    Open-Meteo weather data routed through the AIsa gateway: forecast,
    historical, air quality, marine, ensemble, seasonal, climate, flood,
    geocoding and elevation. All endpoints are GET pass-through to Open-Meteo
    (open-meteo.com); AIsa handles provider access. Flat pricing of $0.00015 per
    call (150 micros USD), metered per request.
servers:
  - url: https://api.aisa.one/apis/v1
security:
  - BearerAuth: []
paths:
  /openmeteo/ensemble:
    get:
      summary: Ensemble Models
      description: >-
        Probabilistic ensemble weather forecasts. Each requested variable is
        returned once per ensemble member (e.g. `temperature_2m_member01`,
        `temperature_2m_member02`, ...), enabling spread and probability
        analysis. `models` is optional — omit it to get the default best-match
        global ensemble (a 30-member set). GET pass-through to
        `https://ensemble-api.open-meteo.com/v1/ensemble`.


        Billed $0.00015 per call, metered per request.
      operationId: get_openmeteo_ensemble
      parameters:
        - name: latitude
          in: query
          required: true
          description: >-
            WGS84 latitude of the location. Multiple coordinates can be
            comma-separated.
          schema:
            type: string
            example: '52.52'
        - name: longitude
          in: query
          required: true
          description: >-
            WGS84 longitude of the location (negative for the Americas).
            Multiple coordinates can be comma-separated.
          schema:
            type: string
            example: '13.41'
        - name: models
          in: query
          required: false
          description: >-
            Optional; when omitted, defaults to the best-match global ensemble
            (a 30-member set). Comma-separated ensemble models, e.g.
            `icon_seamless`, `gfs_seamless`, `ecmwf_ifs025`, `gem_global`. Each
            model exposes its own member count.
          schema:
            type: string
            example: icon_seamless
        - name: hourly
          in: query
          required: false
          description: >-
            Comma-separated list of hourly variables to return. Common values:
            `temperature_2m`, `relative_humidity_2m`, `dew_point_2m`,
            `apparent_temperature`, `precipitation`, `rain`, `showers`,
            `snowfall`, `weather_code`, `pressure_msl`, `cloud_cover`,
            `wind_speed_10m`, `wind_direction_10m`, `wind_gusts_10m`,
            `shortwave_radiation`, `visibility`. Also `cape`.
          schema:
            type: string
            example: temperature_2m,wind_speed_10m
        - name: daily
          in: query
          required: false
          description: >-
            Comma-separated list of daily aggregation variables to return.
            Requires `timezone`. Common values: `temperature_2m_max`,
            `temperature_2m_min`, `temperature_2m_mean`, `precipitation_sum`,
            `rain_sum`, `snowfall_sum`, `weather_code`, `sunrise`, `sunset`,
            `sunshine_duration`, `wind_speed_10m_max`, `uv_index_max`.
          schema:
            type: string
            example: temperature_2m_max,precipitation_sum
        - name: forecast_days
          in: query
          required: false
          description: Number of forecast days to return (0-35). Default 7.
          schema:
            type: integer
            default: 7
            example: 7
        - name: past_days
          in: query
          required: false
          description: Number of past days to include (0-92). Default 0.
          schema:
            type: integer
            default: 0
        - name: start_date
          in: query
          required: false
          description: Start of the interval, `yyyy-mm-dd` (ISO 8601).
          schema:
            type: string
            example: '2024-01-01'
            format: date
        - name: end_date
          in: query
          required: false
          description: End of the interval, `yyyy-mm-dd` (ISO 8601).
          schema:
            type: string
            example: '2024-01-07'
            format: date
        - name: elevation
          in: query
          required: false
          description: Manual elevation (meters). Defaults to a 90m DEM.
          schema:
            type: string
            example: '38'
        - name: temperature_unit
          in: query
          required: false
          description: Temperature unit. Default `celsius`.
          schema:
            type: string
            enum:
              - celsius
              - fahrenheit
            default: celsius
        - name: wind_speed_unit
          in: query
          required: false
          description: Wind speed unit. Default `kmh`.
          schema:
            type: string
            enum:
              - kmh
              - ms
              - mph
              - kn
            default: kmh
        - name: precipitation_unit
          in: query
          required: false
          description: Precipitation unit. Default `mm`.
          schema:
            type: string
            enum:
              - mm
              - inch
            default: mm
        - name: timeformat
          in: query
          required: false
          description: Time output format. Default `iso8601`.
          schema:
            type: string
            enum:
              - iso8601
              - unixtime
            default: iso8601
        - name: timezone
          in: query
          required: false
          description: >-
            IANA time zone name (e.g. `Europe/Berlin`) or `auto` to resolve from
            coordinates. Defaults to `GMT`.
          schema:
            type: string
            example: Europe/Berlin
        - name: cell_selection
          in: query
          required: false
          description: Grid-cell preference for the coordinate. Default `land`.
          schema:
            type: string
            enum:
              - land
              - sea
              - nearest
            default: land
      responses:
        '200':
          description: Ensemble forecast with per-member arrays.
          content:
            application/json:
              schema:
                type: object
              example:
                latitude: 52.5
                longitude: 13.4
                generationtime_ms: 2.1
                utc_offset_seconds: 0
                timezone: GMT
                elevation: 38
                hourly_units:
                  time: iso8601
                  temperature_2m: °C
                hourly:
                  time:
                    - 2024-01-01T00:00
                  temperature_2m_member01:
                    - 2.1
                  temperature_2m_member02:
                    - 2.4
                  temperature_2m_member03:
                    - 1.8
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: AISA API Key

````