1 Introduction

It is rare to have complete information regarding the evolution of a real world dynamical system. Whilst not knowing how the full system evolves is one obstacle to the effective numerical analysis of coherent structures, limiting one’s investigation to localised regions of phase space could prove beneficial in the isolation of important dynamical phenomena. In this paper, we demonstrate how techniques from numerical ergodic theory allow one to analyse the local behaviour of coherent structures in complex dynamical systems. Of particular interest to this study is the exploration of transient coherent structures, those structures characterised by a finite lifespan. That is, the period over which a coherent structure persists.

The ability to isolate dynamical behaviour using limited information allows one to quickly and effectively identify the existence of coherent structures and their associated lifespans. Furthermore, the identification of lifespans increases our ability to detect interesting dynamical behaviour, such as the merging or separation events that often characterise the birth or death of transient coherent structures. We analyse this behaviour using the periodically driven double well potential of Blachut and González-Tokman (2020), but we also consider the rotating Boussinesq equations (Salmon 1998; Smith and Waleffe 2002) to investigate a variety of dynamical systems.

Among the models for geophysical flows involving complex interactions between dispersive waves and turbulence, the Boussinesq model may be used to study rotating stably stratified flows (Smith and Waleffe 2002). In Hernandez-Duenas et al. (2014), numerical simulations of a Boussinesq model were employed to study the effects of nonlinear wave–vortical interactions on the formation and evolution of coherent balanced structures, such as dipoles. Idealised models, like those generated from the Boussinesq equations, are especially useful for studying synoptic (large) scale transport in atmospheric and oceanic settings characterised by rotation and stable stratification.

When using the Boussinesq model, the initial conditions employed in this analysis are characterised by the presence of evolving monopolar or dipolar like coherent structures. A cyclonic–anticyclonic pair of oppositely rotating vortices, whose interactions result in the propagation of this pair through space, is known as a dipole or modon (Stern 1975; Muraki and Snyder 2007). These pairs are capable of experiencing elastic collisions of various degrees as well as modon capture or fusion (Meunier et al. 2005; Batchelor 2000; Mcwilliams and Zabusky 1982). They are also known for their ability to characterise geophysical eddies which are capable of transporting heat, vorticity and momentum in a way that exhibits little interaction with their surrounding environment. Their ability to transport physical and dynamical properties over large distances has led to the characterisation of eddies as notable examples of coherent structures in the natural world (Mcwilliams and Zabusky 1982; Flierl et al. 1983).

To identify coherent structures and their associated lifespans, our algorithms employ numerical approximations of a localised transfer (Perron–Frobenius) operator. The transfer operator approach was initially employed in the detection of persistent structures exhibiting a consistency in position through time; see, e.g. (Dellnitz and Junge 1999; Froyland and Dellnitz 2003; Froyland and Padberg 2009). It was then employed to effectively identify coherent structures shifting through the configuration space (Froyland et al. 2007, 2010a, b; Froyland and Padberg-Gehle 2014; Padberg-Gehle et al. 2017; Balasuriya et al. 2018; Santitissadeekorn et al. 2010; Blachut and González-Tokman 2020). In Froyland et al. (2010b) a non-global transfer operator was constructed by considering the action of the flow map \(T_{\omega }: X_{\omega } \rightarrow X_{\sigma \omega }\) on some localised neighbourhood \({X}_{\omega } \subset X\), which could be much smaller than X. The sub-index \(\omega \in \Omega \) denotes an initial state of the environment, which itself changes each time step, under the rule \(\sigma : \Omega \rightarrow \Omega \).

Inspired by Froyland et al. (2010b), Algorithms 1 through 5 develop numerical methods for extracting dynamically useful information from the singular vectors of matrix compositions of non-global operators. The configuration space is partitioned into the pairwise disjoint collection of bins \({\mathcal {B}}\) \(=\{ B_{1}, B_{2}, \ldots , B_{m} \}\) where \(m=2^{\texttt {depth}}\) for a given resolution \(\texttt {depth}\). We then seed an isolated area, or patch, of given geometry and volume. For a given initial patching, \(X_{\omega ,0}\) constitutes a subset of the configuration space \(X=\cup _{i=1}^m B_i\) on which particles are seeded. Non-global transition matrices are constructed using only local information regarding a given vector field. New bins \(\{ B_{j}\}_{j \in J}\), where \(J \subset \{ 1,2, \ldots , m\}\), are included only when an image of the directly preceding seeding is found within it. In the sequel, we denote \(T_{\sigma ^{{\tilde{n}}-1}\omega }\circ \dots \circ T_{\sigma \omega }\circ T_{\omega }(X_{\omega ,0})\) by \(X_{\omega ,\tilde{n}}\).

We define \(T_{\omega , 1}= T_\omega |_{X_{\omega ,0}}\) and for \(\tilde{n} \in \{2,3 \ldots , n\}\), the evolution rule \(T_{\omega , \tilde{n}}\) is given by \(T_{\omega , \tilde{n}}= T_{\sigma ^{{\tilde{n}} -1}\omega }|_{ X_{\omega ,\tilde{n}-1}}\). The image of the flow map \(T_{\omega ,\tilde{n}}\) describes the terminal location of particles \(x \in X_{\omega , \tilde{n}-1}\), seeded in the initial patch \(X_{\omega ,0}\) and initialised in the environment \(\omega \), and then evolved over \(\tilde{n}\) steps. The evolution process continues for a total of n steps, where n defines the number of matrices included in a particular composition. Each conditional composition is obtained as,

$$\begin{aligned} P^{(n)}_{\omega } :=P(\omega ,1) P(\sigma \omega ,2) \cdots P(\sigma ^{n-1} \omega ,n). \end{aligned}$$

Here \(P(\omega ,\tilde{n})\) are the conditional Ulam matrices,

$$\begin{aligned} (P(\omega ,\tilde{n}))_{i,j} = \frac{1}{Q} \sum \limits _{q=1}^{Q} \mathbb {1}_{B_{j}}(T_{\omega ,\tilde{n}} (x_{i,q})) \end{aligned}$$

where \(i \in I\) and \(j \in J\) depend not only on \(\omega \) but also on the initial patch \(X_{\omega ,0}\) and I, like J, is a subset of the configuration space X, such that \(\{ B_{i}\}_{i \in I}\) contains \(X_{\omega ,\tilde{n}-1}\) and \(\{ B_{j}\}_{j \in J}\) contains \(X_{\omega ,\tilde{n}}\). Here Q is the number of test points in each bin. The matrix products defined in (1) describe the subsequent evolution of patched areas, seeded at the initial time, corresponding to the evolving environmental configurations \(\omega , \sigma \omega , \dots , \sigma ^{{n}-1}\omega \).

Signals generated by the statistical properties of singular vectors and values of the matrices \(\{ P^{(n)}_{\omega } \}\) identify modes associated with lifespans of coherent structures. We identify the longest lived coherent structure, the lifespan associated with the minimal averaged equivariance mismatch, as defined in Algorithm 3 line 2, and lifespans associated with maximum variance in the corresponding singular values, because as in Blachut and González-Tokman (2020), persistent structures associated with large variations in singular values are expected to be associated with fundamental structural changes. An alternative layer identifies circular coherent structures. The circularity of an object in \({\mathbb {R}}^2\) can be defined in terms of an isoperimetric quotient that compares volume contained by the structure to that of a disc with the same boundary length. The connection between structures characterised by minimal mixing or changes in boundary length, and isoperimetric analysis was first explored in Froyland (2015).

In a recent work, Froyland and Koltai (2021) introduce an inflated dynamic Laplace operator and semi-material finite-time coherent sets (FTCSs) to investigate related questions regarding the number, lifetimes and evolution of coherent sets, and test these methods in settings different to ours. Our methods identify lifespans associated with dynamically meaningful coherent structures in a variety of systems. The first and simpler case explores the periodically driven double well potential initially described in Blachut and González-Tokman (2020), whilst the more complex models generated by the Boussinesq equations in a rotating frame of reference are utilised to test the scope of our algorithms.

In Sect. 2, we outline the algorithms that extract useful dynamical information from the singular vectors of matrix compositions of non-global operators. Details of the double well potential models and the rotating Boussinesq equations used to create the velocity data sets to test our methodology can be found in Sect. 3. Section 4 is devoted to the discussion of the results. Using the double well potential model, seeds are located either in regions where a coherent structure is located at initial time, in areas where two structures merge, and in chaotic regions. In contrast, when using the Boussinesq equations the initial conditions consist of either dipole pairs, two monopoles that merge later on, or random noise that follows a Gaussian form on the initial vortical spectrum. Concluding remarks are left to Sect. 5, and the details of the algorithms in Sect. 2 can be found in Appendix A.

2 Algorithms

Our algorithms are aimed at insulating the dynamics of a particular subregion of phase space from the more complex noise that results when a large number of structures interact. The nature of these algorithms is outlined below, with further details provided in Appendix A and Section 4.3 of Blachut (2021). In this context, the environmental configuration \(\omega \) is identified by the time t.

Algorithm 1 constructs our main tools, the collection of non-global Ulam matrices \(\{ P(t,\tilde{n}) \}_{ t_{i} \le t \le t_{F}-n, 1 \le \tilde{n} \le n}\) and their respective products \(\{ P_{t}^{(n)} \}_{ t_{i} \le t \le t_{F}-n}\), for \(t_{i}\), \(t_{F}\), n, \({\mathcal {N}}\) \(\in {\mathbb {Z}}^{*}\), where \({\mathbb {Z}}^{*}=\{ 0\} \cup {\mathbb {Z}}^{+}\), \(t_{i}\) is initial available time, \(t_{F}\) is final available time and \({\mathcal {N}}\) is the chosen number of modes to explore. This algorithm partitions the configuration space and uniformly distributes Q test points throughout each bin \(B_{i}\) that has been added to the current, non-global collection at a given time step t and period of evolution \(\tilde{n}\). The utilisation of localised conditions, that is, an initial inclusion of bins with centres inside the patched region and the successive inclusion of those hit by evolved test points, requires one only integrate trajectories of interest. This leads to the development of the conditional localised flow maps \( \{ T_{t,\tilde{n}} \} _{ t_{i} \le t \le t_{F}-n, 1 \le \tilde{n} \le n}\) in which case \(T_{t,\tilde{n}}: X_{t,\tilde{n}-1} \rightarrow X_{t,\tilde{n}}\) for some \(X_{t,\tilde{n}} \subset X\).

Algorithm 2 allows one to track the evolution of modes via the singular value decomposition performed in Algorithm 1. This algorithm builds on Algorithm 3 of Blachut and González-Tokman (2020) but utilises the collection of right singular vectors \(\{V_{t}^{(n)} \}\). This allows for a thorough diffusion of the initial seeding when pairing vectors through time. The ordered collection of \({\mathcal {N}}\) vectors associated with the singular value paths defined using the path of modes tracked by the right singular vectors at t are given by \(\tilde{U}_{t}^{(n)}\) and \(\tilde{V}_{t}^{(n)}\). Algorithm 2 also utilises a quasi-norm parameter p to track structures through time.

For \(u,v\in {\mathbb {R}}^d\), the formula \({\Vert u-v \Vert }_{p}={\left( \sum _{i=1}^{d} |u_{i} - v_{i} |^{p} \right) }^{(1/p)}\) defines a quasi-norm when \(0<p<1\). Whilst in lower dimensions the Euclidean norm provides a natural choice by which to pair vectors through time, it is less clear what will be the most effective method by which to characterise the similarity of vectors in higher dimensions. The Manhattan distance (corresponding to \(p=1\)) has been found beneficial when sparsity is preferred (Froyland et al. 2019), but the utilisation of quasi-norms has led to mixed results (Aggarwal et al. 2001; Flexer and Schnitzer 2015; Mirkes et al. 2019). Smaller values of p do not inherently circumvent the phenomenon of distance concentration, and the optimal choice appears to be highly application dependent and must be chosen empirically (Francois et al. 2007). In our case, p is taken to be the largest value in \({\mathcal {P}}=\{ 0.1,0.2, \ldots , 1,2\}\) that returns the minimal value of \({\varsigma }_{z}\) averaged over time and modes. That is, \(\displaystyle \max ( \mathop {\mathrm {arg\,min}}\limits _{p \in {\mathcal {P}}} \overline{\varsigma }_{z} (p) )\) where \({\varsigma }_{z}\) denotes the equivariance mismatch for all lifespans identified according to either the conservative or relative threshold of Algorithm 3 for the p-dependent tracking defined by Algorithm 1 when all other inputs are held constant. In this case, equivariance mismatch \(\varsigma \) is defined using the paired right singular vectors as outlined in Algorithm 3 Operation 2. The equivariance mismatch defines the distance between any two vectors used to characterise the dynamics at the same point in time. This will be 0 when two such vectors are the same (effective pairing) and 1 when the two are orthogonal (mismatched pairing).

Algorithm 3 discovers \(\{z_{j,t}\}\), the lifespans of structures, for \(j \in \{1, \ldots , {\mathcal {N}}\}\) and \(t \in [t_{i}, t_{F}-n-2]\). This algorithm utilises the tracked singular vector pairs \(\{\tilde{v}_{t,j}^{(n)} \}\) of Algorithm 2. This allows one to identify when coherent structures experience birth (\(z_{\alpha }\)) or death (\(z_{\omega }\)). Two methods for the identification of lifespans are proposed. The first method is more conservative and looks to match neighbouring vectors if the angle between these vectors is less than \(45^{\circ }\) in the Euclidean norm. That is, threshold_c\(=\sqrt{2}\sin \frac{\pi }{8}\). The second method utilises a model-dependent threshold of \(95\%\) change in the equivariance mismatch \(\varsigma \) over two consecutive time steps, threshold_p \(=0.95\). We take \(95\%\) as the value for which to compare the efficacy of our algorithms on all models; however, this is likely to be a mode-dependent parameter. Upper and lower bounds are also placed around this threshold. Our heuristic choices for threshold_down and threshold_up are equal to one quarter of the conservative threshold angle and 1 minus this value, that is threshold_down\(=\sqrt{2}\sin \frac{\pi }{32}\). This is done to control for sporadic results about the extremes that occur when equivariance mismatch is low (high) in absolute terms. In such cases, the associated vectors are undoubtedly well (poorly) paired.

Algorithm 4 provides the layer that extracts lifespans likely to contain meaningful information. The lifespan of longest length, \(z_{Eldest}\), provides meaningful information regarding the most persistent structures, whilst the lifespan associated with the lowest average value of equivariance mismatch, \(z_{MinEq}\), aims to locate structures that are well paired through time and thus more likely to be coherent. Those lifespans associated with the greatest variance in the associated singular values, \(z_{MaxVarSV}\), are expected to characterise structures that experience dynamically meaningful changes whilst evolving in a coherent manner.

Algorithm 5 provides an alternative layer, aimed at identifying those lifespans that contain more regular coherent structures for cases where it is not clear if the appropriate threshold or percentage has been utilised. Here we define regular coherent structures as those structures, found utilising the associated paired singular vectors \(\{ \tilde{v}_{t,j}^{(n)} \}\) and lifespans \(\{z_{j,t}\}\), that contain at least one connected component with an isoperimetric ratio greater than a given threshold. This threshold is defined by the variable iso_thresh which is offered as input to Algorithm 5. According to one’s discretion, and particular model requirements, further conditions, or layers, could also be introduced. Such layers could include, for example, a condition on the minimal lifespan length. Given that our goal is to examine the baseline efficacy of these algorithms, any further extensions are left for future research.

3 Models

The algorithms developed in Sect. 2 are tested on two classes of models. The periodically driven double well potential of Sect. 3.1 provides a simple scenario to test and validate the approach, whilst the more complex dynamics of the Boussinesq models described in Sect. 3.2 allow us to analyse the efficacy of our algorithms in a more realistic environment.

3.1 Double Well Potential

The double well potential model described in Blachut and González-Tokman (2020) is a non-autonomous system of differential equations modelling simple mergers and separations of structures through time,

$$\begin{aligned} \left\{ \begin{aligned} \dot{x}(t)&= y(t) \\ \dot{y}(t)&= x(t)\left( \frac{x(t)}{2} + a(t)\right) \left( a(t) - \frac{x(t)}{2}\right) , \end{aligned} \right. \end{aligned}$$


$$\begin{aligned} a(t) = \left\{ \begin{aligned}&1&\text {if} \quad&0 \le t\;(\bmod {100}) \le 10 \\&\cos ^{2}\left( (t-10)\frac{\pi }{60}\right)&\text {if} \quad&10 \le t\;(\bmod {100}) \le 40 \\&0&\text {if} \quad&40 \le t\;(\bmod {100}) \le 60 \\&\cos ^{2}\left( (t-30)\frac{\pi }{60}\right)&\text {if} \quad&60 \le t\;(\bmod {100}) \le 90 \\&1&\text {if} \quad&90 \le t\;(\bmod {100}) \le 100. \end{aligned} \right. \end{aligned}$$

The periodic nature of \(\alpha (t)\) dictates that this vector field is the same at \(t=0\) and \(t=100\). For these values of t, the corresponding phase space is characterised by two distinctly coherent structures. These two structures merge to one by \(t=50\). They then separate as t increases to 100. Figure 1 shows how the vector field evolves as t shifts from 50 to 100. In this way, the vector field is characterised by a periodic merging and separating of the two structures.

Fig. 1
figure 1

Vector field for the double well potential model at selected time instances

3.2 Rotating Boussinesq Equations

Section 1 discusses the utility of the Boussinesq model to studies of transport in oceanic and atmospheric settings characterised by rotation and stable stratification. As discussed in Remmel (2010), Hernandez-Duenas et al. (2014), Majda (2003), the Boussinesq equations for an inviscid, non-diffusive setting with stably stratified flows rotating about the vertical \(\hat{{\pmb {z}}}\)-axis is given by the following equations (Salmon 1998; Majda 2003)

$$\begin{aligned} \begin{array}{rcl} \frac{D {{\pmb {u}}}}{Dt} + {f} \hat{{\pmb {z}}} \times {\pmb {u}} + N \theta \hat{{\pmb {z}}} &{} = &{} - \nabla p_{e}, \\ \\ \frac{D\theta }{Dt} - N {\pmb {u}}\cdot \hat{{\pmb {z}}} &{} = &{} 0,\\ \\ \nabla \cdot {\pmb {u}} &{} = &{} 0, \end{array} \end{aligned}$$

which model vertically stratified incompressible flows. In this case, the multi-dimensional vector field required by Algorithm 1 is given by the three-dimensional vector field \({\pmb {u}}=(u,v,w)\). As usual, \(\frac{D}{Dt}={\partial {}}_{t}+{\pmb {u}} \cdot \nabla \) is the material derivative. The Coriolis parameter is denoted by f. One notes that this is twice the frame rotation rate. The density \(\rho \) is decomposed into background and fluctuating components as \(\rho =\overline{\rho } + \rho '\). We assume that the background state \(\bar{\rho }=\rho _o - \alpha z \) is linear with respect to height. Here, \(\alpha > 0\) is constant for uniform stable stratification. In the derivation of the model, it is assumed that \(|\rho '|,|\alpha z| \ll \rho _0\), which is valid for flows where the depth of the fluid motion is small compared to the density scale height (Hernandez-Duenas et al. 2014). Given the above reference values, the variable \(\theta =(\alpha \rho _0/g)^{-1/2}\rho '\) is a rescaled density fluctuation, given in units of velocity. The Brunt–Väisälä or buoyancy frequency is denoted by \(N=(g\alpha /\rho _{0})^{1/2}\). The gravitational constant is given by g. The direction of gravity is \(\hat{{\pmb {z}}} = (0,0,1)^T\). Effective pressure is denoted \(p_{e}\). This simply refers to a rescaling of pressure by \(\rho _{0}\).

We note that although the Boussinesq equations consider three-dimensional motions, we are considering parameter regimes where the dynamics are dominated by horizontal displacements. Specifically, the evolving dipoles are coherent structures that remain localised near a fixed layer in space. The vertical motions are weak and the horizontal displacements mainly occur either around the poles or in the direction of the jet streak. A similar situation occurs for the merging monopoles in Sect. 3.2.4. The numerical test that takes random initial conditions considers a Coriolis term for rotation 10 times larger than the Brunt–Väisälä frequency for stratification. As a result, the fluid is under a rotation dominated turbulence. The 3D structure of the flow exhibits vertically coherent vortices. The algorithms used in this work utilise the velocity data obtained with the 3D model as a post-process. Due to the parameter regime considered here, the overall dynamics in these merging events are well captured by the 2D data collected at appropriate z levels. More evidence will be provided in Sect. 3.2.5.

3.2.1 A Note on Computing the Streamfunction

Streamlines, or \(\psi \) contours, of a flow, describe a family of trajectories evolving parallel to the velocity field at a given time. In the same way that linear potential vorticity can be utilised to recover the streamfunction from Charney’s celebrated quasi-geostrophic derivations (Charney 1948), the projection of the Boussinesq solution into the vortical modes can be characterised by the streamfunction as

$$\begin{aligned} \psi = \left[ \partial _x^2+\partial _y^2+\frac{f^2}{N^2} \partial _z^2 \right] ^{-1} \left( \partial _x v - \partial _y u -\frac{f}{N} \partial _z \theta \right) . \end{aligned}$$

One notes that, in general, such detailed information regarding natural flows is not available. As such, these are utilised only to confirm findings and do not appear in the formal algorithms developed in Sect. 2.

3.2.2 Numerical Scheme and Parameter Values

The numerical scheme that we employ is developed to approximate solutions of the rotating Boussinesq equations. These are constructed by employing the three-dimensional periodic pseudo-spectral method discussed in Hernandez-Duenas et al. (2014) and further detailed in Smith and Waleffe (2002). There the authors employ a 2/3 dealiasing rule alongside third-order Runge–Kutta integration in time. Hyperdiffusion/hyperviscosity (higher order) damping of the form \(\nu {\pmb {\nabla }}^{16}\) is also utilised to effectively disperse energy in the smaller scales and better resolve the larger scale dynamics. In this case, the corresponding coefficient is salvaged from the energy of the highest available wavenumber shell.

To maintain simplicity when discussing results, we continue as in Sect. 2, by considering normalised time units, or inertial periods. An inertial period is defined as

$$\begin{aligned} \tau = \frac{L}{U}, \end{aligned}$$

where L and U are length and velocity scales to be defined in each example. This time scale is the value employed in the fourth-order Runge–Kutta scheme utilised, in Algorithm 1, to integrate the time-dependent vector fields generated by the numerical models constructed as per Sects. and 3.2.5.

3.2.3 Dancing Dipoles

The first data set generated to test our methodology describes the evolution of two initially balanced modon (dipolar) eddy pairs whose behaviour evolves over time. The basis for the dancing dipoles can be found in Flierl (1987). The streamfunction at \(t=0\) associated with a pair of dipoles of different strengths, \(\beta _1\) and \(\beta _2\), is given by the equation

$$\begin{aligned} \begin{array}{lcl} \left[ \frac{\partial ^2}{\partial x^2}+\frac{\partial ^2}{\partial y^2}+\frac{f^2}{N^2}\frac{\partial ^2}{\partial z^2} \right] \tilde{\psi }&{} = &{} \beta _1~\delta ({\pmb {x}}-{\pmb {x}}_1^+)-\beta _1~\delta ({\pmb {x}}-{\pmb {x}}_1^-)\\ \\ &{}&{} +\beta _2~\delta ({\pmb {x}}-{\pmb {x}}_2^+)-\beta _2~\delta ({\pmb {x}}-{\pmb {x}}_2^-), \end{array} \end{aligned}$$

with triply periodic boundary conditions in the domain \([0,2\pi ]\times [0,2\pi ]\times [0,2\pi ]\). Each vortex strength \(\pm \beta _k\) is associated to a pole \({\pmb {x}}_k^{\pm }\) and \(\delta \) is the Dirac delta function.

Following (Hernandez-Duenas et al. 2014), the numerical implementation of the streamfunction utilises Gaussian functions to approximate the Dirac delta functions. This is done in order to smooth out the singularities near the poles. That is, the modified streamfunction satisfies

$$\begin{aligned} \psi = \left[ \frac{\partial ^2}{\partial x^2}+\frac{\partial ^2}{\partial y^2}+\frac{f^2}{N^2}\frac{\partial ^2}{\partial z^2} \right] ^{-1} D({\pmb {x}}), \end{aligned}$$


$$\begin{aligned}{} & {} D({\pmb {x}}) = \frac{1}{(2\pi \gamma )^{3/2}}\nonumber \\{} & {} \quad \left( \beta _{1}~e^{-\Vert {\pmb {x}}-{\pmb {x}}_1^+\Vert _{2}^{2}/2\gamma }-\beta _{1}~e^{-\Vert {\pmb {x}}-{\pmb {x}}_1^{-}\Vert _{2}^2/2\gamma } + \beta _{2}~e^{-\Vert {\pmb {x}}-{\pmb {x}}_2^+\Vert _{2}^2/2\gamma }-\beta _{2}~e^{-\Vert {\pmb {x}}-{\pmb {x}}_2^{-}\Vert _{2}^2/2\gamma } \right) \nonumber \\ \end{aligned}$$

and \(\gamma =1/128\) in these experiments.

The initial conditions correspond to a flow in geostrophic balance and are given by

$$\begin{aligned} u=-\partial _y \psi , \quad v = \partial _x \psi , \quad w =0 \quad \text {and} \quad \theta = -\frac{f}{N} \partial _z \psi . \end{aligned}$$

The left two poles are located at \({\pmb {x}}_1^\pm = (\pi /2,\pi \pm a/2,\pi \pm h/2)\) and the right two poles at \({\pmb {x}}_2^\pm = (\pi ,\pi \pm a/2,\pi \pm h/2)\). In this case, \(a=0.5\) is the separation in the meridional direction between the two poles in each dipole, whilst \(h=0.5\) is the corresponding difference in elevation. The vortex centres (poles) have strengths \(\beta _1=20\) and \(\beta _2=10\) for the left and right dipoles, respectively.

The theoretical speed at which each dipole will move in the \(\hat{{\pmb {x}}}\)-direction, under the quasi-geostrophic dynamics, is given by

$$\begin{aligned} c_k=\frac{N \beta _k a}{4\pi f}\left( a^2+\frac{N^2}{f^2}h^2 \right) ^{-3/2} \quad \text {where} \quad k = 1,2. \end{aligned}$$

In this particular case, the Coriolis and buoyancy frequencies are set at \(f=94.1\) and \(N=9.41\) with the left dipole moving at twice the speed of the right.

Although the Boussinesq system is solved in a 3D domain, the numerical analysis to detect coherent structures is limited to two-dimensional slices of the time-dependent velocity field at a height of \(z=\pi \) at times \(t=0,1\tau ,\ldots ,100 \tau \). Figure 2 shows the evolution of the two dipoles at times 5, 20, 30 and 60 inertial periods.Footnote 1 The horizontal contours correspond to vertical vorticity at \(z=\pi \). The velocity field is indicated by arrows.

Fig. 2
figure 2

Horizontal contours of vertical vorticity and vector field indicating dipole’s evolution at times \(t=5 \tau \) (a), \(t = 20 \tau \) (b), \(t = 30\tau \) (c), and \(t = 60\tau \) (d) for height \(z=\pi \) where the arrows indicate the velocity field

Here, \(L=1.05\) is the length scale, which is computed as twice the difference in the meridional positions of each pole, and \(U=9.86\) is the velocity scale which is defined as the \(L^\infty \) norm of the velocity field, which gives \(\tau = 0.106\), according to equation (6).

One notes that the above parameters correspond to a strong rotation regime since the Froude and Rossby numbers are

$$\begin{aligned} \text {Fr} = \frac{U}{N L} = 1, \text {Ro} = \frac{U}{f L} = 0.1. \end{aligned}$$

This model is characterised by an overtaking collision whereby the stronger dipole overtakes a weaker one. A merger occurs between the cyclonic upper vortices whilst pseudo-merging and splitting events characterise the evolution of the anticyclonic lower halves. We know that the time spent in a collision state will determine the extent of structural changes that a dipole experiences for a fixed relative speed. The more destructive structural changes are associated with increasingly inelastic collisions (Mcwilliams and Zabusky 1982).

3.2.4 Merging Monopoles

We also consider the merging of two equal strength monopoles both of which are rotating in a counterclockwise direction. Figure 3 illustrates the evolution of these two poles at 0, 32, 133 and 138 inertial periods.Footnote 2

Fig. 3
figure 3

Time evolution of the two monopoles at \(t=0\tau \) (top left), \(t=32\tau \) (top right), \(t=133\tau \) (bottom left), \(t=138\tau \) for height \(z=\pi \). Here \(\tau = 0.27\) according to Eq. (6)

To construct this model, one again considers the domain \([0,2\pi ]\times [0,2\pi ]\times [0,2\pi ]\) but only introduces two poles of positive vorticity. The centre of each pole is placed near to the other. The goal of this is to encourage their interaction and eventual merging. In three dimensions, these two poles are located at

$$\begin{aligned} {\pmb {x}}_0^- = (0.9 \pi , \pi +0.25, \pi ), \; \; \; {\pmb {x}}_0^+= (1.1 \pi , \pi +0.25, \pi ) \end{aligned}$$

and the associated streamfunction is given by

$$\begin{aligned} \left[ \frac{\partial ^2}{\partial x^2}+\frac{\partial ^2}{\partial y^2}+\frac{f^2}{N^2}\frac{\partial ^2}{\partial z^2} \right] \psi = \beta ~\delta ({\pmb {x}}-{\pmb {x}}_0^+)+\beta ~\delta ({\pmb {x}}-{\pmb {x}}_0^-). \end{aligned}$$

with the Dirac delta functions again approximated by the corresponding Gaussian. In this case, one sets \(\beta =10\) and \(f=N=36.6\). We utilise the two-dimensional flow for time slices at the height \(z=\pi \) for times \(t=0,1\tau ,\ldots ,100 \tau \) in our numerical analysis. In this case, we take the length scale as \(L = 0.628\), and the velocity scale is \(U=23.0\). We note that f and N are smaller, which increases the Froude and Rossby numbers, which corresponds to a regime farther away from strong rotation/stratification when compared to the previous case. This could serve as a sensitivity analysis where the algorithms proposed in this work are tested in different parameter regimes. The corresponding timescale is quite small. Taking into account the time it takes for the monopoles to merge, we instead consider a larger timescale \(\tau = 0.27\).

3.2.5 Random Initial Conditions

In contrast to the well organised initial state of the dancing dipoles in Sect. 3.2.3 or the merging monopoles of Sect. 3.2.4, this numerical test (rotation dominated turbulence) illustrates the formation of coherent structures from a set of random initial conditions. In doing this, one draws upon the tendency of geostrophic turbulence to form coherent structures (Cushman-Roisin and Beckers 2011). Indeed, the time evolution is characterised by a transfer of energy from small to large scales with random initial conditions and initial energy in the vortical modes. This numerical test was initially considered in Hernandez-Duenas et al. (2014, Section 5.2). There the authors use the following Gaussian form of the initial vortical spectrum, given as a function of the wavenumber k,

$$\begin{aligned} F(k)=\epsilon _{f} \frac{\exp \left( -0.5(k-k_{f})^{2} / \gamma _{f} \right) }{\sqrt{2 \pi \gamma _{f}}} \end{aligned}$$

for \(\epsilon _{f}=0.05\), \(k_{f}=15\) and \(\gamma _{f}=100\). Figure 4 plots the corresponding contours of vertical vorticity and velocity field at times \(10\tau \), \(18\tau \), \(26\tau \) and \(35\tau \) for height \(z=\pi \).Footnote 3 Our numerical analysis covers times \(t=0,1\tau ,\ldots ,100 \tau \) with a time scale \(\tau =0.72\) with \(L = 0.42\) and \(U=0.59\).

Fig. 4
figure 4

Contours of vertical vorticity and vector field indicating structure movement at \(z=\pi \) for times \(10\tau \), \(18\tau \), \(26\tau \), \(35\tau \)

The analysis performed here is applied to two-dimensional data generated by a 3D model. Although the selected data are restricted to a fixed depth, the data have 3D dynamical effects. However, we are focussing on a parameter regime where rotation is strong with \(f/N=10\), which is an appropriate scenario for the formation of vortices. Under these circumstances, one usually observes vertical coherence. Figure 5 shows the iso-surface with constant vertical vorticity value 7, which is one quarter of the maximum value. One can observe vertically coherent vortices. Although 3D analysis might be more complete, our analysis shows that the merging of the vortices can be identified by restricting the study to horizontal 2D data at constant depth.

Fig. 5
figure 5

Iso surfaces with constant vertical vorticity value 7. The vorticity contours are displayed at the walls

4 Results and Discussion

Results from implementing the algorithms described in Sect. 2 for the case of the periodically driven double well potential are presented in Sect. 4.1, whilst those for the Boussinesq models are presented in Sect. 4.2. To focus on the dominant structures, we simplify the analysis by concentrating on the leading 4 modes.

In the results illustrated throughout this section, the equivariance mismatch under a given threshold is denoted as \(\varsigma _{z}\). The beginning of a given lifespan is expected to be associated with the birth of a coherent structure or the entrance of a coherent structure into the patched region. We denote these time instances as \(z_{\alpha }\). This is indicated by a green dot in the electronic version of the lifespan plots. In a similar manner the end, or death, of a lifespan is denoted by \(z_{\omega }\). This is indicated by a red dot in the electronic version of the lifespan plots. Our analyses are limited to time windows comprised of \(n=10\) matrices. As such, the superscript (n) is henceforth omitted.

Whilst in the less complex models it is sufficient to simply identify lifespans of interest according to a hard threshold, when the dynamics are increasingly complex and the number of structures is greater, such as in those cases offered by the Boussinesq models, an additional algorithmic layer and a variable threshold are often required to identify lifespans of interest.

4.1 Double Well Potential

As in Blachut and González-Tokman (2020), we partition X into a grid of \(2^{12}\) bins of equal volume. However, in contrast to the conditional inclusionFootnote 4 of that work, we now include all bins hit by the images of seeds at subsequent time steps. Our non-global Ulam matrices are built by seeding \(Q=100\) uniformly distributed test points in certain bins, as dictated in Algorithm 1. We seek to characterise time windows where \(0 \le t \le t_{F}-n-1\), \(t_{F}=500\) for discrete time flow maps approximated using Runge–Kutta numerical integration of a time-dependent vector field flowed for \(\tau =1\) using 20 steps.

Sections 4.1.1 through 4.1.3 analyse the periodically forced double well potential by generating patches in three different regions of phase space. In the first example, Sect. 4.1.1, we seed an area known to contain a coherent structure at initial time. In the second case, Sect. 4.1.2, we patch a region where two structures are known to merge. In the third case, Sect. 4.1.3, we seed a region that is known to be chaotic and is not visited by the centre of either well.

4.1.1 Seeding an Area Known to Contain a Coherent Structure at Initial Time

Let us first patch a circle of radius 1 centred at \((-2,0)\). This patch corresponds to an area covered by the left well of the periodically driven double well potential at times \(t=0 \pmod {100}\). One thus expects to detect the presence of coherent structures in the patch around such times. Our method begins with the implementation of Algorithms 1 and 2, utilising the conservative threshold and \(p=0.1\) as the most appropriate quasi-norm.

Figure 6 plots the paths of rolling windows of singular values that have been paired through time. This model is not subject to periodic boundary conditions; therefore, a small amount of mass is expected to leave and enter the system over time. For this reason, the singular values are close to 1 but more generally they are slightly less than 1. The leading singular value is closest to 1 over time periods when we expect a coherent structure, that is the leftmost well, to inhabit the patch.

Fig. 6
figure 6

Tracked paths for the rolling windows of singular values, where the initial seeding is concentrated on the left well for the double well potential case when \(n=10\) and \(p=0.1\)

For t around times \(0 \pmod {100}\), Fig. 6 shows that the singular value paths are more clearly separated than those paths associated with time windows initialised around \(t=50 \pmod {100}\). There are obvious changes around \(t=25\) and 75 when the singular values associated with each rolling window decrease and increase. These initial times coincide with merging and separation events, respectively.

As described in Algorithm 3, we track the lifespan of structures by considering the similarity of two vectors paired at neighbouring times under a conservative threshold. This is shown in Fig. 7. The beginning of a given lifespan \(z_{\alpha }\), is expected to be associated with the birth of a coherent structure or the entrance of one into the patched region. In a similar manner, the end or death of a lifespan \(z_{\omega }\) is expected to be associated with the loss of a coherent structure.

Fig. 7
figure 7

Equivariance mismatch lifespans under a conservative threshold, as described in Algorithm 3, for the case of seeding the left well in the double well potential when \(n=10\) and vector pairing utilises \(p=0.1\)

The results presented in Fig. 7, hint at a switching between the paths of lifespans for \(\varsigma _{z}^{(3)}\) and \(\varsigma _{z}^{(4)}\) (yellow and purple in electronic version) for the periodic case. An alternative visualisation of the lifespans detected in Fig. 7 is presented in the leading row of Fig. 8. Presenting lifespans in this way allows one to concentrate on the dominance of the associated mode and the time over which a lifespan is said to exist.

Fig. 8
figure 8

Lifespans detected using our three methods of identification of relevant modes; minimum equivariance, maximal variance and longest life. These results are for the case of seeding the left well when \(n=10\) and \(p=0.1\)

We choose three methods for isolating lifespans of interest, \(z_{MinEq}\), \(z_{MaxVarSV}\) and \(z_{Eldest}\), as defined in Algorithm 4. Initial time (left) singular vectors for the three lifespans identified by these methods are presented in the two lowest rows of Fig. 8. The leftmost column isolates a coherent structure that begins life in the left well as the time window associated with \(z_{\alpha }\) opens, before shifting to the centre to merge with the right well as the time window associated with \(z_{\omega }\) draws to a close. The middle column captures similar behaviour but in the reverse direction. The rightmost column identifies the time period over which a coherent structure enters the left well, inhabits that well for a period of time and later departs as the dynamics force it towards the right hand side of the domain.

These findings are in agreement with the singular value paths illustrated in Fig. 6. The leading path for rolling windows initialised near \(t=0 \pmod {100}\) are clearly separated and nearly constant. This indicates that the identified structures are likely distinct yet neither shrinking or growing in time. In line with the singular value paths of Fig. 6, \(z_{MinEq}\) is associated with a definitive, comparatively strong structure that persists until the associated singular values begin to fall and the lifespan draws to a close. As the singular value falls, the associated structure weakens and moves to the right, before exiting the associated patched region. This behaviour is repeated by \(z_{Eldest}\).

Additionally, \(z_{Eldest}\) offers an insight into how the structure associated with the leftmost well behaves as these singular value paths begin to climb, before stabilising by \(t=90\). An associated structure enters the patched region as the singular value begins to rise. As evidenced by the behaviour of \(z_{MinEq}\) at \(t=0\), this structure strongly persists whilst the associated singular values remain constant and near to one. As the associated structure weakens and exits the patched region, the singular value paths begin to fall.

4.1.2 Seeding a Patch Over a Region Where Two Structures Merge

To complement the case presented in Sect. 4.1.1, the location of this patch centre is shifted to the origin, with all other parameters as in 4.1.1. This patch characterises the region where two structures merge to one by times 50, 150 and so on. As per the previous example we begin our study by choosing the appropriate value for p. In this case, both 0.2 and 0.3 achieve the minimum equivariance mismatch for a conservative threshold. Due to the increase in computational time that occurs as p is decreased, \(p=0.3\) is our preferred value.

A comparison of the peaks and troughs in rolling windows of singular values shown in Figs. 9 and 6 further highlights the complementary nature of this case and the previous one. Of note are the potential signals offered by disappearing and appearing modes, associated with paths of rolling windows of singular values that shift towards or away from each other before evolving in parallel. The characteristic difference in this case is that the merger is characterised by two rolling window paths that move closer before continuing in tandem. Once the merger has occurred, these paths then separate and evolve parallel.

Fig. 9
figure 9

Rolling windows for a circular seeding of radius 1 centred at (0, 0) as per Algorithm 1. These are tracked using Algorithm 1

Figure 10 presents the lifespans of interest identified by Algorithm 4. In this case, all three methods identify the same period. This period is characterised by two structures entering the patched region from the left and right before merging into a single structure and then separating as they exit the patch.

Fig. 10
figure 10

Lifespans detected using our three methods of identification of relevant modes; minimum equivariance, maximal variance and longest life. These results are for the case of seeding the origin well when \(n=10\) and \(p=0.3\). One notes that \(\tilde{u}_{76,1}\) is the left singular vector of associated with the time window initialised at \(t=76\) for \(n=10\) and the lifespan \(z^{(1)}\). The corresponding right singular vector is denoted by \(\tilde{v}_{76,1}\); this is associated with the dynamics at time \(t=8{6}\)

As demonstrated by the final row in Fig. 10, our methods detect the entire lifespan of two structures that merge into one before again separating. In this sense, the lifespan detected is a full lifecycle that includes the birth (following \(z_{\alpha }\)) and the death (\(z_{\omega }\)) of the associated structure formed by two previously distinct structures. This single structure is illustrated by \(\tilde{v}_{{2}9,1}\) in Fig. 10, whilst \(\tilde{v}_{23,1}\) illustrates the beginnings of this merger between two entities. Completing the lifecycle is \(\tilde{v}_{76,1}\), which illustrates how the newly formed structure separates into two.

4.1.3 Seeding a Chaotic Region

One does not expect to locate meaningful coherent structures in regions characterised by extreme mixing or chaotic behaviour. For comparison with previous seedings, let us examine the lifespans identified when one seeds an area where neither well is centred for any length of time. We centre a patch at \((-2,-2)\) of radius 1 for rolling windows of length \(n=10\). For all \(p \in {\mathcal {P}}\), this case never achieves an average equivariance mismatch below the conservative threshold. The consequence of this is that no lifespans are detected. This means that our methods indicate no meaningful coherent structures are identified when this circular region is seeded and flowed for 10 time steps, as expected.

4.2 Boussinesq Equation Models

Let us now test these methods on the more complex data sets generated by the Boussinesq equations. This allows for greater insight into the detection of lifespans and associated signals in more complex environments. Again we begin with the construction of localised Ulam matrices, as described in Algorithm 1, setting \(Q=100\). The discrete time flow maps are approximated using Runge–Kutta numerical integration, in space and time, for \(\tau \) equal to the time scales noted in Sects. and 3.2.5 over 10 steps. Our numerical analysis is limited to the midplane \(z=\pi \) and calculations are performed on velocity fields with a grid of dimension \(192 \times 192\) in the x, and y directions at each inertial period. Given the finer dynamics of these models, we increase resolution to a depth of 14 whilst continuing to analyse \(n=10\) matrices.

Section 4.2.1 considers the evolution of dipole pairs, as described in Sect. 3.2.3. This model is utilised to patch a region of phase space where coherent structures are known to visit. Section 4.2.2 considers the case of merging monopoles, as described in Sect. 3.2.4. In this case, the characteristic merging event is easily detected using lifespans obtained from Algorithms 4 and 5. Section 4.2.3 explores the more chaotic example characterised by interacting, evolving objects that take a variety of shapes, as described in Sect. 3.2.5. In spite of the increased complexity of this model, Algorithms 4 and 5 clearly identify a merging of structures in the presence of large amounts of background noise.

4.2.1 Dancing Dipole Pairs

To detect the presence of coherent structures in a patched region, we seed a circular patch of radius 1/2 centred at (5.55, 3.75). It is evident from Fig. 2 that this region is likely to include passing structures around time 30. The corresponding rolling windows of singular value paths for \(p=0.8\) are shown in Fig. 11a. Figure 11b plots the associated equivariance mismatch.

Fig. 11
figure 11

Rolling windows of singular value paths and equivariance mismatch for the dancing dipoles numerical test

Fig. 12
figure 12

General lifespans (top row) as well as the lifespans \(z_{MinEq}\), \(z_{MaxVarSV}\) and \(z_{Eldest}\), as detected in the dancing dipoles model using Algorithms 3 and 4, for t in terms of inertial periods. These results are for the case presented in Fig. 11a. Relevant left singular vectors of initial time windows (\(\tilde{u}\)) are plotted in the middle row (\(z_{\alpha }\)) with right singular vectors (\(\tilde{v}\)) plotted in the final row for \(z_{\omega }\)

Fig. 13
figure 13

Detailed view of the behaviour of \(\{ \tilde{u}_{t,4}\}\) and \(\{ \tilde{v}_{t,4}\}\) for a variety of t inertial periods. This figure partially aligns with the peak in \(\{ \tilde{s}_{t,4} \}\) of Fig. 11a and the lifespan identified by \(z_{MinEq,2}\)

It is clear from the peaks in Fig. 11a that the paths of singular values are again capable of detecting the presence of dynamic structures within a patch. One notes that both peaks in \(\{ \tilde{s}_{t,{1}} \}\) and \(\{ \tilde{s}_{t,4} \}\) arise as coherent structures enter the patched region and dissipate as they leave. Figure 11b shows that vectors \(\{\tilde{v}\}\) are paired somewhat consistently on either sides of these peaks. Moreover, as the peaks occur \(\{\tilde{v}_{t,{1}}\}\) and \(\{\tilde{v}_{t,4}\}\) achieve comparatively low values of equivariance mismatch \(\varsigma \) despite the concomitant changes occurring in \(\{ \tilde{s}_{t,{1}} \}\) and \(\{ \tilde{s}_{t,4} \}\). This shows that fundamental changes are occurring in the patched region and that \(\{\tilde{v}_{t,{1}}\}\) and \(\{\tilde{v}_{t,4}\}\) are consistently paired as these changes occur.

Figure 12 illustrates the identified lifespans alongside a visualisation of two lifespans of interest. These were detected using our general method, as described in Algorithms 3 and 4, using a conservative threshold. It is inferred, from examining the evolution of the singular vectors shown in Figs. 12 and 13 in association with the vector field, that the larger peak (\(\{ \tilde{s}_{t,4} \}_{ 30 \le t \le 43}\)) is associated with the passage of the newly merged upper poles through the patched region, whilst the smaller peak (\(\{ \tilde{s}_{t,1} \}_{31 \le t \le 38}\)) is predominantly associated with the movement of the rightmost lower pole through the same area. Furthermore, the lifespan \(z_{MinEq,1}\) captures the early movement of this lower pole through the patched region. In addition, the lifespan \(z_{MinEq,2}\) is associated with the evolution of the two upper poles following their merger. That is, the peak in \(\{ \tilde{s}_{t,4} \}\) of Fig. 11a. Figure 13 illustrates that as the path defined by \(\{ \tilde{s}_{t,4} \}\) begins to separate from the other paths traced by singular values in Fig. 11a, the mode associated with the lifespan \(z_{MinEq,2}\) is distinguished and better isolates the dynamical behaviour of interest.

Conversely, as shown in the final two columns of Fig. 12, the lifespans identified with \(z_{MaxVarSV}\) and \(z_{Eldest}\) are more spurious and less informative. This is influenced by the concentrated dynamical behaviour characterising this model, which sees large portions of the domain remain stagnant for the t considered.

Of interest at this point is an evaluation of how these results compare to those obtained using the full transfer operator. A selection of results for the case of comparable, discrete time compositions of numerical approximations to the full transfer operator is presented in Fig. 14. Figure 14a presents the rolling window results for the full transfer operator defined in terms of the parameters utilised throughout this section. Figure 14b and c incorporates a restriction of the transfer operator to either the initial patch of radius 1/2 or to the image of this patch, respectively. It is evident that Fig. 11a, which was obtained using a localised approach, and Fig. 14b produce similar results despite their distinct approaches.

Indeed, our method moves beyond simply restricting the transfer operator to an initial or final region. This method restricts both the domain and target to build a truncated operator that does not require complete knowledge of the dynamics to detect coherently evolving structures. Whilst in general one may not expect such structures to coincide with global coherent structures of the flow, these results suggest our methods could be relevant in the analysis of phenomena where the localisation of some quantity is well understood at an initial time. Furthermore, it is reasonable to expect that structures identified by our algorithms are meaningful for the global operator, although possibly not dominant, given the initially seeded region (or some subregion of it) is not mixing significantly with its surrounds.

Fig. 14
figure 14

Rolling windows of singular value paths for the dancing dipoles model for relevant incarnations of the full transfer operator

4.2.2 Merging Monopoles

We now turn to the case of the merging monopoles, where we seek to determine if patching an area characterised by the collision of two poles provides details about the lifespan of coherent structures. This collision is illustrated in Fig. 3. We choose to instantiate a circular patch of radius 1 centred at \((\pi ,\pi )\) for \(p=0.1\) and the \(95\%\) threshold described in Algorithm 3. Implementing Algorithm 1 gives the tracked paths for rolling windows of singular values as shown in Fig. 15.

Fig. 15
figure 15

Rolling windows of singular values for the leading 4 modes, tracked using Algorithm 1 with \(p=0.1\) and t is given in terms of inertial periods. The patched region is a circle of radius 1 centred at \((\pi ,\pi )\)

Firstly, one notes the dramatic decline in the difference between the leading 4 paths that occurs around \(t=130\) inertial periods. There one notes that time windows associated with t near to 130 are associated with a merging of the two main poles. This can be seen in Fig. 3, where one notes that by \(t=133\) the two poles have begun to merge. The final plot on the (bottom) right in Fig. 3 shows that by \(t=138\) inertial periods this merging is complete.

Secondly, the fall in \(\{ \tilde{s}_{t,1} \}\) and \(\{ \tilde{s}_{t,2} \}\) that occurs alongside a peak in \(\{ \tilde{s}_{t,4} \}\) near to \(t=30\), is noteworthy. In terms of the dynamics, one notes the development of two weaker and much smaller structures occurs around this time. These structures are located on the outer parts of the larger poles and can be seen in panel (b) of Fig. 3. These smaller structures begin to form around time 20, becoming more stable in size between 30 and 40 inertial periods. They continue to exist until around 125 inertial periods, just prior to the merging of the main poles.

We again use Algorithm 3 alongside our three methods from Algorithm 4 to identify possible lifespans of interest. The longest regularised lifespan is then identified using Algorithm 5 with our standard isoperimetric threshold of 0.85. These results are shown in Fig. 16. In this case, the longest regularised lifespan is a subset of \(z_{Eldest}\) for \(t \in [128,139]\). This lifespan, associated with \(z_{r}^{(3)}\), identifies a merging of the two main poles.

Fig. 16
figure 16

Regular coherent structures (Algorithm 5) for pairings of length 1 or more

Moreover, Fig. 17 presents a detailed exploration of the initial time singular vectors \(\tilde{u}\) associated with \(z_{Eldest}\) and the merging event of interest. As expected from the illustrations in Fig. 3, this merging is shown to occur following 130 inertial periods. This also corresponds to the dramatic fall in the variance of the leading paths of rolling windows of singular values shown in Fig. 15. Furthermore, our previous examination of Fig. 3 suggested that the merger was expected to be complete by 138 inertial periods. This corresponds well with the regularised lifespan \(z_{r}^{(3)}\) that exists for time windows initialised when \(t \in [128,139]\).

Fig. 17
figure 17

Selected illustrations of the behaviour of the lifespan \(z_{Eldest}\) in the patched region at various initial times for a variety of time windows. The coherent structures identified by these dynamics correspond to the merging of the poles illustrated in Fig. 3

4.2.3 Random Initial Conditions

The final numerical test we consider is one generated using random initial conditions, as described in Sect. 3.2.5. Here, it is known that two of the more dominant structures will merge in an area above the centre of phase space that is slightly to the right. This is illustrated in Fig. 4. Using this information, we seed an elliptical patch centred at (3.75, 4) of semi-major and minor axes lengths 3/2 and 3/4 and utilise \(p=0.1\) alongside the standard threshold of Algorithm 3. Rolling windows of singular values for this case are presented in Fig. 18.

Fig. 18
figure 18

Rolling windows of singular values, tracked using \(p=0.1\) in Algorithm 1 for depth\(=14\), \(n=10\) and an elliptical patch centred at (3.75, 4) with semi-major and semi-minor axes \(a=3/2\) and \(b=3/4\). Here t is given in terms of inertial periods

The clearly separated peak that emerges in \(\{ \tilde{s}_{t,1} \}\) for t between 20 and 30 inertial periods is of immediate interest. Whilst this peak is well separated, it does not grow to a value dramatically greater than one. This suggests a dynamically meaningful mode is likely associated with this path, rather than simply a point attractor. Two smaller peaks with similar characteristics also develop in \(\{ \tilde{s}_{t,1} \}_{50 \le t \le 60}\) and \(\{ \tilde{s}_{t,2} \}_{50 \le t \le 70}\).

We identify lifespans of interest using the three methods described in Algorithm 4. In this case, the peaks between times 50 and 70 are not identified as being associated with any lifespan of immediate interest. On the other hand, the peak in \(\{ \tilde{s}_{t,1} \}\) that develops between times 20 and 30 is identified by \(z_{MaxVarSV,2}\) which exists for \(t \in [16,29]\). Further exploration of this mode is undertaken using Algorithm 5.

Figure 19 presents a detailed view of various left singular vectors associated with time windows that comprise the regularised components \(z_{r}^{(1)}\) of the lifespan \(z_{MaxVarSV,2}\). This lifespan is clearly associated with two increasingly entwined structures that eventually merge to form a new structure by the time the lifespan ceases.

Fig. 19
figure 19

Selected illustrations of the behaviour of the lifespan \(z_{MaxVarSV,2}\) in the patched region at various times for a variety of time windows. The coherent structures identified by these dynamics corresponds to the isolated peak in \(\{\tilde{s}_{t,1}\)} illustrated in Fig. 18

Applying the additional layer provided by Algorithm 5 to the four lifespans revealed in Fig. 19 results in the regularised lifespans shown in Fig. 20. Utilising our standard regularity threshold of 0.85 results in only certain instances of \(z_{MaxVarSV,2}\) being present in the regularised lifespans.

Fig. 20
figure 20

Time windows associated with regular coherent structures (Algorithm 5) for pairings of length unity or greater

Furthermore, the regularised lifespan, \(z_{r}^{(1)}\) is split into two smaller components. One notes from Fig. 19 that time \(\tilde{u}_{19,1}\) corresponds to a subtle change, which includes a greater emphasis on the tail of the merging structures. On the other hand, \(\tilde{u}_{21,1}\) and \(\tilde{u}_{22,1}\) are associated with a more balanced emphasis on the structures involved in the merging event. The outcome of the merger is illustrated by the associated right singular vectors in Fig. 19. As such, this division of the dominant lifespans into much smaller components better clarifies the exact dynamics of interactions that characterise particular lifespans.

5 Concluding Remarks

The algorithms developed in this work have been useful in isolating dynamically meaningful objects and their associated lifespans. Such objects included not only coherently evolving structures, but also coherent structures that interact and experience fundamental structural changes, such as merging and separation events. Furthermore, the optional, additional layers of complexity provided by Algorithms 4 and 5 were especially useful in the identification of particular lifespans, such as those associated with the longest lived or the most dynamically variant structures.

The key tool in this study was a numerical approximation to the localised (non-global) transfer operator. Utilising this methodology allowed us to isolate dynamically meaningful information, such as the presence of coherent structures in localised regions. This strategy, of limiting one’s analysis to localised regions of phase space, has important ramifications. Firstly, it allows for a rapid analysis when the localised target area can be approximated. Secondly, it allows for more concise and focussed results that clearly determine the presence of coherent structures or dynamic events. Moreover, it allows for effective results to be garnered without the complications introduced by large amounts of background noise, such as multiple dynamic events that involve the merging or separation of vortices across various regions.

Rolling windows of singular values associated with compositions of conditional (localised) matrices also exhibited important signals regarding the dynamical behaviour of coherent structures. For example, in the patched regions of our analyses, a well defined separation of rolling windows of singular values was often critical to the identification of the presence of coherent structures. More importantly, rolling windows of singular values for the conditional Ulam matrices could always be utilised to identify the presence of coherent structures in a patched region. Distinct changes in singular values signalled either the entry of a coherent structure into a patched region, or the exit of one out of a patched region. When a merger occurred, similar signals were observed as when a coherent structure was exiting the patched region. That is, relative to its previous trajectory, the associated path was observed to fall rapidly in range and dominance over time.

Not only did our algorithms detect the presence of coherent structures in patched regions, they also identified periods when no coherent structures were present. Likewise, these algorithms allowed us to differentiate between spurious structures and dynamically meaningful information. Whilst the exact efficacy of our methods requires further investigation, these methods were shown useful in the analysis of various dynamical settings. For example, our methods identified the presence of coherent structures in the simple setting provided by a periodically shifting double well potential and fundamental structural changes in the more complex systems modelled using the Boussinesq equations.

Our methods utilised the equivariance mismatch between pairs of vectors to develop those algorithms aimed at the detection of lifespans. These lifespans were refined using additional algorithmic layers. In particular, structures that were associated with lifespans exhibiting the largest variance of singular values were found to be particularly informative, as were those lifespans characterised by an associated singular vector that contained at least one coherent structure of a certain isoperimetric regularity. Algorithm 5 is found to be especially effective in isolating subperiods of dynamical interest as well as separating particular behaviour from other anomalies in the dynamics. Importantly, despite their alternate approaches, both algorithms were found to isolate similar objects.

Finally, whilst singular values signalled the presence of coherent structures in patched regions by exhibiting behaviour that was distinct from previous patterns in terms of separation and variance, further research into the exact meaning of particular signals is necessary. For example, our results show that paths of rolling windows of singular values move in tandem before separating, or the converse, around merging and separation events. However, delving deeper into the behaviour associated with particular signals could be bolstered by the development of new insights into the choice of the most appropriate time window length n. Furthermore, one must not forget that the consequences of strong vortex interactions extend well beyond direct mergers or separations. For example, when a smaller structure approaches a stronger one there is also the possibility that this smaller structure will be stretched into a vortex sheet that then wraps itself around the larger structure (Meunier et al. 2005). This type of complicated behaviour, as well as the possible incorporation of our approach with other algorithms such as sparse eigenbasis approximation (Froyland et al. 2019), could also be considered in future work that seeks to characterise the lifespan of coherent structures and how this is impacted by dynamical events.