Sharing pyGOTM: a Python/Numba implementation of GOTM for reproducible ocean/lake column modeling

Hello Pangeo community,

I would like to share an open-source project I have been working on called pyGOTM:

https://github.com/alinbobolea/pygotm

pyGOTM is a Python/Numba reimplementation of the General Ocean Turbulence Model focused on one-dimensional ocean and lake turbulence modeling. The goal is not to replace the original GOTM Fortran model, but to make GOTM-style workflows more accessible in Python while preserving the scientific structure of the original implementation.

The project focuses on:

  • Numba-based compiled single-column performance;

  • YAML-driven model configuration;

  • reproducible NetCDF/xarray outputs;

  • validation against GOTM reference cases;

  • Python-based workflows for analysis, testing, and experimentation;

  • future coupling work, including FABM/pyfabm integration.

I wrote a longer technical note here:

https://alinbobolea.github.io/blog/pygotm-fortran-to-python/

I am sharing this with Pangeo because the project overlaps with several things this community values: open geoscience software, reproducible workflows, xarray/NetCDF-based outputs, and making scientific models easier to inspect, test, and use from Python.

My intent is to contribute something useful to open-source aquatic modeling and to learn from people already building reliable scientific Python workflows.

Thank you,
Nick

2 Likes