Sharing pyGOTM: a Python/Numba GOTM reimplementation with FABM coupling #172
Replies: 2 comments 1 reply
|
Hi Nick This seems very impressive after a first - fast - read. I really think you should include the GOTM community as well and send the same message to https://github.com/gotm-model/code/discussions. Hopefully we will have a discussion about the concept and the future. Best regards, |
|
Hi Nick, Thanks for sharing this! It's great to hear that you were able to integrate pyfabm into your system to provide the biogeochemistry. Often, pyfabm is used just for model testing and box-model-like simulations, but it does provide feature-complete access to FABM and can be used in production simulation in Python-based hosts. Great to see that demonstrated. One other (3D) Python-based host that uses pyfabm is pygetm - you may find it interesting to review and compare its pyfabm coupler. Cheers, Jorn |
Uh oh!
There was an error while loading. Please reload this page.
Hello FABM community,
I would like to share a project I have been working on called pyGOTM:
https://github.com/alinbobolea/pygotm
pyGOTM is an open-source Python/Numba reimplementation of the General Ocean Turbulence Model. The goal is not to replace GOTM or FABM, but to make GOTM-style one-dimensional ocean and lake turbulence modeling more accessible to scientists and engineers working in the Python ecosystem.
The project focuses on preserving the scientific structure of the original GOTM Fortran implementation, using Numba for compiled single-column performance, supporting YAML configuration, producing reproducible NetCDF/xarray outputs, validating against GOTM reference cases, and exploring FABM/pyfabm coupling from Python.
I wrote a longer technical note here:
https://alinbobolea.github.io/blog/pygotm-fortran-to-python/
I am sharing this because FABM is an important part of the aquatic modeling ecosystem, and I would appreciate feedback from experienced FABM users on the coupling approach, compatibility expectations, validation priorities, or anything that looks incorrect or incomplete.
My intent is to contribute something useful to open-source aquatic modeling, especially for education, experimentation, reproducible workflows, and future model-coupling work.
Thank you,
Nick
All reactions