{ "cells": [ { "cell_type": "markdown", "id": "93d1b56e", "metadata": {}, "source": [ "# Example for Sea Surface Calibration (SSC) and Sea Surface Leveling (SSL)\n", "\n", "The **Sea Surface Leveling (SSL)** has been introduced by [Rott et al. 2022](https://wes.copernicus.org/articles/7/283/2022/) to align scanning lidars in offshore wind farms. \n", "\n", "The **Sea Surface Calibration (SSC)** builds on this work to calibration the elevation offsets of lidar scanners from multi-elevation scans of the sea surface. Further, it corrects the lidar-sea surface range determination. \n" ] }, { "cell_type": "markdown", "id": "f54381c6", "metadata": {}, "source": [ "Lets apply both to an example dataset, that has been [uploaded on Zenodo](https://zenodo.org/records/18698332) with the contribution Meyer et al. 2026. " ] }, { "cell_type": "code", "execution_count": null, "id": "a0d7a569", "metadata": {}, "outputs": [], "source": [ "from lidalign.SSC import SSC\n", "import numpy as np\n", "import pandas as pd\n", "import xarray as xr \n", "import plotly.graph_objects as go\n", "import plotly.express as px\n", "from plotly.subplots import make_subplots\n", "from itertools import cycle\n", "from lidalign.SSC import db2linear, linear2db, WaterRangeDetection, GaussianTruncatedPulse\n" ] }, { "cell_type": "markdown", "id": "712c199b", "metadata": {}, "source": [ "### Example Dataset\n", "We have provided one multi-elevation scan for the Sea Surface Calibration, that has been obtained offshore by a scanning wind lidar (WindCubeScan 400s) at three negative elevation angles. For other applications, see the scripts of the validation campaign in Heligoland in this repository." ] }, { "cell_type": "code", "execution_count": 5, "id": "a9eeefb0", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
<xarray.Dataset> Size: 4MB\n",
"Dimensions: (time: 1740, range: 315)\n",
"Coordinates:\n",
" * range (range) int32 1kB 250 265 280 295 310 ... 4915 4930 4945 4960\n",
" * time (time) datetime64[ns] 14kB 2025-08-12T05:04:03.036000 ... 2025...\n",
"Data variables:\n",
" azimuth (time) float64 14kB ...\n",
" elevation (time) float64 14kB ...\n",
" cnr (time, range) float64 4MB ...