I came up with a potentially novel graphical representation that is analogous to a wavelet scalogram but works in a non-autonomus mode, so doesn’t use the time-domain formulation of a wavelet. I call it a winding scalogram because it works in this specific non-autonomous — roughly time independent — space where the frequencies are dimensionless, hence can be referred to as windings, or multiple revolutions about .
First consider the premise of a non-autonomous system — such as a two-layer stratified system showing a barotropic tidal forcing and a baroclinic response wrt a thermocline (note that this is a recasting of the contents of Chapter 12 of Mathematical Geoenergy 1):
1. Non-autonomous forcing
In a two-layer fluid, the barotropic mode is driven externally by the tide. The tidal potential is written as a sum of astronomical constituents,
where the tidal argument is
Here are the Doodson numbers, integers that encode the astronomical frequencies, and are the astronomical arguments. Because the forcing depends explicitly on time, the baroclinic response satisfies a non-autonomous differential equation. For a single baroclinic modal amplitude ,
The barotropic mode supplies the forcing. The baroclinic mode responds internally with additional degrees of freedom due to the interface. When we normalize the amplitudes, the transfer from the barotropic amplitude to the baroclinic amplitude can be written as (note: this ignores a friction/damping term)
Here is a dimensionless transfer wavenumber. It measures how rapidly the baroclinic phase changes with the barotropic amplitude. If is itself a tidal phase, then behaves like a winding number, counting how many baroclinic oscillations occur per cycle of the barotropic forcing.
2. Layman’s picture of the two modes
Think of a tank with fresh water on top and salty water below (or of a wave machine). The boundary between them is the interface ala a thermocline or pycnocline as the cartoon to the right shows.
Barotropic mode. The whole water column moves together. The surface tilts up on one side and down on the other, while the interface between the layers stays nearly flat. Ordinary gravity acts on the full depth. It is driven by the tide, and to a lesser extent (IMO) wind and pressure.
Baroclinic mode. The two layers slide against each other. The surface stays almost flat, but the interface tilts. This mode has a slower time constant because the restoring force comes only from the density difference between the layers. It is the internal response to the barotropic push. Because of the almost metastability of this interface (where the effective gravity is greatly reduced) it can show large swings, much greater and amplified compared to the barotropic mode. Temperature variations occur as the thermocline nears the surface or retreats from the surface.
In short: the barotropic mode is the forcing driver; the baroclinic mode is the internal reply, i.e. a forced response.
3. Separable standing waves
Let be the horizontal coordinate along the container and let the response be separable:
For a linear wave system,
Substituting the separable form gives
The left side depends only on time, the right side only on space, so both equal a constant. For oscillations, call it . Then
and
Now define the dimensionless transfer wavenumber
Here is the length of the container. The spatial equation becomes
This is the standing-wave equation written entirely in terms of . Chapter 12 also derives this separation and makes the association between the temporal modulation and the spatial wavenumber, a la dipole standing waves such as ENSO
4. Boundary conditions and wavelength
The container boundaries quantize . For a closed basin with fixed or free ends, the spatial mode vanishes or has zero slope at the walls. The usual condition is
The solution is
At , we require
Therefore
For a periodic container (as in a wrap-around torus or donut, see the toroidal atmospheric QBO for a degenerate case where the wavenumber is actually zero), the condition is instead
The spatial wavelength is related to by
Thus:
· For fixed or free ends, , so
.
An integer number of half-wavelengths fits into the container.
· For a periodic container, , so
.
An integer number of full wavelengths fits into the container.
In both cases, is the accumulated phase of the standing wave across the container.
5. Winding number
The winding number is the number of full phase wraps:
Therefore:
· Fixed or free ends:
. This is a half-integer winding.
· Periodic container:
This is an integer winding.
In an ideal container, is exactly an integer multiple of or . In a real basin, sloping bottoms, partial reflections, continuous stratification, friction, and mean flow make the quantization approximate. Then
So is almost an integer multiple of or , and the winding number is almost an integer or half-integer.
6. Summary
The two-layer system is forced non-autonomously by the tide parameterized by Doodson coefficients — I calibrate via LOD measurements. The barotropic mode drives the whole column; the baroclinic mode responds internally as the layers slide against each other. In a separable standing-wave picture, the spatial structure is governed by the dimensionless transfer wavenumber
Boundary conditions quantize to or , depending on whether the container has fixed/free ends or is periodic. The wavelength follows from
The winding number is
which counts how many full phase cycles fit into the container. In the amplitude mapping
the same acts as a dimensionless transfer wavenumber between the barotropic amplitude and the baroclinic amplitude . If is a tidal phase, is a winding-like number. Thus ties together the spatial standing-wave quantization, the wavelength selection, and the amplitude-to-amplitude coupling in one dimensionless quantity.
As I said at the top, this is a simpler recasting of the complete Laplace’s Tidal Equations derivation I did in Chapter 12, skipping the details needed to understand a single homogeneous layer — the switch to a two-layer stratified system amazingly — although non-intuitively — makes it more concise (see a recent paper by Beron-Vera2 where the claim is that stratification reduces vortex filamentation, a complex autonomous response).
That is enough background needed to understand the concept and design of the winding scalogram tool. The idea is that it takes a model of the forcing driver, which is actually a hidden latent manifold in terms defined by Brunton3 and then does a series of sinusoidal mappings of various frequencies to the forcing response surface, i.e. the baroclinic thermocline layer. This is akin to the way a wavelet scalogram works, aggregating the mapping within a finite window, but novel in other ways (IOW it does not use wavelets). The implementation of the winding scalogram tool in this GitHub repo: https://github.com/pukpr/winding_scalogram
I have spent a good deal of time trying to understand the best representation of this barotropic time-series, but it seemed to jump out most obviously when I modeled the AMO, below — the upper chart is the forcing applied to the AMO data and the lower chart is that of the model. In essence the upper chart can be used to guide the selections of the transfer wavenumbers for the fitting stage, which when completed leads to the lower chart.
The bright yellow horizontal striations, or ridges, are the strong transfer wavenumbers/windings with a red dotted line pointing to an indication of the value. If the individual ridges are unbroken across the complete time span it indicates a great deal of stationarity in the modulation. For AMO, a very apparent ridge sits close to zero. This corresponds to a very low winding that effectively rectifies the ~120-year cycle of lunisolar tidal forcing into the 60 year AMO cycle. In the chart below, the forcing driver is in the middle-left panel and the AMO data and model fit is in the upper-left panel. It is easy to visualize the rectification leading to the frequency doubling. Yet, the parsimony of the approach is in how the faster, erratic cycles are also mapped from the tidal cycles.
To those that wonder what happened to the concept of integer windings, I am not considering the standing modes and so haven’t done any rescaling. That will come later.
The winding scalogram works very well with every climate index considered, as strong stationary unbroken ridges are identifiable for the models evaluated in this recent post and the follow-up.
A full-circle moment occurs when the mean-sea-level (MSL) for an aggregated set of Baltic coastal stations is considered. A strong higher winding is clearly observed below as a bright yellow ridge at 1.245
This single ridge is responsible for the majority of this excellent baroclinic fit shown below:
I consider this full circle because the model is using tidal forces to map out MSL variations which ostensibly and intuitively could be guessed as due to tides, yet like AMO and ENSO, the erratic monthly MSL have never been adequately modeled and attributed to any specific factor.
BTW, this is nowhere near (many orders of magnitude less in fact) the computational load to solve full fluid dynamics GCM formulations (10 MW-hours per simulated year) nor the perhaps even larger computational load required to solve a Navier-Stokes challenge (10,000 agents running for 88 hours costing millions of dollars of compute time, guessing > 1,000 MW-hours energy consumption)
Footnotes:
- P. Pukite, D. Challou, and D.Coyne, Mathematical Geoenergy, (Wiley, 2018), https://agupubs.onlinelibrary.wiley.com/doi/book/10.1002/9781119434351 ↩︎
- F. J. Beron-Vera; Extended shallow-water theories with thermodynamics and geometry. Physics of Fluids 1 October 2021; 33 (10): 106605. https://doi.org/10.1063/5.0068557 ↩︎
- Vinuesa, R., Brunton, S.L. & Mengaldo, G. Explainable AI: learning from the learners. Nat Commun 17, 7933 (2026). https://doi.org/10.1038/s41467-026-76359-w ↩︎




