the Creative Commons Attribution 4.0 License.
the Creative Commons Attribution 4.0 License.
SWEET – Shallow Water Equation Environment for Tests v1.0
Abstract. SWEET is an open-source software for numerical simulation of differential equations discretized with global spectral methods, both on the bi-periodic plane and the sphere. Although not directly restricted to it, its main focus is on numerical developments for the shallow water equations (SWE) since they play a crucial role in developing new numerical methods for climate and weather simulations.
SWEET's main purpose is to bridge the gap between the development of new time integration methods for atmospheric dynamical cores and high-performance computing. This is done by providing a fast and efficient environment for developing and analyzing time discretization methods for the SWE while reducing spatial errors to a minimum due to the utilization of global spectral methods. In addition, the performance of new time integration methods can be assessed on HPC systems. Regarding the numerics, this is achieved through a versatile implementation, allowing the user to quickly run and combine different time-stepping schemes, and flexibly choose the different terms of the governing equations (i.e., the different physical processes) to be considered in the time integration in a composable way through command line arguments, allowing a rapid exploration of time integration methods. Concerning HPC, SWEET supports various ways to explore parallel-in-time integration methods on large-scale HPC clusters. To analyze the results, SWEET also contains many benchmark tests, including standard test cases relevant to atmospheric modeling research. These features make SWEET a robust and powerful tool for researching temporal schemes for atmospheric circulation models.
This paper summarizes the main features of SWEET and provides some numerical examples illustrating its application.
- Preprint
(1664 KB) - Metadata XML
- BibTeX
- EndNote
Status: final response (author comments only)
- RC1: 'Comment on egusphere-2025-5156', Keaton Burns, 14 Feb 2026
-
RC2: 'Comment on egusphere-2025-5156', Anonymous Referee #2, 25 May 2026
Review for SWEET — Shallow Water Equation Environment for Tests v1.0
This paper describes the software package SWEET: Shallow Water Equation Environment for Tests — a framework primarily designed to examine the impact of various time-integration choices on the simulation of idealised barotropic flows. The authors introduce a wide array of known time stepping schemes, explain SWEET’s spectral spatial discretisation and C++ / Python programming environment, and introduce a pair of numerical experiments.
Overall, I am quite undecided on this paper. To me it seems that it presents more of an introduction to a body of (already known) work and techniques, without necessarily extending into new numerical methodology, analysis, use-cases or HPC development. I understand it may be argued the purpose of this paper is not to do such things, it is simply to introduce SWEET as a modelling framework, but considering the simplified equations and physics implemented, it is not clear to me that SWEET is quite at the level of a realisable dycore to be picked up and used by the community broadly, and overall, I feel that a little more may be necessary for GMD. I suggest there should be at least one area where the work incorporates something new, novel and/or broadly applicable.
On the other hand, the paper is well-written and provides a comprehensive description of the SWEET package, which, as an open-source implementation of the classical barotropic equations and simple, idealised test cases, may be of interest for students and researchers.
Please find below additional specific comments:
- While the OpenMP-based parallelism described is clearly sufficient for the idealised barotropic simulations presented, I don’t feel it is enough to present SWEET as a “HPC” framework. Massive MPI implementation and GPU workflows are becoming more common, and would, I expect, be necessary for any realistic simulations and physical configurations.
- I don’t find the numerical experiments presented to be particularly impactful — I feel they serve more as demonstration that such experiments could be performed, rather than engaging in deeper analysis that highlights particular strengths in SWEET compared to existing dycores. For example:
- Analysing order-of-accuracy after a single day of simulation in the Galewesky case is troubling to me — at this early stage there has been no substantial development in the flow, with the vorticity filaments not beginning to roll up until around day 4. The flow remains deterministic (but nonlinear) until around day 7. If, as noted, some of the time stepping schemes appear not to achieve their expected order-of-accuracy later in the simulation, I suggest it could be worthwhile understanding whether these methods (some of which may incorporate quasi-linearisation of coefficients) suffer order-reduction in genuinely nonlinear cases. Even for short NWP runs, at least multi day simulations would be expected.
- I’m not sure how best to interpret the results shown for the parallel-in-time techniques — convergence plots are presented for a set of runs with differing viscosities using the Parareal method, where it appears that various levels of non-convergence is achieved. It is noted in the text that this behaviour highlights the difficulty of constructing parallel-in-time approaches for geophysical fluids problems. I’m not sure how to interpret this as a positive result for the use or extension of these methods?
- I’m not sure what to take away from the Polvani cases. It is noted that determining initial conditions for this case is challenging, but it does not appear that further details are given, or what capabilities are exploited in SWEET to resolve the issues. I can speculate that, for such flows, it is indeed necessary to perform an additional numerical step to build compatible, geostrophically-balanced initial conditions, with the solution of a boundary-value problem being one avenue commonly taken.
- In Figs 4,5 and 7 it appears that the vorticity distributions are presented upside down, i.e. the sign of vorticity filaments is inverted wrt. Fig 3, which shows the standard Galewesky output.
Citation: https://doi.org/10.5194/egusphere-2025-5156-RC2
Data sets
Data used to generate the plots Keerthi Gaddameedi et al. https://doi.org/10.5281/zenodo.17624458
Model code and software
SWEET source code Keerthi Gaddameedi et al. https://gitlab.inria.fr/sweet/sweet
Informative webpage Keerthi Gaddameedi et al. https://sweet.gitlabpages.inria.fr/sweet-www/
SWEET source code Keerthi Gaddameedi et al. https://doi.org/10.5281/zenodo.17424607
Viewed
| HTML | XML | Total | BibTeX | EndNote | |
|---|---|---|---|---|---|
| 1,346 | 954 | 160 | 2,460 | 105 | 94 |
- HTML: 1,346
- PDF: 954
- XML: 160
- Total: 2,460
- BibTeX: 105
- EndNote: 94
Viewed (geographical distribution)
| Country | # | Views | % |
|---|
| Total: | 0 |
| HTML: | 0 |
| PDF: | 0 |
| XML: | 0 |
- 1
General comments:
This paper presents a new Python and C++ spectral solver for the shallow water equations, and closely related models, on the torus and 2D sphere. The main novelty is the interface for constructing and composing advanced temporal integrators for these equations, for the purpose of developing, debugging, testing, and comparing timestepping techniques. A broad range of integrators are implemented in the code, including Runge-Kutta methods, exponential integrators, semi-Lagrangian schemes, spectral deferred correction, and parallel-in-time methods. Overall, this seems like a nicely scoped project with a clear purpose and strong execution. The paper is also well written. It provides a good pedagogical overview for timestepping techniques in geophysical flow simulations, and will be a useful reference for new users of the model. I recommend the paper for publication after addressing a few suggestions and technical corrections.
Specific comments:
1. In section (3.2 Parallelization), maybe some comment should be made regarding MPI / distributed memory parallelism. This is later discussed in the context of the parallel-in-time methods, but a quick reference to that upcoming discussion would be helpful here for completeness.
2. In section (4.5 Limitations), the lack of support for multi-step schemes is mentioned. It may be useful to add a bit more context here -- how prevalent are such schemes in other GFD codes? Do they have substantial advantages over the included schemes in any ways? Is adding then currently work-in-progress, or is it seen as out-of-scope for SWEET?
3. The code's efficiency is mentioned at several points, but not much concrete performance data is provided. This is perhaps not the main point of the model, but it would still be nice to provide some discussion and data about the code's performance for potential users. Figure 6b provides some wall clock data, but it would be helpful to reframe these measurements for at least one specific run in an interpretable metric (like DOF-iterations per cpu-second) in the discussion in the text.
4. The other notable absence is any mention of GPU implementation. This seems like it may not be too difficult, given that GPU support is now available in SHTns. Of course, this isn't necessary for building new timestepping schemes and studying their accuracy, but it is relevant for comparing the performance of different routines, since memory-vs-compute tradeoffs differ on CPUs vs GPUs. Many geophysical models are now moving to GPU architectures, so even if GPU support is not planned for SWEET, some discussion about this should be added (perhaps to the parallelism section).
Technical corrections:
5. Equation (16) is missing a time differential in the integral.
6. Equation (17) seems like it have a quadrature sum over f(u_m) in place of the integral.
7. Line 423: "low-expensive" -> "low-expense"