Servidor MCP

Clairwave

io.github.clairwave/clairwave
Datos y analítica Ciencia e ingeniería Público y accesible MCP 2025-11-25

Qué hace este MCP

Provides ocean-acoustics and maritime data tools for bathymetry, sound-speed profiles, sonar detection, transmission-loss modeling, vessel noise, 3D models, and live AIS searches.

about
About Clairwave
What Clairwave provides, which models/data back each tool, and limits.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'title': 'aboutArguments', 'properties': {}}
Esquema de salida
{'type': 'object', 'title': 'AboutResult', 'properties': {'data': {'anyOf': [{}, {'type': 'null'}], 'title': 'Data', 'default': None}, 'limits': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Limits', 'default': None}, 'models': {'anyOf': [{}, {'type': 'null'}], 'title': 'Models', 'default': None}, 'platform': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Platform', 'default': None}, 'open_source': {'anyOf': [{}, {'type': 'null'}], 'title': 'Open Source', 'default': None}, 'reproducibility': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Reproducibility', 'default': None}}}
estimate_detection_range
Detection range (sonar equation, passive or active)
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).
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'title': 'estimate_detection_rangeArguments', 'properties': {'pd': {'type': 'number', 'title': 'Pd', 'default': 0.5}, 'lat': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Lat', 'default': None}, 'lon': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Lon', 'default': None}, 'pfa': {'type': 'number', 'title': 'Pfa', 'default': 0.0001}, 'mode': {'type': 'string', 'title': 'Mode', 'default': 'passive'}, 'month': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'title': 'Month', 'default': None}, 'place': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Place', 'default': None}, 'bearing_deg': {'type': 'number', 'title': 'Bearing Deg', 'default': 0.0}, 'bandwidth_hz': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Bandwidth Hz', 'default': None}, 'frequency_hz': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Frequency Hz', 'default': None}, 'max_range_km': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Max Range Km', 'default': None}, 'noise_level_db': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Noise Level Db', 'default': None}, 'pulse_length_s': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Pulse Length S', 'default': None}, 'source_depth_m': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Source Depth M', 'default': None}, 'target_depth_m': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Target Depth M', 'default': None}, 'source_level_db': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Source Level Db', 'default': None}, 'receiver_depth_m': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Receiver Depth M', 'default': None}, 'integration_time_s': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Integration Time S', 'default': None}, 'target_strength_db': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Target Strength Db', 'default': None}, 'directivity_index_db': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Directivity Index Db', 'default': None}, 'detection_threshold_db': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Detection Threshold Db', 'default': None}}}
Esquema de salida
{'type': 'object', '$defs': {'LocationInfo': {'type': 'object', 'title': 'LocationInfo', 'properties': {'lat': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Lat', 'description': 'latitude used, decimal degrees N'}, 'lon': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Lon', 'description': 'longitude used, decimal degrees E'}, 'snap': {'anyOf': [{}, {'type': 'null'}], 'title': 'Snap', 'description': 'bearing_deg and distance_km of the seaward walk'}, 'query': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Query', 'description': 'place name as given'}, 'source': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Source', 'description': 'gazetteer:exact | gazetteer:contains | gazetteer:fuzzy | nominatim (OpenStreetMap)'}, 'depth_m': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Depth M', 'description': 'water depth at the point, metres (positive down)'}, 'matched': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Matched', 'description': 'gazetteer key or OpenStreetMap display name that matched'}, 'original': {'anyOf': [{}, {'type': 'null'}], 'title': 'Original', 'description': 'original lat/lon/depth before the snap'}, 'provenance': {'anyOf': [{}, {'type': 'null'}], 'title': 'Provenance', 'description': 'provider/source notes'}, 'offshore_km': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Offshore Km', 'description': 'offset applied along the seaward bearing'}, 'snapped_to_water': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'title': 'Snapped To Water', 'description': 'true if the original point was on land/shallow and was moved seaward'}, 'seaward_bearing_deg': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Seaward Bearing Deg', 'description': 'compass bearing that leads further to sea'}}, 'additionalProperties': True}}, 'title': 'DetectionRangeResult', 'properties': {'mode': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Mode', 'default': None}, 'se_db': {'anyOf': [{}, {'type': 'null'}], 'title': 'Se Db', 'default': None}, 'inputs': {'anyOf': [{}, {'type': 'null'}], 'title': 'Inputs', 'default': None}, 'method': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Method', 'default': None}, 'caveats': {'anyOf': [{}, {'type': 'null'}], 'title': 'Caveats', 'default': None}, 'location': {'anyOf': [{'$ref': '#/$defs/LocationInfo'}, {'type': 'null'}], 'default': None}, 'open_url': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Open Url', 'default': None}, 'best_band': {'anyOf': [{}, {'type': 'null'}], 'title': 'Best Band', 'default': None}, 'provenance': {'anyOf': [{}, {'type': 'null'}], 'title': 'Provenance', 'default': None}, 'assumptions': {'anyOf': [{}, {'type': 'null'}], 'title': 'Assumptions', 'default': None}, 'bearing_deg': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Bearing Deg', 'default': None}, 'replication': {'anyOf': [{}, {'type': 'null'}], 'title': 'Replication', 'default': None}, 'open_url_note': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Open Url Note', 'default': None}, 'noise_level_db': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Noise Level Db', 'default': None}, 'sonar_equation': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Sonar Equation', 'default': None}, 'source_level_db': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Source Level Db', 'default': None}, 'environment_run_id': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Environment Run Id', 'default': None}, 'limited_by_max_range': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'title': 'Limited By Max Range', 'default': None}, 'detection_threshold_db': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Detection Threshold Db', 'default': None}, 'signal_excess_vs_range': {'anyOf': [{}, {'type': 'null'}], 'title': 'Signal Excess Vs Range', 'default': None}, 'detectable_fraction_of_track': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Detectable Fraction Of Track', 'default': None}, 'furthest_detectable_range_km': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Furthest Detectable Range Km', 'default': None}, 'continuous_detection_range_km': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Continuous Detection Range Km', 'default': None}, 'receiver_below_seafloor_fraction': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Receiver Below Seafloor Fraction', 'default': None}}}
get_bathymetry
Bathymetry
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.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'title': 'get_bathymetryArguments', 'properties': {'lat': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Lat', 'default': None}, 'lon': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Lon', 'default': None}, 'place': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Place', 'default': None}, 'n_points': {'type': 'integer', 'title': 'N Points', 'default': 100}, 'range_km': {'type': 'number', 'title': 'Range Km', 'default': 20.0}, 'bearing_deg': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Bearing Deg', 'default': None}}}
Esquema de salida
{'type': 'object', '$defs': {'LocationInfo': {'type': 'object', 'title': 'LocationInfo', 'properties': {'lat': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Lat', 'description': 'latitude used, decimal degrees N'}, 'lon': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Lon', 'description': 'longitude used, decimal degrees E'}, 'snap': {'anyOf': [{}, {'type': 'null'}], 'title': 'Snap', 'description': 'bearing_deg and distance_km of the seaward walk'}, 'query': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Query', 'description': 'place name as given'}, 'source': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Source', 'description': 'gazetteer:exact | gazetteer:contains | gazetteer:fuzzy | nominatim (OpenStreetMap)'}, 'depth_m': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Depth M', 'description': 'water depth at the point, metres (positive down)'}, 'matched': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Matched', 'description': 'gazetteer key or OpenStreetMap display name that matched'}, 'original': {'anyOf': [{}, {'type': 'null'}], 'title': 'Original', 'description': 'original lat/lon/depth before the snap'}, 'provenance': {'anyOf': [{}, {'type': 'null'}], 'title': 'Provenance', 'description': 'provider/source notes'}, 'offshore_km': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Offshore Km', 'description': 'offset applied along the seaward bearing'}, 'snapped_to_water': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'title': 'Snapped To Water', 'description': 'true if the original point was on land/shallow and was moved seaward'}, 'seaward_bearing_deg': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Seaward Bearing Deg', 'description': 'compass bearing that leads further to sea'}}, 'additionalProperties': True}}, 'title': 'BathymetryResult', 'properties': {'lat': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Lat', 'default': None}, 'lon': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Lon', 'default': None}, 'depth_m': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Depth M', 'default': None}, 'profile': {'anyOf': [{'type': 'array', 'items': {}}, {'type': 'null'}], 'title': 'Profile', 'default': None}, 'location': {'anyOf': [{'$ref': '#/$defs/LocationInfo'}, {'type': 'null'}], 'default': None}, 'range_km': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Range Km', 'default': None}, 'provenance': {'anyOf': [{}, {'type': 'null'}], 'title': 'Provenance', 'default': None}, 'bearing_deg': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Bearing Deg', 'default': None}, 'max_depth_m': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Max Depth M', 'default': None}, 'min_depth_m': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Min Depth M', 'default': None}}}
get_sound_speed_profile
Sound speed profile
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.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'title': 'get_sound_speed_profileArguments', 'required': ['month'], 'properties': {'lat': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Lat', 'default': None}, 'lon': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Lon', 'default': None}, 'month': {'type': 'integer', 'title': 'Month'}, 'place': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Place', 'default': None}}}
Esquema de salida
{'type': 'object', '$defs': {'LocationInfo': {'type': 'object', 'title': 'LocationInfo', 'properties': {'lat': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Lat', 'description': 'latitude used, decimal degrees N'}, 'lon': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Lon', 'description': 'longitude used, decimal degrees E'}, 'snap': {'anyOf': [{}, {'type': 'null'}], 'title': 'Snap', 'description': 'bearing_deg and distance_km of the seaward walk'}, 'query': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Query', 'description': 'place name as given'}, 'source': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Source', 'description': 'gazetteer:exact | gazetteer:contains | gazetteer:fuzzy | nominatim (OpenStreetMap)'}, 'depth_m': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Depth M', 'description': 'water depth at the point, metres (positive down)'}, 'matched': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Matched', 'description': 'gazetteer key or OpenStreetMap display name that matched'}, 'original': {'anyOf': [{}, {'type': 'null'}], 'title': 'Original', 'description': 'original lat/lon/depth before the snap'}, 'provenance': {'anyOf': [{}, {'type': 'null'}], 'title': 'Provenance', 'description': 'provider/source notes'}, 'offshore_km': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Offshore Km', 'description': 'offset applied along the seaward bearing'}, 'snapped_to_water': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'title': 'Snapped To Water', 'description': 'true if the original point was on land/shallow and was moved seaward'}, 'seaward_bearing_deg': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Seaward Bearing Deg', 'description': 'compass bearing that leads further to sea'}}, 'additionalProperties': True}}, 'title': 'SoundSpeedResult', 'properties': {'lat': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Lat', 'default': None}, 'lon': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Lon', 'default': None}, 'ssp': {'anyOf': [{}, {'type': 'null'}], 'title': 'Ssp', 'default': None}, 'files': {'anyOf': [{}, {'type': 'null'}], 'title': 'Files', 'default': None}, 'month': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'title': 'Month', 'default': None}, 'bottom': {'anyOf': [{}, {'type': 'null'}], 'title': 'Bottom', 'default': None}, 'run_id': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Run Id', 'default': None}, 'location': {'anyOf': [{'$ref': '#/$defs/LocationInfo'}, {'type': 'null'}], 'default': None}, 'open_url': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Open Url', 'default': None}, 'provenance': {'anyOf': [{}, {'type': 'null'}], 'title': 'Provenance', 'default': None}, 'max_depth_m': {'anyOf': [{}, {'type': 'null'}], 'title': 'Max Depth M', 'default': None}, 'open_url_note': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Open Url Note', 'default': None}, 'bottom_params_raw': {'anyOf': [{}, {'type': 'null'}], 'title': 'Bottom Params Raw', 'default': None}}}
get_vessel
Vessel details + 3D model
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.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'title': 'get_vesselArguments', 'required': ['mmsi'], 'properties': {'mmsi': {'type': 'string', 'title': 'Mmsi'}}}
Esquema de salida
{'type': 'object', 'title': 'VesselResult', 'properties': {'live': {'anyOf': [{}, {'type': 'null'}], 'title': 'Live', 'default': None}, 'mmsi': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Mmsi', 'default': None}, 'model': {'anyOf': [{}, {'type': 'null'}], 'title': 'Model', 'default': None}, 'open_url': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Open Url', 'default': None}, 'fleet_url': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Fleet Url', 'default': None}, 'provenance': {'anyOf': [{}, {'type': 'null'}], 'title': 'Provenance', 'default': None}, 'track_recent': {'anyOf': [{}, {'type': 'null'}], 'title': 'Track Recent', 'default': None}, 'model_glb_url': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Model Glb Url', 'default': None}, 'open_url_note': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Open Url Note', 'default': None}}}
get_vessel_photo
Vessel photo
Photograph of a vessel from Wikimedia Commons, with attribution.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'title': 'get_vessel_photoArguments', 'properties': {'imo': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'title': 'Imo', 'default': None}, 'mmsi': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Mmsi', 'default': None}, 'name': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Name', 'default': None}}}
Esquema de salida
{'type': 'object', 'title': 'VesselPhotoResult', 'properties': {'page': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Page', 'default': None}, 'thumb': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Thumb', 'default': None}, 'source': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Source', 'default': None}, 'status': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Status', 'default': None}, 'transient': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'title': 'Transient', 'default': None}, 'provenance': {'anyOf': [{}, {'type': 'null'}], 'title': 'Provenance', 'default': None}, 'attribution': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Attribution', 'default': None}}}
habitat_received_level
Habitat received level (vessel noise)
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.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'title': 'habitat_received_levelArguments', 'properties': {'lat': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Lat', 'default': None}, 'lon': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Lon', 'default': None}, 'top': {'type': 'integer', 'title': 'Top', 'default': 10}, 'place': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Place', 'default': None}, 'hours_back': {'type': 'number', 'title': 'Hours Back', 'default': 0}, 'max_range_km': {'type': 'number', 'title': 'Max Range Km', 'default': 30.0}}}
Esquema de salida
{'type': 'object', '$defs': {'LocationInfo': {'type': 'object', 'title': 'LocationInfo', 'properties': {'lat': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Lat', 'description': 'latitude used, decimal degrees N'}, 'lon': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Lon', 'description': 'longitude used, decimal degrees E'}, 'snap': {'anyOf': [{}, {'type': 'null'}], 'title': 'Snap', 'description': 'bearing_deg and distance_km of the seaward walk'}, 'query': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Query', 'description': 'place name as given'}, 'source': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Source', 'description': 'gazetteer:exact | gazetteer:contains | gazetteer:fuzzy | nominatim (OpenStreetMap)'}, 'depth_m': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Depth M', 'description': 'water depth at the point, metres (positive down)'}, 'matched': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Matched', 'description': 'gazetteer key or OpenStreetMap display name that matched'}, 'original': {'anyOf': [{}, {'type': 'null'}], 'title': 'Original', 'description': 'original lat/lon/depth before the snap'}, 'provenance': {'anyOf': [{}, {'type': 'null'}], 'title': 'Provenance', 'description': 'provider/source notes'}, 'offshore_km': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Offshore Km', 'description': 'offset applied along the seaward bearing'}, 'snapped_to_water': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'title': 'Snapped To Water', 'description': 'true if the original point was on land/shallow and was moved seaward'}, 'seaward_bearing_deg': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Seaward Bearing Deg', 'description': 'compass bearing that leads further to sea'}}, 'additionalProperties': True}}, 'title': 'HabitatResult', 'properties': {'mode': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Mode', 'default': None}, 'site': {'anyOf': [{}, {'type': 'null'}], 'title': 'Site', 'default': None}, 'stats': {'anyOf': [{}, {'type': 'null'}], 'title': 'Stats', 'default': None}, 'method': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Method', 'default': None}, 'series': {'anyOf': [{'type': 'array', 'items': {}}, {'type': 'null'}], 'title': 'Series', 'default': None}, 'location': {'anyOf': [{'$ref': '#/$defs/LocationInfo'}, {'type': 'null'}], 'default': None}, 'open_url': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Open Url', 'default': None}, 'bins_10min': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'title': 'Bins 10Min', 'default': None}, 'hours_back': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Hours Back', 'default': None}, 'provenance': {'anyOf': [{}, {'type': 'null'}], 'title': 'Provenance', 'default': None}, 'contributors': {'anyOf': [{'type': 'array', 'items': {}}, {'type': 'null'}], 'title': 'Contributors', 'default': None}, 'max_range_km': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Max Range Km', 'default': None}, 'vessels_seen': {'anyOf': [{}, {'type': 'null'}], 'title': 'Vessels Seen', 'default': None}, 'open_url_note': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Open Url Note', 'default': None}, 'received_level_db': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Received Level Db', 'default': None}, 'n_vessels_in_range': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'title': 'N Vessels In Range', 'default': None}}}
resolve_place
Resolve place name
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.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'title': 'resolve_placeArguments', 'required': ['place'], 'properties': {'place': {'type': 'string', 'title': 'Place'}, 'min_depth_m': {'type': 'number', 'title': 'Min Depth M', 'default': 10.0}, 'offshore_km': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Offshore Km', 'default': None}, 'seaward_bearing_deg': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Seaward Bearing Deg', 'default': None}}}
Esquema de salida
{'type': 'object', 'title': 'PlaceResult', 'properties': {'lat': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Lat', 'default': None}, 'lon': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Lon', 'default': None}, 'snap': {'anyOf': [{}, {'type': 'null'}], 'title': 'Snap', 'default': None}, 'query': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Query', 'default': None}, 'source': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Source', 'default': None}, 'depth_m': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Depth M', 'default': None}, 'matched': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Matched', 'default': None}, 'original': {'anyOf': [{}, {'type': 'null'}], 'title': 'Original', 'default': None}, 'provenance': {'anyOf': [{}, {'type': 'null'}], 'title': 'Provenance', 'default': None}, 'offshore_km': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Offshore Km', 'default': None}, 'snapped_to_water': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'title': 'Snapped To Water', 'default': None}, 'seaward_bearing_deg': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Seaward Bearing Deg', 'default': None}}}
run_bellhop_volume
Bellhop 3D TL volume (stored run)
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).
Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'title': 'run_bellhop_volumeArguments', 'properties': {'lat': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Lat', 'default': None}, 'lon': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Lon', 'default': None}, 'month': {'type': 'integer', 'title': 'Month', 'default': 6}, 'place': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Place', 'default': None}, 'radius_km': {'type': 'number', 'title': 'Radius Km', 'default': 10}, 'frequency_hz': {'type': 'number', 'title': 'Frequency Hz', 'default': 200}, 'source_depth_m': {'type': 'number', 'title': 'Source Depth M', 'default': 20}}}
Esquema de salida
{'type': 'object', '$defs': {'LocationInfo': {'type': 'object', 'title': 'LocationInfo', 'properties': {'lat': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Lat', 'description': 'latitude used, decimal degrees N'}, 'lon': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Lon', 'description': 'longitude used, decimal degrees E'}, 'snap': {'anyOf': [{}, {'type': 'null'}], 'title': 'Snap', 'description': 'bearing_deg and distance_km of the seaward walk'}, 'query': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Query', 'description': 'place name as given'}, 'source': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Source', 'description': 'gazetteer:exact | gazetteer:contains | gazetteer:fuzzy | nominatim (OpenStreetMap)'}, 'depth_m': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Depth M', 'description': 'water depth at the point, metres (positive down)'}, 'matched': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Matched', 'description': 'gazetteer key or OpenStreetMap display name that matched'}, 'original': {'anyOf': [{}, {'type': 'null'}], 'title': 'Original', 'description': 'original lat/lon/depth before the snap'}, 'provenance': {'anyOf': [{}, {'type': 'null'}], 'title': 'Provenance', 'description': 'provider/source notes'}, 'offshore_km': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Offshore Km', 'description': 'offset applied along the seaward bearing'}, 'snapped_to_water': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'title': 'Snapped To Water', 'description': 'true if the original point was on land/shallow and was moved seaward'}, 'seaward_bearing_deg': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Seaward Bearing Deg', 'description': 'compass bearing that leads further to sea'}}, 'additionalProperties': True}}, 'title': 'VolumeRunResult', 'properties': {'ssp': {'anyOf': [{}, {'type': 'null'}], 'title': 'Ssp', 'default': None}, 'files': {'anyOf': [{}, {'type': 'null'}], 'title': 'Files', 'default': None}, 'decode': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Decode', 'default': None}, 'run_id': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Run Id', 'default': None}, 'location': {'anyOf': [{'$ref': '#/$defs/LocationInfo'}, {'type': 'null'}], 'default': None}, 'metadata': {'anyOf': [{}, {'type': 'null'}], 'title': 'Metadata', 'default': None}, 'open_url': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Open Url', 'default': None}, 'provenance': {'anyOf': [{}, {'type': 'null'}], 'title': 'Provenance', 'default': None}, 'open_url_note': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Open Url Note', 'default': None}}}
run_transmission_loss
Transmission loss (RAM PE)
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.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'title': 'run_transmission_lossArguments', 'required': ['source_depth_m', 'frequency_hz', 'bearing_deg'], 'properties': {'lat': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Lat', 'default': None}, 'lon': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Lon', 'default': None}, 'month': {'type': 'integer', 'title': 'Month', 'default': 6}, 'place': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Place', 'default': None}, 'range_km': {'type': 'number', 'title': 'Range Km', 'default': 20.0}, 'bearing_deg': {'type': 'number', 'title': 'Bearing Deg'}, 'frequency_hz': {'type': 'number', 'title': 'Frequency Hz'}, 'source_depth_m': {'type': 'number', 'title': 'Source Depth M'}, 'receiver_depths_m': {'anyOf': [{'type': 'array', 'items': {'type': 'number'}}, {'type': 'null'}], 'title': 'Receiver Depths M', 'default': None}}}
Esquema de salida
{'type': 'object', '$defs': {'LocationInfo': {'type': 'object', 'title': 'LocationInfo', 'properties': {'lat': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Lat', 'description': 'latitude used, decimal degrees N'}, 'lon': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Lon', 'description': 'longitude used, decimal degrees E'}, 'snap': {'anyOf': [{}, {'type': 'null'}], 'title': 'Snap', 'description': 'bearing_deg and distance_km of the seaward walk'}, 'query': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Query', 'description': 'place name as given'}, 'source': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Source', 'description': 'gazetteer:exact | gazetteer:contains | gazetteer:fuzzy | nominatim (OpenStreetMap)'}, 'depth_m': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Depth M', 'description': 'water depth at the point, metres (positive down)'}, 'matched': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Matched', 'description': 'gazetteer key or OpenStreetMap display name that matched'}, 'original': {'anyOf': [{}, {'type': 'null'}], 'title': 'Original', 'description': 'original lat/lon/depth before the snap'}, 'provenance': {'anyOf': [{}, {'type': 'null'}], 'title': 'Provenance', 'description': 'provider/source notes'}, 'offshore_km': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Offshore Km', 'description': 'offset applied along the seaward bearing'}, 'snapped_to_water': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'title': 'Snapped To Water', 'description': 'true if the original point was on land/shallow and was moved seaward'}, 'seaward_bearing_deg': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Seaward Bearing Deg', 'description': 'compass bearing that leads further to sea'}}, 'additionalProperties': True}}, 'title': 'TransmissionLossResult', 'properties': {'grid': {'anyOf': [{}, {'type': 'null'}], 'title': 'Grid', 'default': None}, 'stats': {'anyOf': [{}, {'type': 'null'}], 'title': 'Stats', 'default': None}, 'inputs': {'anyOf': [{}, {'type': 'null'}], 'title': 'Inputs', 'default': None}, 'method': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Method', 'default': None}, 'location': {'anyOf': [{'$ref': '#/$defs/LocationInfo'}, {'type': 'null'}], 'default': None}, 'open_url': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Open Url', 'default': None}, 'provenance': {'anyOf': [{}, {'type': 'null'}], 'title': 'Provenance', 'default': None}, 'replication': {'anyOf': [{}, {'type': 'null'}], 'title': 'Replication', 'default': None}, 'solver_meta': {'anyOf': [{}, {'type': 'null'}], 'title': 'Solver Meta', 'default': None}, 'tl_vs_range': {'anyOf': [{}, {'type': 'null'}], 'title': 'Tl Vs Range', 'default': None}, 'open_url_note': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Open Url Note', 'default': None}}}
search_vessels
Search vessels (AIS)
Search live AIS vessels by name or MMSI prefix (global feed).
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'title': 'search_vesselsArguments', 'required': ['query'], 'properties': {'limit': {'type': 'integer', 'title': 'Limit', 'default': 8}, 'query': {'type': 'string', 'title': 'Query'}}}
Esquema de salida
{'type': 'object', 'title': 'VesselSearchResult', 'properties': {'results': {'anyOf': [{'type': 'array', 'items': {}}, {'type': 'null'}], 'title': 'Results', 'default': None}, 'provenance': {'anyOf': [{}, {'type': 'null'}], 'title': 'Provenance', 'default': None}}}
vessels_near
Vessels near a point (AIS)
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.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'title': 'vessels_nearArguments', 'properties': {'lat': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Lat', 'default': None}, 'lon': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Lon', 'default': None}, 'limit': {'type': 'integer', 'title': 'Limit', 'default': 30}, 'place': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Place', 'default': None}, 'radius_km': {'type': 'number', 'title': 'Radius Km', 'default': 25.0}}}
Esquema de salida
{'type': 'object', '$defs': {'LocationInfo': {'type': 'object', 'title': 'LocationInfo', 'properties': {'lat': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Lat', 'description': 'latitude used, decimal degrees N'}, 'lon': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Lon', 'description': 'longitude used, decimal degrees E'}, 'snap': {'anyOf': [{}, {'type': 'null'}], 'title': 'Snap', 'description': 'bearing_deg and distance_km of the seaward walk'}, 'query': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Query', 'description': 'place name as given'}, 'source': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Source', 'description': 'gazetteer:exact | gazetteer:contains | gazetteer:fuzzy | nominatim (OpenStreetMap)'}, 'depth_m': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Depth M', 'description': 'water depth at the point, metres (positive down)'}, 'matched': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Matched', 'description': 'gazetteer key or OpenStreetMap display name that matched'}, 'original': {'anyOf': [{}, {'type': 'null'}], 'title': 'Original', 'description': 'original lat/lon/depth before the snap'}, 'provenance': {'anyOf': [{}, {'type': 'null'}], 'title': 'Provenance', 'description': 'provider/source notes'}, 'offshore_km': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Offshore Km', 'description': 'offset applied along the seaward bearing'}, 'snapped_to_water': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'title': 'Snapped To Water', 'description': 'true if the original point was on land/shallow and was moved seaward'}, 'seaward_bearing_deg': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Seaward Bearing Deg', 'description': 'compass bearing that leads further to sea'}}, 'additionalProperties': True}}, 'title': 'VesselsNearResult', 'properties': {'note': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Note', 'default': None}, 'count': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'title': 'Count', 'default': None}, 'center': {'anyOf': [{}, {'type': 'null'}], 'title': 'Center', 'default': None}, 'vessels': {'anyOf': [{'type': 'array', 'items': {}}, {'type': 'null'}], 'title': 'Vessels', 'default': None}, 'location': {'anyOf': [{'$ref': '#/$defs/LocationInfo'}, {'type': 'null'}], 'default': None}, 'radius_km': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Radius Km', 'default': None}, 'provenance': {'anyOf': [{}, {'type': 'null'}], 'title': 'Provenance', 'default': None}, 'radius_used_km': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Radius Used Km', 'default': None}}}
vessel_source_level
Vessel source level
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`.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'title': 'vessel_source_levelArguments', 'properties': {'mmsi': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Mmsi', 'default': None}, 'beam_m': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Beam M', 'default': None}, 'draft_m': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Draft M', 'default': None}, 'length_m': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Length M', 'default': None}, 'speed_kn': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Speed Kn', 'default': None}, 'ship_type': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'title': 'Ship Type', 'default': None}, 'vessel_class': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Vessel Class', 'default': None}}}
Esquema de salida
{'type': 'object', 'title': 'SourceLevelResult', 'properties': {'note': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Note', 'default': None}, 'model': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Model', 'default': None}, 'notes': {'anyOf': [{}, {'type': 'null'}], 'title': 'Notes', 'default': None}, 'units': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Units', 'default': None}, 'beam_m': {'anyOf': [{}, {'type': 'null'}], 'title': 'Beam M', 'default': None}, 'inputs': {'anyOf': [{}, {'type': 'null'}], 'title': 'Inputs', 'default': None}, 'spectrum': {'anyOf': [{'type': 'array', 'items': {}}, {'type': 'null'}], 'title': 'Spectrum', 'default': None}, 'provenance': {'anyOf': [{}, {'type': 'null'}], 'title': 'Provenance', 'default': None}, 'ship_class': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Ship Class', 'default': None}, 'vessel_class': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Vessel Class', 'default': None}, 'uncertainty_db': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Uncertainty Db', 'default': None}, 'broadband_sl_db': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Broadband Sl Db', 'default': None}, 'effective_params': {'anyOf': [{}, {'type': 'null'}], 'title': 'Effective Params', 'default': None}, 'broadband_band_hz': {'anyOf': [{}, {'type': 'null'}], 'title': 'Broadband Band Hz', 'default': None}, 'validated_band_hz': {'anyOf': [{}, {'type': 'null'}], 'title': 'Validated Band Hz', 'default': None}, 'reference_speed_kn': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Reference Speed Kn', 'default': None}, 'reference_source_depth_m': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Reference Source Depth M', 'default': None}, 'spectrum_integrated_sl_db': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Spectrum Integrated Sl Db', 'default': None}}}
Modificado
get_vessel_photo
27 de September de 2026 a las 02:44
Modificado
vessel_source_level
27 de September de 2026 a las 02:44
Modificado
estimate_detection_range
27 de September de 2026 a las 02:44
Modificado
estimate_detection_range
25 de September de 2026 a las 02:51
Añadido
about
17 de September de 2026 a las 12:40
Añadido
habitat_received_level
17 de September de 2026 a las 12:40
Añadido
get_vessel_photo
17 de September de 2026 a las 12:40
Añadido
vessel_source_level
17 de September de 2026 a las 12:40
Añadido
get_vessel
17 de September de 2026 a las 12:40
Añadido
vessels_near
17 de September de 2026 a las 12:40
Añadido
search_vessels
17 de September de 2026 a las 12:40
Añadido
run_bellhop_volume
17 de September de 2026 a las 12:40
Añadido
estimate_detection_range
17 de September de 2026 a las 12:40
Añadido
run_transmission_loss
17 de September de 2026 a las 12:40
Añadido
get_sound_speed_profile
17 de September de 2026 a las 12:40
Añadido
get_bathymetry
17 de September de 2026 a las 12:40
Añadido
resolve_place
17 de September de 2026 a las 12:40