TimestepperTestCases.jl
TimestepperTestCases.jl is a Julia package that provides test cases and diagnostics for evaluating time-stepping schemes in free-surface ocean models. This repository complements the paper "A Low-Storage Runge-Kutta Framework for Non-Linear Free-Surface Ocean Models" by providing:
- Three idealized test cases spanning linear to fully turbulent regimes
- Exact variance budget diagnostics for quantifying numerical mixing
- Linear stability analysis tools
- Notebooks for reproducing figures and analysis from the paper
Overview
This package implements test cases designed to highlight differences in performance between time discretization schemes, particularly comparing low-storage Runge-Kutta (RK) methods with Adams-Bashforth (AB2) schemes. The test cases include:
- Internal Tide: A linear test case isolating temporal discretization effects
- Idealized Coastal Baroclinic Adjustment: A nonlinear case demonstrating submesoscale variability
- Equilibrated Channel Flow: A long-term equilibrated configuration showing interaction between numerical and physical mixing
Key Features
- Exact Variance Budgets: Diagnostics that are exact locally in both space and time, enabling quantification of numerical mixing from time discretization
- Multiple Timesteppers: Support for
QuasiAdamsBashforth2,SplitRungeKutta3, andSplitRungeKutta4 - Free Surface Options: Both implicit and split-explicit free surface formulations
- Comprehensive Diagnostics: Reference potential energy (RPE), available potential energy (APE), kinetic energy, and numerical diffusivity diagnostics
Quick Links
- Getting Started - Installation and basic usage
- Experiments - Detailed descriptions of the three test cases
- Diagnostics - Understanding variance budgets and numerical mixing
- Stability Analysis - Linear stability analysis tools
- Notebooks - Reproducing figures and analysis
- API Reference - Complete function documentation
Citation
If you use this package in your research, please cite the associated paper:
@article{silvestri2025timestepper,
title={A Low-Storage Runge-Kutta Framework for Non-Linear Free-Surface Ocean Models},
author={Silvestri, Simone and others},
journal={Journal of Advances in Modeling Earth Systems},
year={2025}
}Related Packages
This package builds on Oceananigans.jl, a fast, friendly, flexible ocean-flavored fluid dynamics package for CPUs and GPUs.