Search for a command to run...
# ⚓ Anchor Survey Tool [](https://doi.org/10.5281/zenodo.17560648) <br>@author: Andrew Reed <br>@email: areed@whoi.edu Interactive Python tool for estimating seafloor anchor positions from ship survey data. --- ## Features* **File Input**: Load station .dat files for survey analysis* **Custom Inputs**: Enter ship transducer depth, drop lat/lon (DMS), and sound speed* **Real-Time Visualization**: Interactive Matplotlib plot of triangulated anchor position* **Robust Computation**: Iterative least-squares anchor location solver with RMS error reporting* **Automated Testing**: Pytest suite with GitHub Actions integration* **Fully Reproducible**: Conda + pip hybrid environment and Makefile automation ## Installation```bashgit clone git@github.com:WHOIGit/anchor_survey.gitcd anchor_surveymake env``` ## Usage#### Launch Gui```panel serve gui/survey_gui.py --show``` #### Run from Python```from survey.survey import calculate_anchor_position``` #### Example data An example ```stations.dat``` file and ```drop_points.dat``` file are provided in **```data```** folder. ## Quick Start1️⃣ **Clone the repository**```bashgit clone git@github.com:WHOIGit/anchor_survey.gitcd anchor_survey``` ---2️⃣ **Create the environment** Use the included Makefile to create or update the Conda environment:```bashmake env```Or, manually:```bashconda env create -f environment.yml``` This will:* Create an environment named anchor_survey* Install all required dependencies (numpy, pandas, matplotlib, panel)* Install the package in editable mode (```-e .```) ---3️⃣ **Activate the environment** ```bashconda activate anchor_survey```Check libraries installed (optional):```bashmake check-env``` ---4️⃣ **Launch the GUI** Run the interactive Panel-based interface:```bashmake gui```This opens your default browser with the web app at: http://localhost:5006/survey_gui ---5️⃣ **Run tests** To confirm the code is working properly:```bashmake test``` ## Repository Organization```anchor_survey/│├── survey/ │ ├── __init__.py│ ├── survey.py │ ├── utils.py │├── gui/│ ├── __init__.py│ ├── survey_gui.py │├── data/│ ├── example_stations.dat│ ├── drop_points.dat │├── tests/│ ├── __init__.py│ ├── test_survey.py │├── notebooks/│ ├── exploration.ipynb │ ├── environment.yml ├── .gitignore├── README.md├── LICENSE├── Makefile └── pyproject.toml ``` ## Citation & License