Clairwave

Ocean acoustics: propagation models, bathymetry, sound speed, vessel noise, live AIS. Open.

我該用這個嗎

品質與安全性

B
說明品質
90%
結構描述完整度
60%
命名品質
91%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

發現項目(3)

  • LOWTool 'get_bathymetry' description lacks action verb在 get_bathymetry 中
  • LOWTool 'get_vessel_photo' description lacks action verb在 get_vessel_photo 中
  • LOWTool 'about' description lacks action verb在 about 中

根據工具定義與協定合規性的自動化分析。

上下文成本

~10,709Token(工具定義)
~7.4 KB典型回應大小
顯著的注意力影響(128k 上下文的 8.37%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

{
  "mcpServers": {
    "clairwave": {
      "url": "https://www.clairwave.com/mcp"
    }
  }
}

遠端端點

https://www.clairwave.com/mcpstreamable-http

它能做什麼

工具清單

工具(13)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
🟢resolve_place(place, seaward_bearing_deg, offshore_km, min_depth_m)

Turn a place name ('outside Halifax', 'Strait of Hormuz', 'Bergen, Norway') into water coordinates. Maritime gazetteer first (ports resolve to their approaches, straits/seas to a representative point), then OpenStreetMap. Points on land or shallower than min_depth_m are walked seaward along the gazetteer bearing (or the nearest direction) until deep enough; the original point and the snap are reported. offshore_km pushes the point further out along seaward_bearing_deg. All location tools also accept `place` directly, so a separate call is only needed to inspect.

輸入結構描述

{
  "type": "object",
  "properties": {
    "place": {
      "title": "Place",
      "type": "string"
    },
    "seaward_bearing_deg": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Seaward Bearing Deg"
    },
    "offshore_km": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Offshore Km"
    },
    "min_depth_m": {
      "default": 10,
      "title": "Min Depth M",
      "type": "number"
    }
  },
  "required": [
    "place"
  ],
  "title": "resolve_placeArguments"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "query": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Query"
    },
    "matched": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Matched"
    },
    "lat": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Lat"
    },
    "lon": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Lon"
    },
    "depth_m": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Depth M"
    },
    "source": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Source"
    },
    "seaward_bearing_deg": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Seaward Bearing Deg"
    },
    "snapped_to_water": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Snapped To Water"
    },
    "original": {
      "anyOf": [
        {},
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Original"
    },
    "snap": {
      "anyOf": [
        {},
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Snap"
    },
    "offshore_km": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Offshore Km"
    },
    "provenance": {
      "anyOf": [
        {},
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Provenance"
    }
  },
  "title": "PlaceResult"
}
🟢get_bathymetry(lat, lon, place, bearing_deg, range_km, ...)

Seafloor depth from Clairwave-served global bathymetry (~450 m resolution). Location: lat/lon or `place` (name resolved to a water point, echoed in `location`). Without a bearing: depth at the point. With a bearing (compass degrees, 0 = north): a depth profile along that transect out to range_km.

輸入結構描述

{
  "type": "object",
  "properties": {
    "lat": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Lat"
    },
    "lon": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Lon"
    },
    "place": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Place"
    },
    "bearing_deg": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Bearing Deg"
    },
    "range_km": {
      "default": 20,
      "title": "Range Km",
      "type": "number"
    },
    "n_points": {
      "default": 100,
      "title": "N Points",
      "type": "integer"
    }
  },
  "title": "get_bathymetryArguments"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "lat": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Lat"
    },
    "lon": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Lon"
    },
    "depth_m": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Depth M"
    },
    "bearing_deg": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Bearing Deg"
    },
    "range_km": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Range Km"
    },
    "profile": {
      "anyOf": [
        {
          "items": {},
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Profile"
    },
    "min_depth_m": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Min Depth M"
    },
    "max_depth_m": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Max Depth M"
    },
    "location": {
      "anyOf": [
        {
          "$ref": "#/$defs/LocationInfo"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "provenance": {
      "anyOf": [
        {},
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Provenance"
    }
  },
  "$defs": {
    "LocationInfo": {
      "additionalProperties": true,
      "properties": {
        "query": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "place name as given",
          "title": "Query"
        },
        "matched": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "gazetteer key or OpenStreetMap display name that matched",
          "title": "Matched"
        },
        "lat": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "description": "latitude used, decimal degrees N",
          "title": "Lat"
        },
        "lon": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "description": "longitude used, decimal degrees E",
          "title": "Lon"
        },
        "depth_m": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "description": "water depth at the point, metres (positive down)",
          "title": "Depth M"
        },
        "source": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "gazetteer:exact | gazetteer:contains | gazetteer:fuzzy | nominatim (OpenStreetMap)",
          "title": "Source"
        },
        "seaward_bearing_deg": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "description": "compass bearing that leads further to sea",
          "title": "Seaward Bearing Deg"
        },
        "snapped_to_water": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "description": "true if the original point was on land/shallow and was moved seaward",
          "title": "Snapped To Water"
        },
        "original": {
          "anyOf": [
            {},
            {
              "type": "null"
            }
          ],
          "description": "original lat/lon/depth before the snap",
          "title": "Original"
        },
        "snap": {
          "anyOf": [
            {},
            {
              "type": "null"
            }
          ],
          "description": "bearing_deg and distance_km of the seaward walk",
          "title": "Snap"
        },
        "offshore_km": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "description": "offset applied along the seaward bearing",
          "title": "Offshore Km"
        },
        "provenance": {
          "anyOf": [
            {},
            {
              "type": "null"
            }
          ],
          "description": "provider/source notes",
          "title": "Provenance"
        }
      },
      "title": "LocationInfo",
      "type": "object"
    }
  },
  "title": "BathymetryResult"
}
🟢get_sound_speed_profile(month, lat, lon, place)

Seasonal sound-speed profile c(z) at a location (lat/lon or `place` name, e.g. "Halifax approaches") for a calendar month (1-12), from Clairwave-served seasonal temperature/salinity climatology, plus the seabed parameters (compressional/shear speed, density ratio, attenuation, sediment type) at the same point. Cached per 0.1 degree.

輸入結構描述

{
  "type": "object",
  "properties": {
    "month": {
      "title": "Month",
      "type": "integer"
    },
    "lat": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Lat"
    },
    "lon": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Lon"
    },
    "place": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Place"
    }
  },
  "required": [
    "month"
  ],
  "title": "get_sound_speed_profileArguments"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "open_url": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Open Url"
    },
    "open_url_note": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Open Url Note"
    },
    "lat": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Lat"
    },
    "lon": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Lon"
    },
    "run_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Run Id"
    },
    "month": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Month"
    },
    "ssp": {
      "anyOf": [
        {},
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Ssp"
    },
    "bottom": {
      "anyOf": [
        {},
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Bottom"
    },
    "bottom_params_raw": {
      "anyOf": [
        {},
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Bottom Params Raw"
    },
    "max_depth_m": {
      "anyOf": [
        {},
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Max Depth M"
    },
    "files": {
      "anyOf": [
        {},
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Files"
    },
    "location": {
      "anyOf": [
        {
          "$ref": "#/$defs/LocationInfo"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "provenance": {
      "anyOf": [
        {},
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Provenance"
    }
  },
  "$defs": {
    "LocationInfo": {
      "additionalProperties": true,
      "properties": {
        "query": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "place name as given",
          "title": "Query"
        },
        "matched": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "gazetteer key or OpenStreetMap display name that matched",
          "title": "Matched"
        },
        "lat": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "description": "latitude used, decimal degrees N",
          "title": "Lat"
        },
        "lon": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "description": "longitude used, decimal degrees E",
          "title": "Lon"
        },
        "depth_m": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "description": "water depth at the point, metres (positive down)",
          "title": "Depth M"
        },
        "source": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "gazetteer:exact | gazetteer:contains | gazetteer:fuzzy | nominatim (OpenStreetMap)",
          "title": "Source"
        },
        "seaward_bearing_deg": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "description": "compass bearing that leads further to sea",
          "title": "Seaward Bearing Deg"
        },
        "snapped_to_water": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "description": "true if the original point was on land/shallow and was moved seaward",
          "title": "Snapped To Water"
        },
        "original": {
          "anyOf": [
            {},
            {
              "type": "null"
            }
          ],
          "description": "original lat/lon/depth before the snap",
          "title": "Original"
        },
        "snap": {
          "anyOf": [
            {},
            {
              "type": "null"
            }
          ],
          "description": "bearing_deg and distance_km of the seaward walk",
          "title": "Snap"
        },
        "offshore_km": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "description": "offset applied along the seaward bearing",
          "title": "Offshore Km"
        },
        "provenance": {
          "anyOf": [
            {},
            {
              "type": "null"
            }
          ],
          "description": "provider/source notes",
          "title": "Provenance"
        }
      },
      "title": "LocationInfo",
      "type": "object"
    }
  },
  "title": "SoundSpeedResult"
}
🟢run_transmission_loss(source_depth_m, frequency_hz, bearing_deg, lat, lon, ...)

Run a physically grounded transmission-loss simulation (RAM parabolic equation) from a source at (lat, lon or `place`, depth) along a compass bearing. Bathymetry, the seasonal sound-speed profile (`month`) and seabed parameters are fetched for the location automatically. Returns TL vs range at the receiver depths (default: source depth, 10 m, 100 m, mid-water), grid statistics, and the full replication bundle. Show `open_url` to the user as a clickable link.

輸入結構描述

{
  "type": "object",
  "properties": {
    "source_depth_m": {
      "title": "Source Depth M",
      "type": "number"
    },
    "frequency_hz": {
      "title": "Frequency Hz",
      "type": "number"
    },
    "bearing_deg": {
      "title": "Bearing Deg",
      "type": "number"
    },
    "lat": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Lat"
    },
    "lon": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Lon"
    },
    "place": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Place"
    },
    "range_km": {
      "default": 20,
      "title": "Range Km",
      "type": "number"
    },
    "month": {
      "default": 6,
      "title": "Month",
      "type": "integer"
    },
    "receiver_depths_m": {
      "anyOf": [
        {
          "items": {
            "type": "number"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Receiver Depths M"
    }
  },
  "required": [
    "source_depth_m",
    "frequency_hz",
    "bearing_deg"
  ],
  "title": "run_transmission_lossArguments"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "open_url": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Open Url"
    },
    "open_url_note": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Open Url Note"
    },
    "inputs": {
      "anyOf": [
        {},
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Inputs"
    },
    "method": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Method"
    },
    "solver_meta": {
      "anyOf": [
        {},
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Solver Meta"
    },
    "grid": {
      "anyOf": [
        {},
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Grid"
    },
    "tl_vs_range": {
      "anyOf": [
        {},
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Tl Vs Range"
    },
    "stats": {
      "anyOf": [
        {},
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Stats"
    },
    "replication": {
      "anyOf": [
        {},
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Replication"
    },
    "location": {
      "anyOf": [
        {
          "$ref": "#/$defs/LocationInfo"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "provenance": {
      "anyOf": [
        {},
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Provenance"
    }
  },
  "$defs": {
    "LocationInfo": {
      "additionalProperties": true,
      "properties": {
        "query": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "place name as given",
          "title": "Query"
        },
        "matched": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "gazetteer key or OpenStreetMap display name that matched",
          "title": "Matched"
        },
        "lat": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "description": "latitude used, decimal degrees N",
          "title": "Lat"
        },
        "lon": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "description": "longitude used, decimal degrees E",
          "title": "Lon"
        },
        "depth_m": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "description": "water depth at the point, metres (positive down)",
          "title": "Depth M"
        },
        "source": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "gazetteer:exact | gazetteer:contains | gazetteer:fuzzy | nominatim (OpenStreetMap)",
          "title": "Source"
        },
        "seaward_bearing_deg": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "description": "compass bearing that leads further to sea",
          "title": "Seaward Bearing Deg"
        },
        "snapped_to_water": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "description": "true if the original point was on land/shallow and was moved seaward",
          "title": "Snapped To Water"
        },
        "original": {
          "anyOf": [
            {},
            {
              "type": "null"
            }
          ],
          "description": "original lat/lon/depth before the snap",
          "title": "Original"
        },
        "snap": {
          "anyOf": [
            {},
            {
              "type": "null"
            }
          ],
          "description": "bearing_deg and distance_km of the seaward walk",
          "title": "Snap"
        },
        "offshore_km": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "description": "offset applied along the seaward bearing",
          "title": "Offshore Km"
        },
        "provenance": {
          "anyOf": [
            {},
            {
              "type": "null"
            }
          ],
          "description": "provider/source notes",
          "title": "Provenance"
        }
      },
      "title": "LocationInfo",
      "type": "object"
    }
  },
  "title": "TransmissionLossResult"
}
🟢estimate_detection_range(lat, lon, place, mode, frequency_hz, ...)

Sonar detection range along a bearing from a location (lat/lon or `place`). Transmission loss (TL) is ALWAYS computed: RAM parabolic equation with the location's bathymetry, seasonal sound speed (`month`, default: current month) and seabed. Every other sonar-equation term is optional — anything not given gets a stated, typical default listed in `assumptions` with its source. Tell the user which values were assumed. Detection threshold DT is derived from processing gain (unless given): detection index d from `pd`/`pfa` (default 0.5 / 1e-4 → d ≈ 13.8), then passive (incoherent energy detector): DT = 5·log10(d / (B·T)), B = analysis band, T = `integration_time_s` (default 1 s); active (matched filter): DT = 10·log10(d / (2·B·τ)), B = `bandwidth_hz` (default 100 Hz LFM), τ = `pulse_length_s` (default 0.5 s). DT is in-band SNR, so it can be negative — that IS the processing gain. mode="passive": SE = SL − TL − (NL − DI) − DT. Default target = merchant ship (bulk carrier, AIS 70, 200 m @ 12 kn, JOMOPANS-ECHO decidecade band level) at 6 m; receiver ½ water depth (≤ 30 m), omni (DI 0 — give directivity_index_db for an array). `frequency_hz` is optional: the tool always also evaluates the target's MOST DETECTABLE 1/3-octave band in 50–2000 Hz (`best_band`) — ships are loudest there; a user frequency is reported as asked. If you give `source_level_db` without `frequency_hz`, the range is evaluated at 50 Hz. mode="active" (monostatic, `frequency_hz` required): SE = SL − 2·TL + TS − (NL − DI) − DT, TL from the sonar to the target depth. Defaults: hull sonar at 7 m, SL 220 dB, TS 10 dB (submarine-sized, beam aspect), target ½ water depth (≤ 50 m), DI 20 dB (hull array). Noise-limited only: reverberation is NOT included (often the limit in shallow water). NL (unless given) = Wenz ambient noise at the CURRENT forecast wind at the point (Clairwave weather), moderate shipping, in the analysis band. Units: dB re 1 µPa (SL @ 1 m).

輸入結構描述

{
  "type": "object",
  "properties": {
    "lat": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Lat"
    },
    "lon": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Lon"
    },
    "place": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Place"
    },
    "mode": {
      "default": "passive",
      "title": "Mode",
      "type": "string"
    },
    "frequency_hz": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Frequency Hz"
    },
    "source_depth_m": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Source Depth M"
    },
    "source_level_db": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Source Level Db"
    },
    "receiver_depth_m": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Receiver Depth M"
    },
    "noise_level_db": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Noise Level Db"
    },
    "detection_threshold_db": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Detection Threshold Db"
    },
    "target_strength_db": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Target Strength Db"
    },
    "target_depth_m": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Target Depth M"
    },
    "directivity_index_db": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Directivity Index Db"
    },
    "bandwidth_hz": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Bandwidth Hz"
    },
    "integration_time_s": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Integration Time S"
    },
    "pulse_length_s": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Pulse Length S"
    },
    "pd": {
      "default": 0.5,
      "title": "Pd",
      "type": "number"
    },
    "pfa": {
      "default": 0.0001,
      "title": "Pfa",
      "type": "number"
    },
    "bearing_deg": {
      "default": 0,
      "title": "Bearing Deg",
      "type": "number"
    },
    "max_range_km": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Max Range Km"
    },
    "month": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Month"
    }
  },
  "title": "estimate_detection_rangeArguments"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "open_url": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Open Url"
    },
    "mode": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Mode"
    },
    "sonar_equation": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Sonar Equation"
    },
    "assumptions": {
      "anyOf": [
        {},
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Assumptions"
    },
    "caveats": {
      "anyOf": [
        {},
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Caveats"
    },
    "detection_threshold_db": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Detection Threshold Db"
    },
    "best_band": {
      "anyOf": [
        {},
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Best Band"
    },
    "open_url_note": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Open Url Note"
    },
    "inputs": {
      "anyOf": [
        {},
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Inputs"
    },
    "method": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Method"
    },
    "source_level_db": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Source Level Db"
    },
    "noise_level_db": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Noise Level Db"
    },
    "bearing_deg": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Bearing Deg"
    },
    "se_db": {
      "anyOf": [
        {},
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Se Db"
    },
    "signal_excess_vs_range": {
      "anyOf": [
        {},
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Signal Excess Vs Range"
    },
    "continuous_detection_range_km": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Continuous Detection Range Km"
    },
    "furthest_detectable_range_km": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Furthest Detectable Range Km"
    },
    "limited_by_max_range": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Limited By Max Range"
    },
    "detectable_fraction_of_track": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Detectable Fraction Of Track"
    },
    "receiver_below_seafloor_fraction": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Receiver Below Seafloor Fraction"
    },
    "environment_run_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Environment Run Id"
    },
    "replication": {
      "anyOf": [
        {},
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Replication"
    },
    "location": {
      "anyOf": [
        {
          "$ref": "#/$defs/LocationInfo"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "provenance": {
      "anyOf": [
        {},
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Provenance"
    }
  },
  "$defs": {
    "LocationInfo": {
      "additionalProperties": true,
      "properties": {
        "query": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "place name as given",
          "title": "Query"
        },
        "matched": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "gazetteer key or OpenStreetMap display name that matched",
          "title": "Matched"
        },
        "lat": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "description": "latitude used, decimal degrees N",
          "title": "Lat"
        },
        "lon": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "description": "longitude used, decimal degrees E",
          "title": "Lon"
        },
        "depth_m": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "description": "water depth at the point, metres (positive down)",
          "title": "Depth M"
        },
        "source": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "gazetteer:exact | gazetteer:contains | gazetteer:fuzzy | nominatim (OpenStreetMap)",
          "title": "Source"
        },
        "seaward_bearing_deg": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "description": "compass bearing that leads further to sea",
          "title": "Seaward Bearing Deg"
        },
        "snapped_to_water": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "description": "true if the original point was on land/shallow and was moved seaward",
          "title": "Snapped To Water"
        },
        "original": {
          "anyOf": [
            {},
            {
              "type": "null"
            }
          ],
          "description": "original lat/lon/depth before the snap",
          "title": "Original"
        },
        "snap": {
          "anyOf": [
            {},
            {
              "type": "null"
            }
          ],
          "description": "bearing_deg and distance_km of the seaward walk",
          "title": "Snap"
        },
        "offshore_km": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "description": "offset applied along the seaward bearing",
          "title": "Offshore Km"
        },
        "provenance": {
          "anyOf": [
            {},
            {
              "type": "null"
            }
          ],
          "description": "provider/source notes",
          "title": "Provenance"
        }
      },
      "title": "LocationInfo",
      "type": "object"
    }
  },
  "title": "DetectionRangeResult"
}
🟢run_bellhop_volume(lat, lon, place, source_depth_m, frequency_hz, ...)

Full 3D transmission-loss volume around a source (lat/lon or `place`) with Bellhop (all bearings), stored on the platform under a run id. Show `open_url` to the user as a clickable link: it opens this run visualized. Returns the run id, the replication metadata (SSP, seabed, bounding box) and file links (uint8 TL cube .npy + JSON sidecar). Any frequency and radius (keep radius <= ~50 km for reasonable run times).

輸入結構描述

{
  "type": "object",
  "properties": {
    "lat": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Lat"
    },
    "lon": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Lon"
    },
    "place": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Place"
    },
    "source_depth_m": {
      "default": 20,
      "title": "Source Depth M",
      "type": "number"
    },
    "frequency_hz": {
      "default": 200,
      "title": "Frequency Hz",
      "type": "number"
    },
    "radius_km": {
      "default": 10,
      "title": "Radius Km",
      "type": "number"
    },
    "month": {
      "default": 6,
      "title": "Month",
      "type": "integer"
    }
  },
  "title": "run_bellhop_volumeArguments"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "open_url": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Open Url"
    },
    "open_url_note": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Open Url Note"
    },
    "run_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Run Id"
    },
    "metadata": {
      "anyOf": [
        {},
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Metadata"
    },
    "ssp": {
      "anyOf": [
        {},
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Ssp"
    },
    "files": {
      "anyOf": [
        {},
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Files"
    },
    "decode": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Decode"
    },
    "location": {
      "anyOf": [
        {
          "$ref": "#/$defs/LocationInfo"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "provenance": {
      "anyOf": [
        {},
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Provenance"
    }
  },
  "$defs": {
    "LocationInfo": {
      "additionalProperties": true,
      "properties": {
        "query": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "place name as given",
          "title": "Query"
        },
        "matched": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "gazetteer key or OpenStreetMap display name that matched",
          "title": "Matched"
        },
        "lat": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "description": "latitude used, decimal degrees N",
          "title": "Lat"
        },
        "lon": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "description": "longitude used, decimal degrees E",
          "title": "Lon"
        },
        "depth_m": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "description": "water depth at the point, metres (positive down)",
          "title": "Depth M"
        },
        "source": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "gazetteer:exact | gazetteer:contains | gazetteer:fuzzy | nominatim (OpenStreetMap)",
          "title": "Source"
        },
        "seaward_bearing_deg": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "description": "compass bearing that leads further to sea",
          "title": "Seaward Bearing Deg"
        },
        "snapped_to_water": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "description": "true if the original point was on land/shallow and was moved seaward",
          "title": "Snapped To Water"
        },
        "original": {
          "anyOf": [
            {},
            {
              "type": "null"
            }
          ],
          "description": "original lat/lon/depth before the snap",
          "title": "Original"
        },
        "snap": {
          "anyOf": [
            {},
            {
              "type": "null"
            }
          ],
          "description": "bearing_deg and distance_km of the seaward walk",
          "title": "Snap"
        },
        "offshore_km": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "description": "offset applied along the seaward bearing",
          "title": "Offshore Km"
        },
        "provenance": {
          "anyOf": [
            {},
            {
              "type": "null"
            }
          ],
          "description": "provider/source notes",
          "title": "Provenance"
        }
      },
      "title": "LocationInfo",
      "type": "object"
    }
  },
  "title": "VolumeRunResult"
}
🟢search_vessels(query, limit)

Search live AIS vessels by name or MMSI prefix (global feed).

輸入結構描述

{
  "type": "object",
  "properties": {
    "query": {
      "title": "Query",
      "type": "string"
    },
    "limit": {
      "default": 8,
      "title": "Limit",
      "type": "integer"
    }
  },
  "required": [
    "query"
  ],
  "title": "search_vesselsArguments"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "results": {
      "anyOf": [
        {
          "items": {},
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Results"
    },
    "provenance": {
      "anyOf": [
        {},
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Provenance"
    }
  },
  "title": "VesselSearchResult"
}
🟢vessels_near(lat, lon, place, radius_km, limit)

Live AIS vessels within radius_km of a point (lat/lon or `place`), nearest first, with position, course/speed, type, dimensions and last-update time.

輸入結構描述

{
  "type": "object",
  "properties": {
    "lat": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Lat"
    },
    "lon": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Lon"
    },
    "place": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Place"
    },
    "radius_km": {
      "default": 25,
      "title": "Radius Km",
      "type": "number"
    },
    "limit": {
      "default": 30,
      "title": "Limit",
      "type": "integer"
    }
  },
  "title": "vessels_nearArguments"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "center": {
      "anyOf": [
        {},
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Center"
    },
    "radius_km": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Radius Km"
    },
    "radius_used_km": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Radius Used Km"
    },
    "note": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Note"
    },
    "count": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Count"
    },
    "vessels": {
      "anyOf": [
        {
          "items": {},
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Vessels"
    },
    "location": {
      "anyOf": [
        {
          "$ref": "#/$defs/LocationInfo"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "provenance": {
      "anyOf": [
        {},
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Provenance"
    }
  },
  "$defs": {
    "LocationInfo": {
      "additionalProperties": true,
      "properties": {
        "query": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "place name as given",
          "title": "Query"
        },
        "matched": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "gazetteer key or OpenStreetMap display name that matched",
          "title": "Matched"
        },
        "lat": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "description": "latitude used, decimal degrees N",
          "title": "Lat"
        },
        "lon": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "description": "longitude used, decimal degrees E",
          "title": "Lon"
        },
        "depth_m": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "description": "water depth at the point, metres (positive down)",
          "title": "Depth M"
        },
        "source": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "gazetteer:exact | gazetteer:contains | gazetteer:fuzzy | nominatim (OpenStreetMap)",
          "title": "Source"
        },
        "seaward_bearing_deg": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "description": "compass bearing that leads further to sea",
          "title": "Seaward Bearing Deg"
        },
        "snapped_to_water": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "description": "true if the original point was on land/shallow and was moved seaward",
          "title": "Snapped To Water"
        },
        "original": {
          "anyOf": [
            {},
            {
              "type": "null"
            }
          ],
          "description": "original lat/lon/depth before the snap",
          "title": "Original"
        },
        "snap": {
          "anyOf": [
            {},
            {
              "type": "null"
            }
          ],
          "description": "bearing_deg and distance_km of the seaward walk",
          "title": "Snap"
        },
        "offshore_km": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "description": "offset applied along the seaward bearing",
          "title": "Offshore Km"
        },
        "provenance": {
          "anyOf": [
            {},
            {
              "type": "null"
            }
          ],
          "description": "provider/source notes",
          "title": "Provenance"
        }
      },
      "title": "LocationInfo",
      "type": "object"
    }
  },
  "title": "VesselsNearResult"
}
🟢get_vessel(mmsi)

Everything about one vessel: live AIS position/track and static particulars, plus its 3D model (unique photo-derived model if generated, else the class archetype) with GLB URL (bow=+Z, up=+Y) and platform links.

輸入結構描述

{
  "type": "object",
  "properties": {
    "mmsi": {
      "title": "Mmsi",
      "type": "string"
    }
  },
  "required": [
    "mmsi"
  ],
  "title": "get_vesselArguments"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "open_url": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Open Url"
    },
    "open_url_note": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Open Url Note"
    },
    "mmsi": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Mmsi"
    },
    "live": {
      "anyOf": [
        {},
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Live"
    },
    "track_recent": {
      "anyOf": [
        {},
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Track Recent"
    },
    "model": {
      "anyOf": [
        {},
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Model"
    },
    "model_glb_url": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Model Glb Url"
    },
    "fleet_url": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Fleet Url"
    },
    "provenance": {
      "anyOf": [
        {},
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Provenance"
    }
  },
  "title": "VesselResult"
}
🟢vessel_source_level(mmsi, ship_type, speed_kn, length_m, beam_m, ...)

Underwater radiated-noise source level of a ship (monopole, dB re 1 uPa m, 6 m reference source depth): decidecade spectrum (10 Hz - 100 kHz; model bands to 31.5 kHz, validated 20 Hz - 20 kHz) and broadband level, from the JOMOPANS-ECHO reference spectrum model (MacGillivray & de Jong 2021, J. Mar. Sci. Eng. 9:369), fitted to 1862 measured ship passes. Individual ships scatter about +/-6 dB rms per band. Give an MMSI (live AIS type/speed/length are used) or explicit AIS ship_type / speed / length. vessel_class overrides the AIS mapping (e.g. "vehicle_carrier", which has no AIS type). Missing speed = the class reference speed; missing length = the class mean length of the measured ships. The spectrum is usable directly as `sl_spectrum`.

輸入結構描述

{
  "type": "object",
  "properties": {
    "mmsi": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Mmsi"
    },
    "ship_type": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Ship Type"
    },
    "speed_kn": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Speed Kn"
    },
    "length_m": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Length M"
    },
    "beam_m": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Beam M"
    },
    "draft_m": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Draft M"
    },
    "vessel_class": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Vessel Class"
    }
  },
  "title": "vessel_source_levelArguments"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "inputs": {
      "anyOf": [
        {},
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Inputs"
    },
    "model": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Model"
    },
    "broadband_sl_db": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Broadband Sl Db"
    },
    "broadband_band_hz": {
      "anyOf": [
        {},
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Broadband Band Hz"
    },
    "spectrum_integrated_sl_db": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Spectrum Integrated Sl Db"
    },
    "spectrum": {
      "anyOf": [
        {
          "items": {},
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Spectrum"
    },
    "vessel_class": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Vessel Class"
    },
    "ship_class": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Ship Class"
    },
    "reference_speed_kn": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Reference Speed Kn"
    },
    "uncertainty_db": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Uncertainty Db"
    },
    "reference_source_depth_m": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Reference Source Depth M"
    },
    "validated_band_hz": {
      "anyOf": [
        {},
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Validated Band Hz"
    },
    "notes": {
      "anyOf": [
        {},
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Notes"
    },
    "effective_params": {
      "anyOf": [
        {},
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Effective Params"
    },
    "beam_m": {
      "anyOf": [
        {},
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Beam M"
    },
    "units": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Units"
    },
    "note": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Note"
    },
    "provenance": {
      "anyOf": [
        {},
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Provenance"
    }
  },
  "title": "SourceLevelResult"
}
🟢get_vessel_photo(imo, mmsi, name)

Photograph of a vessel from Wikimedia Commons, with attribution.

輸入結構描述

{
  "type": "object",
  "properties": {
    "imo": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Imo"
    },
    "mmsi": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Mmsi"
    },
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Name"
    }
  },
  "title": "get_vessel_photoArguments"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "status": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Status"
    },
    "thumb": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Thumb"
    },
    "page": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Page"
    },
    "attribution": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Attribution"
    },
    "source": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Source"
    },
    "transient": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Transient"
    },
    "provenance": {
      "anyOf": [
        {},
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Provenance"
    }
  },
  "title": "VesselPhotoResult"
}
🟢habitat_received_level(lat, lon, place, max_range_km, hours_back, ...)

Broadband received level (dB re 1 uPa) at a fixed site — a fish farm, reef, hydrophone or marine protected area — from the ships around it, power-summed. Each vessel's source level comes from its AIS class, speed and size; transmission loss is a fast broadband model, so this is a screening estimate (use run_transmission_loss for exact site physics). hours_back = 0 uses the live snapshot; > 0 reconstructs a time series from the AIS archive in 10-minute bins (max/median/quiet levels). Location: lat/lon or `place`. Show `open_url` to the user as a clickable link.

輸入結構描述

{
  "type": "object",
  "properties": {
    "lat": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Lat"
    },
    "lon": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Lon"
    },
    "place": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Place"
    },
    "max_range_km": {
      "default": 30,
      "title": "Max Range Km",
      "type": "number"
    },
    "hours_back": {
      "default": 0,
      "title": "Hours Back",
      "type": "number"
    },
    "top": {
      "default": 10,
      "title": "Top",
      "type": "integer"
    }
  },
  "title": "habitat_received_levelArguments"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "open_url": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Open Url"
    },
    "open_url_note": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Open Url Note"
    },
    "site": {
      "anyOf": [
        {},
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Site"
    },
    "max_range_km": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Max Range Km"
    },
    "method": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Method"
    },
    "mode": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Mode"
    },
    "received_level_db": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Received Level Db"
    },
    "n_vessels_in_range": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "N Vessels In Range"
    },
    "contributors": {
      "anyOf": [
        {
          "items": {},
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Contributors"
    },
    "hours_back": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Hours Back"
    },
    "bins_10min": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Bins 10Min"
    },
    "vessels_seen": {
      "anyOf": [
        {},
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Vessels Seen"
    },
    "stats": {
      "anyOf": [
        {},
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Stats"
    },
    "series": {
      "anyOf": [
        {
          "items": {},
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Series"
    },
    "location": {
      "anyOf": [
        {
          "$ref": "#/$defs/LocationInfo"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "provenance": {
      "anyOf": [
        {},
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Provenance"
    }
  },
  "$defs": {
    "LocationInfo": {
      "additionalProperties": true,
      "properties": {
        "query": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "place name as given",
          "title": "Query"
        },
        "matched": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "gazetteer key or OpenStreetMap display name that matched",
          "title": "Matched"
        },
        "lat": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "description": "latitude used, decimal degrees N",
          "title": "Lat"
        },
        "lon": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "description": "longitude used, decimal degrees E",
          "title": "Lon"
        },
        "depth_m": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "description": "water depth at the point, metres (positive down)",
          "title": "Depth M"
        },
        "source": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "gazetteer:exact | gazetteer:contains | gazetteer:fuzzy | nominatim (OpenStreetMap)",
          "title": "Source"
        },
        "seaward_bearing_deg": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "description": "compass bearing that leads further to sea",
          "title": "Seaward Bearing Deg"
        },
        "snapped_to_water": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "description": "true if the original point was on land/shallow and was moved seaward",
          "title": "Snapped To Water"
        },
        "original": {
          "anyOf": [
            {},
            {
              "type": "null"
            }
          ],
          "description": "original lat/lon/depth before the snap",
          "title": "Original"
        },
        "snap": {
          "anyOf": [
            {},
            {
              "type": "null"
            }
          ],
          "description": "bearing_deg and distance_km of the seaward walk",
          "title": "Snap"
        },
        "offshore_km": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "description": "offset applied along the seaward bearing",
          "title": "Offshore Km"
        },
        "provenance": {
          "anyOf": [
            {},
            {
              "type": "null"
            }
          ],
          "description": "provider/source notes",
          "title": "Provenance"
        }
      },
      "title": "LocationInfo",
      "type": "object"
    }
  },
  "title": "HabitatResult"
}
🟢about

What Clairwave provides, which models/data back each tool, and limits.

輸入結構描述

{
  "type": "object",
  "properties": {},
  "title": "aboutArguments"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "platform": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Platform"
    },
    "models": {
      "anyOf": [
        {},
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Models"
    },
    "data": {
      "anyOf": [
        {},
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Data"
    },
    "reproducibility": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Reproducibility"
    },
    "limits": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Limits"
    },
    "open_source": {
      "anyOf": [
        {},
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Open Source"
    }
  },
  "title": "AboutResult"
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本13 個工具
已驗證未記錄版本13 個工具
已驗證未記錄版本13 個工具