> ## 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.

# Marine Weather

> Wave height/direction/period, ocean currents and sea-surface temperature forecast.

Fetch a marine and ocean-wave forecast for a coastal or open-ocean coordinate. Request variables with `hourly`, `daily` and/or `current` lists — e.g. `wave_height`, `wave_direction`, `wave_period`, the `wind_wave_*` and `swell_wave_*` families, `ocean_current_velocity`/`ocean_current_direction`, and `sea_surface_temperature`. Use `length_unit=imperial` for feet, and `forecast_days` (up to 8) / `past_days` for the horizon.

The response returns grid-cell metadata and the requested resolution blocks, each with a `time` array, one array per variable, and a matching `*_units` object.

Example: `GET /apis/v1/openmeteo/marine?latitude=54.54&longitude=10.23&hourly=wave_height,wave_direction,wave_period&daily=wave_height_max&forecast_days=7&timezone=Europe/Berlin`.

**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/marine
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/marine:
    get:
      summary: Marine Weather
      description: >-
        Marine and ocean-wave forecast: wave height/direction/period (total,
        wind and swell), ocean currents and sea-surface temperature. GET
        pass-through to `https://marine-api.open-meteo.com/v1/marine`.


        Billed $0.00015 per call, metered per request.
      operationId: get_openmeteo_marine
      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: hourly
          in: query
          required: false
          description: >-
            Comma-separated list of hourly variables to return. Common values:
            `wave_height`, `wave_direction`, `wave_period`, `wind_wave_height`,
            `wind_wave_direction`, `wind_wave_period`, `swell_wave_height`,
            `swell_wave_direction`, `swell_wave_period`,
            `ocean_current_velocity`, `ocean_current_direction`,
            `sea_surface_temperature`.
          schema:
            type: string
            example: wave_height,wave_direction,wave_period
        - name: daily
          in: query
          required: false
          description: >-
            Comma-separated list of daily aggregation variables to return.
            Requires `timezone`. Common values: `wave_height_max`,
            `wave_direction_dominant`, `wave_period_max`,
            `wind_wave_height_max`, `swell_wave_height_max`.
          schema:
            type: string
            example: wave_height_max
        - name: current
          in: query
          required: false
          description: >-
            Comma-separated list of current-condition variables to return. Same
            variable set as `hourly`.
          schema:
            type: string
            example: wave_height,wave_period
        - name: forecast_days
          in: query
          required: false
          description: Number of forecast days to return (0-8). Default 5.
          schema:
            type: integer
            default: 5
            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: length_unit
          in: query
          required: false
          description: Unit for wave heights. Default `metric`.
          schema:
            type: string
            enum:
              - metric
              - imperial
            default: metric
        - 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 `sea`.
          schema:
            type: string
            enum:
              - land
              - sea
              - nearest
            default: sea
      responses:
        '200':
          description: Marine forecast for the coordinate.
          content:
            application/json:
              schema:
                type: object
              example:
                latitude: 54.5
                longitude: 10.25
                generationtime_ms: 0.2
                utc_offset_seconds: 0
                timezone: GMT
                hourly_units:
                  time: iso8601
                  wave_height: m
                  wave_direction: °
                  wave_period: s
                hourly:
                  time:
                    - 2024-01-01T00:00
                  wave_height:
                    - 0.6
                  wave_direction:
                    - 212
                  wave_period:
                    - 4.1
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: AISA API Key

````