/Thalassa

Large Scale Sea level visualizations of unstructured mesh data

Primary LanguagePythonEuropean Union Public License 1.2EUPL-1.2

Large Scale Sea level visualizations of unstructured mesh data

Thalassa is a library/application for visualizing large scale results of hydrodynamic simulations.

thalassa-2021-12-14_15.21.35.mp4

Obtaining Data

You will need some data to visualize. If you don't have any you can download a sample dataset created with pyposeidon:

mkdir ./data
wget -O data/dataset.nc https://static.techrad.eu/thalassa/dataset.nc

Deploying on a server

  1. Install the binary dependencies:
  • python 3.9
  • proj < 8
  1. Install the python dependencies with
pip install -r requirements/requirements.txt
  1. Run the panel server with:
panel serve ./run.py

For the record, panel serve is a thin wrapper around the bokeh server. It provides lots of command line options which can useful in various deployments scenarios. Of particular interest might be --num-procs which spawns multiple workers and --allow-websocket-origin. Make sure to check the docs:

Developing

Prerequisites

For managing dependencies we use poetry.

pipx install poetry

Install dependencies

Just run:

poetry install

and please make sure to also install the pre-commit hooks:

pre-commit install

Running Thalassa

As a web application

It should be as simple as:

panel serve ./run.py --autoreload

Inside jupyterlab

Open the Thalassa.ipynb in jupyterlab

License

The project is released under the EUPL v1.2 license.