the Creative Commons Attribution 4.0 License.
the Creative Commons Attribution 4.0 License.
Veris: Fast & Efficient Sea-Ice Modeling in Python with GPU Acceleration
Abstract. Climate models are typically developed in Fortran, due to its long-standing use in scientific computing and its excellent computational performance. While Python offers significant advantages in terms of code readability, maintainability, and the availability of libraries and tools, the performance gap between Python and Fortran has limited Python's use in large scale climate simulations. The JAX library for array based computing addresses this gap by enabling Just-In-Time compilation, which significantly enhances execution speed. As climate models iterate over numerous time steps, using compiled functions substantially increases the performance of the model. Furthermore, JAX supports both CPU and GPU execution, allowing models to leverage the high parallelism of GPUs. Given that climate models are highly parallelizable, GPUs offer a more efficient alternative to CPUs, both in terms of performance and energy consumption, thereby reducing the computational carbon footprint. This work presents Veris, a sea ice model that is a Fortran to Python translation of the sea ice component of the general circulation model MITgcm. Benchmark tests on a grid with 106 grid cells show that Veris with JAX as the backend is only 1.7 times slower than the Fortran reference. When running on a high-end GPU, Veris matches the performance of the parallelized Fortran reference running on 45 CPUs on 45 nodes or 224 CPUs on 2 nodes. Additionally, Veris can be coupled with the Python-based ocean model Veros to form a fully Python-based coupled sea ice-ocean model, that can be used with large grids in HPC-based simulations.
Status: open (extended)
-
RC1: 'Comment on egusphere-2025-756', Anonymous Referee #1, 01 May 2025
reply
The manuscript describes an effort to refactor the MITGCM sea ice model from Fortran to Python. This is based on previous work with an ocean model (Veros) written in Python. This is a nice effort.
Unfortunately the manuscript itself is on the weak side and it seems as if the authors dives into too many things without really doing more than scratching the surface. It compares a demonstration case by Mehlmann et al (2021) with a stationary wind field and states that narrow features are observed. Are these right or wrong? Then it simulates Antarctic in order to show that the coupled system works. But again no real validation or discussion. The largest focus is on optimization and they show scaling based on increased domain size. This Scaling is normally shown with increasing number of processors (including the timing of running on 1 processor). For climate models the limitation should be usage of the full bandwidth, which is not necessarily reached.Specific comments:
Line 15: This is a subjective thing. I don’t think that Python is easier to read or maintain. I think that this depends on the programmer. I agree that Python is easier accessible as it does not require a compiler and that more people have used this.
Line 77: I assume this is theoretical speaking and if all resources are used.
Section 2.2 Validation: What is the setup for the dynamic test? 1000 iterations is a few days Is this long enough?
2.3 Parallelization
EVP cannot use JAX. How does the model speed up the dynamics in the JAX parallelization cases in the figure if it only do dynamics?
This is normally the most expensive part.
Function fill overlap. This is the communication part and the part that adds a mpi synchronization point in addition to the compilation just in time.
Section 3.1
Is this the same test as the dynamics? Described in section 2.2?Citation: https://doi.org/10.5194/egusphere-2025-756-RC1 -
AC2: 'Reply on RC1', Jan Gärtner, 12 Jun 2025
reply
Dear reviewer,
Thank you for your interest in our paper and your feedback. In the attached file, we will directly respond to your comments.
Best regards,
Jan Gärtner
-
AC2: 'Reply on RC1', Jan Gärtner, 12 Jun 2025
reply
-
CEC1: 'Comment on egusphere-2025-756', Juan Antonio Añel, 10 Jun 2025
reply
Dear authors,
Unfortunately, after checking your manuscript, it has come to our attention that it does not comply with our "Code and Data Policy".
https://www.geoscientific-model-development.net/policies/code_and_data_policy.html
You have archived your code on GitHub. However, GitHub is not a suitable repository for scientific publication. GitHub itself instructs authors to use other long-term archival and publishing alternatives, such as Zenodo. Therefore, the current situation with your manuscript is irregular. Please, publish your code in one of the appropriate repositories and reply to this comment with the relevant information (link and a permanent identifier for it (e.g. DOI)) as soon as possible, as we can not accept manuscripts in Discussions that do not comply with our policy.I must note that if you do not fix this problem, we will have to reject your manuscript for publication in our journal.
Also, you must include a modified 'Code and Data Availability' section in a potentially reviewed manuscript, containing the link and permanent identifier of the new repositories.
Juan A. Añel
Geosci. Model Dev. Executive EditorCitation: https://doi.org/10.5194/egusphere-2025-756-CEC1 -
AC1: 'Reply on CEC1', Jan Gärtner, 12 Jun 2025
reply
Dear Juan A. Añel,
I have published the code in a new Zenodo repository: https://doi.org/10.5281/zenodo.15641087
I will also update the link in the 'Code and Data Availability' section in the reviewed manuscript. Please let me know if any further modifications are necessary.Best regards,
Jan Gärtner
Citation: https://doi.org/10.5194/egusphere-2025-756-AC1 -
CEC2: 'Reply on AC1', Juan Antonio Añel, 12 Jun 2025
reply
Dear authors,
Many thanks for addressing this issue so quickly. We can consider the current version of your manuscript in compliance with the policy of the journal.
Juan A. Añel
Geosci. Model Dev. Executive Editor
Citation: https://doi.org/10.5194/egusphere-2025-756-CEC2
-
CEC2: 'Reply on AC1', Juan Antonio Añel, 12 Jun 2025
reply
-
AC1: 'Reply on CEC1', Jan Gärtner, 12 Jun 2025
reply
Data sets
Veris Benchmarks Data and Scripts v1.0 Jan P. Gärtner https://doi.org/10.5281/zenodo.14604718
Model code and software
Veris Jan P. Gärtner, Martin Losch, Roman Nuterman, and Dion Häfner https://github.com/team-ocean/veris
Viewed
Since the preprint corresponding to this journal article was posted outside of Copernicus Publications, the preprint-related metrics are limited to HTML views.
HTML | XML | Total | BibTeX | EndNote | |
---|---|---|---|---|---|
555 | 0 | 5 | 560 | 0 | 0 |
- HTML: 555
- PDF: 0
- XML: 5
- Total: 560
- BibTeX: 0
- EndNote: 0
Viewed (geographical distribution)
Since the preprint corresponding to this journal article was posted outside of Copernicus Publications, the preprint-related metrics are limited to HTML views.
Country | # | Views | % |
---|
Total: | 0 |
HTML: | 0 |
PDF: | 0 |
XML: | 0 |
- 1