Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • fluiddyn/fluiddyn_papers
1 result
Show changes
Commits on Source (32)
Showing
with 3464 additions and 4279 deletions
......@@ -19,7 +19,7 @@
*.bbl
*.blg
*Notes.bib
*.xdv
*.fls
*.fdb_latexmk
......@@ -36,6 +36,8 @@
venv/
**/.pdm-python
**/_minted-*
.vscode/*
......
......@@ -23,3 +23,5 @@
black:
black -l 82 py
all: format $(NAME).pdf
......@@ -14,6 +14,8 @@
export STRAT_TURB_TORO2022=/data/MyCore/2022strat-turb-toro
```
1. Install a virtual env with `pdm sync --clean` and activate it.
1. The command `make` should produce all Latex tables, figures and finally the
main pdf file `article.pdf`.
......
\documentclass[
aps,
prb,
superscriptaddress,
reprint,
onecolumn,
amsfonts,
amssymb,
amsmath,
]{revtex4-2}
% The result seems nicer with revtex4-2, but
% Debian 9 (Stretch) does not have revtex4-2
\usepackage[utf8]{inputenc}
\usepackage{hyperref} % Required for customising links and the PDF*
\hypersetup{pdfpagemode={UseOutlines},
bookmarksopen=true,
bookmarksopenlevel=0,
hypertexnames=false,
colorlinks=true, % Set to false to disable coloring links
citecolor=blue, % The color of citations
linkcolor=red, % The color of references to document elements (sections, figures, etc)
urlcolor=black, % The color of hyperlinks (URLs)
pdfstartview={FitV},
unicode,
breaklinks=true,
}
\usepackage{graphicx}
\usepackage{grffile}
\usepackage{color}
\usepackage{array}
\usepackage{hhline}
\usepackage[]{algorithm2e}
\usepackage{booktabs}
\usepackage{ulem}
\usepackage{siunitx}
\sisetup{
inter-unit-product = \ensuremath{{}\!\cdot\!{}},
detect-all,
separate-uncertainty = true,
exponent-product = \times,
space-before-unit = true,
output-decimal-marker = {,},
multi-part-units = brackets,
range-phrase = --,
% allow-number-unit-breaks,
list-final-separator = { et },
list-pair-separator = { et },
abbreviations
}
\usepackage{float}
\linespread{1.05}
\setlength{\tabcolsep}{7pt}
\newcommand{\cor}[1]{\textcolor{red}{#1}}
\newcommand{\todo}[1]{\textcolor{red}{TODO: #1}}
\newlength{\figwidth}
\setlength{\figwidth}{120mm}
% \setlength{\figwidth}{0.7\textwidth} % useful in single column
\newcommand{\R}{\mathcal{R}}
\newcommand{\eps}{\varepsilon}
\newcommand{\epsK}{{\varepsilon_{\!\scriptscriptstyle \rm kin}}}
\newcommand{\epsKK}{{\varepsilon_{\!\scriptscriptstyle K 2}}}
\newcommand{\epsKKKK}{{\varepsilon_{\!\scriptscriptstyle K 4}}}
\newcommand{\epsA}{{\varepsilon_{\!\scriptscriptstyle \text{pot}}}}
\newcommand{\xx}{\boldsymbol{x}}
\newcommand{\rr}{\boldsymbol{r}}
\newcommand{\kk}{\boldsymbol{k}}
\newcommand{\eek}{\boldsymbol{e}_{\boldsymbol{k}}}
\newcommand{\eeh}{\boldsymbol{e}_h}
\newcommand{\eep}{\boldsymbol{e}_{p\kk}}
\newcommand{\eet}{\boldsymbol{e}_{t\kk}}
\newcommand{\eex}{\boldsymbol{e}_x}
\newcommand{\eey}{\boldsymbol{e}_y}
\newcommand{\eez}{\boldsymbol{e}_z}
\newcommand{\cc}{\boldsymbol{c}}
\newcommand{\uu}{\boldsymbol{u}}
\newcommand{\vv}{\boldsymbol{v}}
\newcommand{\vvk}{\hat{\boldsymbol{v}}_{\kk}}
\newcommand{\vvp}{\hat{v}_{p\kk}}
\newcommand{\vvt}{\hat{v}_{t\kk}}
\newcommand{\vvs}{\hat{\boldsymbol{v}}_{s\kk}}
\newcommand{\bbk}{\hat{b}_{\kk}}
\newcommand{\ff}{\boldsymbol{f}}
\newcommand{\fk}{\hat{f}_{\kk}}
\newcommand{\ffk}{\boldsymbol{\hat{f}}_{\kk}}
\newcommand{\bomega}{\boldsymbol{\omega}}
\newcommand{\bnabla}{\boldsymbol{\nabla}}
\newcommand{\Dt}{\mbox{D}_t}
\newcommand{\p}{\partial}
\newcommand{\mean}[1]{\langle #1 \rangle}
\newcommand{\epsP}{\varepsilon_{\!\scriptscriptstyle P}}
\newcommand{\epsm}{\varepsilon_{\!\scriptscriptstyle m}}
\newcommand{\CKA}{C_{K\rightarrow A}}
\newcommand{\D}{\mbox{D}}
\newcommand{\diff}{\text{d}}
\newcommand{\bv}{Brunt-V\"ais\"al\"a }
\newcommand{\kmax}{k_{\max}}
\newcommand{\thk}{\theta_{\kk}}
\newcommand{\phk}{\varphi_{\kk}}
\newcommand{\thf}{\theta_f}
\newcommand{\ok}{\omega_{\kk}}
\newcommand{\oemp}{\omega_{\text{emp}}}
\newcommand{\odoppler}{\delta \omega_{\text{doppler}}}
\newcommand{\Ivelo}{I_{\rm kin}}
\newcommand{\Idiss}{I_{\text{diss}}}
\newcommand{\Pikin}{\Pi_{\rm kin}}
\newcommand{\Pipot}{\Pi_{\text{pot}}}
\newcommand{\Etoro}{E_{\rm toro} }
\newcommand{\Epolo}{E_{\rm polo} }
\newcommand{\Epot}{E_{\rm pot} }
\newcommand{\Eequi}{E_{\rm equi} }
\newcommand{\Ediff}{E_{\text{diff}}}
\newcommand{\Ewave}{E_{\rm wave}}
\newcommand{\Ewaver}{\tilde{E}_{\rm wave}}
\setlength\parindent{0pt}
\begin{document}
\title{Internal gravity waves in stratified flows with and without vortical modes}
\author{Vincent Labarre}
\email[]{vincent.labarre@oca.eu}
\affiliation{Universit\'{e} C\^{o}te d'Azur, Observatoire de la C\^{o}te d'Azur, CNRS,
Laboratoire Lagrange, Nice, France.}
\author{Pierre Augier}
\email[]{pierre.augier@univ-grenoble-alpes.fr}
\affiliation{Laboratoire des Ecoulements G\'eophysiques et Industriels, Universit\'e
Grenoble Alpes, CNRS, Grenoble-INP, F-38000 Grenoble, France}
\author{Giorgio Krstulovic}
\email[]{giorgio.krstulovic@oca.eu}
\affiliation{Universit\'{e} C\^{o}te d'Azur, Observatoire de la C\^{o}te d'Azur, CNRS,
Laboratoire Lagrange, Nice, France.}
\author{Sergey Nazarenko}
\email[]{sergey.nazarenko@unice.fr}
\affiliation{Universit\'{e} C\^{o}te d'Azur, CNRS, Institut de Physique de Nice -
INPHYNI, Nice, France}
\begin{abstract}
The comprehension of stratified flows is important for geophysical and astrophysical
applications. The Weak Wave Turbulence theory aims to provide a statistical description
of internal gravity waves propagating in the bulk of such flows. Yet, internal gravity
waves are usually perturbed by other structures present in stratified flow, namely the
shear modes and the vortical modes. In order to check whether a weak internal gravity
wave turbulence regime can occur, we perform direct numerical simulations of stratified
turbulence without shear modes, and with or without vortical modes at various Froude
and buoyancy Reynolds numbers. We observe that removing vortical modes naturally helps
to have a better overall balance between poloidal kinetic energy, involved in internal
gravity waves, and potential energy. However, conversion between kinetic energy and
potential energy do not necessarily show fluctuations around zero in our simulations,
as we would expect for a system of statistically stationary waves. A spatiotemporal
analysis reveals that removing vortical modes helps to concentrate the energy around
the wave frequency, but it is not enough to observe a weak wave turbulence regime. Yet,
we observe that internal gravity waves whose frequency are large compared to the eddy
turnover time are present, and we also find evidences for slow internal gravity waves
interacting by Triadic Resonance Instabilities in our strongly stratified flows
simulations. Finally, we propose conditions that should be fulfilled in order to
observe a weak internal gravity waves turbulence regime in real flows.
\end{abstract}
%----------------------------------------------------------------------------------------
% Print the title
\maketitle
%----------------------------------------------------------------------------------------
% ARTICLE CONTENTS
%----------------------------------------------------------------------------------------
\section{Introduction}
\label{sec:introduction}
\input{introduction.tex}
\section{Methods}
\label{sec:methods}
\input{methods.tex}
\section{Results}
\label{sec:results}
\input{results.tex}
\section{Discussions and conclusions}
\label{sec:conclusions}
\input{conclusions.tex}
\begin{acknowledgments}
This project was supported by the Simons Foundation through the Simons collaboration on
wave turbulence. Part of the computations have been done on the ``Mesocentre SIGAMM''
machine, hosted by Observatoire de la Cote d'Azur. The authors are grateful to the OPAL
infrastructure from Université Côte d'Azur and the Université Côte d’Azur's Center for
High-Performance Computing for providing resources and support. This work was granted
access to the HPC/AI resources of IDRIS under the allocation 2022-A0122A13417 made by
GENCI.
\end{acknowledgments}
\appendix
\section{Forcing scheme}
\label{appendix:forcing}
The forcing used in our simulations is prescribed by the following algorithm:
\begin{algorithm}[H]
$t=0$: generate two random numbers $f_{0\kk}, f_{1\kk} \sim \mathcal{P}$ $\forall \kk$ in the forcing region; $t_0 = 0$; \\
\While{$t \leq T$}{
$t \rightarrow t +\delta t$; \\
\If{$t - t_0 \geq T_c$}{
$t_0 \rightarrow t$; \\
$f_{0 \kk} \rightarrow f_{1 \kk}$; \\
genererate $f_{1\kk} \sim \mathcal{P}$
}{}
$\ffk = \left\{f_{0\kk} - \dfrac{(f_{1\kk} - f_{0\kk})}{2} \left[\cos\left(\dfrac{\pi(t-t_0)}{T_c} \right)+ 1 \right]\right\}~ \eep$ \\
$\ffk$ are normalized to ensure $P_K = 1$
}
%\caption{}
\end{algorithm}
where $\mathcal{P}$ is the probability law which has for distribution
\begin{equation}
p_X(x) = \begin{cases}
\frac{1}{4} ~~ \text{if} ~ Re(x) \in[-1:1] ~ \text{and} ~ Im(x) \in[-1:1] \\
0 ~~ \text{otherwise}
\end{cases}
\end{equation}
and $\delta t$ is the time increment at each time step.
\section{List of simulations}
\begin{table}
\begin{tabular}{m{5cm}m{4cm}m{4cm}}
\textbf{Control parameters} & \textbf{With vortical modes} & \textbf{Without vortical modes}
\end{tabular}
\input{../tmp/table_params.tex}
%\hfill
\input{../tmp/table_better_simuls.tex}
%\hfill
\input{../tmp/table_better_simuls_proj.tex}
\label{table-better-simuls}
\end{table}
\newpage
%\appendix\section{A great appendix}
%\label{appendix}
\bibliography{biblio}
\end{document}
@article{mohanan_fluidfft_2019,
title = {{FluidFFT}: Common {API} (C++ and Python) for Fast Fourier Transform {HPC} Libraries},
volume = {7},
rights = {Authors who publish with this journal agree to the following terms: Authors retain copyright and grant the journal right of first publication with the work simultaneously licensed under a Creative Commons Attribution License that allows others to share the work with an acknowledgement of the work's authorship and initial publication in this journal. Authors are able to enter into separate, additional contractual arrangements for the non-exclusive distribution of the journal's published version of the work (e.g., post it to an institutional repository or publish it in a book), with an acknowledgement of its initial publication in this journal. Authors are permitted and encouraged to post their work online (e.g., in institutional repositories or on their website) prior to and during the submission process, as it can lead to productive exchanges, as well as earlier and greater citation of published work (See The Effect of Open Access ). All third-party images reproduced on this journal are shared under Educational Fair Use. For more information on Educational Fair Use , please see this useful checklist prepared by Columbia University Libraries . All copyright of third-party content posted here for research purposes belongs to its original owners. Unless otherwise stated all references to characters and comic art presented on this journal are ©, ® or ™ of their respective owners. No challenge to any owner’s rights is intended or should be inferred.},
issn = {2049-9647},
url = {http://openresearchsoftware.metajnl.com/article/10.5334/jors.238/},
doi = {10.5334/jors.238},
shorttitle = {{FluidFFT}},
abstract = {Article: {FluidFFT}: Common {API} (C++ and Python) for Fast Fourier Transform {HPC} Libraries},
pages = {10},
number = {1},
journal = {Journal of Open Research Software},
author = {Mohanan, Ashwin Vishnu and Bonamy, Cyrille and Augier, Pierre},
urldate = {2022-10-17},
date = {2019-04-01},
year = {2019},
langid = {english},
note = {Number: 1
Publisher: Ubiquity Press},
file = {Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/PFXE6AWL/Mohanan et al. - 2019 - FluidFFT Common API (C++ and Python) for Fast Fou.pdf:application/pdf},
}
@article{mohanan_fluidsim_2019,
title = {{FluidSim}: Modular, Object-Oriented Python Package for High-Performance {CFD} Simulations},
volume = {7},
rights = {Authors who publish with this journal agree to the following terms: Authors retain copyright and grant the journal right of first publication with the work simultaneously licensed under a Creative Commons Attribution License that allows others to share the work with an acknowledgement of the work's authorship and initial publication in this journal. Authors are able to enter into separate, additional contractual arrangements for the non-exclusive distribution of the journal's published version of the work (e.g., post it to an institutional repository or publish it in a book), with an acknowledgement of its initial publication in this journal. Authors are permitted and encouraged to post their work online (e.g., in institutional repositories or on their website) prior to and during the submission process, as it can lead to productive exchanges, as well as earlier and greater citation of published work (See The Effect of Open Access ). All third-party images reproduced on this journal are shared under Educational Fair Use. For more information on Educational Fair Use , please see this useful checklist prepared by Columbia University Libraries . All copyright of third-party content posted here for research purposes belongs to its original owners. Unless otherwise stated all references to characters and comic art presented on this journal are ©, ® or ™ of their respective owners. No challenge to any owner’s rights is intended or should be inferred.},
issn = {2049-9647},
url = {http://openresearchsoftware.metajnl.com/article/10.5334/jors.239/},
doi = {10.5334/jors.239},
shorttitle = {{FluidSim}},
abstract = {Article: {FluidSim}: Modular, Object-Oriented Python Package for High-Performance {CFD} Simulations},
pages = {14},
number = {1},
journal = {Journal of Open Research Software},
author = {Mohanan, Ashwin Vishnu and Bonamy, Cyrille and Linares, Miguel Calpe and Augier, Pierre},
urldate = {2022-10-17},
date = {2019-04-26},
year = {2019},
langid = {english},
note = {Number: 1
Publisher: Ubiquity Press},
file = {Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/BRIACGWN/Mohanan et al. - 2019 - FluidSim Modular, Object-Oriented Python Package .pdf:application/pdf;Snapshot:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/2IN9MCBP/jors.239.html:text/html},
}
@article{augier_fluiddyn_2019,
title = {{FluidDyn}: A Python Open-Source Framework for Research and Teaching in Fluid Dynamics by Simulations, Experiments and Data Processing},
volume = {7},
rights = {Authors who publish with this journal agree to the following terms: Authors retain copyright and grant the journal right of first publication with the work simultaneously licensed under a Creative Commons Attribution License that allows others to share the work with an acknowledgement of the work's authorship and initial publication in this journal. Authors are able to enter into separate, additional contractual arrangements for the non-exclusive distribution of the journal's published version of the work (e.g., post it to an institutional repository or publish it in a book), with an acknowledgement of its initial publication in this journal. Authors are permitted and encouraged to post their work online (e.g., in institutional repositories or on their website) prior to and during the submission process, as it can lead to productive exchanges, as well as earlier and greater citation of published work (See The Effect of Open Access ). All third-party images reproduced on this journal are shared under Educational Fair Use. For more information on Educational Fair Use , please see this useful checklist prepared by Columbia University Libraries . All copyright of third-party content posted here for research purposes belongs to its original owners. Unless otherwise stated all references to characters and comic art presented on this journal are ©, ® or ™ of their respective owners. No challenge to any owner’s rights is intended or should be inferred.},
issn = {2049-9647},
url = {http://openresearchsoftware.metajnl.com/article/10.5334/jors.237/},
doi = {10.5334/jors.237},
shorttitle = {{FluidDyn}},
abstract = {Article: {FluidDyn}: A Python Open-Source Framework for Research and Teaching in Fluid Dynamics by Simulations, Experiments and Data Processing},
pages = {9},
number = {1},
journal = {Journal of Open Research Software},
author = {Augier, Pierre and Mohanan, Ashwin Vishnu and Bonamy, Cyrille},
urldate = {2022-10-17},
date = {2019-04-01},
year = {2019},
langid = {english},
note = {Number: 1
Publisher: Ubiquity Press},
file = {Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/3T2RCTRI/Augier et al. - 2019 - FluidDyn A Python Open-Source Framework for Resea.pdf:application/pdf},
}
@article{yokoyama_energy-based_2019,
title = {Energy-based analysis and anisotropic spectral distribution of internal gravity waves in strongly stratified turbulence},
volume = {4},
url = {https://link.aps.org/doi/10.1103/PhysRevFluids.4.104602},
doi = {10.1103/PhysRevFluids.4.104602},
abstract = {Stratified turbulence shows scale- and direction-dependent anisotropy and the coexistence of weak turbulence of internal gravity waves and strong turbulence of eddies. Straightforward application of standard analyses developed in isotropic turbulence sometimes masks important aspects of the anisotropic turbulence. To capture detailed structures of the energy distribution in the wave-number space, it is indispensable to examine the energy distribution with nonintegrated spectra by fixing the codimensional wave-number component or in the two-dimensional domain spanned by both the horizontal and the vertical wave numbers. Indices which separate the range of the anisotropic weak-wave turbulence in the wave-number space are proposed based on the decomposed energies. In addition, the dominance of the waves in the range is also verified by the small frequency deviation from the linear dispersion relation. In the wave-dominant range, the linear wave periods given by the linear dispersion relation are smaller than approximately one third of the eddy-turnover time. The linear wave periods reflect the anisotropy of the system, while the isotropic Brunt-Väisälä period is used to evaluate the Ozmidov wave number, which is necessarily isotropic. It is found that the time scales in consideration of the anisotropy of the flow field must be appropriately selected to obtain the critical wave number separating the weak-wave turbulence.},
pages = {104602},
number = {10},
journal = {Physical Review Fluids},
shortjournal = {Phys. Rev. Fluids},
author = {Yokoyama, Naoto and Takaoka, Masanori},
urldate = {2022-10-17},
date = {2019-10-08},
year = {2019},
note = {Publisher: American Physical Society},
file = {APS Snapshot:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/YBEFZRJC/PhysRevFluids.4.html:text/html;Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/J6L4A9XB/Yokoyama and Takaoka - 2019 - Energy-based analysis and anisotropic spectral dis.pdf:application/pdf},
}
@article{lam_partitioning_2020,
title = {Partitioning Waves and Eddies in Stably Stratified Turbulence},
volume = {11},
rights = {http://creativecommons.org/licenses/by/3.0/},
issn = {2073-4433},
url = {https://www.mdpi.com/2073-4433/11/4/420},
doi = {10.3390/atmos11040420},
abstract = {We consider the separation of motion related to internal gravity waves and eddy dynamics in stably stratified flows obtained by direct numerical simulations. The waves’ dispersion relation links their angle of propagation to the vertical θ , to their frequency ω , so that two methods are used for characterizing wave-related motion: (a) the concentration of kinetic energy density in the ( θ , ω ) map along the dispersion relation curve; and (b) a direct computation of two-point two-time velocity correlations via a four-dimensional Fourier transform, permitting to extract wave-related space-time coherence. The second method is more computationally demanding than the first. In canonical flows with linear kinematics produced by space-localized harmonic forcing, we observe the pattern of the waves in physical space and the corresponding concentration curve of energy in the ( θ , ω ) plane. We show from a simple laminar flow that the curve characterizing the presence of waves is distorted differently in the presence of a background convective mean velocity, either uniform or varying in space, and also when the forcing source is moving. By generalizing the observation from laminar flow to turbulent flow, this permits categorizing the energy concentration pattern of the waves in complex flows, thus enabling the identification of wave-related motion in a general turbulent flow with stable stratification. The advanced method (b) is finally used to compute the wave-eddy partition in the velocity–buoyancy fields of direct numerical simulations of stably stratified turbulence. In particular, we use this splitting in statistics as varied as horizontal and vertical kinetic energy, as well as two-point velocity and buoyancy spectra.},
pages = {420},
number = {4},
journal = {Atmosphere},
author = {Lam, Henri and Delache, Alexandre and Godeferd, Fabien S.},
urldate = {2022-10-17},
date = {2020-04},
year = {2020},
langid = {english},
note = {Number: 4
Publisher: Multidisciplinary Digital Publishing Institute},
keywords = {stratified turbulence, dispersion relation, Doppler shift, internal gravity waves, sweeping effect},
file = {Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/D9N66A7W/Lam et al. - 2020 - Partitioning Waves and Eddies in Stably Stratified.pdf:application/pdf},
}
@article{maffioli_signature_2020,
title = {Signature and energetics of internal gravity waves in stratified turbulence},
volume = {5},
url = {https://link.aps.org/doi/10.1103/PhysRevFluids.5.114802},
doi = {10.1103/PhysRevFluids.5.114802},
abstract = {Internal gravity waves propagating within homogeneous stratified turbulence are the subject of the present study. A spatiotemporal analysis is carried out on the results of direct numerical simulations including a forcing term, with the aim of showing the energy content of the simulations as a function of frequency, ω, and wave-vector inclination to the horizontal, θ. Clear signatures of the dispersion relation of internal gravity waves, ω=±Ncosθ, where N is the Brunt-Väisälä frequency, are observed in all our simulations, which have low Froude number, Frh≪1, and increasing buoyancy Reynolds number up to Reb≈10. Interestingly, we observe the presence of high-frequency waves with ω∼N and a corresponding low-frequency vortex mode, both containing a non-negligible amount of energy. These waves are large-scale waves, their energy signature being found at scales larger than the forcing scales. We also observe the growth of energy in the shear modes, constituting a horizontal mean flow, and we show that their continuous growth is due to an upscale energy transfer, from the forcing scales to larger horizontal as well as vertical scales. These shear modes are found to be responsible for Doppler shifting the frequency of the large-scale waves. When considering the wave energy across the simulations at varying Reb, such energy is seen to reduce as Reb is increased and the flow enters the strongly stratified turbulence regime. The classical wave-vortex decomposition, based on a purely spatial decomposition of instantaneous snapshots of the flow, is analyzed within the current framework and is seen to correspond relatively well to the “true” wave signal identified by the spatiotemporal analysis, at least for the large-scale waves with ω∼N. Distinct energy peaks in θ−ω space highlight that the waves have preferential directions of propagation, specifically θ=45∘ and θ≈55∘, similar to observations in studies of wave radiation from localized regions of turbulence. This suggests that the same wave-generation mechanisms may be relevant for homogeneous and inhomogeneous stratified turbulent flows.},
pages = {114802},
number = {11},
journal = {Physical Review Fluids},
shortjournal = {Phys. Rev. Fluids},
author = {Maffioli, Andrea and Delache, Alexandre and Godeferd, Fabien S.},
urldate = {2022-10-17},
date = {2020-11-11},
year = {2020},
note = {Publisher: American Physical Society},
file = {APS Snapshot:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/2I5HEDCS/PhysRevFluids.5.html:text/html;Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/TYVF8VHB/Maffioli et al. - 2020 - Signature and energetics of internal gravity waves.pdf:application/pdf},
}
@article{davis_succession_2020,
title = {Succession of Resonances to Achieve Internal Wave Turbulence},
volume = {124},
url = {https://link.aps.org/doi/10.1103/PhysRevLett.124.204502},
doi = {10.1103/PhysRevLett.124.204502},
abstract = {We study experimentally the interaction of nonlinear internal waves in a stratified fluid confined in a trapezoidal tank. The setup has been designed to produce internal wave turbulence from monochromatic and polychromatic forcing through three processes. The first is a linear transfer in wavelength obtained by wave reflection on inclined slopes, leading to an internal wave attractor which has a broad wave number spectrum. Second is the broadbanded time-frequency spectrum of the trapezoidal geometry, as shown by the impulse response of the system. The third one is a nonlinear transfer in frequencies and wave vectors via triadic interactions, which results at large forcing amplitudes in a power law decay of the wave number power spectrum. This first experimental spectrum of internal wave turbulence displays a k−3 behavior.},
pages = {204502},
number = {20},
journal = {Physical Review Letters},
shortjournal = {Phys. Rev. Lett.},
author = {Davis, Géraldine and Jamin, Timothée and Deleuze, Julie and Joubaud, Sylvain and Dauxois, Thierry},
urldate = {2022-10-17},
date = {2020-05-21},
year = {2020},
note = {Publisher: American Physical Society},
file = {APS Snapshot:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/IMTLWSVZ/PhysRevLett.124.html:text/html;Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/VU48BV6J/Davis et al. - 2020 - Succession of Resonances to Achieve Internal Wave .pdf:application/pdf},
}
@article{lindborg_energy_2006,
title = {The energy cascade in a strongly stratified fluid},
volume = {550},
issn = {1469-7645, 0022-1120},
url = {https://www.cambridge.org/core/journals/journal-of-fluid-mechanics/article/energy-cascade-in-a-strongly-stratified-fluid/40CFC86F42AA14B8A7A29BB457D9A8D9},
doi = {10.1017/S0022112005008128},
abstract = {A cascade hypothesis for a strongly stratified fluid is developed on the basis of the Boussinesq equations. According to this hypothesis, kinetic and potential energy are transferred from large to small scales in a highly anisotropic turbulent cascade. A relation for the ratio, \$ l\_\{v\}/l\_\{h\} \$, between the vertical and horizontal length scale is derived, showing how this ratio decreases with increased stratification. Similarity expressions are formulated for the horizontal and vertical spectra of kinetic and potential energy. A series of box simulations of the Boussinesq equations are carried out and a good agreement between the proposed hypothesis and the simulations is seen. The simulations with strongest stratification give horizontal kinetic and potential energy spectra of the form \$ E\_\{K\_\{h\}\} {\textbackslash},\{=\}{\textbackslash}, C\_\{1\} {\textbackslash}epsilon\_\{K\}{\textasciicircum}\{2/3\} k\_\{h\}{\textasciicircum}\{-5/3\} \$ and \$ E\_\{P\_\{h\}\} {\textbackslash},\{=\}{\textbackslash}, C\_\{2\} {\textbackslash}epsilon\_\{P\} k\_\{h\}{\textasciicircum}\{-5/3\}/{\textbackslash}epsilon\_\{K\}{\textasciicircum}\{1/3\} \$, where \$ k\_\{h\} \$ is the horizontal wavenumber, \$ {\textbackslash}epsilon\_\{K\} \$ and \$ {\textbackslash}epsilon\_\{P\} \$ are the dissipation of kinetic and potential energy, respectively, and \$ C\_\{1\} \$ and \$ C\_\{2\} \$ are two constants. Within the given numerical accuracy, it is found that these two constants have the same value: \$ C\_\{1\} {\textbackslash}approx C\_\{2\} {\textbackslash},\{=\}{\textbackslash}, 0.51 {\textbackslash}pm 0.02 \$.},
pages = {207--242},
journal = {Journal of Fluid Mechanics},
author = {Lindborg, Erik},
urldate = {2022-10-17},
date = {2006-03},
year = {2006},
langid = {english},
note = {Publisher: Cambridge University Press},
file = {Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/QUL239GH/Lindborg - 2006 - The energy cascade in a strongly stratified fluid.pdf:application/pdf;Snapshot:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/SJV229FW/40CFC86F42AA14B8A7A29BB457D9A8D9.html:text/html},
}
@article{lam_energy_2021,
title = {Energy balance and mixing between waves and eddies in stably stratified turbulence},
volume = {923},
issn = {0022-1120, 1469-7645},
url = {https://www.cambridge.org/core/journals/journal-of-fluid-mechanics/article/energy-balance-and-mixing-between-waves-and-eddies-in-stably-stratified-turbulence/259ED50C26265836E76B8C588C85D1FC},
doi = {10.1017/jfm.2021.589},
abstract = {, We explore the strong stratification regime of stably stratified turbulence and the intermediate regime towards the viscosity-affected stratified state. Three-dimensional velocity-density fields from direct numerical simulations are decomposed into internal gravity waves ({IGWs}) and eddy motion based on Riley's decomposition (Riley et al., {AIP} Conf. Proc., vol. 76, issue 1, 1981, pp. 79–112) extended to account for the space–time properties of waves, their modification by vertically sheared horizontal flow and the vertical mixing by eddies (Lam et al., Atmosphere, vol. 11, issue 4, 2020, p. 420). We establish the evolution equations for the {IGW} and eddy parts separately. Up to buoyancy Reynolds number 𝑅𝑒𝑏∼1Reb∼1\{Re\}\_b{\textbackslash}sim 1, we observe a large exchange of energy that pumps energy from the {IGW} to eddy. For 𝑅𝑒𝑏{\textgreater}1Reb{\textgreater}1\{Re\}\_b{\textgreater}1, the {IGW} and eddy dynamics seem to be separate and no global exchange is observed. Our decomposition enables computation of the contributions to the mixing coefficient in terms of the {IGW} and eddy. At the largest 𝑅𝑒𝑏Reb\{Re\}\_b considered, the mixing due to eddies is four times that due to waves.},
pages = {A31},
journal = {Journal of Fluid Mechanics},
author = {Lam, H. and Delache, A. and Godeferd, F. S.},
urldate = {2022-10-17},
date = {2021-09},
year = {2021},
langid = {english},
note = {Publisher: Cambridge University Press},
keywords = {mixing and dispersion, stratified turbulence, wave-turbulence interactions},
file = {Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/HARRR54N/Lam et al. - 2021 - Energy balance and mixing between waves and eddies.pdf:application/pdf;Snapshot:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/AL988WMT/259ED50C26265836E76B8C588C85D1FC.html:text/html},
}
@article{waite_stratified_2011,
title = {Stratified turbulence at the buoyancy scale},
volume = {23},
issn = {1070-6631},
url = {https://aip.scitation.org/doi/10.1063/1.3599699},
doi = {10.1063/1.3599699},
abstract = {Numerical simulations of forced stratified turbulence are presented, and the dependence on horizontal resolution and grid aspect ratio is investigated. Simulations are designed to model the small-scale end of the atmospheric mesoscale and oceanic submesoscale, for which high horizontal resolution is usually not feasible in large-scale geophysical fluid simulations. Coarse horizontal resolution, which necessitates the use of thin grid aspect ratio, yields a downscale stratified turbulence energy cascade in agreement with previous results. We show that with increasing horizontal resolution, a transition emerges at the buoyancy scale 2{πU}/N, where U is the rms velocity and N is the Brunt–Väisälä frequency. Simulations with high horizontal resolution and isotropic grid spacing exhibit a spectral break at this scale, below which there is a net injection of kinetic energy by nonlinear interactions with the large-scale flow. We argue that these results are consistent with a direct transfer of energy to the buoyancy scale by Kelvin–Helmholtz instability of the large-scale vortices. These findings suggest the existence of a distinct subrange of stratified turbulence between the buoyancy and Ozmidov scales. This range must be at least partially resolved or parameterized to obtain robust simulations of larger-scale turbulence.},
pages = {066602},
number = {6},
journal = {Physics of Fluids},
author = {Waite, Michael L.},
urldate = {2022-10-17},
date = {2011-06},
year = {2011},
note = {Publisher: American Institute of Physics},
file = {Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/FKNIH268/Waite - 2011 - Stratified turbulence at the buoyancy scale.pdf:application/pdf},
}
@article{waite_stratified_2004,
title = {Stratified turbulence dominated by vortical motion},
volume = {517},
issn = {1469-7645, 0022-1120},
url = {https://www.cambridge.org/core/journals/journal-of-fluid-mechanics/article/stratified-turbulence-dominated-by-vortical-motion/CE2036181A315918218DBDD9BE05FD9E},
doi = {10.1017/S0022112004000977},
abstract = {We present numerical simulations of stably stratified, vortically forced turbulence at a wide range of Froude numbers. Large-scale vortical forcing was chosen to represent geophysical vortices which break down at small scales where Coriolis effects are weak. The resulting vortical energy spectra are much steeper in the horizontal direction and shallower in the vertical than typical observations in the atmosphere and ocean, as noted in previous studies. We interpret these spectra in terms of the vertical decoupling which emerges in the strongly stratified limit. We show that this decoupling breaks down at a vertical scale of \$U/N\$, where \$N\$ is the Brunt–Väisälä frequency and \$U\$ is a characteristic horizontal velocity, confirming previous scaling arguments. The transfer of vortical energy to wave energy is most efficient at this vertical scale; vertical spectra of wave energy are correspondingly peaked at small scales, as observed in past work. The equilibrium statistical mechanics of the inviscid unforced truncated problem qualitatively predicts the nature of the forced–dissipative solutions, and confirms the lack of an inverse cascade of vortical energy.},
pages = {281--308},
journal = {Journal of Fluid Mechanics},
author = {Waite, Michael L. and Bartello, Peter},
urldate = {2022-10-17},
date = {2004-09},
year = {2004},
langid = {english},
note = {Publisher: Cambridge University Press},
file = {Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/2BVLXYA4/Waite and Bartello - 2004 - Stratified turbulence dominated by vortical motion.pdf:application/pdf;Snapshot:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/M4BCS7Z9/CE2036181A315918218DBDD9BE05FD9E.html:text/html},
}
@article{kimura_energy_2012,
title = {Energy spectra of stably stratified turbulence},
volume = {698},
issn = {1469-7645, 0022-1120},
url = {https://www.cambridge.org/core/journals/journal-of-fluid-mechanics/article/energy-spectra-of-stably-stratified-turbulence/B3A21010303ECE1397BAD3BB63FBDE9F},
doi = {10.1017/jfm.2011.546},
abstract = {We investigate homogeneous incompressible turbulence subjected to a range of degrees of stratification. Our basic method is pseudospectral direct numerical simulations at a resolution of . Such resolution is sufficient to reveal inertial power-law ranges for suitably comprised horizontal and vertical spectra, which are designated as the wave and vortex mode (the Craya–Herring representation). We study mainly turbulence that is produced from randomly large-scale forcing via an Ornstein–Uhlenbeck process applied isotropically to the horizontal velocity field. In general, both the wave and vortex spectra are consistent with a Kolmogorov-like range at sufficiently large . At large scales, and for sufficiently strong stratification, the wave spectrum is a steeper , while that for the vortex component is consistent with . Here is the horizontally gathered wavenumber. In contrast to the horizontal wavenumber spectra, the vertical wavenumber spectra show very different features. For those spectra, a clear dependence for small scales is observed while the large scales show rather flat spectra. By modelling the horizontal layering of vorticity, we attempt to explain the flat spectra. These spectra are linked to two-point structure functions of the velocity correlations in the horizontal and vertical directions. We can observe the power-law transition also in certain of the two-point structure functions.},
pages = {19--50},
journal = {Journal of Fluid Mechanics},
author = {Kimura, Y. and Herring, J. R.},
urldate = {2022-10-17},
date = {2012-05},
year = {2012},
langid = {english},
note = {Publisher: Cambridge University Press},
keywords = {homogeneous turbulence, stratified flows, turbulence simulation},
file = {Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/53Q7UVIZ/Kimura and Herring - 2012 - Energy spectra of stably stratified turbulence.pdf:application/pdf;Snapshot:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/8TKPFV7G/B3A21010303ECE1397BAD3BB63FBDE9F.html:text/html},
}
@article{dematteis_downscale_2021,
title = {Downscale energy fluxes in scale-invariant oceanic internal wave turbulence},
volume = {915},
issn = {0022-1120, 1469-7645},
url = {https://www.cambridge.org/core/journals/journal-of-fluid-mechanics/article/downscale-energy-fluxes-in-scaleinvariant-oceanic-internal-wave-turbulence/575CD634A844D7DACF84EBBA9FF5A084},
doi = {10.1017/jfm.2021.99},
abstract = {, We analyse analytically and numerically the scale-invariant stationary solution to the internal-wave kinetic equation. Our analysis of the resonant energy transfers shows that the leading-order contributions are given (i) by triads with extreme scale separation and (ii) by triads of waves that are quasi-collinear in the horizontal plane. The contributions from other types of triads is found to be subleading. We use the modified scale-invariant limit of the Garrett and Munk spectrum of internal waves to calculate the magnitude of the energy flux towards high wavenumbers in both the vertical and the horizontal directions. Our results compare favourably with the finescale parametrization of ocean mixing that was proposed in Polzin et al. (J. Phys. Oceanogr., vol. 25, issue 3, 1995, pp. 306–328).},
pages = {A129},
journal = {Journal of Fluid Mechanics},
author = {Dematteis, Giovanni and Lvov, Yuri V.},
urldate = {2022-10-17},
date = {2021-05},
year = {2021},
langid = {english},
note = {Publisher: Cambridge University Press},
keywords = {ocean processes, wave-turbulence interactions, internal waves},
file = {Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/SV7W6JWU/Dematteis and Lvov - 2021 - Downscale energy fluxes in scale-invariant oceanic.pdf:application/pdf;Snapshot:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/E6CUHNEY/575CD634A844D7DACF84EBBA9FF5A084.html:text/html},
}
@article{nazarenko_critical_2011,
title = {Critical balance in magnetohydrodynamic, rotating and stratified turbulence: towards a universal scaling conjecture},
volume = {677},
issn = {1469-7645, 0022-1120},
url = {https://www.cambridge.org/core/journals/journal-of-fluid-mechanics/article/critical-balance-in-magnetohydrodynamic-rotating-and-stratified-turbulence-towards-a-universal-scaling-conjecture/0E807CB31B6599E2076B419429AED1A3},
doi = {10.1017/S002211201100067X},
shorttitle = {Critical balance in magnetohydrodynamic, rotating and stratified turbulence},
abstract = {It is proposed that critical balance – a scale-by-scale balance between the linear propagation and nonlinear interaction time scales – can be used as a universal scaling conjecture for determining the spectra of strong turbulence in anisotropic wave systems. Magnetohydrodynamic ({MHD}), rotating and stratified turbulence are considered under this assumption and, in particular, a novel and experimentally testable energy cascade scenario and a set of scalings of the spectra are proposed for low-Rossby-number rotating turbulence. It is argued that in neutral fluids the critically balanced anisotropic cascade provides a natural path from strong anisotropy at large scales to isotropic Kolmogorov turbulence at very small scales. It is also argued that the k−2⊥ spectra seen in recent numerical simulations of low-Rossby-number rotating turbulence may be analogous to the k−3/2⊥ spectra of the numerical {MHD} turbulence in the sense that they could be explained by assuming that fluctuations are polarised (aligned) approximately as inertial waves (Alfvén waves for {MHD}).},
pages = {134--153},
journal = {Journal of Fluid Mechanics},
author = {Nazarenko, Sergei V. and Schekochihin, Alexander A.},
urldate = {2022-10-17},
date = {2011-06},
year = {2011},
langid = {english},
note = {Publisher: Cambridge University Press},
keywords = {stratified turbulence, {MHD} turbulence, rotating turbulence},
file = {Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/777Z76I5/Nazarenko and Schekochihin - 2011 - Critical balance in magnetohydrodynamic, rotating .pdf:application/pdf;Snapshot:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/F5NU7K5K/0E807CB31B6599E2076B419429AED1A3.html:text/html},
}
@article{monsalve_quantitative_2020,
title = {Quantitative Experimental Observation of Weak Inertial-Wave Turbulence},
volume = {125},
url = {https://link.aps.org/doi/10.1103/PhysRevLett.125.254502},
doi = {10.1103/PhysRevLett.125.254502},
abstract = {We report the quantitative experimental observation of the weak inertial-wave turbulence regime of rotating turbulence. We produce a statistically steady homogeneous turbulent flow that consists of nonlinearly interacting inertial waves, using rough top and bottom boundaries to prevent the emergence of a geostrophic flow. As the forcing amplitude increases, the temporal spectrum evolves from a discrete set of peaks to a continuous spectrum. Maps of the bicoherence of the velocity field confirm such a gradual transition between discrete wave interactions at weak forcing amplitude and the regime described by weak turbulence theory ({WTT}) for stronger forcing. In the former regime, the bicoherence maps display a near-zero background level, together with sharp localized peaks associated with discrete resonances. By contrast, in the latter regime, the bicoherence is a smooth function that takes values of the order of the Rossby number in line with the infinite-domain and random-phase assumptions of {WTT}. The spatial spectra then display a power-law behavior, both the spectral exponent and the spectral level being accurately predicted by {WTT} at high Reynolds number and low Rossby number.},
pages = {254502},
number = {25},
journal = {Physical Review Letters},
shortjournal = {Phys. Rev. Lett.},
author = {Monsalve, Eduardo and Brunet, Maxime and Gallet, Basile and Cortet, Pierre-Philippe},
urldate = {2022-10-17},
date = {2020-12-14},
year = {2020},
note = {Publisher: American Physical Society},
file = {APS Snapshot:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/ER96DK5R/PhysRevLett.125.html:text/html;Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/H3WVC2EZ/Monsalve et al. - 2020 - Quantitative Experimental Observation of Weak Iner.pdf:application/pdf},
}
@article{nazarenko_wave_2015,
title = {Wave turbulence},
volume = {56},
issn = {0010-7514},
url = {https://doi.org/10.1080/00107514.2015.1015250},
doi = {10.1080/00107514.2015.1015250},
abstract = {Wave turbulence is the statistical mechanics of random waves with a broadband spectrum interacting via non-linearity. To understand its difference from non-random well-tuned coherent waves, one could compare the sound of thunder to a piece of classical music. Wave turbulence is surprisingly common and important in a great variety of physical settings, starting with the most familiar ocean waves to waves at quantum scales or to much longer waves in astrophysics. We will provide a basic overview of the wave turbulence ideas, approaches and main results emphasising the physics of the phenomena and using qualitative descriptions avoiding, whenever possible, involved mathematical derivations. In particular, dimensional analysis will be used for obtaining the key scaling solutions in wave turbulence – Kolmogorov–Zakharov ({KZ}) spectra.},
pages = {359--373},
number = {3},
journal = {Contemporary Physics},
author = {Nazarenko, Sergey},
urldate = {2022-10-17},
date = {2015-07-03},
year = {2015},
note = {Publisher: Taylor \& Francis
\_eprint: https://doi.org/10.1080/00107514.2015.1015250},
keywords = {kinetic equations, Kolmogorov–Zakharov spectra, non-equilibrium statistical mechanics, non-linear partial differential equations, turbulence, waves},
}
@article{brunet_shortcut_2020,
title = {Shortcut to Geostrophy in Wave-Driven Rotating Turbulence: The Quartetic Instability},
volume = {124},
url = {https://link.aps.org/doi/10.1103/PhysRevLett.124.124501},
doi = {10.1103/PhysRevLett.124.124501},
shorttitle = {Shortcut to Geostrophy in Wave-Driven Rotating Turbulence},
abstract = {We report on laboratory experiments of wave-driven rotating turbulence. A set of wave makers produces inertial-wave beams that interact nonlinearly in the central region of a water tank mounted on a rotating platform. The forcing thus injects energy into inertial waves only. For moderate forcing amplitude, part of the energy of the forced inertial waves is transferred to subharmonic waves, through a standard triadic resonance instability. This first step is broadly in line with the theory of weak turbulence. Surprisingly however, stronger forcing does not lead to an inertial-wave turbulence regime. Instead, most of the kinetic energy condenses into a vertically invariant geostrophic flow, even though the latter is unforced. We show that resonant quartets of inertial waves can trigger an instability—the “quartetic instability”—that leads to such spontaneous emergence of geostrophy. In the present experiment, this instability sets in as a secondary instability of the classical triadic instability.},
pages = {124501},
number = {12},
journal = {Physical Review Letters},
shortjournal = {Phys. Rev. Lett.},
author = {Brunet, Maxime and Gallet, Basile and Cortet, Pierre-Philippe},
urldate = {2022-10-17},
date = {2020-03-24},
year = {2020},
note = {Publisher: American Physical Society},
file = {APS Snapshot:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/9KZE9B4K/PhysRevLett.124.html:text/html;Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/LGVY6AZ2/Brunet et al. - 2020 - Shortcut to Geostrophy in Wave-Driven Rotating Tur.pdf:application/pdf},
}
@article{nazarenko_verifying_2020,
title = {Verifying Weak Turbulence Theory},
volume = {13},
rights = {©2020 by the American Physical Society. All rights reserved.},
url = {https://physics.aps.org/articles/v13/194},
doi = {10.1103/PhysRevLett.125.254502},
abstract = {A new experiment in wave turbulence achieves the long-sought goal of generating “pure” interacting waves that behave as theory predicts.},
pages = {194},
journal = {Physics},
author = {Nazarenko, Sergey},
urldate = {2022-10-17},
date = {2020-12-14},
year = {2020},
langid = {english},
note = {Publisher: American Physical Society},
file = {Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/GN7IRAFA/Nazarenko - 2020 - Verifying Weak Turbulence Theory.pdf:application/pdf;Snapshot:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/I5WDFMEK/194.html:text/html},
}
@article{meyrand_direct_2016,
title = {Direct Evidence of the Transition from Weak to Strong Magnetohydrodynamic Turbulence},
volume = {116},
url = {https://link.aps.org/doi/10.1103/PhysRevLett.116.105002},
doi = {10.1103/PhysRevLett.116.105002},
abstract = {One of the most important predictions in magnetohydrodynamics is that in the presence of a uniform magnetic field b0{\textasciicircum}e∥ a transition from weak to strong wave turbulence should occur when going from large to small perpendicular scales. This transition is believed to be a universal property of several anisotropic turbulent systems. We present, for the first time, direct evidence of such a transition using a decaying three-dimensional direct numerical simulation of incompressible balanced magnetohydrodynamic turbulence with a grid resolution of 30722×256. From large to small scales, the change of regime is characterized by (i) a change of slope in the energy spectrum going from approximately −2 to −3/2, (ii) an increase of the ratio between the wave and nonlinear times, with a critical ratio of χc∼1/3, (iii) a modification of the isocontours of energy revealing a transition from a purely perpendicular cascade to a cascade compatible with the critical-balance-type phenomenology, and (iv) an absence followed by a dramatic increase of the communication between Alfvén modes. The changes happen at approximately the same transition scale and can be seen as manifest signatures of the transition from weak to strong wave turbulence. Furthermore, we observe a significant nonlocal three-wave coupling between strongly and weakly nonlinear modes resulting in an inverse transfer of energy from small to large scales.},
pages = {105002},
number = {10},
journal = {Physical Review Letters},
shortjournal = {Phys. Rev. Lett.},
author = {Meyrand, Romain and Galtier, Sébastien and Kiyani, Khurom H.},
urldate = {2022-10-17},
date = {2016-03-09},
year = {2016},
note = {Publisher: American Physical Society},
file = {APS Snapshot:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/S93K79RB/PhysRevLett.116.html:text/html;Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/QMIZVIJW/Meyrand et al. - 2016 - Direct Evidence of the Transition from Weak to Str.pdf:application/pdf},
}
@article{biven_breakdown_2001,
title = {Breakdown of wave turbulence and the onset of intermittency},
volume = {280},
issn = {0375-9601},
url = {https://www.sciencedirect.com/science/article/pii/S0375960101000160},
doi = {10.1016/S0375-9601(01)00016-0},
abstract = {This Letter demonstrates that the kinetic equations for wave turbulence, the long time statistical behavior of a sea of weakly coupled, dispersive waves, will almost always develop solutions for which the theory fails due to strongly nonlinear and intermittent events either at small or large scales.},
pages = {28--32},
number = {1},
journal = {Physics Letters A},
shortjournal = {Physics Letters A},
author = {Biven, L. and Nazarenko, S. V. and Newell, A. C.},
urldate = {2022-10-17},
date = {2001-02-12},
year = {2001},
langid = {english},
file = {ScienceDirect Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/AG79PV3W/Biven et al. - 2001 - Breakdown of wave turbulence and the onset of inte.pdf:application/pdf;ScienceDirect Snapshot:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/QGVFPJTS/S0375960101000160.html:text/html},
}
@misc{cerri_turbulent_2022,
title = {Turbulent regimes in collisions of 3D Alfv{\textbackslash}'en-wave packets},
url = {http://arxiv.org/abs/2207.04301},
doi = {10.48550/arXiv.2207.04301},
abstract = {Using 3D gyrofluid simulations, we revisit the problem of Alfven-wave ({AW}) collisions as building blocks of the Alfvenic cascade and their interplay with magnetic reconnection at magnetohydrodynamic ({MHD}) scales. Depending on the large-scale nonlinearity parameter \${\textbackslash}chi\_0\$ (the ratio between {AW} linear propagation time and nonlinear turnover time), different regimes are observed. For strong nonlinearities (\${\textbackslash}chi\_0{\textbackslash}sim1\$), turbulence is consistent with a dynamically aligned, critically balanced cascade--fluctuations exhibit a scale-dependent alignment \${\textbackslash}sin{\textbackslash}theta\_k{\textbackslash}propto k\_{\textbackslash}perp{\textasciicircum}\{-1/4\}\$, a \$k\_{\textbackslash}perp{\textasciicircum}\{-3/2\}\$ spectrum and \$k\_{\textbackslash}{\textbar}{\textbackslash}propto k\_{\textbackslash}perp{\textasciicircum}\{1/2\}\$ spectral anisotropy. At weaker nonlinearities (small \${\textbackslash}chi\_0\$), a spectral break marking the transition between a large-scale weak regime and a small-scale \$k\_{\textbackslash}perp{\textasciicircum}\{-11/5\}\$ tearing-mediated range emerges, implying that dynamic alignment occurs also for weak nonlinearities. At \${\textbackslash}chi\_0{\textless}1\$ the alignment angle \${\textbackslash}theta\_\{k\_{\textbackslash}perp\}\$ shows a stronger scale dependence than in the \${\textbackslash}chi\_0{\textbackslash}sim1\$ regime, i.e. \${\textbackslash}sin{\textbackslash}theta\_k{\textbackslash}propto k\_{\textbackslash}perp{\textasciicircum}\{-1/2\}\$ at \${\textbackslash}chi\_0{\textbackslash}sim0.5\$, and \${\textbackslash}sin{\textbackslash}theta\_k{\textbackslash}propto k\_{\textbackslash}perp{\textasciicircum}\{-1\}\$ at \${\textbackslash}chi\_0{\textbackslash}sim0.1\$. Dynamic alignment in the weak regime also modifies the large-scale spectrum, scaling roughly as \$k\_{\textbackslash}perp{\textasciicircum}\{-3/2\}\$ for \${\textbackslash}chi\_0{\textbackslash}sim0.5\$ and as \$k\_{\textbackslash}perp{\textasciicircum}\{-1\}\$ for \${\textbackslash}chi\_0{\textbackslash}sim0.1\$. A phenomenological theory of dynamically aligned turbulence at weak nonlinearities that can explain these spectra and the transition to the tearing-mediated regime is provided; at small \${\textbackslash}chi\_0\$, the strong scale dependence of the alignment angle combines with the increased lifetime of turbulent eddies to allow tearing to onset and mediate the cascade at scales that can be larger than those predicted for a critically balanced cascade by several orders of magnitude. Such a transition to tearing-mediated turbulence may even supplant the usual weak-to-strong transition.},
number = {{arXiv}:2207.04301},
publisher = {{arXiv}},
author = {Cerri, Silvio Sergio and Passot, Thierry and Laveder, Dimitri and Sulem, Pierre-Louis and Kunz, Matthew W.},
urldate = {2022-10-17},
date = {2022-09-20},
year = {2022},
eprinttype = {arxiv},
eprint = {2207.04301 [astro-ph, physics:physics]},
keywords = {Physics - Fluid Dynamics, Astrophysics - Solar and Stellar Astrophysics, Physics - Plasma Physics, Physics - Space Physics},
file = {arXiv Fulltext PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/3VFIT7S9/Cerri et al. - 2022 - Turbulent regimes in collisions of 3D Alfv'en-wav.pdf:application/pdf;arXiv.org Snapshot:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/ST4C6RR3/2207.html:text/html},
}
@article{pouquet_dual_2017,
title = {Dual constant-flux energy cascades to both large scales and small scales},
volume = {29},
issn = {1070-6631},
url = {https://aip.scitation.org/doi/10.1063/1.5000730},
doi = {10.1063/1.5000730},
abstract = {In this paper, we present an overview of concepts and data concerning inverse cascades of excitation towards scales larger than the forcing scale in a variety of contexts, from two-dimensional fluids and wave turbulence to geophysical flows in the presence of rotation and stratification. We briefly discuss the role of anisotropy in the occurrence and properties of such cascades. We then show that the cascade of some invariant, for example, the total energy, may be transferred through nonlinear interactions to both the small scales and the large scales, with in each case a constant flux. This is in contrast to the classical picture, and we illustrate such a dual cascade in the context of atmospheric and oceanic observations, direct numerical simulations, and modeling. We also show that this dual cascade of total energy can in fact be decomposed in some cases into separate cascades of the kinetic and potential energies, provided the Froude and Rossby numbers are small enough. In all cases, the potential energy flux remains small, of the order of 10\% or less relative to the kinetic energy flux. Finally, we demonstrate that, in the small-scale inertial range, approximate equipartition between potential and kinetic modes is obtained, leading to an energy ratio close to one, with strong departure at large scales due to the dominant kinetic energy inverse cascade and piling-up at the lowest spatial frequency and at small scales due to unbalanced dissipation processes, even though the Prandtl number is equal to one.},
pages = {111108},
number = {11},
journal = {Physics of Fluids},
author = {Pouquet, A. and Marino, R. and Mininni, P. D. and Rosenberg, D.},
urldate = {2022-10-17},
date = {2017-11},
year = {2017},
note = {Publisher: American Institute of Physics},
file = {Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/BSHBJN99/Pouquet et al. - 2017 - Dual constant-flux energy cascades to both large s.pdf:application/pdf},
}
@article{griffin_energy_2022,
title = {Energy Spectrum of Two-Dimensional Acoustic Turbulence},
volume = {128},
url = {https://link.aps.org/doi/10.1103/PhysRevLett.128.224501},
doi = {10.1103/PhysRevLett.128.224501},
abstract = {We report an exact unique constant-flux power-law analytical solution of the wave kinetic equation for the turbulent energy spectrum, E(k)=C1√ϵacs/k, of acoustic waves in 2D with almost linear dispersion law, ωk=csk[1+(ak)2], ak≪1. Here, ϵ is the energy flux over scales, and C1 is the universal constant which was found analytically. Our theory describes, for example, acoustic turbulence in 2D Bose-Einstein condensates. The corresponding 3D counterpart of turbulent acoustic spectrum was found over half a century ago, however, due to the singularity in 2D, no solution has been obtained until now. We show the spectrum E(k) is realizable in direct numerical simulations of forced-dissipated Gross-Pitaevskii equation in the presence of strong condensate.},
pages = {224501},
number = {22},
journal = {Physical Review Letters},
shortjournal = {Phys. Rev. Lett.},
author = {Griffin, Adam and Krstulovic, Giorgio and L’vov, Victor S. and Nazarenko, Sergey},
urldate = {2022-10-17},
date = {2022-06-03},
year = {2022},
note = {Publisher: American Physical Society},
file = {APS Snapshot:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/5UT8RRY4/PhysRevLett.128.html:text/html;Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/NXJXFE38/Griffin et al. - 2022 - Energy Spectrum of Two-Dimensional Acoustic Turbul.pdf:application/pdf},
}
@article{rodda_experimental_2022,
title = {Experimental observations of internal wave turbulence transition in a stratified fluid},
volume = {7},
url = {https://link.aps.org/doi/10.1103/PhysRevFluids.7.094802},
doi = {10.1103/PhysRevFluids.7.094802},
abstract = {Recent developments of the weak turbulence theory applied to internal waves exhibit a power-law solution of the kinetic energy equation close to the oceanic Garrett-Munk spectrum, confirming weakly nonlinear wave interactions as a likely explanation of the observed oceanic spectra. However, finite-size effects can hinder wave interactions in bounded domains, and observations often differ from theoretical predictions. This paper studies the dynamical regimes experimentally developing in a stratified fluid forced by internal gravity waves in a pentagonal domain. We find that by changing the shape and increasing the dimensions of the domain finite-size effects diminish and wave turbulence is observed. In this regime, the temporal spectra decay with a slope compatible with the Garrett-Munk spectra. Different regimes appear by changing the forcing conditions, namely, discrete wave turbulence, weak wave turbulence, and strongly stratified turbulence. The buoyancy Reynolds number Reb marks well the transitions between the regimes, with weak wave turbulence occurring for 1≲Reb≲3.5 and strongly nonlinear stratified turbulence for higher Reb.},
pages = {094802},
number = {9},
journal = {Physical Review Fluids},
shortjournal = {Phys. Rev. Fluids},
author = {Rodda, Costanza and Savaro, Clément and Davis, Géraldine and Reneuve, Jason and Augier, Pierre and Sommeria, Joël and Valran, Thomas and Viboud, Samuel and Mordant, Nicolas},
urldate = {2022-10-17},
date = {2022-09-26},
year = {2022},
note = {Publisher: American Physical Society},
file = {APS Snapshot:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/8HWBSX7Y/PhysRevFluids.7.html:text/html;Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/BFR7QGSC/Rodda et al. - 2022 - Experimental observations of internal wave turbule.pdf:application/pdf},
}
@book{vallis_atmospheric_2017,
location = {Cambridge},
edition = {2},
title = {Atmospheric and Oceanic Fluid Dynamics: Fundamentals and Large-Scale Circulation},
isbn = {978-1-107-06550-5},
url = {https://www.cambridge.org/core/books/atmospheric-and-oceanic-fluid-dynamics/41379BDDC4257CBE11143C466F6428A4},
shorttitle = {Atmospheric and Oceanic Fluid Dynamics},
abstract = {The atmosphere and ocean are two of the most important components of the climate system, and fluid dynamics is central to our understanding of both. This book provides a unified and comprehensive treatment of the field that blends classical results with modern interpretations. It takes the reader seamlessly from the basics to the frontiers of knowledge, from the equations of motion to modern theories of the general circulation of the atmosphere and ocean. These concepts are illustrated throughout the book with observations and numerical examples. As well as updating existing chapters, this full-color second edition includes new chapters on tropical dynamics, El Niño, the stratosphere and gravity waves. Supplementary resources are provided online, including figures from the book and problem sets, making this new edition an ideal resource for students in the atmospheric, oceanic and climate sciences, as well as in applied mathematics and engineering.},
publisher = {Cambridge University Press},
author = {Vallis, Geoffrey K.},
urldate = {2022-10-17},
date = {2017},
year = {2017},
doi = {10.1017/9781107588417},
file = {Snapshot:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/MLXS4923/41379BDDC4257CBE11143C466F6428A4.html:text/html},
}
@article{staquet_internal_2002,
title = {{INTERNAL} {GRAVITY} {WAVES}: From Instabilities to Turbulence},
volume = {34},
url = {https://doi.org/10.1146/annurev.fluid.34.090601.130953},
doi = {10.1146/annurev.fluid.34.090601.130953},
shorttitle = {{INTERNAL} {GRAVITY} {WAVES}},
abstract = {We review the mechanisms of steepening and breaking for internal gravity waves in a continuous density stratification. After discussing the instability of a plane wave of arbitrary amplitude in an infinite medium at rest, we consider the steepening effects of wave reflection on a sloping boundary and propagation in a shear flow. The final process of breaking into small-scale turbulence is then presented. The influence of those processes upon the fluid medium by mean flow changes is discussed. The specific properties of wave turbulence, induced by wave-wave interactions and breaking, are illustrated by comparative studies of oceanic and atmospheric observations, as well as laboratory and numerical experiments. We then review the different attempts at a statistical description of internal gravity wave fields, whether weakly or strongly interacting.},
pages = {559--593},
number = {1},
journal = {Annual Review of Fluid Mechanics},
author = {Staquet, C. and Sommeria, J.},
urldate = {2022-10-17},
date = {2002},
year = {2002},
note = {\_eprint: https://doi.org/10.1146/annurev.fluid.34.090601.130953},
keywords = {geophysical fluid dynamics, stratified fluids, wave breaking, wave interactions},
file = {Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/J4ADA7BD/Staquet and Sommeria - 2002 - INTERNAL GRAVITY WAVES From Instabilities to Turb.pdf:application/pdf},
}
@article{brethouwer_scaling_2007,
title = {Scaling analysis and simulation of strongly stratified turbulent flows},
volume = {585},
issn = {1469-7645, 0022-1120},
url = {https://www.cambridge.org/core/journals/journal-of-fluid-mechanics/article/scaling-analysis-and-simulation-of-strongly-stratified-turbulent-flows/745A82C73D8E9E7350317B2A61791CAF},
doi = {10.1017/S0022112007006854},
abstract = {Direct numerical simulations of stably and strongly stratified turbulent flows with Reynolds number Re ≫ 1 and horizontal Froude number Fh ≪ 1 are presented. The results are interpreted on the basis of a scaling analysis of the governing equations. The analysis suggests that there are two different strongly stratified regimes according to the parameter . When , viscous forces are unimportant and lv scales as lv ∼ U/N (U is a characteristic horizontal velocity and N is the Brunt–Väisälä frequency) so that the dynamics of the flow is inherently three-dimensional but strongly anisotropic. When , vertical viscous shearing is important so that (lh is a characteristic horizontal length scale). The parameter is further shown to be related to the buoyancy Reynolds number and proportional to ({lO}/η)4/3, where {lO} is the Ozmidov length scale and η the Kolmogorov length scale. This implies that there are simultaneously two distinct ranges in strongly stratified turbulence when : the scales larger than {lO} are strongly influenced by the stratification while those between {lO} and η are weakly affected by stratification. The direct numerical simulations with forced large-scale horizontal two-dimensional motions and uniform stratification cover a wide Re and Fh range and support the main parameter controlling strongly stratified turbulence being . The numerical results are in good agreement with the scaling laws for the vertical length scale. Thin horizontal layers are observed independently of the value of but they tend to be smooth for {\textless} 1, while for {\textgreater} 1 small-scale three-dimensional turbulent disturbances are increasingly superimposed. The dissipation of kinetic energy is mostly due to vertical shearing for {\textless} 1 but tends to isotropy as increases above unity. When {\textless} 1, the horizontal and vertical energy spectra are very steep while, when {\textgreater} 1, the horizontal spectra of kinetic and potential energy exhibit an approximate k−5/3h-power-law range and a clear forward energy cascade is observed.},
pages = {343--368},
journal = {Journal of Fluid Mechanics},
author = {Brethouwer, G. and Billant, P. and Lindborg, E. and Chomaz, J.-M.},
urldate = {2022-10-17},
date = {2007-08},
year = {2007},
langid = {english},
note = {Publisher: Cambridge University Press},
file = {Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/54FY2GNE/Brethouwer et al. - 2007 - Scaling analysis and simulation of strongly strati.pdf:application/pdf;Snapshot:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/NPMEQZ67/745A82C73D8E9E7350317B2A61791CAF.html:text/html},
}
@article{lvov_oceanic_2010,
title = {Oceanic Internal-Wave Field: Theory of Scale-Invariant Spectra},
volume = {40},
issn = {0022-3670, 1520-0485},
url = {https://journals.ametsoc.org/view/journals/phoc/40/12/2010jpo4132.1.xml},
doi = {10.1175/2010JPO4132.1},
shorttitle = {Oceanic Internal-Wave Field},
abstract = {Abstract Steady scale-invariant solutions of a kinetic equation describing the statistics of oceanic internal gravity waves based on wave turbulence theory are investigated. It is shown in the nonrotating scale-invariant limit that the collision integral in the kinetic equation diverges for almost all spectral power-law exponents. These divergences come from resonant interactions with the smallest horizontal wavenumbers and/or the largest horizontal wavenumbers with extreme scale separations. A small domain is identified in which the scale-invariant collision integral converges and numerically find a convergent power-law solution. This numerical solution is close to the Garrett–Munk spectrum. Power-law exponents that potentially permit a balance between the infrared and ultraviolet divergences are investigated. The balanced exponents are generalizations of an exact solution of the scale-invariant kinetic equation, the Pelinovsky–Raevsky spectrum. A small but finite Coriolis parameter representing the effects of rotation is introduced into the kinetic equation to determine solutions over the divergent part of the domain using rigorous asymptotic arguments. This gives rise to the induced diffusion regime. The derivation of the kinetic equation is based on an assumption of weak nonlinearity. Dominance of the nonlocal interactions puts the self-consistency of the kinetic equation at risk. However, these weakly nonlinear stationary states are consistent with much of the observational evidence.},
pages = {2605--2623},
number = {12},
journal = {Journal of Physical Oceanography},
author = {Lvov, Yuri V. and Polzin, Kurt L. and Tabak, Esteban G. and Yokoyama, Naoto},
urldate = {2022-10-17},
year = {2022},
date = {2010-12-01},
note = {Publisher: American Meteorological Society
Section: Journal of Physical Oceanography},
file = {Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/SV7CYDEW/Lvov et al. - 2010 - Oceanic Internal-Wave Field Theory of Scale-Invar.pdf:application/pdf;Snapshot:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/Q5R5A243/2010jpo4132.1.html:text/html},
}
@article{garrett_space-time_1972,
title = {Space-Time scales of internal waves},
volume = {3},
issn = {0016-7991},
url = {https://doi.org/10.1080/03091927208236082},
doi = {10.1080/03091927208236082},
abstract = {We have contrived a model E(αω) α μ−1ω−p+1(ω 2−ω i 2)−+ for the distribution of internal wave energy in horizontal wavenumber, frequency-space, with wavenumber α extending to some upper limit μ(ω) α ω r-1 (ω 2−ω i 2)½, and frequency ω extending from the inertial frequency ω i to the local Väisälä frequency n(y). The spectrum is portrayed as an equivalent continuum to which the modal structure (if it exists) is not vital. We assume horizontal isotropy, E(α, ω) = 2{παE}(α1, α2, ω), with α1, α2 designating components of α. Certain moments of E(α1, α2, ω) can be derived from observations. (i) Moored (or freely floating) devices measuring horizontal current u(t), vertical displacement η(t),…, yield the frequency spectra F (u,η,…)(ω) = ∫∫ (U 2, Z 2,…)E(α1, ∞2, ω) dα1 dα2, where U, Z,… are the appropriate wave functions. (ii) Similarly towed measurements give the wavenumber spectrum F (…)(α1) = ∫∫… dα2 dω. (iii) Moored measurements horizontally separated by X yield the coherence spectrum R(X, ω) which is related to the horizontal cosine transform ∫∫ E(α1, α2 ω) cos α1 Xdα1 dα1. (iv) Moored measurements vertically separated by Y yield R(Y, ω) and (v) towed measurements vertically separated yield R(Y, α1), and these are related to similar vertical Fourier transforms. Away from inertial frequencies, our model E(α, ω) α ω −p-r for α ≦ μ ω ω r, yields F(ω) ∞ ω −p, F(α1) ∞ α1 −q, with q = (p + r − 1)/r. The observed moored and towed spectra suggest p and q between 5/3 and 2, yielding r between 2/3 and 3/2, inconsistent with a value of r = 2 derived from Webster's measurements of moored vertical coherence. We ascribe Webster's result to the oceanic fine-structure. Our choice (p, q, r) = (2, 2, 1) is then not inconsistent with existing evidence. The spectrum is E(∞, ω) ∞ ω −1(ω 2−ω i 2 −1, and the α-bandwith μ ∞ (ω 2−ω i 2)+ is equivalent to about 20 modes. Finally, we consider the frequency-of-encounter spectra F([sgrave]) at any towing speed S, approaching F(ω) as S ≦ S o, and F(α1) for α1 = [sgrave]/S as S ≧ S o, where S o = 0(1 km/h) is the relevant Doppler velocity scale.},
pages = {225--264},
number = {3},
journal = {Geophysical Fluid Dynamics},
author = {Garrett, Christopher and Munk, Walter},
urldate = {2022-10-17},
date = {1972-05-01},
year = {1972},
note = {Publisher: Taylor \& Francis
\_eprint: https://doi.org/10.1080/03091927208236082},
}
@article{garrett_internal_1979,
title = {Internal Waves in the Ocean},
volume = {11},
url = {https://doi.org/10.1146/annurev.fl.11.010179.002011},
doi = {10.1146/annurev.fl.11.010179.002011},
pages = {339--369},
number = {1},
journal = {Annual Review of Fluid Mechanics},
author = {Garrett, C and Munk, W},
urldate = {2022-10-17},
date = {1979},
year = {1979},
note = {\_eprint: https://doi.org/10.1146/annurev.fl.11.010179.002011},
}
@article{caillol_kinetic_2000,
title = {Kinetic equations and stationary energy spectra of weakly nonlinear internal gravity waves},
volume = {32},
issn = {0377-0265},
url = {https://www.sciencedirect.com/science/article/pii/S0377026599000433},
doi = {10.1016/S0377-0265(99)00043-3},
abstract = {An ensemble of random-phase internal gravity waves is considered in the dynamical framework of the Euler–Boussinesq equations. For flows with zero mean potential vorticity, a kinetic equation for the mean spectral energy density of the waves is obtained under hypothesis of Gaussian statistics with zero correlation length. Stationary scaling solutions of this equation are found for almost vertically propagating waves. The resulting spectra are anisotropic in vertical and horizontal wave numbers. For flows with small but non-zero mean potential vorticity, under the same statistical hypothesis applied to the wave part of the flow, it is shown that the vortex part and the wave part decouple. The vortex part obeys a limiting slow dynamics equation exhibiting vertical collapse and layering which may contaminate the wave-part spectra. Relation of these results to the in situ atmospheric measurements and previous work on oceanic gravity waves is discussed.},
pages = {81--112},
number = {2},
journal = {Dynamics of Atmospheres and Oceans},
shortjournal = {Dynamics of Atmospheres and Oceans},
author = {Caillol, P. and Zeitlin, V.},
urldate = {2022-10-17},
date = {2000-07-01},
year = {2000},
langid = {english},
keywords = {Kinetic equations, Nonlinear internal gravity waves, Stationary energy spectra},
file = {ScienceDirect Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/ADSYJAUG/Caillol and Zeitlin - 2000 - Kinetic equations and stationary energy spectra of.pdf:application/pdf;ScienceDirect Snapshot:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/4APF4NNI/S0377026599000433.html:text/html},
}
@article{lvov_hamiltonian_2001,
title = {Hamiltonian Formalism and the Garrett-Munk Spectrum of Internal Waves in the Ocean},
volume = {87},
url = {https://link.aps.org/doi/10.1103/PhysRevLett.87.168501},
doi = {10.1103/PhysRevLett.87.168501},
abstract = {Wave turbulence formalism for long internal waves in a stratified fluid is developed, based on a natural Hamiltonian description. A kinetic equation appropriate for the description of spectral energy transfer is derived, and its anisotropic self-similar stationary solution corresponding to a direct cascade of energy toward the short scales is found. This solution is very close to the high wave-number limit of the Garrett-Munk spectrum of long internal waves in the ocean. In fact, a small modification of the Garrett-Munk formalism includes a spectrum consistent with the one predicted by wave turbulence.},
pages = {168501},
number = {16},
journal = {Physical Review Letters},
shortjournal = {Phys. Rev. Lett.},
author = {Lvov, Yuri V. and Tabak, Esteban G.},
urldate = {2022-10-17},
date = {2001-10-02},
year = {2001},
note = {Publisher: American Physical Society},
file = {APS Snapshot:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/LG4YLEL4/PhysRevLett.87.html:text/html;Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/526LEXEM/Lvov and Tabak - 2001 - Hamiltonian Formalism and the Garrett-Munk Spectru.pdf:application/pdf},
}
@article{lvov_energy_2004,
title = {Energy Spectra of the Ocean's Internal Wave Field: Theory and Observations},
volume = {92},
url = {https://link.aps.org/doi/10.1103/PhysRevLett.92.128501},
doi = {10.1103/PhysRevLett.92.128501},
shorttitle = {Energy Spectra of the Ocean's Internal Wave Field},
abstract = {The high-frequency limit of the Garrett and Munk spectrum of internal waves in the ocean and the observed deviations from it are shown to form a pattern consistent with the predictions of wave turbulence theory. In particular, the high-frequency limit of the Garrett and Munk spectrum constitutes an exact steady-state solution of the corresponding kinetic equation.},
pages = {128501},
number = {12},
journal = {Physical Review Letters},
shortjournal = {Phys. Rev. Lett.},
author = {Lvov, Yuri V. and Polzin, Kurt L. and Tabak, Esteban G.},
urldate = {2022-10-17},
date = {2004-03-24},
year = {2004},
note = {Publisher: American Physical Society},
file = {APS Snapshot:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/QQPMF8W3/PhysRevLett.92.html:text/html;Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/E4LCQIZW/Lvov et al. - 2004 - Energy Spectra of the Ocean's Internal Wave Field.pdf:application/pdf},
}
@article{smith_generation_2002,
title = {Generation of slow large scales in forced rotating stratified turbulence},
volume = {451},
issn = {1469-7645, 0022-1120},
url = {https://www.cambridge.org/core/journals/journal-of-fluid-mechanics/article/generation-of-slow-large-scales-in-forced-rotating-stratified-turbulence/10795099088F4FF48B7F219AFC57D8E0},
doi = {10.1017/S0022112001006309},
abstract = {Numerical simulations are used to study homogeneous, forced turbulence in three-dimensional
rotating, stably stratified flow in the Boussinesq approximation, where the
rotation axis and gravity are both in the zˆ-direction. Energy is injected through a three-dimensional
isotropic white-noise forcing localized at small scales. The parameter
range studied corresponds to Froude numbers smaller than an O(1) critical value,
below which energy is transferred to scales larger than the forcing scales. The values
of the ratio N/f range from ≈1/2 to ∞, where N is the Brunt–Väisälä frequency
and f is twice the rotation rate. For strongly stratified flows (N/f[Gt ]1), the slow
large scales generated by the fast small-scale forcing consist of vertically sheared
horizontal flow. Quasi-geostrophic dynamics dominate, at large scales, only when
1/2 [les ] N/f [les ] 2, which is the range where resonant triad interactions cannot occur.},
pages = {145--168},
journal = {Journal of Fluid Mechanics},
author = {Smith, Leslie M. and Waleffe, Fabian},
urldate = {2022-10-17},
date = {2002-01},
year = {2002},
langid = {english},
note = {Publisher: Cambridge University Press},
file = {Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/8WBPPN3E/Smith and Waleffe - 2002 - Generation of slow large scales in forced rotating.pdf:application/pdf;Snapshot:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/VWAV9GH4/10795099088F4FF48B7F219AFC57D8E0.html:text/html},
}
@article{waite_stratified_2006,
title = {Stratified turbulence generated by internal gravity waves},
volume = {546},
issn = {1469-7645, 0022-1120},
url = {https://www.cambridge.org/core/journals/journal-of-fluid-mechanics/article/stratified-turbulence-generated-by-internal-gravity-waves/BCA4EDC68F8194AB84268656754D8871},
doi = {10.1017/S0022112005007111},
abstract = {We present numerical simulations of randomly forced internal gravity waves in a uniformly stratified Boussinesq fluid, and compare the resulting vertical wavenumber energy spectra with the saturation spectrum \$E\_z(k\_z){\textbackslash},\{=\}{\textbackslash},c{\textbackslash},N{\textasciicircum}2k\_z{\textasciicircum}\{-3\}\$ (\$N\$ is the Brunt–Väisälä frequency) observed in the atmosphere and ocean. Overall, we have been unsuccessful at reproducing the observed spectrum in our simulations. Our spectra are shallower than \$k\_z{\textasciicircum}\{-3\}\$, although they steepen towards it with increasing stratification as long as wave breaking (in the form of static instability) is resolved. The spectral amplitude increases like \$N{\textasciicircum}\{1.1\}\$ rather than \$N{\textasciicircum}2\$. For a single stratification, our spectrum agrees well with the saturation spectrum with \$c{\textbackslash},\{=\}{\textbackslash},0.1\$, but only because it is spuriously steepened by insufficient resolution. We show that overturning occurs when the length scale \$l\_c{\textbackslash},\{=\}{\textbackslash},u\_\{rms\}/N\$ is larger than the dissipation scale, where \$u\_\{rms\}\$ is the root mean square velocity. This scale must be at least three times larger than the dissipation scale for the energy spectrum to be independent of Reynolds number in our simulations. When this condition is not satisfied, the computed energy spectrum must be interpreted with caution. Finally, we show that for strong stratifications, the presence of vortical energy can have a dramatic effect on the spectrum of wave energy due to the efficiency of interactions between two waves and a vortical mode. Any explanation of the energy spectrum involving resonant interactions must take into account the effect of vortical motion.},
pages = {313--339},
journal = {Journal of Fluid Mechanics},
author = {Waite, Michael L. and Bartello, Peter},
urldate = {2022-10-17},
date = {2006-01},
year = {2006},
langid = {english},
note = {Publisher: Cambridge University Press},
file = {Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/RNQX4AGK/Waite and Bartello - 2006 - Stratified turbulence generated by internal gravit.pdf:application/pdf;Snapshot:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/W5K7E68Q/BCA4EDC68F8194AB84268656754D8871.html:text/html},
}
@article{bartello_sensitivity_2013,
title = {Sensitivity of stratified turbulence to the buoyancy Reynolds number},
volume = {725},
issn = {0022-1120, 1469-7645},
url = {https://www.cambridge.org/core/journals/journal-of-fluid-mechanics/article/sensitivity-of-stratified-turbulence-to-the-buoyancy-reynolds-number/B06603E29019BAE59F541884CE2A9D99},
doi = {10.1017/jfm.2013.170},
abstract = {In this article we present direct numerical simulations of stratified flow at resolutions of up to 20482×51320482×513204\{8\}{\textasciicircum}\{2\} {\textbackslash}times 513, to explore scalings for the dynamics of stably stratified turbulence. Recent work suggests that for strong enough stratification, the vertical integral scale of the turbulence adjusts to yield a vertical Froude number, 𝐹𝑣Fv\{F\}\_\{v\} , of order unity at high enough Reynolds number, whilst the horizontal Froude number, 𝐹ℎFh\{F\}\_\{h\} , decreases as stratification is increased. Our numerical simulations are consistent with predictions by Lindborg (J. Fluid Mech., vol. 550, 2006, pp, 207–242), and with numerical simulations at lower resolution, in that the horizontal kinetic energy spectrum follows a Kolmogorov spectrum (after replacing the wavenumber with the horizontal wavenumber) and that the horizontal potential energy spectrum similarly follows the Corrsin–Obukhov spectrum for a passive scalar. Most importantly, we build upon these previous results by thoroughly exploring the dependence of the horizontal spectrum of horizontal kinetic energy on both the stratification and the relative size of the vertical dissipation terms, as quantified by the buoyancy Reynolds number. Our most important result is that variations in the power-law exponent scale entirely with the buoyancy Reynolds number and not with the stratification itself, lending considerable support to the Lindborg (2006) hypothesis that horizontal spectra are independent of stratification at large Reynolds numbers. We further demonstrate that even at the large numerical resolution of this study, the spectrum and hence the dynamics are affected by the buoyancy Reynolds number unless it is larger than 𝑂(10)O(10)O(10), indicating that extreme care must be taken when assessing claims made from previous numerical simulations of stratified flow at low or moderate resolution and extrapolating the results to geophysical or astrophysical Reynolds numbers.},
pages = {1--22},
journal = {Journal of Fluid Mechanics},
author = {Bartello, P. and Tobias, S. M.},
urldate = {2022-10-17},
date = {2013-06},
year = {2013},
langid = {english},
note = {Publisher: Cambridge University Press},
keywords = {stratified turbulence, stratified flows, turbulent flows},
file = {Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/J3IVWP8H/Bartello and Tobias - 2013 - Sensitivity of stratified turbulence to the buoyan.pdf:application/pdf;Snapshot:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/JR6MICMQ/B06603E29019BAE59F541884CE2A9D99.html:text/html},
}
@thesis{craya_contribution_1957,
title = {Contribution à l'analyse de la turbulence associée à des vitesses moyennes},
url = {https://tel.archives-ouvertes.fr/tel-00684659},
abstract = {Il y a un peu plus de vingt ans se produisait, dans le domaine de la turbulence, une de ces mutations dont la Science bénéficie périodiquement et qui lui impriment, pour de longues années, une impulsion vigoureuse. Délaissant les phénomènes de turbulence usuels qui avaient, jusque-là, défié l'analyse, G. I. Taylor introduisait un schéma simple caractérisé par l'absence de vitesses moyennes, l'homogénéité et l'isotropie. L'écoulement à l'aval d'une grille dans une soufflerie lui fournissait même une réalisation facile d'une telle turbulence isotrope, circonstance considérée alors comme naturelle, regardée aujourd'hui avec un peu plus de surprise comme un accident heureux. Parallèlement, enfin, le petit instrument merveilleux qu'est le fil chaud parvenait, à force d'ingéniosité et d'électronique, à livrer à l'observation des propriétés de plus en plus fines des fluctuations de vitesse.},
institution = {Université de Grenoble},
type = {phdthesis},
author = {Craya, Antoine},
urldate = {2022-10-17},
date = {1957-04-02},
year = {1957},
langid = {french},
file = {Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/YUIS437M/Craya - 1957 - Contribution à l'analyse de la turbulence associée.pdf:application/pdf;Snapshot:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/3SRR3N2D/tel-00684659.html:text/html},
}
@thesis{linares_numerical_2020,
title = {Numerical study of 2D stratified turbulence forced by internal gravity waves},
url = {https://tel.archives-ouvertes.fr/tel-02612797},
abstract = {The oceanic motions are composed of eddies with a very large horizontal scaleand 3D propagating internal gravity waves. Its kinetic energy spectra follow thewell-known Garrett and Munk spectrum, which is usually interpreted as thesignature of interacting internal gravity waves. Our main motivation is toreproduce the turbulence regime observed in nature by forcing waves.Two-dimensional (2D) stratified flows on a vertical cross-section differ fromits analogous three-dimensional flows in its lack of vertical vorticity,supporting only waves and shear modes. In this {PhD} work, we perform a numericalstudy of 2D stratified turbulence forced with internal gravity waves. We get ridof the shear modes, sustaining a system only with wave modes. Unlike precedentstudies, the forcing is applied to a localized region of the spectral space, inwhich forced internal waves have a similar time scale. We forceintermediate-scale waves to allow the dynamics to develop both upscale anddownscale energy cascade.We first present the different regimes of 2D stratified turbulence with aparticular interest in the ocean-like regime, i.e. strong stratification andlarge Reynolds number. The dynamics of the energy cascade is analysed by meansof the spectral energy budget. Furthermore, we check if it is possible to obtainturbulence driven by weakly non-linear ineracting waves by performing aspatio-temporal analysis. To conclude, we report results of numericalsimulations forced either on the vorticity or on the eigenmode of {theNavier}-Stokes equations in order to study the degree of universality of 2Dstratified turbulence with respect to the forcing.},
institution = {Université Grenoble Alpes [2020-....]},
type = {phdthesis},
author = {Linares, Miguel Calpe},
urldate = {2022-10-17},
date = {2020-02-26},
year = {2020},
langid = {english},
file = {Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/RKAFWF24/Linares - 2020 - Numerical study of 2D stratified turbulence forced.pdf:application/pdf;Snapshot:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/4RQTDIJY/tel-02612797v2.html:text/html},
}
@article{garrett_space-time_1975,
title = {Space-time scales of internal waves: A progress report},
volume = {80},
issn = {2156-2202},
url = {https://onlinelibrary.wiley.com/doi/abs/10.1029/JC080i003p00291},
doi = {10.1029/JC080i003p00291},
shorttitle = {Space-time scales of internal waves},
abstract = {We present a revised model for the distribution of internal wave energy in wave number frequency space. The model is empirical, guided by the following measurements: moored spectra and moored coherences for horizontal and vertical separations ({MS}, {MHC}, {MVC} as functions of frequency), towed spectra and towed vertical and time-lagged coherences ({TS}, {TVC}, {TLC} as functions of horizontal wave number), and dropped spectra and dropped horizontal and lagged coherences ({DS}, {DHC}, {DLC} as functions of vertical wave number). Measurements are available for all but {TLC} and {DHC}. There is some indication of universality, suggesting perhaps a saturation limit.},
pages = {291--297},
number = {3},
journal = {Journal of Geophysical Research (1896-1977)},
author = {Garrett, Christopher and Munk, Walter},
urldate = {2022-10-17},
date = {1975},
year = {1975},
langid = {english},
note = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1029/{JC}080i003p00291},
file = {Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/SPQ65FPR/Garrett and Munk - 1975 - Space-time scales of internal waves A progress re.pdf:application/pdf;Snapshot:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/38FFGBDN/JC080i003p00291.html:text/html},
}
@book{zakharov_kolmogorov_1992,
location = {Berlin, Heidelberg},
title = {Kolmogorov Spectra of Turbulence I},
isbn = {978-3-642-50054-1 978-3-642-50052-7},
url = {http://link.springer.com/10.1007/978-3-642-50052-7},
series = {Springer Series in Nonlinear Dynamics},
publisher = {Springer},
author = {Zakharov, Vladimir E. and L’vov, Victor S. and Falkovich, Gregory},
editorb = {Calogero, F. and Fuchssteiner, B. and Rowlands, G. and Segur, H. and Wadati, M. and Zakharov, V. E.},
editorbtype = {redactor},
urldate = {2022-10-17},
date = {1992},
year = {1992},
doi = {10.1007/978-3-642-50052-7},
keywords = {kinetic equations, turbulence, atmosphere, Damping, Dissipation, fluid- and aerodynamics, Kinetische Gleichungen, Plasma, spectra, stability, Turbulenz, wave spectrum, Wellenspektrum},
file = {Submitted Version:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/IWYB4WVZ/Zakharov et al. - 1992 - Kolmogorov Spectra of Turbulence I.pdf:application/pdf},
}
@article{pan_numerical_2020,
title = {Numerical Investigation of Mechanisms Underlying Oceanic Internal Gravity Wave Power-Law Spectra},
volume = {50},
issn = {0022-3670, 1520-0485},
url = {https://journals.ametsoc.org/view/journals/phoc/50/9/jpoD200039.xml},
doi = {10.1175/JPO-D-20-0039.1},
abstract = {Abstract We consider the power-law spectra of internal gravity waves in a rotating and stratified ocean. Field measurements have shown considerable variability of spectral slopes compared to the high-wavenumber, high-frequency portion of the Garrett–Munk ({GM}) spectrum. Theoretical explanations have been developed through wave turbulence theory ({WTT}), where different power-law solutions of the kinetic equation can be found depending on the mechanisms underlying the nonlinear interactions. Mathematically, these are reflected by the convergence properties of the so-called collision integral ({CL}) at low- and high-frequency limits. In this work, we study the mechanisms in the formation of the power-law spectra of internal gravity waves, utilizing numerical data from the high-resolution modeling of internal waves ({HRMIW}) in a region northwest of Hawaii. The model captures the power-law spectra in broad ranges of space and time scales, with scalings ω−2.05±0.2 in frequency and m−2.58±0.4 in vertical wavenumber. The latter clearly deviates from the {GM}76 spectrum but is closer to a family of induced-diffusion-dominated solutions predicted by {WTT}. Our analysis of nonlinear interactions is performed directly on these model outputs, which is fundamentally different from previous work assuming a {GM}76 spectrum. By applying a bicoherence analysis and evaluations of modal energy transfer, we show that the {CL} is dominated by nonlocal interactions between modes in the power-law range and low-frequency inertial motions. We further identify induced diffusion and the near-resonances at its spectral vicinity as dominating the formation of power-law spectrum.},
pages = {2713--2733},
number = {9},
journal = {Journal of Physical Oceanography},
author = {Pan, Yulin and Arbic, Brian K. and Nelson, Arin D. and Menemenlis, Dimitris and Peltier, W. R. and Xu, Wentao and Li, Ye},
urldate = {2022-10-17},
date = {2020-09-03},
year = {2020},
note = {Publisher: American Meteorological Society
Section: Journal of Physical Oceanography},
file = {Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/84LP88LZ/Pan et al. - 2020 - Numerical Investigation of Mechanisms Underlying O.pdf:application/pdf;Snapshot:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/NCBS2Q4H/jpoD200039.html:text/html},
}
@article{medvedev_turbulence_2007,
title = {Turbulence of near-inertial waves in the continuously stratified fluid},
volume = {371},
issn = {0375-9601},
url = {https://www.sciencedirect.com/science/article/pii/S0375960107011760},
doi = {10.1016/j.physleta.2007.08.014},
abstract = {By using the normal form of continuously stratified “primitive” equations of geophysical fluid dynamics with density (in the ocean), or potential temperature (in the atmosphere) playing the role of the vertical coordinate, we decouple vortex and wave motions in the system, introduce normal variables, and derive the effective Hamiltonian for waves with frequencies close to the inertial frequency (near-inertial waves, {NIW}). We then apply the weak turbulence approach to the random-phase ensembles of these waves. We show how the anisotropic scale-invariance of {NIW} may be exploited in order to obtain the stationary power-law spectra. The non-decay anisotropic scale-invariant dispersion laws of the {NIW}-type were not studied previously in the weak-turbulence literature.},
pages = {221--227},
number = {3},
journal = {Physics Letters A},
shortjournal = {Physics Letters A},
author = {Medvedev, S. B. and Zeitlin, V.},
urldate = {2022-10-17},
date = {2007-11-12},
year = {2007},
langid = {english},
file = {ScienceDirect Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/UH7AF5EV/Medvedev and Zeitlin - 2007 - Turbulence of near-inertial waves in the continuou.pdf:application/pdf;ScienceDirect Snapshot:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/RX2HQYIR/S0375960107011760.html:text/html},
}
@book{nazarenko_wave_2011,
location = {Berlin, Heidelberg},
title = {Wave Turbulence},
volume = {825},
isbn = {978-3-642-15941-1 978-3-642-15942-8},
url = {http://link.springer.com/10.1007/978-3-642-15942-8},
series = {Lecture Notes in Physics},
publisher = {Springer},
author = {Nazarenko, Sergey},
urldate = {2022-10-17},
date = {2011},
year = {2011},
doi = {10.1007/978-3-642-15942-8},
keywords = {fluid vortices, geophysical flows, nonlinear optics, nonlinear waves, solitons, turbulences},
file = {Submitted Version:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/D4XGKJPA/Nazarenko - 2011 - Wave Turbulence.pdf:application/pdf},
}
@article{falcon_experiments_2022,
title = {Experiments in Surface Gravity–Capillary Wave Turbulence},
volume = {54},
url = {https://doi.org/10.1146/annurev-fluid-021021-102043},
doi = {10.1146/annurev-fluid-021021-102043},
abstract = {The last decade has seen a significant increase in the number of studies devoted to wave turbulence. Many deal with water waves, as modeling of ocean waves has historically motivated the development of weak turbulence theory, which addresses the dynamics of a random ensemble of weakly nonlinear waves in interaction. Recent advances in experiments have shown that this theoretical picture is too idealized to capture experimental observations. While gravity dominates much of the oceanic spectrum, waves observed in the laboratory are in fact gravity–capillary waves, due to the restricted size of wave basins. This richer physics induces many interleaved physical effects far beyond the theoretical framework, notably in the vicinity of the gravity–capillary crossover. These include dissipation, finite–system size effects, and finite nonlinearity effects. Simultaneous space-and-time-resolved techniques, now available, open the way for a much more advanced analysis of these effects.},
pages = {1--25},
number = {1},
journal = {Annual Review of Fluid Mechanics},
author = {Falcon, Eric and Mordant, Nicolas},
urldate = {2022-10-17},
date = {2022},
year = {2022},
note = {\_eprint: https://doi.org/10.1146/annurev-fluid-021021-102043},
keywords = {cascades, experiments, gravity–capillary wave turbulence, nonlinear random waves, wave–wave interactions, weak turbulence},
file = {Full Text:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/6W2ERKKM/Falcon and Mordant - 2022 - Experiments in Surface Gravity–Capillary Wave Turb.pdf:application/pdf},
}
@article{galtier_weak_2000,
title = {A weak turbulence theory for incompressible magnetohydrodynamics},
volume = {63},
issn = {1469-7807, 0022-3778},
url = {https://www.cambridge.org/core/journals/journal-of-plasma-physics/article/weak-turbulence-theory-for-incompressible-magnetohydrodynamics/D232F97E9C4C7E521A136131A3CCA3C8},
doi = {10.1017/S0022377899008284},
abstract = {We derive a weak turbulence formalism for incompressible magnetohydrodynamics.
Three-wave interactions lead to a system of kinetic equations for the
spectral densities of energy and helicity. The kinetic equations conserve energy in
all wavevector planes normal to the applied magnetic field B0ê∥.
Numerically and analytically, we find energy spectra
E± ∼ kn±⊥,
such that n+ + n− = −4, where E±
are the spectra of the Elsässer variables z± = v ± b in the
two-dimensional case (k∥ = 0). The constants of the spectra are computed exactly and found to
depend on the amount of correlation between the velocity and the magnetic field. Comparison
with several numerical simulations and models is also made.},
pages = {447--488},
number = {5},
journal = {Journal of Plasma Physics},
author = {Galtier, S. and Nazarenko, S. V. and Newell, A. C. and Pouquet, A.},
urldate = {2022-10-17},
date = {2000-06},
year = {2000},
langid = {english},
note = {Publisher: Cambridge University Press},
file = {Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/GB3KW4CS/Galtier et al. - 2000 - A weak turbulence theory for incompressible magnet.pdf:application/pdf;Snapshot:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/5H72V4WY/D232F97E9C4C7E521A136131A3CCA3C8.html:text/html},
}
@article{galtier_weak_2003,
title = {Weak inertial-wave turbulence theory},
volume = {68},
url = {https://link.aps.org/doi/10.1103/PhysRevE.68.015301},
doi = {10.1103/PhysRevE.68.015301},
abstract = {A weak wave turbulence theory is established for incompressible fluids under rapid rotation using a helicity decomposition, and the kinetic equations for energy E and helicity H are derived for three-wave coupling. As expected, nonlinear interactions of inertial waves lead to two-dimensional behavior of the turbulence with a transfer of energy and helicity mainly in the direction perpendicular to the rotation axis. For such a turbulence, we find, analytically, the anisotropic spectra E∼k−5/2⊥k−1/2∥, H∼k−3/2⊥k−1/2∥, and we prove that the energy cascade is to small scales. At lowest order, the wave theory does not describe the dynamics of two-dimensional (2D) modes which decouples from 3D waves.},
pages = {015301},
number = {1},
journal = {Physical Review E},
shortjournal = {Phys. Rev. E},
author = {Galtier, Sébastien},
urldate = {2022-10-17},
date = {2003-07-15},
year = {2003},
note = {Publisher: American Physical Society},
file = {APS Snapshot:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/NQB7EZWC/PhysRevE.68.html:text/html;Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/UKN6ZDRF/Galtier - 2003 - Weak inertial-wave turbulence theory.pdf:application/pdf},
}
@article{lvov_weak_2010,
title = {Weak turbulence of Kelvin waves in superfluid He},
volume = {36},
issn = {1063-777X},
url = {https://aip.scitation.org/doi/10.1063/1.3499242},
doi = {10.1063/1.3499242},
abstract = {The physics of small-scale quantum turbulence in superfluids is essentially based on knowledge of the energy spectrum of Kelvin waves,
𝐸
𝑘
Ek
. Here we derive a new type of kinetic equation for Kelvin waves on quantized vortex filaments with random large-scale curvature which describes a step-by-step energy cascade over scales resulting from five-wave interactions. This approach replaces the earlier six-wave theory, which has recently been shown to be inconsistent owing to nonlocalization Solving the four-wave kinetic equation, we found a new local spectrum with a universal (curvature-independent) exponent,
𝐸
𝑘
𝑘
−5∕3
Ek∝k−5∕3
, which must replace the nonlocal spectrum of the six-wave theory,
𝐸
𝑘
𝑘
−7∕5
Ek∝k−7∕5
in any future theory, e.g., when determining the quantum turbulence decay rate, found by Kosik and Svistunov under an incorrect assumption of locality of energy transfer in six-wave interactions.},
pages = {785--791},
number = {8},
journal = {Low Temperature Physics},
author = {L’vov, Victor S. and Nazarenko, Sergey},
urldate = {2022-10-17},
date = {2010-08},
year = {2010},
note = {Publisher: American Institute of Physics},
file = {Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/X5Q5RVJL/L’vov and Nazarenko - 2010 - Weak turbulence of Kelvin waves in superfluid He.pdf:application/pdf},
}
@article{during_weak_2006,
title = {Weak Turbulence for a Vibrating Plate: Can One Hear a Kolmogorov Spectrum?},
volume = {97},
url = {https://link.aps.org/doi/10.1103/PhysRevLett.97.025503},
doi = {10.1103/PhysRevLett.97.025503},
shorttitle = {Weak Turbulence for a Vibrating Plate},
abstract = {We study the long-time evolution of waves of a thin elastic plate in the limit of small deformation so that modes of oscillations interact weakly. According to the theory of weak turbulence (successfully applied in the past to plasma, optics, and hydrodynamic waves), this nonlinear wave system evolves at long times with a slow transfer of energy from one mode to another. We derive a kinetic equation for the spectral transfer in terms of the second order moment. We show that such a theory describes the approach to an equilibrium wave spectrum and represents also an energy cascade, often called the Kolmogorov-Zakharov spectrum. We perform numerical simulations that confirm this scenario.},
pages = {025503},
number = {2},
journal = {Physical Review Letters},
shortjournal = {Phys. Rev. Lett.},
author = {Düring, Gustavo and Josserand, Christophe and Rica, Sergio},
urldate = {2022-10-17},
date = {2006-07-14},
year = {2006},
note = {Publisher: American Physical Society},
file = {APS Snapshot:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/G3MB9VBV/PhysRevLett.97.html:text/html;Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/6XFVV6ZJ/Düring et al. - 2006 - Weak Turbulence for a Vibrating Plate Can One Hea.pdf:application/pdf},
}
@article{galtier_turbulence_2017,
title = {Turbulence of Weak Gravitational Waves in the Early Universe},
volume = {119},
url = {https://link.aps.org/doi/10.1103/PhysRevLett.119.221101},
doi = {10.1103/PhysRevLett.119.221101},
abstract = {We study the statistical properties of an ensemble of weak gravitational waves interacting nonlinearly in a flat space-time. We show that the resonant three-wave interactions are absent and develop a theory for four-wave interactions in the reduced case of a 2.5+1 diagonal metric tensor. In this limit, where only plus-polarized gravitational waves are present, we derive the interaction Hamiltonian and consider the asymptotic regime of weak gravitational wave turbulence. Both direct and inverse cascades are found for the energy and the wave action, respectively, and the corresponding wave spectra are derived. The inverse cascade is characterized by a finite-time propagation of the metric excitations—a process similar to an explosive nonequilibrium Bose–Einstein condensation, which provides an efficient mechanism to ironing out small-scale inhomogeneities. The direct cascade leads to an accumulation of the radiation energy in the system. These processes might be important for understanding the early Universe where a background of weak nonlinear gravitational waves is expected.},
pages = {221101},
number = {22},
journal = {Physical Review Letters},
shortjournal = {Phys. Rev. Lett.},
author = {Galtier, Sébastien and Nazarenko, Sergey V.},
urldate = {2022-10-17},
date = {2017-11-28},
year = {2017},
note = {Publisher: American Physical Society},
file = {APS Snapshot:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/LNLCRS9J/PhysRevLett.119.html:text/html;Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/8CLAM9EJ/Galtier and Nazarenko - 2017 - Turbulence of Weak Gravitational Waves in the Earl.pdf:application/pdf},
}
@article{dyachenko_optical_1992,
title = {Optical turbulence: weak turbulence, condensates and collapsing filaments in the nonlinear Schrödinger equation},
volume = {57},
issn = {0167-2789},
url = {https://www.sciencedirect.com/science/article/pii/016727899290090A},
doi = {10.1016/0167-2789(92)90090-A},
shorttitle = {Optical turbulence},
abstract = {The nonlinear Schrödinger ({NLS}) equation {iΨt} + ∇2Ψ + α⋎Ψ⋎{sΨ} = 0 is a canonical and universal equation which is of major importance in continuum mechanics, plasma physics and optics. This paper argues that much of the observed solution behavior in the critical case sd = 4, where d is dimension and s is the order of nonlinearity, can be understood in terms of a combination of weak turbulence theory and condensate and collapse formation. The results are derived in the broad context of a class of Hamiltonian systems of which {NLS} is a member, so that the reader can gain a perspective on the ingredients important for the realization of the various equilibrium spectra, thermodynamic, pure Kolmogorov and combinations thereof. We also present time-dependent, self-similar solutions which describe the relaxation of the system towards these equilibrium states. We show that the number of particles lost in an individual collapse event is virtually independent of damping. Our numerical simulation of the full governing equations is the first to show the validity of the weak turbulence approximation. We also present a mechanism for intermittency which should have widespread application. It is caused by strongly nonlinear collapse events which are nucleated by a flow of particles towards the origin in wavenumber space. These highly organized events result in a cascade of particle number towards high wavenumbers and give rise to an intermittency and a behavior which violates many of the usual Kolmogorov assumptions about the loss of statistical information and the statistical independence of large and small scales. We discuss the relevance of these ideas to hydrodynamic turbulence in the conclusion.},
pages = {96--160},
number = {1},
journal = {Physica D: Nonlinear Phenomena},
shortjournal = {Physica D: Nonlinear Phenomena},
author = {Dyachenko, S. and Newell, A. C. and Pushkarev, A. and Zakharov, V. E.},
urldate = {2022-10-17},
date = {1992-06-15},
year = {1992},
langid = {english},
file = {ScienceDirect Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/2BN2RYHW/Dyachenko et al. - 1992 - Optical turbulence weak turbulence, condensates a.pdf:application/pdf;ScienceDirect Snapshot:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/JSTGRDA5/016727899290090A.html:text/html},
}
@article{zhu_testing_2022,
title = {Testing wave turbulence theory for the Gross-Pitaevskii system},
volume = {106},
url = {https://link.aps.org/doi/10.1103/PhysRevE.106.014205},
doi = {10.1103/PhysRevE.106.014205},
abstract = {We test the predictions of the theory of weak wave turbulence by performing numerical simulations of the Gross-Pitaevskii equation ({GPE}) and the associated wave-kinetic equation ({WKE}). We consider an initial state localized in Fourier space, and we confront the solutions of the {WKE} obtained numerically with {GPE} data for both the wave-action spectrum and the probability density functions ({PDFs}) of the Fourier mode intensities. We find that the temporal evolution of the {GPE} data is accurately predicted by the {WKE}, with no adjustable parameters, for about two nonlinear kinetic times. Qualitative agreement between the {GPE} and the {WKE} persists also for longer times with some quantitative deviations that may be attributed to the combination of a breakdown of the theoretical assumptions underlying the {WKE} as well as numerical issues. Furthermore, we study how the wave statistics evolves toward Gaussianity in a timescale of the order of the kinetic time. The excellent agreement between direct numerical simulations of the {GPE} and the {WKE} provides a solid foundation to the theory of weak wave turbulence.},
pages = {014205},
number = {1},
journal = {Physical Review E},
shortjournal = {Phys. Rev. E},
author = {Zhu, Ying and Semisalov, Boris and Krstulovic, Giorgio and Nazarenko, Sergey},
urldate = {2022-10-18},
date = {2022-07-08},
year = {2022},
note = {Publisher: American Physical Society},
file = {APS Snapshot:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/NE2NGDWD/PhysRevE.106.html:text/html;Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/VARWQ78Q/Zhu et al. - 2022 - Testing wave turbulence theory for the Gross-Pitae.pdf:application/pdf},
}
@article{miquel_nonstationary_2011,
title = {Nonstationary Wave Turbulence in an Elastic Plate},
volume = {107},
url = {https://link.aps.org/doi/10.1103/PhysRevLett.107.034501},
doi = {10.1103/PhysRevLett.107.034501},
abstract = {We report experimental results on the decay of wave turbulence in an elastic plate obtained by stopping the forcing from a stationary turbulent state. In the stationary case, the forcing is seen to induce some anisotropy and a spectrum in disagreement with the weak turbulence theory. After stopping the forcing, almost perfect isotropy is restored. The decay of energy is self-similar and the observed decaying spectrum is in better agreement with the prediction of the weak turbulence theory. The dissipative part of the spectrum is partially consistent with the theoretical prediction based on previous work by Kolmakov. This suggests that the nonagreement with the weak turbulence theory is mostly due to a spurious effect of the forcing related to the finite size of the system.},
pages = {034501},
number = {3},
journal = {Physical Review Letters},
shortjournal = {Phys. Rev. Lett.},
author = {Miquel, Benjamin and Mordant, Nicolas},
urldate = {2022-10-18},
date = {2011-07-12},
year = {2011},
note = {Publisher: American Physical Society},
file = {APS Snapshot:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/7WZXXRAA/PhysRevLett.107.html:text/html;Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/WI24CLH3/Miquel and Mordant - 2011 - Nonstationary Wave Turbulence in an Elastic Plate.pdf:application/pdf},
}
@article{yokoyama_identification_2014,
title = {Identification of a separation wave number between weak and strong turbulence spectra for a vibrating plate},
volume = {89},
url = {https://link.aps.org/doi/10.1103/PhysRevE.89.012909},
doi = {10.1103/PhysRevE.89.012909},
abstract = {A weakly nonlinear spectrum and a strongly nonlinear spectrum coexist in a statistically steady state of elastic wave turbulence. The analytical representation of the nonlinear frequency is obtained by evaluating the extended self-nonlinear interactions. The critical wave numbers at which the nonlinear frequencies are comparable with the linear frequencies agree with the separation wave numbers between the weak and strong turbulence spectra. We also confirm the validity of our analytical representation of the separation wave numbers through comparison with the results of direct numerical simulations by changing the material parameters of a vibrating plate.},
pages = {012909},
number = {1},
journal = {Physical Review E},
shortjournal = {Phys. Rev. E},
author = {Yokoyama, Naoto and Takaoka, Masanori},
urldate = {2022-10-18},
date = {2014-01-13},
year = {2014},
note = {Publisher: American Physical Society},
file = {APS Snapshot:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/WZVE7AMZ/PhysRevE.89.html:text/html;Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/QC2F8WSK/Yokoyama and Takaoka - 2014 - Identification of a separation wave number between.pdf:application/pdf},
}
@article{yokoyama_energy-flux_2021,
title = {Energy-flux vector in anisotropic turbulence: application to rotating turbulence},
volume = {908},
issn = {0022-1120, 1469-7645},
url = {https://www.cambridge.org/core/journals/journal-of-fluid-mechanics/article/energyflux-vector-in-anisotropic-turbulence-application-to-rotating-turbulence/1CBA48BE5CD13C5B81D50E469BE02A68},
doi = {10.1017/jfm.2020.860},
shorttitle = {Energy-flux vector in anisotropic turbulence},
abstract = {, Energy flux plays a key role in analyses of energy-cascading turbulence. In isotropic turbulence, the flux is given by a scalar as a function of the magnitude of the wavenumber. On the other hand, the flux in anisotropic turbulence should be a geometric vector that has a direction as well as a magnitude, and depends not only on the magnitude of the wavenumber but also on its direction. The energy-flux vector in anisotropic turbulence cannot be uniquely determined in a way used for the isotropic flux. In this work, introducing two ansatzes, net locality and efficiency of nonlinear energy transfer, we propose a way to determine the energy-flux vector in anisotropic turbulence using the Moore–Penrose inverse. The energy-flux vector in strongly rotating turbulence is demonstrated based on the energy transfer rate obtained by direct numerical simulations. It is found that the direction of the energy-flux vector is consistent with the prediction of the weak turbulence theory in the wavenumber range dominated by inertial waves. However, the energy flux along the critical wavenumbers predicted by the critical balance in the buffer range between the weak turbulence range and the isotropic Kolmogorov turbulence range is not observed in the present simulations. This discrepancy between the critical balance and the present numerical results is discussed and dissipation is found to play an important role in the energy flux in the buffer range.},
pages = {A17},
journal = {Journal of Fluid Mechanics},
author = {Yokoyama, Naoto and Takaoka, Masanori},
urldate = {2022-10-18},
date = {2021-02},
year = {2021},
langid = {english},
note = {Publisher: Cambridge University Press},
keywords = {rotating turbulence, wave–turbulence interactions, waves in rotating fluids},
file = {Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/5PHLHNCU/Yokoyama and Takaoka - 2021 - Energy-flux vector in anisotropic turbulence appl.pdf:application/pdf;Snapshot:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/XGHST2LS/1CBA48BE5CD13C5B81D50E469BE02A68.html:text/html},
}
@article{maffioli_vertical_2017,
title = {Vertical spectra of stratified turbulence at large horizontal scales},
volume = {2},
url = {https://link.aps.org/doi/10.1103/PhysRevFluids.2.104802},
doi = {10.1103/PhysRevFluids.2.104802},
abstract = {Stably stratified turbulence is investigated with the aim of increasing our limited understanding of the vertical structure of this type of turbulent flow. For strongly stratified turbulence there is a theoretical prediction that the energy spectra in the vertical direction of gravity are very steep, possessing the well-known form Eh(kv)∝N2k−3v, where N is the Brunt-Väisälä frequency and kv is the vertical wave number, but supporting evidence from experiments and numerical simulations is lacking. We conduct direct numerical simulation ({DNS}) with uniform background stratification and forcing at large scales. In order to consider the large anisotropic scales only, the vertical energy spectra are decomposed into large-scale vertical spectra Elarge(kv) and small-scale vertical spectra Esmall(kv) using a horizontal demarcation scale. We find that this approach gives results that are in close agreement with Elarge(kv)∝N2k−3v for the {DNS} runs performed. This result holds approximately over the wave-number range kb≤kv≤koz, where kb is the buoyancy wave number and koz is the Ozmidov wave number, in agreement with theory. Similarly, large-scale vertical spectra of potential energy are found to be Ep,large(kv)∝N2k−3v, over a narrower range of wave numbers. The evidence supports the existence of a scale-by-scale balance between inertia and buoyancy occurring in strongly stratified turbulence at large horizontal scales. Finally, the current results are put in the context of ocean turbulence by making a comparison with measurements of vertical shear spectra made in the ocean interior.},
pages = {104802},
number = {10},
journal = {Physical Review Fluids},
shortjournal = {Phys. Rev. Fluids},
author = {Maffioli, Andrea},
urldate = {2022-10-18},
date = {2017-10-19},
year = {2017},
note = {Publisher: American Physical Society},
file = {APS Snapshot:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/LAJXQ5FM/PhysRevFluids.2.html:text/html;Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/IW96Q3BF/Maffioli - 2017 - Vertical spectra of stratified turbulence at large.pdf:application/pdf},
}
@article{mackinnon_climate_2017,
title = {Climate Process Team on Internal Wave–Driven Ocean Mixing},
volume = {98},
issn = {0003-0007, 1520-0477},
url = {https://journals.ametsoc.org/view/journals/bams/98/11/bams-d-16-0030.1.xml},
doi = {10.1175/BAMS-D-16-0030.1},
abstract = {Abstract Diapycnal mixing plays a primary role in the thermodynamic balance of the ocean and, consequently, in oceanic heat and carbon uptake and storage. Though observed mixing rates are on average consistent with values required by inverse models, recent attention has focused on the dramatic spatial variability, spanning several orders of magnitude, of mixing rates in both the upper and deep ocean. Away from ocean boundaries, the spatiotemporal patterns of mixing are largely driven by the geography of generation, propagation, and dissipation of internal waves, which supply much of the power for turbulent mixing. Over the last 5 years and under the auspices of U.S. Climate Variability and Predictability Program ({CLIVAR}), a National Science Foundation ({NSF})- and National Oceanic and Atmospheric Administration ({NOAA})-supported Climate Process Team has been engaged in developing, implementing, and testing dynamics-based parameterizations for internal wave–driven turbulent mixing in global ocean models. The work has primarily focused on turbulence 1) near sites of internal tide generation, 2) in the upper ocean related to wind-generated near inertial motions, 3) due to internal lee waves generated by low-frequency mesoscale flows over topography, and 4) at ocean margins. Here, we review recent progress, describe the tools developed, and discuss future directions.},
pages = {2429--2454},
number = {11},
journal = {Bulletin of the American Meteorological Society},
author = {{MacKinnon}, Jennifer A. and Zhao, Zhongxiang and Whalen, Caitlin B. and Waterhouse, Amy F. and Trossman, David S. and Sun, Oliver M. and Laurent, Louis C. St and Simmons, Harper L. and Polzin, Kurt and Pinkel, Robert and Pickering, Andrew and Norton, Nancy J. and Nash, Jonathan D. and Musgrave, Ruth and Merchant, Lynne M. and Melet, Angelique V. and Mater, Benjamin and Legg, Sonya and Large, William G. and Kunze, Eric and Klymak, Jody M. and Jochum, Markus and Jayne, Steven R. and Hallberg, Robert W. and Griffies, Stephen M. and Diggs, Steve and Danabasoglu, Gokhan and Chassignet, Eric P. and Buijsman, Maarten C. and Bryan, Frank O. and Briegleb, Bruce P. and Barna, Andrew and Arbic, Brian K. and Ansong, Joseph K. and Alford, Matthew H.},
urldate = {2022-10-18},
date = {2017-11-01},
year = {2017},
note = {Publisher: American Meteorological Society
Section: Bulletin of the American Meteorological Society},
file = {Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/NM2DVVJD/MacKinnon et al. - 2017 - Climate Process Team on Internal Wave–Driven Ocean.pdf:application/pdf;Snapshot:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/GIQDVWVV/bams-d-16-0030.1.html:text/html},
}
@article{gregg_mixing_2018,
title = {Mixing Efficiency in the Ocean},
volume = {10},
url = {https://doi.org/10.1146/annurev-marine-121916-063643},
doi = {10.1146/annurev-marine-121916-063643},
abstract = {Mixing efficiency is the ratio of the net change in potential energy to the energy expended in producing the mixing. Parameterizations of efficiency and of related mixing coefficients are needed to estimate diapycnal diffusivity from measurements of the turbulent dissipation rate. Comparing diffusivities from microstructure profiling with those inferred from the thickening rate of four simultaneous tracer releases has verified, within observational accuracy, 0.2 as the mixing coefficient over a 30-fold range of diapycnal diffusivities. Although some mixing coefficients can be estimated from pycnocline measurements, at present mixing efficiency must be obtained from channel flows, laboratory experiments, and numerical simulations. Reviewing the different approaches demonstrates that estimates and parameterizations for mixing efficiency and coefficients are not converging beyond the at-sea comparisons with tracer releases, leading to recommendations for a community approach to address this important issue.},
pages = {443--473},
number = {1},
journal = {Annual Review of Marine Science},
author = {Gregg, M.C. and D'Asaro, E.A. and Riley, J.J. and Kunze, E.},
urldate = {2022-10-18},
date = {2018},
year = {2018},
pmid = {28934598},
note = {\_eprint: https://doi.org/10.1146/annurev-marine-121916-063643},
keywords = {stratified turbulence, diapycnal diffusivity, differential diffusion, Kelvin-Helmholtz instability, mixing coefficient, mixing efficiency},
}
@article{brunner-suzuki_upscale_2014,
title = {Upscale Energy Transfer by the Vortical Mode and Internal Waves},
volume = {44},
issn = {0022-3670, 1520-0485},
url = {https://journals.ametsoc.org/view/journals/phoc/44/9/jpo-d-12-0149.1.xml},
doi = {10.1175/JPO-D-12-0149.1},
abstract = {Abstract Diapycnal mixing in the ocean is sporadic yet ubiquitous, leading to patches of mixing on a variety of scales. The adjustment of such mixed patches can lead to the formation of vortices and other small-scale geostrophic motions, which are thought to enhance lateral diffusivity. If vortices are densely populated, they can interact and merge, and upscale energy transfer can occur. Vortex interaction can also be modified by internal waves, thus impacting upscale transfer. Numerical experiments were used to study the effect of a large-scale near-inertial internal wave on a field of submesoscale vortices. While one might expect a vertical shear to limit the vertical scale of merging vortices, it was found that internal wave shear did not disrupt upscale energy transfer. Rather, under certain conditions, it enhanced upscale transfer by enhancing vortex–vortex interaction. If vortices were so densely populated that they interacted even in the absence of a wave, adding a forced large-scale wave enhanced the existing upscale transfer. Results further suggest that continuous forcing by the main driving mechanism (either vortices or internal waves) is necessary to maintain such upscale transfer. These findings could help to improve understanding of the direction of energy transfer in submesoscale oceanic processes.},
pages = {2446--2469},
number = {9},
journal = {Journal of Physical Oceanography},
author = {Brunner-Suzuki, Anne-Marie E. G. and Sundermeyer, Miles A. and Lelong, M.-Pascale},
urldate = {2022-10-18},
date = {2014-09-01},
year = {2014},
note = {Publisher: American Meteorological Society
Section: Journal of Physical Oceanography},
file = {Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/LYAYKGYR/Brunner-Suzuki et al. - 2014 - Upscale Energy Transfer by the Vortical Mode and I.pdf:application/pdf;Snapshot:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/VXSZNGLR/jpo-d-12-0149.1.html:text/html},
}
@article{billant_self-similarity_2001,
title = {Self-similarity of strongly stratified inviscid flows},
volume = {13},
issn = {1070-6631},
url = {https://aip.scitation.org/doi/10.1063/1.1369125},
doi = {10.1063/1.1369125},
pages = {1645--1651},
number = {6},
journal = {Physics of Fluids},
author = {Billant, Paul and Chomaz, Jean-Marc},
urldate = {2022-10-18},
date = {2001-06},
year = {2001},
note = {Publisher: American Institute of Physics},
file = {Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/D6U4MDVX/Billant and Chomaz - 2001 - Self-similarity of strongly stratified inviscid fl.pdf:application/pdf},
}
@article{augier_stratified_2015,
title = {Stratified turbulence forced with columnar dipoles: numerical study},
volume = {769},
issn = {0022-1120, 1469-7645},
url = {https://www.cambridge.org/core/journals/journal-of-fluid-mechanics/article/stratified-turbulence-forced-with-columnar-dipoles-numerical-study/180B138F786A1E8C400AD7F80986520E},
doi = {10.1017/jfm.2015.76},
shorttitle = {Stratified turbulence forced with columnar dipoles},
abstract = {This paper builds upon the investigation of Augier et al. (Phys. Fluids, vol. 26 (4), 2014) in which a strongly stratified turbulent-like flow was forced by 12 generators of vertical columnar dipoles. In experiments, measurements start to provide evidence of the existence of a strongly stratified inertial range that has been predicted for large turbulent buoyancy Reynolds numbers Rt=εK/(νN2)ℛ𝑡=𝜀𝐾/(𝜈𝑁2){\textbackslash}mathscr\{R\}\_\{t\}=\{{\textbackslash}it{\textbackslash}varepsilon\}\_\{{\textbackslash}!K\}/(\{{\textbackslash}it{\textbackslash}nu\}N{\textasciicircum}\{2\}), where εK𝜀𝐾\{{\textbackslash}it{\textbackslash}varepsilon\}\_\{{\textbackslash}!K\} is the mean dissipation rate of kinetic energy, ν𝜈\{{\textbackslash}it{\textbackslash}nu\} the viscosity and N𝑁N the Brunt–Väisälä frequency. However, because of experimental constraints, the buoyancy Reynolds number could not be increased to sufficiently large values so that the inertial strongly stratified turbulent range is only incipient. In order to extend the experimental results toward higher buoyancy Reynolds number, we have performed numerical simulations of forced stratified flows. To reproduce the experimental vortex generators, columnar dipoles are periodically produced in spatial space using impulsive horizontal body force at the peripheries of the computational domain. For moderate buoyancy Reynolds number, these numerical simulations are able to reproduce the results obtained in the experiments, validating this particular forcing. For higher buoyancy Reynolds number, the simulations show that the flow becomes turbulent as observed in Brethouwer et al. (J. Fluid Mech., vol. 585, 2007, pp. 343–368). However, the statistically stationary flow is horizontally inhomogeneous because the dipoles are destabilized quite rapidly after their generation. In order to produce horizontally homogeneous turbulence, high-resolution simulations at high buoyancy Reynolds number have been carried out with a slightly modified forcing in which dipoles are forced at random locations in the computational domain. The unidimensional horizontal spectra of kinetic and potential energies scale like C1ε2/3Kk−5/3h𝐶1𝜀2/3𝐾𝑘−5/3{ℎC}\_\{1\}\{{\textbackslash}it{\textbackslash}varepsilon\}\_\{{\textbackslash}!K\}{\textasciicircum}\{2/3\}k\_\{h\}{\textasciicircum}\{-5/3\} and C2ε2/3Kk−5/3h(εP/εK)𝐶2𝜀2/3𝐾𝑘−5/3ℎ(𝜀𝑃/𝜀𝐾)C\_\{2\}\{{\textbackslash}it{\textbackslash}varepsilon\}\_\{{\textbackslash}!K\}{\textasciicircum}\{2/3\}k\_\{h\}{\textasciicircum}\{-5/3\}(\{{\textbackslash}it{\textbackslash}varepsilon\}\_\{{\textbackslash}!P\}/\{{\textbackslash}it{\textbackslash}varepsilon\}\_\{{\textbackslash}!K\}), respectively, with C1=C2≃0.5𝐶1=𝐶2≃0.5C\_\{1\}=C\_\{2\}{\textbackslash}simeq 0.5 as obtained by Lindborg (J. Fluid Mech., vol. 550, 2006, pp. 207–242). However, there is a depletion in the horizontal kinetic energy spectrum for scales between the integral length scale and the buoyancy length scale and an anomalous energy excess around the buoyancy length scale probably due to direct transfers from large horizontal scale to small scales resulting from the shear and gravitational instabilities. The horizontal buoyancy flux co-spectrum increases abruptly at the buoyancy scale corroborating the presence of overturnings. Remarkably, the vertical kinetic energy spectrum exhibits a transition at the Ozmidov length scale from a steep spectrum scaling like N2k−3z𝑁2𝑘−3𝑧N{\textasciicircum}\{2\}k\_\{z\}{\textasciicircum}\{-3\} at large scales to a spectrum scaling like {CKε}2/3Kk−5/3z𝐶𝐾𝜀2/3𝐾𝑘−5/3𝑧C\_\{K\}\{{\textbackslash}it{\textbackslash}varepsilon\}\_\{{\textbackslash}!K\}{\textasciicircum}\{2/3\}k\_\{z\}{\textasciicircum}\{-5/3\}, with {CK}=1𝐶𝐾=1C\_\{K\}=1, the classical Kolmogorov constant.},
pages = {403--443},
journal = {Journal of Fluid Mechanics},
author = {Augier, Pierre and Billant, Paul and Chomaz, Jean-Marc},
urldate = {2022-10-18},
date = {2015-04},
year = {2015},
langid = {english},
note = {Publisher: Cambridge University Press},
keywords = {stratified turbulence, turbulence simulation, geophysical and geological flows},
file = {Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/4M2UIHJK/Augier et al. - 2015 - Stratified turbulence forced with columnar dipoles.pdf:application/pdf;Snapshot:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/WGB4M6IC/180B138F786A1E8C400AD7F80986520E.html:text/html},
}
@article{nazarenko_verifying_2020-1,
title = {Verifying Weak Turbulence Theory},
volume = {13},
issn = {1943-2879},
url = {https://link.aps.org/doi/10.1103/Physics.13.194},
doi = {10.1103/Physics.13.194},
pages = {194},
journal = {Physics},
shortjournal = {Physics},
author = {Nazarenko, Sergey},
urldate = {2022-10-16},
date = {2020-12-14},
year = {2020},
langid = {english},
file = {Nazarenko - 2020 - Verifying Weak Turbulence Theory.pdf:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/UQN9LG9D/Nazarenko - 2020 - Verifying Weak Turbulence Theory.pdf:application/pdf},
}
@article{brunet_shortcut_2020-1,
title = {Shortcut to Geostrophy in Wave-Driven Rotating Turbulence: The Quartetic Instability},
volume = {124},
issn = {0031-9007, 1079-7114},
url = {https://link.aps.org/doi/10.1103/PhysRevLett.124.124501},
doi = {10.1103/PhysRevLett.124.124501},
shorttitle = {Shortcut to Geostrophy in Wave-Driven Rotating Turbulence},
pages = {124501},
number = {12},
journal = {Physical Review Letters},
shortjournal = {Phys. Rev. Lett.},
author = {Brunet, Maxime and Gallet, Basile and Cortet, Pierre-Philippe},
urldate = {2022-10-16},
date = {2020-03-24},
year = {2020},
langid = {english},
file = {Brunet et al. - 2020 - Shortcut to Geostrophy in Wave-Driven Rotating Tur.pdf:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/33NI8ZSW/Brunet et al. - 2020 - Shortcut to Geostrophy in Wave-Driven Rotating Tur.pdf:application/pdf},
}
@article{nazarenko_wave_2015-1,
title = {Wave turbulence},
volume = {56},
issn = {0010-7514, 1366-5812},
url = {http://www.tandfonline.com/doi/full/10.1080/00107514.2015.1015250},
doi = {10.1080/00107514.2015.1015250},
pages = {359--373},
number = {3},
journal = {Contemporary Physics},
shortjournal = {Contemporary Physics},
author = {Nazarenko, Sergey},
urldate = {2022-10-16},
date = {2015-07-03},
year = {2015},
langid = {english},
file = {Nazarenko - 2015 - Wave turbulence.pdf:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/UTQS9NVE/Nazarenko - 2015 - Wave turbulence.pdf:application/pdf},
}
@article{monsalve_quantitative_2020-1,
title = {Quantitative Experimental Observation of Weak Inertial-Wave Turbulence},
volume = {125},
issn = {0031-9007, 1079-7114},
url = {https://link.aps.org/doi/10.1103/PhysRevLett.125.254502},
doi = {10.1103/PhysRevLett.125.254502},
pages = {254502},
number = {25},
journal = {Physical Review Letters},
shortjournal = {Phys. Rev. Lett.},
author = {Monsalve, Eduardo and Brunet, Maxime and Gallet, Basile and Cortet, Pierre-Philippe},
urldate = {2022-10-16},
date = {2020-12-14},
year = {2020},
langid = {english},
file = {Monsalve et al. - 2020 - Quantitative Experimental Observation of Weak Iner.pdf:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/NGQLUCN4/Monsalve et al. - 2020 - Quantitative Experimental Observation of Weak Iner.pdf:application/pdf},
}
@article{nazarenko_critical_2011-1,
title = {Critical balance in magnetohydrodynamic, rotating and stratified turbulence: towards a universal scaling conjecture},
volume = {677},
issn = {0022-1120, 1469-7645},
url = {https://www.cambridge.org/core/product/identifier/S002211201100067X/type/journal_article},
doi = {10.1017/S002211201100067X},
shorttitle = {Critical balance in magnetohydrodynamic, rotating and stratified turbulence},
abstract = {It is proposed that critical balance – a scale-by-scale balance between the linear propagation and nonlinear interaction time scales – can be used as a universal scaling conjecture for determining the spectra of strong turbulence in anisotropic wave systems. Magnetohydrodynamic ({MHD}), rotating and stratified turbulence are considered under this assumption and, in particular, a novel and experimentally testable energy cascade scenario and a set of scalings of the spectra are proposed for low-Rossby-number rotating turbulence. It is argued that in neutral fluids the critically balanced anisotropic cascade provides a natural path from strong anisotropy at large scales to isotropic Kolmogorov turbulence at very small scales. It is also argued that the k⊥−2 spectra seen in recent numerical simulations of low-Rossby-number rotating turbulence may be analogous to the k⊥−3/2 spectra of the numerical {MHD} turbulence in the sense that they could be explained by assuming that fluctuations are polarised (aligned) approximately as inertial waves (Alfve´n waves for {MHD}).},
pages = {134--153},
journal = {Journal of Fluid Mechanics},
shortjournal = {J. Fluid Mech.},
author = {Nazarenko, Sergei V. and Schekochihin, Alexander A.},
urldate = {2022-10-16},
date = {2011-06-25},
year = {2011},
langid = {english},
file = {Nazarenko et Schekochihin - 2011 - Critical balance in magnetohydrodynamic, rotating .pdf:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/RLBVI7Q7/Nazarenko et Schekochihin - 2011 - Critical balance in magnetohydrodynamic, rotating .pdf:application/pdf},
}
@article{kimura_energy_2012-1,
title = {Energy spectra of stably stratified turbulence},
volume = {698},
issn = {0022-1120, 1469-7645},
url = {https://www.cambridge.org/core/product/identifier/S0022112011005465/type/journal_article},
doi = {10.1017/jfm.2011.546},
abstract = {We investigate homogeneous incompressible turbulence subjected to a range of degrees of stratification. Our basic method is pseudospectral direct numerical simulations at a resolution of 10243. Such resolution is sufficient to reveal inertial power-law ranges for suitably comprised horizontal and vertical spectra, which are designated as the wave and vortex mode (the Craya–Herring representation). We study mainly turbulence that is produced from randomly large-scale forcing via an Ornstein–Uhlenbeck process applied isotropically to the horizontal velocity field. In general, both the wave and vortex spectra are consistent with a Kolmogorov-like k−5/3 range at sufficiently large k. At large scales, and for sufficiently strong stratification, the wave spectrum is a steeper k⊥−2, while that for the vortex component is consistent with k⊥−3. Here k⊥ is the horizontally gathered wavenumber. In contrast to the horizontal wavenumber spectra, the vertical wavenumber spectra show very different features. For those spectra, a clear kz−3 dependence for small scales is observed while the large scales show rather flat spectra. By modelling the horizontal layering of vorticity, we attempt to explain the flat spectra. These spectra are linked to two-point structure functions of the velocity correlations in the horizontal and vertical directions. We can observe the power-law transition also in certain of the two-point structure functions.},
pages = {19--50},
journal = {Journal of Fluid Mechanics},
shortjournal = {J. Fluid Mech.},
author = {Kimura, Y. and Herring, J. R.},
urldate = {2022-10-16},
date = {2012-05-10},
year = {2012},
langid = {english},
file = {Kimura et Herring - 2012 - Energy spectra of stably stratified turbulence.pdf:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/SA7M3BKZ/Kimura et Herring - 2012 - Energy spectra of stably stratified turbulence.pdf:application/pdf},
}
@article{lindborg_energy_2006-1,
title = {The energy cascade in a strongly stratified fluid},
volume = {550},
issn = {0022-1120, 1469-7645},
url = {http://www.journals.cambridge.org/abstract_S0022112005008128},
doi = {10.1017/S0022112005008128},
pages = {207},
number = {-1},
journal = {Journal of Fluid Mechanics},
shortjournal = {J. Fluid Mech.},
author = {Lindborg, Erik},
urldate = {2022-10-16},
date = {2006-02-27},
year = {2006},
langid = {english},
file = {Lindborg - 2006 - The energy cascade in a strongly stratified fluid.pdf:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/9XF38477/Lindborg - 2006 - The energy cascade in a strongly stratified fluid.pdf:application/pdf},
}
@article{davis_succession_2020-1,
title = {Succession of Resonances to Achieve Internal Wave Turbulence},
volume = {124},
issn = {0031-9007, 1079-7114},
url = {https://link.aps.org/doi/10.1103/PhysRevLett.124.204502},
doi = {10.1103/PhysRevLett.124.204502},
pages = {204502},
number = {20},
journal = {Physical Review Letters},
shortjournal = {Phys. Rev. Lett.},
author = {Davis, Géraldine and Jamin, Timothée and Deleuze, Julie and Joubaud, Sylvain and Dauxois, Thierry},
urldate = {2022-10-16},
date = {2020-05-21},
year = {2020},
langid = {english},
file = {Davis et al. - 2020 - Succession of Resonances to Achieve Internal Wave .pdf:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/2RJJID6M/Davis et al. - 2020 - Succession of Resonances to Achieve Internal Wave .pdf:application/pdf},
}
@article{lindborg_stratified_2007,
title = {Stratified turbulence forced in rotational and divergent modes},
volume = {586},
issn = {0022-1120, 1469-7645},
url = {https://www.cambridge.org/core/product/identifier/S0022112007007082/type/journal_article},
doi = {10.1017/S0022112007007082},
abstract = {We perform numerical box simulations of strongly stratified turbulence. The equations solved are the Boussinesq equations with constant Brunt–Väisälä frequency and forcing either in rotational or divergent modes, or, with another terminology, in vortical or wave modes. In both cases, we observe a forward energy cascade and inertial-range scaling of the horizontal kinetic and potential energy spectra. With forcing in rotational modes, there is approximate equipartition of kinetic energy between rotational and divergent modes in the inertial range. With forcing in divergent modes the results are sensitive to the vertical forcing wavenumber
k
f
v
. If
k
f
v
is sufficiently large the dynamics is very similar to the dynamics of the simulations which are forced in rotational modes, with approximate equipartition of kinetic energy in rotational and divergent modes in the inertial range. Frequency spectra of rotational, divergent and potential energy are calculated for individual Fourier modes. Waves are present at low horizontal wavenumbers corresponding to the largest scales in the boxes. In the inertial range, the frequency spectra exhibit no distinctive peaks in the internal wave frequency. In modes for which the vertical wavenumber is considerably larger than the horizontal wavenumber, the frequency spectra of rotational and divergent modes fall on top of each other. The simulation results indicate that the dynamics of rotational and divergent modes develop on the same time scale in stratified turbulence. We discuss the relevance of our results to atmospheric and oceanic dynamics. In particular, we review a number of observational reports indicating that stratified turbulence may be a prevalent dynamic process in the ocean at horizontal scales of the order of 10 or 100 m up to several kilometres.},
pages = {83--108},
journal = {Journal of Fluid Mechanics},
shortjournal = {J. Fluid Mech.},
author = {Lindborg, E. and Brethouwer, G.},
urldate = {2022-10-16},
date = {2007-09-10},
year = {2007},
langid = {english},
file = {Lindborg et Brethouwer - 2007 - Stratified turbulence forced in rotational and div.pdf:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/SQLVMZEJ/Lindborg et Brethouwer - 2007 - Stratified turbulence forced in rotational and div.pdf:application/pdf},
}
@article{maffioli_signature_2020-1,
title = {Signature and energetics of internal gravity waves in stratified turbulence},
volume = {5},
issn = {2469-990X},
url = {https://link.aps.org/doi/10.1103/PhysRevFluids.5.114802},
doi = {10.1103/PhysRevFluids.5.114802},
pages = {114802},
number = {11},
journal = {Physical Review Fluids},
shortjournal = {Phys. Rev. Fluids},
author = {Maffioli, Andrea and Delache, Alexandre and Godeferd, Fabien S.},
urldate = {2022-10-16},
date = {2020-11-11},
year = {2020},
langid = {english},
file = {Maffioli et al. - 2020 - Signature and energetics of internal gravity waves.pdf:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/2FDA64JF/Maffioli et al. - 2020 - Signature and energetics of internal gravity waves.pdf:application/pdf},
}
@article{lam_energy_2021-1,
title = {Energy balance and mixing between waves and eddies in stably stratified turbulence},
volume = {923},
issn = {0022-1120, 1469-7645},
url = {https://www.cambridge.org/core/product/identifier/S0022112021005899/type/journal_article},
doi = {10.1017/jfm.2021.589},
abstract = {Abstract
,
We explore the strong stratification regime of stably stratified turbulence and the intermediate regime towards the viscosity-affected stratified state. Three-dimensional velocity-density fields from direct numerical simulations are decomposed into internal gravity waves ({IGWs}) and eddy motion based on Riley's decomposition (Riley
et al.
,
{AIP} Conf. Proc.
, vol. 76, issue 1, 1981, pp. 79–112) extended to account for the space–time properties of waves, their modification by vertically sheared horizontal flow and the vertical mixing by eddies (Lam
et al.
,
Atmosphere
, vol. 11, issue 4, 2020, p. 420). We establish the evolution equations for the {IGW} and eddy parts separately. Up to buoyancy Reynolds number
\$\{Re\}\_b{\textbackslash}sim 1\$
, we observe a large exchange of energy that pumps energy from the {IGW} to eddy. For
\$\{Re\}\_b{\textgreater}1\$
, the {IGW} and eddy dynamics seem to be separate and no global exchange is observed. Our decomposition enables computation of the contributions to the mixing coefficient in terms of the {IGW} and eddy. At the largest
\$\{Re\}\_b\$
considered, the mixing due to eddies is four times that due to waves.},
pages = {A31},
journal = {Journal of Fluid Mechanics},
shortjournal = {J. Fluid Mech.},
author = {Lam, H. and Delache, A. and Godeferd, F.S.},
urldate = {2022-10-16},
date = {2021-09-25},
year = {2021},
langid = {english},
file = {Lam et al. - 2021 - Energy balance and mixing between waves and eddies.pdf:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/7XJ8M7JM/Lam et al. - 2021 - Energy balance and mixing between waves and eddies.pdf:application/pdf},
}
@article{lam_partitioning_2020-1,
title = {Partitioning Waves and Eddies in Stably Stratified Turbulence},
volume = {11},
issn = {2073-4433},
url = {https://www.mdpi.com/2073-4433/11/4/420},
doi = {10.3390/atmos11040420},
abstract = {We consider the separation of motion related to internal gravity waves and eddy dynamics in stably stratified flows obtained by direct numerical simulations. The waves’ dispersion relation links their angle of propagation to the vertical θ, to their frequency ω, so that two methods are used for characterizing wave-related motion: (a) the concentration of kinetic energy density in the (θ, ω) map along the dispersion relation curve; and (b) a direct computation of two-point two-time velocity correlations via a four-dimensional Fourier transform, permitting to extract wave-related space-time coherence. The second method is more computationally demanding than the first. In canonical flows with linear kinematics produced by space-localized harmonic forcing, we observe the pattern of the waves in physical space and the corresponding concentration curve of energy in the (θ, ω) plane. We show from a simple laminar flow that the curve characterizing the presence of waves is distorted differently in the presence of a background convective mean velocity, either uniform or varying in space, and also when the forcing source is moving. By generalizing the observation from laminar flow to turbulent flow, this permits categorizing the energy concentration pattern of the waves in complex flows, thus enabling the identification of wave-related motion in a general turbulent flow with stable stratification. The advanced method (b) is finally used to compute the wave-eddy partition in the velocity–buoyancy fields of direct numerical simulations of stably stratified turbulence. In particular, we use this splitting in statistics as varied as horizontal and vertical kinetic energy, as well as two-point velocity and buoyancy spectra.},
pages = {420},
number = {4},
journal = {Atmosphere},
shortjournal = {Atmosphere},
author = {Lam, Henri and Delache, Alexandre and Godeferd, Fabien S},
urldate = {2022-10-16},
date = {2020-04-22},
year = {2020},
langid = {english},
file = {Lam et al. - 2020 - Partitioning Waves and Eddies in Stably Stratified.pdf:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/MQDQNIN7/Lam et al. - 2020 - Partitioning Waves and Eddies in Stably Stratified.pdf:application/pdf},
}
@article{yokoyama_energy-based_2019-1,
title = {Energy-based analysis and anisotropic spectral distribution of internal gravity waves in strongly stratified turbulence},
volume = {4},
issn = {2469-990X},
url = {https://link.aps.org/doi/10.1103/PhysRevFluids.4.104602},
doi = {10.1103/PhysRevFluids.4.104602},
pages = {104602},
number = {10},
journal = {Physical Review Fluids},
shortjournal = {Phys. Rev. Fluids},
author = {Yokoyama, Naoto and Takaoka, Masanori},
urldate = {2022-10-16},
date = {2019-10-08},
year = {2019},
langid = {english},
file = {Yokoyama et Takaoka - 2019 - Energy-based analysis and anisotropic spectral dis.pdf:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/XB9USJ8N/Yokoyama et Takaoka - 2019 - Energy-based analysis and anisotropic spectral dis.pdf:application/pdf},
}
@article{augier_fluiddyn_2019-1,
title = {{FluidDyn}: A Python Open-Source Framework for Research and Teaching in Fluid Dynamics by Simulations, Experiments and Data Processing},
volume = {7},
issn = {2049-9647},
url = {https://openresearchsoftware.metajnl.com/article/10.5334/jors.237/},
doi = {10.5334/jors.237},
shorttitle = {{FluidDyn}},
pages = {9},
number = {1},
journal = {Journal of Open Research Software},
shortjournal = {{JORS}},
author = {Augier, Pierre and Mohanan, Ashwin Vishnu and Bonamy, Cyrille},
urldate = {2022-10-16},
date = {2019-04-01},
year = {2019},
langid = {english},
file = {Augier et al. - 2019 - FluidDyn A Python Open-Source Framework for Resea.pdf:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/FASPDDNH/Augier et al. - 2019 - FluidDyn A Python Open-Source Framework for Resea.pdf:application/pdf},
}
@article{muller_nonlinear_1986,
title = {Nonlinear interactions among internal gravity waves},
volume = {24},
issn = {1944-9208},
url = {https://onlinelibrary.wiley.com/doi/abs/10.1029/RG024i003p00493},
doi = {10.1029/RG024i003p00493},
abstract = {This paper reviews the nonlinear interaction calculations for the internal gravity wave field in the deep ocean. The nonlinear interactions are a principal part of the dynamics of internal waves and are an important link in the overall energy cascade from large to small scales. Four approaches have been taken for their analysis: the evaluation of the transfer integral describing weakly and resonantly interacting waves, the application of closure hypotheses from turbulence theories to more strongly interacting waves, the integration of the eikonal or ray equations describing the propagation of small-scale internal waves in a background of large-scale internal waves, and the direct numerical simulation of the basic hydrodynamic equations of motion. The weak resonant interaction calculations have provided most of the conventional wisdom. Specific interaction processes and their role in shaping the internal wave spectrum have been unveiled and a comprehensive inertial range theory developed. The range of validity of the resonant interaction approximation, however, is not known and must be seriously doubted for high-wave number, high-frequency waves. The turbulence closure calculations and the direct numerical modeling are not yet in a state to be directly applicable to the oceanic internal wave field. The closure models are too complex and rest on conjectures that are not demonstrably justified. Numerical modeling can treat strongly interacting waves and buoyant turbulence, but is severely limited by finite computer resolutions. Extensive suites of experiments have only been carried out for two-dimensional flows. The eikonal calculations provide an efficient and versatile tool to study the interaction of small-scale internal waves, but it is not clear to what extent the scale-separated interactions with larger-scale internal waves compete with and might be overwhelmed by interactions among like scales. The major shortcoming of all four approaches is that they neglect the interaction with the vortical (=potential vorticity carrying) mode of motion that must be expected to exist in addition to internal waves at small scales. This interaction is intrinsically neglected in all Lagrangian-based studies and in the non-rotating two-dimensional simulations. The most promising approach for the future that can handle both arbitrarily strong interactions and the interaction with the vortical mode is numerical modeling once the resolution problem is overcome.},
pages = {493--536},
number = {3},
journal = {Reviews of Geophysics},
author = {Müller, Peter and Holloway, Greg and Henyey, Frank and Pomphrey, Neil},
urldate = {2022-11-10},
date = {1986},
year = {1986},
langid = {english},
note = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1029/{RG}024i003p00493},
file = {Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/H58TPJMI/Müller et al. - 1986 - Nonlinear interactions among internal gravity wave.pdf:application/pdf;Snapshot:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/562T6WFG/RG024i003p00493.html:text/html},
}
@article{lvov_resonant_2012,
title = {Resonant and Near-Resonant Internal Wave Interactions},
volume = {42},
issn = {0022-3670, 1520-0485},
url = {https://journals.ametsoc.org/view/journals/phoc/42/5/2011jpo4129.1.xml},
doi = {10.1175/2011JPO4129.1},
abstract = {Abstract The spectral energy density of the internal waves in the open ocean is considered. The Garrett and Munk spectrum and the resonant kinetic equation are used as the main tools of the study. Evaluations of a resonant kinetic equation that suggest the slow time evolution of the Garrett and Munk spectrum is not in fact slow are reported. Instead, nonlinear transfers lead to evolution time scales that are smaller than one wave period at high vertical wavenumber. Such values of the transfer rates are inconsistent with the viewpoint expressed in papers by C. H. {McComas} and P. Müller, and by P. Müller et al., which regards the Garrett and Munk spectrum as an approximate stationary state of the resonant kinetic equation. It also puts the self-consistency of a resonant kinetic equation at a serious risk. The possible reasons for and resolutions of this paradox are explored. Inclusion of near-resonant interactions decreases the rate at which the spectrum evolves. Consequently, this inclusion shows a tendency of improving of self-consistency of the kinetic equation approach.},
pages = {669--691},
number = {5},
journal = {Journal of Physical Oceanography},
author = {Lvov, Yuri V. and Polzin, Kurt L. and Yokoyama, Naoto},
urldate = {2022-11-10},
date = {2012-05-01},
year = {2012},
note = {Publisher: American Meteorological Society
Section: Journal of Physical Oceanography},
file = {Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/3HLRQM9Z/Lvov et al. - 2012 - Resonant and Near-Resonant Internal Wave Interacti.pdf:application/pdf;Snapshot:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/5EILW9D4/2011jpo4129.1.html:text/html},
}
@article{lvov_nonlinear_2009,
title = {Nonlinear wave–wave interactions in stratified flows: Direct numerical simulations},
volume = {238},
issn = {0167-2789},
url = {https://www.sciencedirect.com/science/article/pii/S0167278909000414},
doi = {10.1016/j.physd.2009.01.016},
shorttitle = {Nonlinear wave–wave interactions in stratified flows},
abstract = {To investigate the formation mechanism of energy spectra of internal waves in the oceans, direct numerical simulations are performed. The simulations are based on the reduced dynamical equations of rotating stratified turbulence. In the reduced dynamical equations only wave modes are retained, and vortices and horizontally uniform vertical shears are excluded. Despite the simplifications, our simulations reproduce some key features of oceanic internal-wave spectra: accumulation of energy at near-inertial waves and realistic frequency and horizontal wavenumber dependencies. Furthermore, we provide evidence that formation of the energy spectra in the inertial subrange is dominated by scale-separated interactions with the near-inertial waves. These findings support observationally based intuition that spectral energy density of internal waves is the result of predominantly wave–wave interactions.},
pages = {803--815},
number = {8},
journal = {Physica D: Nonlinear Phenomena},
shortjournal = {Physica D: Nonlinear Phenomena},
author = {Lvov, Yuri V. and Yokoyama, Naoto},
urldate = {2022-11-14},
date = {2009-05-01},
year = {2009},
langid = {english},
keywords = {Gravity waves, Simulation, Stratified flows},
file = {ScienceDirect Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/37AI9XMF/Lvov and Yokoyama - 2009 - Nonlinear wave–wave interactions in stratified flo.pdf:application/pdf;ScienceDirect Snapshot:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/B6SAWITE/S0167278909000414.html:text/html},
}
@article{lvov_hamiltonian_2004,
title = {A Hamiltonian formulation for long internal waves},
volume = {195},
issn = {0167-2789},
url = {https://www.sciencedirect.com/science/article/pii/S0167278904001241},
doi = {10.1016/j.physd.2004.03.010},
abstract = {A novel canonical Hamiltonian formalism is developed for long internal waves in a rotating environment. This includes the effects of background vorticity and shear on the waves. By restricting consideration to flows in hydrostatic balance, superimposed on a horizontally uniform background of vertical shear and vorticity, a particularly simple Hamiltonian structure arises, which can be thought of as describing a nonlinearly coupled infinite collection of shallow water systems. The kinetic equation describing the time evolution of the spectral energy of internal waves is subsequently derived. In the high-frequency limit, the Coriolis effects may be neglected, and a family of stationary Kolmogorov solutions can be found, which includes the Garrett–Munk spectrum of oceanic internal waves.},
pages = {106--122},
number = {1},
journal = {Physica D: Nonlinear Phenomena},
shortjournal = {Physica D: Nonlinear Phenomena},
author = {Lvov, Yuri and Tabak, Esteban G},
urldate = {2022-11-14},
date = {2004-08-01},
year = {2004},
langid = {english},
keywords = {Coriolis effect, Hamiltonian formulation, Internal wave interactions, Internal waves, Kolmogorov solution, Spectral energy density of internal waves, Wave kinetic equation, Wave turbulence},
file = {ScienceDirect Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/P8M5FBEB/Lvov and Tabak - 2004 - A Hamiltonian formulation for long internal waves.pdf:application/pdf;ScienceDirect Snapshot:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/JJMUDD5Z/S0167278904001241.html:text/html},
}
@article{dematteis_origins_2022,
title = {On the Origins of the Oceanic Ultraviolet Catastrophe},
volume = {52},
issn = {0022-3670, 1520-0485},
url = {https://journals.ametsoc.org/view/journals/phoc/52/4/JPO-D-21-0121.1.xml},
doi = {10.1175/JPO-D-21-0121.1},
abstract = {Abstract We provide a first-principles analysis of the energy fluxes in the oceanic internal wave field. The resulting formula is remarkably similar to the renowned phenomenological formula for the turbulent dissipation rate in the ocean, which is known as the finescale parameterization. The prediction is based on the wave turbulence theory of internal gravity waves and on a new methodology devised for the computation of the associated energy fluxes. In the standard spectral representation of the wave energy density, in the two-dimensional vertical wavenumber–frequency (m–ω) domain, the energy fluxes associated with the steady state are found to be directed downscale in both coordinates, closely matching the finescale parameterization formula in functional form and in magnitude. These energy transfers are composed of a “local” and a “scale-separated” contributions; while the former is quantified numerically, the latter is dominated by the induced diffusion process and is amenable to analytical treatment. Contrary to previous results indicating an inverse energy cascade from high frequency to low, at odds with observations, our analysis of all nonzero coefficients of the diffusion tensor predicts a direct energy cascade. Moreover, by the same analysis fundamental spectra that had been deemed “no-flux” solutions are reinstated to the status of “constant-downscale-flux” solutions. This is consequential for an understanding of energy fluxes, sources, and sinks that fits in the observational paradigm of the finescale parameterization, solving at once two long-standing paradoxes that had earned the name of “oceanic ultraviolet catastrophe.” Significance Statement The global circulation models cannot resolve the scales of the oceanic internal waves. The finescale parameterization of turbulent dissipation, a formula grounded in observations, is the standard tool by which the energy transfers due to internal waves are incorporated in the global models. Here, we provide an interpretation of this parameterization formula building on the first-principles statistical theory describing energy transfers between waves at different scales. Our result is in agreement with the finescale parameterization and points out a large contribution to the energy fluxes due to a type of wave interactions (local) usually disregarded. Moreover, the theory on which the traditional understanding of the parameterization is mainly built, a “diffusion approximation,” is known to be partly in contradiction with observations. We put forward a solution to this problem, visualized by means of “streamlines” that improve the intuition of the direction of the energy cascade.},
pages = {597--616},
number = {4},
journal = {Journal of Physical Oceanography},
author = {Dematteis, Giovanni and Polzin, Kurt and Lvov, Yuri V.},
urldate = {2022-11-14},
date = {2022-04-01},
year = {2022},
note = {Publisher: American Meteorological Society
Section: Journal of Physical Oceanography},
file = {Snapshot:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/3CGECLW3/JPO-D-21-0121.1.html:text/html;Submitted Version:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/EIL4FQUN/Dematteis et al. - 2022 - On the Origins of the Oceanic Ultraviolet Catastro.pdf:application/pdf},
}
@article{mccomas_resonant_1977,
title = {Resonant interaction of oceanic internal waves},
volume = {82},
issn = {2156-2202},
url = {https://onlinelibrary.wiley.com/doi/abs/10.1029/JC082i009p01397},
doi = {10.1029/JC082i009p01397},
abstract = {Three classes of nonlinearly interacting triads, whose wave numbers and frequencies satisfy K1 ± K2 = K3 and ω1 ± ω2 = ω3, dominate the numerically computed transfer of energy in the Garrett and Munk models of the oceanic internal wave spectrum. We designate these triads as induced diffusion, elastic scattering, and parametric subharmonic instability. Special characteristics of wave number and frequency among the components identify each triad class. The concepts represented by these classes simplify an otherwise complex process and help explain some of the basic features of the observed internal wave spectrum.},
pages = {1397--1412},
number = {9},
journal = {Journal of Geophysical Research (1896-1977)},
author = {{McComas}, C. Henry and Bretherton, Francis P.},
urldate = {2022-11-15},
date = {1977},
year = {1977},
langid = {english},
note = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1029/{JC}082i009p01397},
file = {Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/9XRJQP7N/McComas and Bretherton - 1977 - Resonant interaction of oceanic internal waves.pdf:application/pdf;Snapshot:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/GUMG3ARR/JC082i009p01397.html:text/html},
}
@article{bartello_geostrophic_1995,
title = {Geostrophic Adjustment and Inverse Cascades in Rotating Stratified Turbulence},
volume = {52},
issn = {0022-4928, 1520-0469},
url = {https://journals.ametsoc.org/view/journals/atsc/52/24/1520-0469_1995_052_4410_gaaici_2_0_co_2.xml},
doi = {10.1175/1520-0469(1995)052<4410:GAAICI>2.0.CO;2},
abstract = {Abstract Rotating stratified turbulence is examined both numerically and analytically, guided by energy and potential enstrophy conservation as well as resonant interaction theory, in order to investigate the cascade properties of rotational and wave modes at Froude numbers of order one or below, over a range of Rossby numbers. As Ro → 0, rotational modes are only weakly coupled to wave modes, and there are only weak rotational wave energy exchanges when initial conditions are random. A catalytic interaction involving two waves and a rotational mode, leaving the rotational mode unchanged, then provides the mechanism for geostrophic adjustment via a downscale cascade of wave energy. When simulations are initially balanced, gravity modes act to damp large-scale rotational modes through a transfer into intermediate-scale gravity modes and a subsequent downscale wave cascade involving the catalytic interaction. At larger Ro transfer from rotational to wave modes is important at any Froude number, and geostrophic adjustment may not take place. The consequences in terms of the proposed inverse cascade of rotational energy from convective scales are discussed.},
pages = {4410--4428},
number = {24},
journal = {Journal of the Atmospheric Sciences},
author = {Bartello, Peter},
urldate = {2023-01-12},
date = {1995-12-15},
year = {1995},
note = {Publisher: American Meteorological Society
Section: Journal of the Atmospheric Sciences},
file = {Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/H4G8ZDHI/Bartello - 1995 - Geostrophic Adjustment and Inverse Cascades in Rot.pdf:application/pdf},
}
@article{herbert_waves_2016,
title = {Waves and vortices in the inverse cascade regime of stratified turbulence with or without rotation},
volume = {806},
issn = {0022-1120, 1469-7645},
url = {https://www.cambridge.org/core/journals/journal-of-fluid-mechanics/article/waves-and-vortices-in-the-inverse-cascade-regime-of-stratified-turbulence-with-or-without-rotation/6F101E83B758747238DE41F78454EE7E},
doi = {10.1017/jfm.2016.581},
abstract = {We study the partition of energy between waves and vortices in stratified turbulence, with or without rotation, for a variety of parameters, focusing on the behaviour of the waves and vortices in the inverse cascade of energy towards the large scales. To this end, we use direct numerical simulations in a cubic box at a Reynolds number Re≈1000𝑅𝑒≈1000Re{\textbackslash}approx 1000, with the ratio between the Brunt–Väisälä frequency N𝑁N and the inertial frequency f𝑓f varying from 1/41/41/4 to 20, together with a purely stratified run. The Froude number, measuring the strength of the stratification, varies within the range 0.02⩽Fr⩽0.320.02⩽𝐹𝑟⩽0.320.02{\textbackslash}leqslant Fr{\textbackslash}leqslant 0.32. We find that the inverse cascade is dominated by the slow quasi-geostrophic modes. Their energy spectra and fluxes exhibit characteristics of an inverse cascade, even though their energy is not conserved. Surprisingly, the slow vortices still dominate when the ratio N/f𝑁/𝑓N/f increases, also in the stratified case, although less and less so. However, when N/f𝑁/𝑓N/f increases, the inverse cascade of the slow modes becomes weaker and weaker, and it vanishes in the purely stratified case. We discuss how the disappearance of the inverse cascade of energy with increasing N/f𝑁/𝑓N/f can be interpreted in terms of the waves and vortices, and identify the main effects that can explain this transition based on both inviscid invariants arguments and viscous effects due to vertical shear.},
pages = {165--204},
journal = {Journal of Fluid Mechanics},
author = {Herbert, Corentin and Marino, Raffaele and Rosenberg, Duane and Pouquet, Annick},
urldate = {2023-01-12},
date = {2016-11},
year = {2016},
langid = {english},
note = {Publisher: Cambridge University Press},
keywords = {stratified turbulence, internal waves, rotating turbulence},
file = {Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/48IDXYQH/Herbert et al. - 2016 - Waves and vortices in the inverse cascade regime o.pdf:application/pdf},
}
@article{waite_potential_2013,
title = {Potential enstrophy in stratified turbulence},
volume = {722},
issn = {0022-1120, 1469-7645},
url = {https://www.cambridge.org/core/journals/journal-of-fluid-mechanics/article/potential-enstrophy-in-stratified-turbulence/EAD8C520B3A3DEAD22B8A7BB4C5757EC},
doi = {10.1017/jfm.2013.150},
abstract = {Direct numerical simulations are used to investigate potential enstrophy in stratified turbulence with small Froude numbers, large Reynolds numbers, and buoyancy Reynolds numbers (𝑅𝑒𝑏{RebR}\{e\}\_\{b\} ) both smaller and larger than unity. We investigate the conditions under which the potential enstrophy, which is a quartic quantity in the flow variables, can be approximated by its quadratic terms, as is often done in geophysical fluid dynamics. We show that at large scales, the quadratic fraction of the potential enstrophy is determined by 𝑅𝑒𝑏{RebR}\{e\}\_\{b\} . The quadratic part dominates for small 𝑅𝑒𝑏{RebR}\{e\}\_\{b\} , i.e. in the viscously coupled regime of stratified turbulence, but not when 𝑅𝑒𝑏≳1Reb≳1R\{e\}\_\{b\} {\textbackslash}gtrsim 1. The breakdown of the quadratic approximation is consistent with the development of Kelvin–Helmholtz instabilities, which are frequently observed to grow on the layerwise structure of stratified turbulence when 𝑅𝑒𝑏{RebR}\{e\}\_\{b\} is not too small.},
pages = {R4},
journal = {Journal of Fluid Mechanics},
author = {Waite, Michael L.},
urldate = {2023-01-15},
date = {2013-05},
year = {2013},
langid = {english},
note = {Publisher: Cambridge University Press},
keywords = {stratified turbulence, turbulence simulation, geophysical and geological flows},
file = {Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/369JP3ZV/Waite - 2013 - Potential enstrophy in stratified turbulence.pdf:application/pdf},
}
@article{pan_direct_2014,
title = {Direct Numerical Investigation of Turbulence of Capillary Waves},
volume = {113},
url = {https://link.aps.org/doi/10.1103/PhysRevLett.113.094501},
doi = {10.1103/PhysRevLett.113.094501},
abstract = {We consider the inertial range spectrum of capillary wave turbulence. Under the assumptions of weak turbulence, the theoretical surface elevation spectrum scales with wave number k as Iη∼kα, where α=α0=−19/4, energy (density) flux P as P1/2. The proportional factor C, known as the Kolmogorov constant, has a theoretical value of C=C0=9.85 (we show that this value holds only after a formulation in the original derivation is corrected). The k−19/4 scaling has been extensively, but not conclusively, tested; the P1/2 scaling has been investigated experimentally, but until recently remains controversial, while direct confirmation of the value of C0 remains elusive. We conduct a direct numerical investigation implementing the primitive Euler equations. For sufficiently high nonlinearity, the theoretical k−19/4 and P1/2 scalings as well as value of C0 are well recovered by our numerical results. For a given number of numerical modes N, as nonlinearity decreases, the long-time spectra deviate from theoretical predictions with respect to scaling with P, with calculated values of α{\textless}α0 and C{\textgreater}C0, all due to finite box effect.},
pages = {094501},
number = {9},
journal = {Physical Review Letters},
shortjournal = {Phys. Rev. Lett.},
author = {Pan, Yulin and Yue, Dick K. P.},
urldate = {2023-02-08},
date = {2014-08-27},
year = {2014},
note = {Publisher: American Physical Society},
file = {APS Snapshot:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/ZG9BFKMH/PhysRevLett.113.html:text/html;Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/GUSV5JS9/Pan and Yue - 2014 - Direct Numerical Investigation of Turbulence of Ca.pdf:application/pdf},
}
@article{sukhatme_vortical_2008,
title = {Vortical and wave modes in 3D rotating stratified flows: random large-scale forcing},
volume = {102},
issn = {0309-1929},
url = {https://doi.org/10.1080/03091920801915318},
doi = {10.1080/03091920801915318},
shorttitle = {Vortical and wave modes in 3D rotating stratified flows},
abstract = {Utilizing an eigenfunction decomposition, we study the growth and spectra of energy in the vortical (geostrophic) and wave (ageostrophic) modes of a three-dimensional (3D) rotating stratified fluid as a function of ε = f/N, where f is the Coriolis parameter and N is the Brunt–Vaisala frequency. Throughout, we employ a random large-scale forcing in a unit aspect ratio domain and set these parameters such that the Froude and Rossby numbers are roughly comparable and much less than unity. Working in regimes characterized by moderate Burger numbers, i.e. Bu = 1/ε2 {\textless} 1 or Bu ≥ 1, our results indicate profound change in the character of vortical and wave mode interactions with respect to Bu = 1. Indeed, previous analytical work concerning the qualitatively different nature of these interactions has been in limiting conditions of rotation or stratification domination (i.e. when Bu ≪ 1 or Bu ≫ 1, respectively). As with the reference state of ε = 1, for ε {\textless} 1 the wave mode energy saturates quite quickly and the ensuing forward cascade continues to act as an efficient means of dissipating ageostrophic energy. Further, these saturated spectra steepen as ε decreases: we see a shift from k −1 to k −5/3 scaling for k f {\textless} k {\textless} k d (where k f and k d are the forcing and dissipation scales, respectively). On the other hand, when ε {\textgreater} 1 the wave mode energy never saturates and comes to dominate the total energy in the system. In fact, in a sense the wave modes behave in an asymmetric manner about ε = 1. With regard to the vortical modes, for ε ≤ 1, the signatures of 3D quasigeostrophy are clearly evident. Specifically, we see a k −3 scaling for k f {\textless} k {\textless} k d and, in accord with an inverse transfer of energy, the vortical mode energy never saturates but rather increases for all k {\textless} k f . In contrast, for ε {\textgreater} 1 and increasing, the vortical modes contain a progressively smaller fraction of the total energy indicating that the 3D quasigeostrophic subsystem, though always present, plays an energetically smaller role in the overall dynamics. Combining the vortical and wave modes, the total energy for k {\textgreater} k f and ε ≤ 1 shows a transition as k increases wherein the vortical modes contain a large portion of the energy at large scales, while the wave modes dominate at smaller scales. There is no such transition when ε {\textgreater} 1 and the wave modes dominate the total energy for all k {\textgreater} k f .},
pages = {437--455},
number = {5},
journal = {Geophysical \& Astrophysical Fluid Dynamics},
author = {Sukhatme, Jai and Smith, Leslie M.},
urldate = {2023-02-10},
date = {2008-10-01},
year = {2008},
note = {Publisher: Taylor \& Francis
\_eprint: https://doi.org/10.1080/03091920801915318},
keywords = {Boussinesq equations, Rotating and stratified turbulence},
file = {Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/J23D9GK6/Sukhatme and Smith - 2008 - Vortical and wave modes in 3D rotating stratified .pdf:application/pdf},
}
@article{laval_forced_2003,
title = {Forced stratified turbulence: Successive transitions with Reynolds number},
volume = {68},
url = {https://link.aps.org/doi/10.1103/PhysRevE.68.036308},
doi = {10.1103/PhysRevE.68.036308},
shorttitle = {Forced stratified turbulence},
abstract = {Numerical simulations are made for forced turbulence at a sequence of increasing values of Reynolds number Re keeping fixed a strongly stable, volume-mean density stratification. At smaller values of Re, the turbulent velocity is mainly horizontal, and the momentum balance is approximately cyclostrophic and hydrostatic. This is a regime dominated by so-called pancake vortices, with only a weak excitation of internal gravity waves and large values of the local Richardson number Ri everywhere. At higher values of Re there are successive transitions to (a) overturning motions with local reversals in the density stratification and small or negative values of Ri; (b) growth of a horizontally uniform vertical shear flow component; and (c) growth of a large-scale vertical flow component. Throughout these transitions, pancake vortices continue to dominate the large-scale part of the turbulence, and the gravity wave component remains weak except at small scales.},
pages = {036308},
number = {3},
journal = {Physical Review E},
shortjournal = {Phys. Rev. E},
author = {Laval, J.-P. and {McWilliams}, J. C. and Dubrulle, B.},
urldate = {2023-02-10},
date = {2003-09-18},
year = {2003},
note = {Publisher: American Physical Society},
file = {APS Snapshot:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/JXDVWU3N/PhysRevE.68.html:text/html;Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/E5GN3Y5Y/Laval et al. - 2003 - Forced stratified turbulence Successive transitio.pdf:application/pdf},
}
@article{reun_parametric_2018,
title = {Parametric instability and wave turbulence driven by tidal excitation of internal waves},
volume = {840},
issn = {0022-1120, 1469-7645},
url = {https://www.cambridge.org/core/journals/journal-of-fluid-mechanics/article/parametric-instability-and-wave-turbulence-driven-by-tidal-excitation-of-internal-waves/6CED49835E7969DB7E02EF09CB8B713D},
doi = {10.1017/jfm.2018.18},
abstract = {We investigate the stability of stratified fluid layers undergoing homogeneous and periodic tidal deformation. We first introduce a local model which allows us to study velocity and buoyancy fluctuations in a Lagrangian domain periodically stretched and sheared by the tidal base flow. While keeping the key physical ingredients only, such a model is efficient in simulating planetary regimes where tidal amplitudes and dissipation are small. With this model, we prove that tidal flows are able to drive parametric subharmonic resonances of internal waves, in a way reminiscent of the elliptical instability in rotating fluids. The growth rates computed via direct numerical simulations ({DNSs}) are in very good agreement with Wentzel–Kramers–Brillouin analysis and Floquet theory. We also investigate the turbulence driven by this instability mechanism. With spatio-temporal analysis, we show that it is weak internal wave turbulence occurring at small Froude and buoyancy Reynolds numbers. When the gap between the excitation and the Brunt–Väisälä frequencies is increased, the frequency spectrum of this wave turbulence displays a [Math Processing Error]−2-2 power law reminiscent of the high-frequency branch of the Garett and Munk spectrum (Geophys. Fluid Dyn., vol. 3 (1), 1972, pp. 225–264) which has been measured in the oceans. In addition, we find that the mixing efficiency is altered compared to what is computed in the context of {DNS} of stratified turbulence excited at small Froude and large buoyancy Reynolds numbers and is consistent with a superposition of waves.},
pages = {498--529},
journal = {Journal of Fluid Mechanics},
author = {Reun, Thomas Le and Favier, Benjamin and Bars, Michael Le},
urldate = {2023-02-27},
date = {2018-04},
year = {2018},
langid = {english},
note = {Publisher: Cambridge University Press},
keywords = {stratified flows, internal waves, geophysical and geological flows},
file = {Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/GG7P8QTE/Reun et al. - 2018 - Parametric instability and wave turbulence driven .pdf:application/pdf},
}
@article{rodda_experimental_2022-1,
title = {Experimental observations of internal wave turbulence transition in a stratified fluid},
volume = {7},
url = {https://link.aps.org/doi/10.1103/PhysRevFluids.7.094802},
doi = {10.1103/PhysRevFluids.7.094802},
abstract = {Recent developments of the weak turbulence theory applied to internal waves exhibit a power-law solution of the kinetic energy equation close to the oceanic Garrett-Munk spectrum, confirming weakly nonlinear wave interactions as a likely explanation of the observed oceanic spectra. However, finite-size effects can hinder wave interactions in bounded domains, and observations often differ from theoretical predictions. This paper studies the dynamical regimes experimentally developing in a stratified fluid forced by internal gravity waves in a pentagonal domain. We find that by changing the shape and increasing the dimensions of the domain finite-size effects diminish and wave turbulence is observed. In this regime, the temporal spectra decay with a slope compatible with the Garrett-Munk spectra. Different regimes appear by changing the forcing conditions, namely, discrete wave turbulence, weak wave turbulence, and strongly stratified turbulence. The buoyancy Reynolds number Reb marks well the transitions between the regimes, with weak wave turbulence occurring for 1≲Reb≲3.5 and strongly nonlinear stratified turbulence for higher Reb.},
pages = {094802},
number = {9},
journal = {Physical Review Fluids},
shortjournal = {Phys. Rev. Fluids},
author = {Rodda, Costanza and Savaro, Clément and Davis, Géraldine and Reneuve, Jason and Augier, Pierre and Sommeria, Joël and Valran, Thomas and Viboud, Samuel and Mordant, Nicolas},
urldate = {2023-02-27},
date = {2022-09-26},
year = {2022},
note = {Publisher: American Physical Society},
file = {APS Snapshot:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/BU4RREW3/PhysRevFluids.7.html:text/html;Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/EQTV9WAG/Rodda et al. - 2022 - Experimental observations of internal wave turbule.pdf:application/pdf},
}
@inproceedings{godeferd_toroidalpoloidal_2010,
location = {Berlin, Heidelberg},
title = {Toroidal/Poloidal Modes Dynamics in Anisotropic Turbulence},
isbn = {978-3-642-14139-3},
doi = {10.1007/978-3-642-14139-3_18},
series = {Notes on Numerical Fluid Mechanics and Multidisciplinary Design},
abstract = {Isotropic turbulence receives a continuous effort for an increasingly refined description, but complex effects modify the dynamics of turbulence, and are poorly understood. Instances of distorted turbulence by external body forces are present throughout natural and industrial flows, as in geophysical flows submitted to the Earth’s rotation, and to density or temperature stratification. We focus here on the effects of stable stratification and solid body rotation on the dynamics and structure of homogeneous turbulence.We perform high resolution Direct Numerical Simulations ({DNS}), to characterize the 3D structure of anisotropic turbulence and its statistical properties. Vertical structures appear in rotating turbulence, or a layering in stably stratified turbulence, depending on the rotation rate and the density gradient, parameters that are varied in our simulations (see [8]).},
pages = {151--158},
booktitle = {Turbulence and Interactions},
publisher = {Springer},
author = {Godeferd, Fabien S. and Delache, Alexandre and Cambon, Claude},
editor = {Deville, Michel and Lê, Thien-Hiep and Sagaut, Pierre},
date = {2010},
year = {2010},
langid = {english},
keywords = {Direct Numerical Simula, Directional Spectrum, Inertial Wave, Isotropic Turbulence, Solid Body Rotation},
}
@article{reun_experimental_2019,
title = {Experimental study of the nonlinear saturation of the elliptical instability: inertial wave turbulence versus geostrophic turbulence},
volume = {879},
issn = {0022-1120, 1469-7645},
url = {https://www.cambridge.org/core/journals/journal-of-fluid-mechanics/article/experimental-study-of-the-nonlinear-saturation-of-the-elliptical-instability-inertial-wave-turbulence-versus-geostrophic-turbulence/4EC4BA916D487D766A362AF3DA11A9A9},
doi = {10.1017/jfm.2019.646},
shorttitle = {Experimental study of the nonlinear saturation of the elliptical instability},
abstract = {In this paper, we present an experimental investigation of the turbulent saturation of the flow driven by the parametric resonance of inertial waves in a rotating fluid. In our set-up, a half-metre wide ellipsoid filled with water is brought to solid-body rotation, and then undergoes sustained harmonic modulation of its rotation rate. This triggers the exponential growth of a pair of inertial waves via a mechanism called the libration-driven elliptical instability. Once the saturation of this instability is reached, we observe a turbulent state for which energy is injected into the resonant inertial waves only. Depending on the amplitude of the rotation rate modulation, two different saturation states are observed. At large forcing amplitudes, the saturation flow mainly consists of a steady, geostrophic anticyclone. Its amplitude vanishes as the forcing amplitude is decreased while remaining above the threshold of the elliptical instability. Below this secondary transition, the saturation flow is a superposition of inertial waves which are in weakly nonlinear resonant interaction, a state that could asymptotically lead to inertial wave turbulence. In addition to being a first experimental observation of a wave-dominated saturation in unstable rotating flows, the present study is also an experimental confirmation of the model of Le Reun et al. (Phys. Rev. Lett., vol. 119 (3), 2017, 034502) who introduced the possibility of these two turbulent regimes. The transition between these two regimes and their relevance to geophysical applications are finally discussed.},
pages = {296--326},
journal = {Journal of Fluid Mechanics},
author = {Reun, Thomas Le and Favier, Benjamin and Bars, Michael Le},
urldate = {2023-02-27},
date = {2019-11},
year = {2019},
langid = {english},
note = {Publisher: Cambridge University Press},
keywords = {waves in rotating fluids, parametric instability},
file = {Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/ZFHGUNAT/Reun et al. - 2019 - Experimental study of the nonlinear saturation of .pdf:application/pdf},
}
@article{monsalve_quantitative_2020-2,
title = {Quantitative Experimental Observation of Weak Inertial-Wave Turbulence},
volume = {125},
url = {https://link.aps.org/doi/10.1103/PhysRevLett.125.254502},
doi = {10.1103/PhysRevLett.125.254502},
abstract = {We report the quantitative experimental observation of the weak inertial-wave turbulence regime of rotating turbulence. We produce a statistically steady homogeneous turbulent flow that consists of nonlinearly interacting inertial waves, using rough top and bottom boundaries to prevent the emergence of a geostrophic flow. As the forcing amplitude increases, the temporal spectrum evolves from a discrete set of peaks to a continuous spectrum. Maps of the bicoherence of the velocity field confirm such a gradual transition between discrete wave interactions at weak forcing amplitude and the regime described by weak turbulence theory ({WTT}) for stronger forcing. In the former regime, the bicoherence maps display a near-zero background level, together with sharp localized peaks associated with discrete resonances. By contrast, in the latter regime, the bicoherence is a smooth function that takes values of the order of the Rossby number in line with the infinite-domain and random-phase assumptions of {WTT}. The spatial spectra then display a power-law behavior, both the spectral exponent and the spectral level being accurately predicted by {WTT} at high Reynolds number and low Rossby number.},
pages = {254502},
number = {25},
journal = {Physical Review Letters},
shortjournal = {Phys. Rev. Lett.},
author = {Monsalve, Eduardo and Brunet, Maxime and Gallet, Basile and Cortet, Pierre-Philippe},
urldate = {2023-02-27},
date = {2020-12-14},
year = {2020},
note = {Publisher: American Physical Society},
file = {APS Snapshot:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/NHGIINCM/PhysRevLett.125.html:text/html;Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/EYA2I26T/Monsalve et al. - 2020 - Quantitative Experimental Observation of Weak Iner.pdf:application/pdf},
}
@article{mackinnon_parametric_2013,
title = {Parametric Subharmonic Instability of the Internal Tide at 29${}^\circ$N},
volume = {43},
issn = {0022-3670, 1520-0485},
url = {https://journals.ametsoc.org/view/journals/phoc/43/1/jpo-d-11-0108.1.xml},
doi = {10.1175/JPO-D-11-0108.1},
abstract = {Abstract Observational evidence is presented for transfer of energy from the internal tide to near-inertial motions near 29°N in the Pacific Ocean. The transfer is accomplished via parametric subharmonic instability ({PSI}), which involves interaction between a primary wave (the internal tide in this case) and two smaller-scale waves of nearly half the frequency. The internal tide at this location is a complex superposition of a low-mode waves propagating north from Hawaii and higher-mode waves generated at local seamounts, making application of {PSI} theory challenging. Nevertheless, a statistically significant phase locking is documented between the internal tide and upward- and downward-propagating near-inertial waves. The phase between those three waves is consistent with that expected from {PSI} theory. Calculated energy transfer rates from the tide to near-inertial motions are modest, consistent with local dissipation rate estimates. The conclusion is that while {PSI} does befall the tide near a critical latitude of 29°N, it does not do so catastrophically.},
pages = {17--28},
number = {1},
journal = {Journal of Physical Oceanography},
author = {{MacKinnon}, J. A. and Alford, M. H. and Sun, Oliver and Pinkel, Rob and Zhao, Zhongxiang and Klymak, Jody},
urldate = {2023-02-27},
date = {2013-01-01},
year = {2013},
note = {Publisher: American Meteorological Society
Section: Journal of Physical Oceanography},
file = {Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/GGR6VERH/MacKinnon et al. - 2013 - Parametric Subharmonic Instability of the Internal.pdf:application/pdf},
}
@thesis{brouzet_internal_2016,
title = {Internal wave attractors : from geometrical focusing to non-linear energy cascade and mixing},
url = {https://theses.hal.science/tel-01361201},
shorttitle = {Internal wave attractors},
abstract = {A question of paramount importance in the dynamics of oceans is related to the energy cascade from large to small scales and its contribution to mixing. Internal wave attractors may be one of the possible mechanisms responsible for such a cascade. In this manuscript, we study experimentally internal wave attractors in a trapezoidal test tank filled with linearly stratified fluid. In such a geometry, the waves can form closed loops called attractors. We show that the attractor formation is purely linear: small scales are thus created by wave focusing. The attractor characteristics are found to only depend on the trapezoidal geometry of the tank. At the ocean scale, we show that attractors are very likely to be unstable. Indeed, internal wave attractors are prone to a triadic resonance instability, which transfers energy from the attractor to a pair of secondary waves. This instability and its main characteristics are described as a function of the geometry of the basin. For long-term experiments, the instability produces several pairs of secondary waves, creating a cascade of triadic interactions and transferring energy from large-scale monochromatic input to multi-scale internal-wave motion. We reveal, for the first time, experimental convincing signatures of internal wave turbulence. Beyond this cascade, we have a mixing regime, which appears to be independent of the trapezoidal geometry and, thus, universal. This manuscript is completed by a study on added mass and wave damping coefficient of bodies oscillating horizontally in a stratified fluid, with applications to tidal conversion.},
institution = {Université de Lyon},
type = {phdthesis},
author = {Brouzet, Christophe},
urldate = {2023-02-27},
date = {2016-07-01},
year = {2016},
langid = {english},
file = {Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/RXC3G3NX/Brouzet - 2016 - Internal wave attractors from geometrical focusi.pdf:application/pdf},
}
@article{yarom_experimental_2014,
title = {Experimental observation of steady inertial wave turbulence in deep rotating flows},
volume = {10},
rights = {2014 Nature Publishing Group},
issn = {1745-2481},
url = {https://www.nature.com/articles/nphys2984},
doi = {10.1038/nphys2984},
abstract = {Developing a theory that describes rotating turbulence has so far proved challenging. Now, experiments show signatures of inertial waves in rotating turbulence, implying that such flow can be thought of as resulting from interacting inertial waves—solutions of the linearized rotating Navier–Stokes equation.},
pages = {510--514},
number = {7},
journal = {Nature Physics},
shortjournal = {Nature Phys},
author = {Yarom, Ehud and Sharon, Eran},
urldate = {2023-02-27},
date = {2014-07},
year = {2014},
langid = {english},
note = {Number: 7
Publisher: Nature Publishing Group},
keywords = {Fluid dynamics, Statistical physics, thermodynamics and nonlinear dynamics},
file = {Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/RG9WGH6Y/Yarom and Sharon - 2014 - Experimental observation of steady inertial wave t.pdf:application/pdf},
}
@article{bordes_experimental_2012,
title = {Experimental evidence of a triadic resonance of plane inertial waves in a rotating fluid},
volume = {24},
issn = {1070-6631},
url = {https://aip.scitation.org/doi/10.1063/1.3675627},
doi = {10.1063/1.3675627},
abstract = {Plane inertial waves are generated using a wavemaker, made of oscillating stacked plates, in a rotating water tank. Using particle image velocimetry, we observe that, after a transient, the primary plane wave is subject to a subharmonic instability and excites two secondary plane waves. The measured frequencies and wavevectors of these secondary waves are in quantitative agreement with the predictions of the triadic resonance mechanism. The secondary wavevectors are found systematically more normal to the rotation axis than the primary wavevector: this feature illustrates the basic mechanism at the origin of the energy transfers towards slow, quasi two-dimensional, motions in rotating turbulence.},
pages = {014105},
number = {1},
journal = {Physics of Fluids},
author = {Bordes, Guilhem and Moisy, Frédéric and Dauxois, Thierry and Cortet, Pierre-Philippe},
urldate = {2023-02-27},
date = {2012-01},
year = {2012},
note = {Publisher: American Institute of Physics},
file = {Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/8XQV6T5V/Bordes et al. - 2012 - Experimental evidence of a triadic resonance of pl.pdf:application/pdf},
}
@article{le_reun_inertial_2017,
title = {Inertial Wave Turbulence Driven by Elliptical Instability},
volume = {119},
url = {https://link.aps.org/doi/10.1103/PhysRevLett.119.034502},
doi = {10.1103/PhysRevLett.119.034502},
abstract = {The combination of elliptical deformation of streamlines and vorticity can lead to the destabilization of any rotating flow via the elliptical instability. Such a mechanism has been invoked as a possible source of turbulence in planetary cores subject to tidal deformations. The saturation of the elliptical instability has been shown to generate turbulence composed of nonlinearly interacting waves and strong columnar vortices with varying respective amplitudes, depending on the control parameters and geometry. In this Letter, we present a suite of numerical simulations to investigate the saturation and the transition from vortex-dominated to wave-dominated regimes. This is achieved by simulating the growth and saturation of the elliptical instability in an idealized triply periodic domain, adding a frictional damping to the geostrophic component only, to mimic its interaction with boundaries. We reproduce several experimental observations within one idealized local model and complement them by reaching more extreme flow parameters. In particular, a wave-dominated regime that exhibits many signatures of inertial wave turbulence is characterized for the first time. This regime is expected in planetary interiors.},
pages = {034502},
number = {3},
journal = {Physical Review Letters},
shortjournal = {Phys. Rev. Lett.},
author = {Le Reun, Thomas and Favier, Benjamin and Barker, Adrian J. and Le Bars, Michael},
urldate = {2023-02-27},
date = {2017-07-21},
year = {2017},
note = {Publisher: American Physical Society},
file = {APS Snapshot:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/LF3LT3RG/PhysRevLett.119.html:text/html;Full Text PDF:/home/vincentlabarre/snap/zotero-snap/common/Zotero/storage/9L6JCUPP/Le Reun et al. - 2017 - Inertial Wave Turbulence Driven by Elliptical Inst.pdf:application/pdf},
}
We performed direct numerical simulations of stratified turbulence without shear modes,
and with or without vortical modes, and at various Froude and buoyancy Reynolds
numbers, in order to check in which conditions a weak internal gravity wave turbulent
regime could occur. We observed that removing vortical modes helps to have a better
overall balance between poloidal kinetic energy and potential energy. However, the
spatial spectra of kinetic and potential energy appear to behave very similarly for
simulations with or without vortical modes in our simulations.
We performed a spectral energy budget in the two-dimensional spectral space. We
observed that the conversion between kinetic energy and potential energy did not show
fluctuations around zero in our simulations, as we would expect for a system of
statistically stationary waves. We also observe that the conversion between potential
energy and kinetic energy becomes small when $\chi_d > 1$. Due to the anisotropy of
stratified flows, this means that it exists a range where waves are efficiently
dissipated by viscosity, but not necessarily the vortices. \\ A spatiotemporal
analysis in the buoyancy range showed that removing vortical mode helps to concentrate
the energy in temporal scales. However, increasing stratification is necessary to
approach a WWT regime. As in \cite{yokoyama_energy-based_2019}, we observed that waves
are present in a region delimited by the non-linearity parameter $\chi_L \leq 1/3$ even
when vortical modes are absent. We also observed evidences for the presence of slow
waves ($k_z \gg k_h$) subject to TRI when $\chi_L \geq 1/3$. However, the non-linear
broadening is shown to be large for $k_z \gg k_h$, therefore breaking a WWT theory's
assumption in this region of the spectral space. This shows that the presence of
vortical modes does not appear to be the only barrier to internal gravity waves
turbulence in real flows. Using a simple diagnostic to quantify wave's energy contained
in a stratified flow, we showed that a WWT regime should be attained at very high
stratification if the vortical modes are removed from the dynamics.
Our work suggests that the buoyancy Reynolds should not be too large in order to
observe a WWT regime. To understand this, we propose the following conditions in order
to limit the generation of non waves structures, and to guaranty the weak non-linearity
for the evolution of all energetic modes:
\begin{itemize}
\item The waves and eddies should be dissipated in the buoyancy range which leads to
the conditions
\begin{equation}
\label{eq:DissInBuoyancy}
k_{\rm d} \leq k_{\rm b} ~~~~ \Rightarrow ~~~~ \R \leq F_h^{2/3} ~~~~ \text{and} ~~~~ k_{\eta} \leq k_{\rm b} ~~~~ \Rightarrow ~~~~ \R \leq F_h.
\end{equation}
if we assume that dissipation of eddies occurs at the Kolmogorov wave-vector $k_{\eta}
= (\epsK/\nu^3)^{1/4}$. \item The non-linearity parameter $\chi_{\kk}$ should remain
small for all energetic modes. Still assuming that dissipation occurs at $k \lesssim
k_\eta$, this leads to the condition
\begin{equation}
\chi_{\rm max} \equiv \max\limits_{\substack{\kk \\ k \leq k_{\eta}}} \chi_{\kk}\leq 1 ~~~~ \Rightarrow ~~~~ \max\limits_{\substack{\kk \\ k \leq k_{\eta}}} \frac{1}{\sin \thk} \left( \frac{k}{k_{\rm O}} \right)^{2/3} = \frac{k_\eta}{k_{\rm h, min}} \left( \frac{k_\eta}{k_{\rm O}} \right)^{2/3} \leq 1
\end{equation}
where $k_{\rm h, min}$ represents the minimal horizontal wave-vector. If we consider a
flow of finite size with no shear modes, $k_{\rm h, min} = 2\pi / L_h$ such that
\begin{equation}
\label{eq:smallchi}
\chi_{\rm max} = \frac{k_\eta L_h}{2 \pi} \left( \frac{k_\eta}{k_{\rm O}} \right)^{2/3} \leq 1 ~~~~ \Rightarrow ~~~~ Re^{3/4} \R^{1/2} \lesssim 1,
\end{equation}
where $Re = (\epsK^3 L_h^4 / \nu^4)^{1/3}$ is the turbulent Reynolds number.
\end{itemize}
Finally, we require the flow to be in a turbulent state, i.e. the Reynolds number to be
sufficiently large to observe an anomalous dissipation $\epsK \sim U_h^3 / L_h$. Then
we have
\begin{equation}
\label{eq:LargeRe}
Re = \R F_h^{-2} \gg 1
\end{equation}
and the condition (\ref{eq:smallchi}) becomes
\begin{equation}
\label{eq:SmallChi}
\chi_{\rm max} \leq 1 ~~~~ \Rightarrow ~~~~ \R = Re F_h^2 \lesssim F_h^{6/5}.
\end{equation}
Tu sum up, we propose that a weak internal gravity waves turbulence regime could occur
only if $F_h \ll 1$ and conditions (\ref{eq:DissInBuoyancy}), (\ref{eq:LargeRe}), and
(\ref{eq:SmallChi}) are fulfilled. On Figure~\ref{fig:discussion}, we represent our
simulations in the $(F_h,\R)$ plane, as well as the ones obtained by
\cite{reun_parametric_2018}. For the simulations of \cite{reun_parametric_2018}, the
Froude number is computed using our definition (\ref{eq:FhR}), and the buoyancy
Reynolds number as $\R = Re F_h^2$ in order to compare to our work. Namely, we have
used Table~1 in \cite{reun_parametric_2018} with $U_h = u_{\rm rms}$, $\epsK =
\varepsilon_k$, and $Re = Re_0$. This leads to different values of $F_h$ and $\R$ than
the ones presented by the authors. We observe that our simulations do not lie in the
region corresponding (\ref{eq:DissInBuoyancy}), (\ref{eq:LargeRe}), and
(\ref{eq:SmallChi}). On the contrary, \cite{reun_parametric_2018} attained such a
region in their simulations, giving a tangible explanation on why they obtained
signatures of weak wave turbulence, while other studies, including the present study,
did not.
\begin{figure}
\includegraphics[width=0.66\textwidth]{../tmp/fig_discussion_regimes}
\caption{Simulations of the present study and \cite{reun_parametric_2018} in the $(F_h,
\R)$ parameters space. The lines corresponding to conditions (\ref{eq:DissInBuoyancy}),
(\ref{eq:LargeRe}), and (\ref{eq:SmallChi}) are represented by colored full lines (see
legend). The blue dashed line corresponds to $Re = 500$. \label{fig:discussion}}
\end{figure}
If the last claims are true, they constitute very prohibitive conditions for observing
a weak wave turbulence regime in numerical simulations. To illustrate this point, let
us consider a turbulent flow at $Re = 1000$ that typically requires a $\sim 1024^3$
resolution. Then (\ref{eq:SmallChi}) stipulates that the flow need to attain $F_h \leq
Re^{-5/4} = 1.78 \times 10^{-4}$ for the non-linearity parameter to be small for all
energetic modes. Yet, the kinetic time for a system of internal gravity waves is
expected to grow as $F_h^{-2}$, meaning that very long simulations are required to
attain the steady state, even for relatively small domains.
2022strat_polo_proj/input/fig_poloidal-toroidal.png

76.7 KiB

image diff could not be displayed: it is too large. Options to address this: view the blob.
% WWT
As eddies in classical hydrodynamic turbulence, waves in nonlinear systems interact and
transfer conserved quantities along scales in a cascade process. The Weak-Wave
Turbulence (WWT) theory aims to provides a statistical description of the system when
the non-linearity is small \cite{zakharov_kolmogorov_1992,nazarenko_wave_2011,
nazarenko_wave_2015}. The applications of this theory encompass capillary-gravity waves
\cite{falcon_experiments_2022}, Alfvén waves in magnetohydrodynamics (MHD)
\cite{galtier_weak_2000}, inertial and internal waves in rotating and stratified fluids
\cite{caillol_kinetic_2000, galtier_weak_2003, medvedev_turbulence_2007}, Kelvin waves
in superfluids \cite{lvov_weak_2010}, elastic plates \cite{during_weak_2006},
gravitational waves \cite{galtier_turbulence_2017}, density waves in Bose-Einstein
condensates \cite{dyachenko_optical_1992}, or 2D acoustic waves
\cite{griffin_energy_2022}.
% Weak non-linearity and small non-linear broadening
Two key hypotheses are used in WWT. The first one is weak non-linearity of the
dynamical equations. This condition is often translated in terms of the separation of
spatial scales: the considered scale on one side and the saturation scale on the other
side. The saturation scale is here defined as the scale at which the weak non-linearity
does not holds anymore, inducing wave breaking. This hypothesis is quite similar to the
separation between the integral scale and the dissipative scale in the classical
picture of three-dimensional hydrodynamic turbulence. The second hypothesis corresponds
to a time scales separation, and is more specific to WWT. It requires that the linear
time, given by the wave period $\tau_{\rm L}$, is small compared to the non-linear time
of interactions between waves $\tau_{\rm NL}$ \cite{nazarenko_wave_2011}.
For many physical systems, at least one the two hypotheses is broken in some range of
scales, which reduce the validity of WWT \cite{biven_breakdown_2001}. Yet, when scales
separations are observed in space and time, a weak wave turbulent range can appear in
spatiotemporal spectra of waves' energy. Besides experimental and numerical
difficulties for obtaining scales' separations, testing WWT in isotropic systems is
conceptually simpler. For this reason, many progress have been made in the experimental
and numerical verification of WWT for elastic plates \cite{miquel_nonstationary_2011,
yokoyama_identification_2014}, capillary-gravity waves \cite{pan_direct_2014,
falcon_experiments_2022}, density waves in Bose-Einstein condensates
\cite{zhu_testing_2022}, or 2D acoustic waves \cite{griffin_energy_2022}. Anisotropic
turbulence is, generally speaking, more difficult to investigate due to the reduced
number of symmetries of the considered flows. For example, it has been shown that
studying two-dimensional spatial spectra instead of one-dimensional integrated spectra
is essential to investigate stratified turbulence \cite{yokoyama_energy-based_2019}.
Then, the anisotropy makes the problem multidimensional in Fourier space, which makes
the notion of spectral energy fluxes more difficult than in isotropic turbulence
\cite{yokoyama_energy-flux_2021}. An additional difficultly is that scales separations
required by WWT can also be anisotropic. For linearly stratified flows, weak
non-linearity of the Navier-Stokes equations requires the spatial scale's separation
\begin{equation}
k/k_{\rm b} \ll 1,
\end{equation}
where $k_{\rm b} = N/U_h$ is the buoyancy wave-vector, $k$ is the wave-vector modulus,
$U_h$ is the rms of the horizontal velocity, and $N$ is the \bv frequency. This
condition should be fulfilled in order to avoid wave-breaking. The temporal scale
separation between linear waves and eddies leads to the different condition
\begin{equation}
\tau_{\rm L}/\tau_{\rm NL} = \frac{(\epsK k^2)^{1/3}}{N k_h/k} \ll 1,
\end{equation}
where $\epsK$ is the kinetic energy dissipation rate, $k_h$ is the horizontal
wave-vector modulus, $\tau_{\rm L} = 2\pi k /(N k_h)$ is the period of the linear
waves, and $\tau_{\rm NL} = 2\pi/(k^2 \epsK)^{1/3}$ is the eddy turnover time.
Physically, when $\tau_{\rm L}/\tau_{\rm NL} \ll 1$, the waves are faster than the
typical time of their non-linear interactions. Due to the anisotropic dispersion
relation of internal gravity waves, time scales separation will be less valid for small
$k_h$, and even impossible for modes with $k_h=0$. Consequently, separation of times
scales can be violated even if a large separation of spatial scales is observed (i.e.
$k/k_{\rm b} \ll 1$). It is therefore more difficult to observe signatures of wave
turbulence in anisotropic systems like MHD, or rotating and stratified flows.
Stratified flows are not only an interesting conceptual problem, but they are also
important for the understanding of geophysical flows \cite{staquet_internal_2002,
vallis_atmospheric_2017}. In particular, understanding the role of waves in mixing is
required for sub-grid parameterizations in climate models \cite{mackinnon_climate_2017,
gregg_mixing_2018}. It is therefore not surprising that stratified flows received a
particular attention from both the ``strong'' turbulence community
\cite{billant_self-similarity_2001, waite_stratified_2004, waite_stratified_2006,
lindborg_energy_2006, brethouwer_scaling_2007, waite_stratified_2011,
kimura_energy_2012, bartello_sensitivity_2013, brunner-suzuki_upscale_2014,
augier_stratified_2015, maffioli_vertical_2017}, and the WWT community
\cite{caillol_kinetic_2000, lvov_hamiltonian_2001, lvov_weak_2010,
dematteis_downscale_2021, dematteis_origins_2022}. It turns out that internal waves are
effectively important in the dynamics and mixing in stratified flows
\cite{maffioli_signature_2020, lam_partitioning_2020, lam_energy_2021}, and that,
three-wave resonant interactions are responsible for slow, net energy transfers between
different wave-numbers \cite{brouzet_internal_2016, davis_succession_2020,
rodda_experimental_2022}. Internal waves can be excited, for example, by tides
\cite{reun_parametric_2018} or by linearly unstable waves attractor
\cite{brouzet_internal_2016}. However, many questions and issues remain about the
applicability of WWT to stratified flows. In particular, for which values of the
control parameters a weak wave turbulence regime could occur.
A recent study showed that a wave dominated region should lie in the spectral region
defined by $\tau_{\rm L} / \tau_{\rm NL} < 1/3$ \cite{yokoyama_energy-based_2019}, in
agreement with observations made for MHD \cite{meyrand_direct_2016}. Yet, non-waves
structures like shear modes (purely vertical shear) and vortical modes (vertical
vorticity) still make the observation of a system of weakly interacting internal
gravity waves delicate. The same problem appear in rotating flows, in which the
geostrophic modes plays the role of the non-propagative structure. It has been
ingeniously shown that tidal forcing is very efficient at triggering weakly nonlinear
internal gravity waves \cite{reun_parametric_2018}, in a way reminiscent of the
inertial waves' excitation by libration in rotating fluids \cite{le_reun_inertial_2017,
reun_experimental_2019}. Experimentalists bypassed this difficulty to observe weak
inertial wave turbulence in a rotating tank, by using honeycomb grids at top and bottom
boundaries to dissipate geostrophic modes efficiently \cite{brunet_shortcut_2020,
monsalve_quantitative_2020}, in a similar fashion to the numerical study of
\cite{le_reun_inertial_2017}. These works point out that some waves systems have a
tendency to generate non-wave motions that can severely affect the waves' dynamics and
should be suppressed in experiments aiming to observe wave turbulence. In stratified
flows these modes correspond to vertical shear and vertical vorticity.
The most commonly used WWT prediction is certainly the scale invariant stationary
solutions to the kinetic equation, which gives the expected spatial waves' energy
spectra in the statistically steady state. The solutions are usually of two types: the
thermodynamic equilibrium solution (Rayleigh-Jeans spectra), and the non equilibrium
solution(s) that are linked to the cascade(s) of the dynamical invariant(s) of the
system among scales (Kolmogorov-Zakharov spectra) \cite{nazarenko_wave_2011}. It is
important to note that these solutions can be considered as valid only if the collision
integral in the waves' kinetic equation converges. The importance of the nonlinear
interactions among internal gravity waves was recognized early, leading to several
derivations of waves' kinetic equations (see \cite{muller_nonlinear_1986,
lvov_resonant_2012}). Derivation of the Kolmogorov-Zakharov spectra in the limit of
large vertical wave-numbers $k_z \simeq k \gg k_h$ can be found in
\cite{caillol_kinetic_2000, lvov_hamiltonian_2001}. This solution corresponds to an
energy cascade, and is given by the energy spectra
\begin{equation}
E(k_h, k_z) \sim k_h^{-5/2} k_z^{-3/2}.
\end{equation}
Yet, it was noted that this solution comes through a spurious cancellation between
oppositely signed divergent contributions in their respective collision integrals.
Therefore, the existence of this solution is fortuitous. Later, it was shown that power
law solutions $E(k_h,k_z) \sim k_h^{-\alpha_h} ~ k_z^{-\alpha_z}$ have convergent
collision integral's contributions only on the segment $\alpha_h \in ]2, 3[,
\alpha_z=1$ \cite{lvov_oceanic_2010, dematteis_downscale_2021}. The collision integral
was then computed numerically for $\alpha_z=1$, and it was deduced that the only scale
invariant stationary solution to the kinetic equation (zero of the collision integral)
was close to
\begin{equation}
\label{eq:WWTpredictions}
E(k_h, k_z) \sim k_h^{-2.69} k_z^{-1}.
\end{equation}
It was also shown that, on the segment $\alpha_z =1$, the dominant contributions to the
collision integral corresponds to non-local transfers first identified by McComas
\cite{mccomas_resonant_1977}, notably the Parametric Subharmonic Instability (PSI)
\cite{mccomas_resonant_1977, muller_nonlinear_1986} observed in oceans
\cite{mackinnon_parametric_2013} and experiments \cite{rodda_experimental_2022},
consisting in the resonant interaction of a primary wave and two smaller-scale waves of
nearly half the frequency.
When $k/k_{\rm b} \gg 1$, non-linearity is not small. Based on the idea that there
exists a range of spatial scales where buoyancy force has the same order of magnitude
than inertia, the following 1D integrated energy spectra
\begin{equation}
\label{eq:CriticalBalance}
E_{\rm 1D}(k_h) \sim \eps^{2/3} k_h^{-5/3} ~~~~ \text{and} ~~~~ E_{\rm 1D}(k_z) \sim N^2 k_z^{-3}
\end{equation}
where predicted \cite{lindborg_energy_2006}. In the WWT context, these predictions can
also be obtained using critical balance arguments \cite{nazarenko_critical_2011,
nazarenko_wave_2011}. At even smaller scales where stratification is negligible, an
isotropic range with the classical energy spectra
\begin{equation}
\label{eq:Isotropic}
E_{\rm 1D}(k) \sim \eps^{2/3} k^{-5/3}
\end{equation}
can develop. This happens when $k_{\rm b} < k_{\rm O} \ll k \ll k_{\eta}$ where $k_{\rm
O}$ is the Ozmidov wave-vector and $k_{\eta}$ is the Kolmogorov wave-vector.
The present study first deals with the existence and properties of a weak internal
gravity waves turbulence regime. To this end, we perform numerical simulations of
stratified turbulence at various stratifications and viscosity. In the same spirit than
experiments in a rotating tank presented in \cite{brunet_shortcut_2020,
monsalve_quantitative_2020}, we removed shear modes in all of our simulations. For each
values of the control parameters, we performed two ``twins'' simulations: one where the
vortical modes remain, and one where vortical modes are removed from the dynamics by a
projection in spectral space \cite{craya_contribution_1957}. Note that, in order to get
rid of non waves structures, numerical simulations of reduced dynamical equations (i.e.
without non-waves structures) of stratified rotating flows in the hydrostatic balance
where already done \cite{lvov_nonlinear_2009}. Despite the simplifications, these
simulations reproduced some key features of oceanic internal-wave spectra: accumulation
of energy at near-inertial waves and realistic frequency and horizontal wave-number
dependencies of spatiotemporal spectra. In the present work, we do not account for
rotation, and do not use the hydrostatic balance approximation. Also, having twins
simulations (i.e. with or without vortical modes) allows to have a better comparison to
understand the role of the vortical modes on the dynamics of stratified flows.
The manuscript is organized as follows. In section \ref{sec:methods}, we present our
methodology including a presentation of the code and the simulations. Our results are
presented in section \ref{sec:results}. Subsection \ref{subsec:global} is devoted to
the study of flow regimes and global energy ratios in the control parameters space for
our simulations. It allows us to observe that WWT is naturally more likely to occurs at
high stratification and without vortical modes. Subsections \ref{subsec:khkz} and
\ref{subsec:khkzomega} deal with the spatiotemporal analysis of a couple of strongly
stratified simulations in order to investigate further the presence of linear waves in
spatial scales. In the last subsection \ref{subsec:waves_energy}, we propose a simple
diagnostic to evaluate the predominancy of waves in the parameter space. We give
concluding remarks in section \ref{sec:conclusions}.
......@@ -1059,6 +1059,28 @@
Publisher: Ubiquity Press},
}
@article{fluiddyn,
doi = {10.5334/jors.237},
year = {2019},
publisher = {Ubiquity Press, Ltd.},
volume = {7},
author = {Augier, Pierre and Mohanan, Ashwin Vishnu and Bonamy, Cyrille},
title = {{FluidDyn}: A Python Open-Source Framework for Research and Teaching in Fluid Dynamics
by Simulations, Experiments and Data Processing},
journal = {Journal of Open Research Software}
}
@article{fluidfft,
doi = {10.5334/jors.238},
year = {2019},
publisher = {Ubiquity Press, Ltd.},
volume = {7},
author = {Mohanan, Ashwin Vishnu and Bonamy, Cyrille and Augier, Pierre},
title = {{FluidFFT}: Common {API} ({C}$++$ and {P}ython)
for Fast Fourier Transform {HPC} Libraries},
journal = {Journal of Open Research Software}
}
@thesis{linares_numerical_2020,
title = {Numerical study of 2D stratified turbulence forced by internal gravity waves},
url = {https://tel.archives-ouvertes.fr/tel-02612797},
......@@ -1118,3 +1140,62 @@
keywords = {stratified turbulence, internal waves, rotating turbulence},
}
@article {nikurashin_legg_mechanism_2011,
author = "Maxim Nikurashin and Sonya Legg",
title = "A Mechanism for Local Dissipation of Internal Tides Generated at Rough Topography",
journal = "Journal of Physical Oceanography",
year = "2011",
publisher = "American Meteorological Society",
address = "Boston MA, USA",
volume = "41",
number = "2",
doi = "https://doi.org/10.1175/2010JPO4522.1",
pages= "378 - 395",
url = "https://journals.ametsoc.org/view/journals/phoc/41/2/2010jpo4522.1.xml"
}
@article{waite_potential_2013,
title={Potential enstrophy in stratified turbulence},
volume={722}, DOI={10.1017/jfm.2013.150},
journal={Journal of Fluid Mechanics},
publisher={Cambridge University Press},
author={Waite, Michael L.},
year={2013},
pages={R4}
}
@article{david_locality_2023,
title={Locality of triad interaction and Kolmogorov constant in inertial wave turbulence},
volume={955},
DOI={10.1017/jfm.2022.1073},
journal={Journal of Fluid Mechanics},
publisher={Cambridge University Press},
author={David, Vincent and Galtier, Sébastien},
year={2023},
pages={R2}
}
@article {bartello_geostrophic_1995,
author = "Peter Bartello",
title = "Geostrophic Adjustment and Inverse Cascades in Rotating Stratified Turbulence",
journal = "Journal of Atmospheric Sciences",
year = "1995",
publisher = "American Meteorological Society",
address = "Boston MA, USA",
volume = "52",
number = "24",
doi = "https://doi.org/10.1175/1520-0469(1995)052<4410:GAAICI>2.0.CO;2",
pages= "4410 - 4428"
}
@article{deBruynKops1998,
title={Direct numerical simulation of laboratory experiments in isotropic turbulence},
author={de Bruyn Kops, SM and Riley, JJ},
journal={Physics of Fluids},
volume={10},
number={9},
pages={2125--2127},
year={1998},
publisher={American Institute of Physics}
}
......@@ -52,7 +52,6 @@
\usepackage{float}
\linespread{1.05}
......@@ -72,6 +71,6 @@
\newcommand{\R}{\mathcal{R}}
\newcommand{\eps}{\varepsilon}
\newcommand{\epsK}{{\varepsilon_{\!\scriptscriptstyle \rm kin}}}
\newcommand{\epsK}{{\varepsilon_{\!\scriptscriptstyle K}}}
\newcommand{\epsKK}{{\varepsilon_{\!\scriptscriptstyle K 2}}}
\newcommand{\epsKKKK}{{\varepsilon_{\!\scriptscriptstyle K 4}}}
......@@ -76,6 +75,6 @@
\newcommand{\epsKK}{{\varepsilon_{\!\scriptscriptstyle K 2}}}
\newcommand{\epsKKKK}{{\varepsilon_{\!\scriptscriptstyle K 4}}}
\newcommand{\epsA}{{\varepsilon_{\!\scriptscriptstyle \text{pot}}}}
\newcommand{\epsA}{{\varepsilon_{\!\scriptscriptstyle P}}}
\newcommand{\xx}{\boldsymbol{x}}
......@@ -91,9 +90,10 @@
\newcommand{\cc}{\boldsymbol{c}}
\newcommand{\uu}{\boldsymbol{u}}
\newcommand{\vv}{\boldsymbol{v}}
\newcommand{\vvk}{\hat{\boldsymbol{v}}_{\kk}}
\newcommand{\vvp}{\hat{v}_{p\kk}}
\newcommand{\vvt}{\hat{v}_{t\kk}}
\newcommand{\vvs}{\hat{\boldsymbol{v}}_{s\kk}}
\newcommand{\bbk}{\hat{b}_{\kk}}
\newcommand{\hatvv}{\hat{\boldsymbol{v}}}
\newcommand{\hatvp}{\hat{v}_{p}}
\newcommand{\hatvt}{\hat{v}_{t}}
\newcommand{\hatb}{\hat{b}}
\newcommand{\hata}{\hat{a}}
\newcommand{\vvs}{\hat{\boldsymbol{v}}_{s}}
\newcommand{\ff}{\boldsymbol{f}}
......@@ -99,6 +99,6 @@
\newcommand{\ff}{\boldsymbol{f}}
\newcommand{\fk}{\hat{f}_{\kk}}
\newcommand{\ffk}{\hat{\boldsymbol{f}}_{\kk}}
\newcommand{\hatf}{\hat{f}}
\newcommand{\hatff}{\hat{\boldsymbol{f}}}
\newcommand{\bomega}{\boldsymbol{\omega}}
\newcommand{\bnabla}{\boldsymbol{\nabla}}
\newcommand{\Dt}{\mbox{D}_t}
......@@ -109,6 +109,7 @@
\newcommand{\CKA}{C_{K\rightarrow A}}
\newcommand{\D}{\mbox{D}}
\newcommand{\diff}{\text{d}}
\newcommand{\dxdydz}{\diff x \diff y \diff z}
\newcommand{\bv}{Brunt-V\"ais\"al\"a }
\newcommand{\kmax}{k_{\max}}
\newcommand{\thk}{\theta_{\kk}}
......@@ -116,6 +117,8 @@
\newcommand{\thf}{\theta_f}
\newcommand{\ok}{\omega_{\kk}}
\newcommand{\bOmega}{\boldsymbol{\Omega}}
\newcommand{\oemp}{\omega_{\text{emp}}}
\newcommand{\odoppler}{\delta \omega_{\text{doppler}}}
......@@ -202,7 +205,7 @@
% WWT
As eddies in classical hydrodynamic turbulence, waves in nonlinear systems interact and
transfer conserved quantities along scales in a cascade process. The Weak-Wave
Turbulence (WWT) theory aims to provides a statistical description of the system when
Turbulence (WWT) theory aims to provide a statistical description of the system when
the nonlinearity is small \cite{zakharov_kolmogorov_1992,nazarenko_wave_2011,
nazarenko_wave_2015}. The applications of this theory encompass capillary-gravity waves
\cite{falcon_experiments_2022}, gravito-inertial waves in rotating and stratified
......@@ -248,7 +251,7 @@
\cite{yokoyama_energy-based_2019}. Anisotropy makes the problem multidimensional in
Fourier space, which makes the notion of spectral energy fluxes, and other relevant
quantities, more difficult to define and calculate than in isotropic turbulence
\cite{yokoyama_energy-flux_2021}. An additional difficultly is that scale separations
\cite{yokoyama_energy-flux_2021}. An additional difficulty is that scale separations
required by WWT can also be anisotropic. For linearly stratified flows, the weak
nonlinearity of the Navier-Stokes equations requires that the spatial scale separation
\begin{equation}
......@@ -313,7 +316,7 @@
numerical study of \cite{le_reun_inertial_2017}. More recently, it has been observed
that resonance with the container modes also prevent to observe weak internal gravity
wave turbulence, and that the introduction of slightly tilted panels at the top and at
the bottom of the fluid domain allows to inhibit the emergence of this modes
the bottom of the fluid domain allows to inhibit the emergence of these modes
\cite{lanchon_internal_2023}. All these works point out that some wave systems can
generate non-wave motions that can severely affect the wave dynamics and should be
suppressed in experiments aiming to observe wave turbulence. In stratified flows these
......@@ -336,5 +339,5 @@
\gg k_h$ can be found in \cite{caillol_kinetic_2000, lvov_hamiltonian_2001}. This
candidate solution corresponds to an energy cascade, and is given by the energy spectra
\begin{equation}
E(k_h, k_z) \sim k_h^{-3/2} k_z^{-3/2} ~~~~ \text{and} ~~~~ E(\omega, k_z) \sim \omega^{-3/2} k_z^{-2}.
E(k_h, k_z) \sim k_h^{-3/2} k_z^{-3/2} ~~~~ \text{and} ~~~~ E(\omega, k_z) \sim \omega^{-3/2} k_z^{-2},
\end{equation}
......@@ -340,12 +343,14 @@
\end{equation}
Yet, it was noted that this candidate does not satisfy the requirement of locality,
i.e. the collision integral diverges on it. In the other words, it is not a valid
mathematical solution of the kinetic equation. Later, it was shown that power law
solutions $E(k_h,k_z) \sim k_h^{-\alpha_h} ~ k_z^{-\alpha_z}$ have convergent collision
integral's contributions only on the segment $\alpha_h \in ]2, 3[, \alpha_z=1$
\cite{lvov_oceanic_2010, dematteis_downscale_2021}. The collision integral was then
computed numerically on this segment, and it was deduced that the only scale invariant
stationary solution to the kinetic equation was close to
where the change of coordinates is defined by the dispersion relation $E(\omega, k_z) =
E(k_h,k_z) \left( \partial \ok / \partial k_h \right)^{-1}$. Yet, it was noted that
this candidate does not satisfy the requirement of locality, i.e. the collision
integral diverges on it. In the other words, it is not a valid mathematical solution of
the kinetic equation. Later, it was shown that power law solutions $E(k_h,k_z) \sim
k_h^{-\alpha_h} ~ k_z^{-\alpha_z}$ have convergent collision integral's contributions
only on the segment $\alpha_h \in ]2, 3[, \alpha_z=1$ \cite{lvov_oceanic_2010,
dematteis_downscale_2021}. The collision integral was then computed numerically on this
segment, and it was deduced that the only scale invariant stationary solution to the
kinetic equation was close to
\begin{equation}
\label{eq:WWTpredictions}
E(k_h, k_z) \sim k_h^{-1.69} k_z^{-1} ~~~~ \text{and} ~~~~ E(\omega, k_z) \sim \omega^{-1.69} k_z^{-1.69}.
......@@ -373,8 +378,8 @@
\label{eq:Isotropic}
E_{\rm 1D}(k) \sim \epsK^{2/3} k^{-5/3}
\end{equation}
is expected. This happens when $\kb < \ko \ll k \ll k_{\eta}$ where $\ko$ is the
Ozmidov wave-vector and $k_{\eta}$ is the Kolmogorov wave-vector.
is expected. It happens when $\kb < \ko \ll k \ll k_{\eta}$ where $\ko$ is the Ozmidov
wave-vector and $k_{\eta}$ is the Kolmogorov wave-vector.
The present study first deals with the existence and properties of a weak internal
......@@ -411,11 +416,9 @@
\section{Methods}
\label{sec:methods}
% Basics
We use the 3D Navier-Stokes equations under the Boussinesq approximation with added
hypervisity and hyperdiffusion:
We use the 3D Navier-Stokes equations under the Boussinesq approximation:
\begin{align}
\label{eq:Continuity}
\bnabla \cdot \vv &= 0 \\
\label{eq:Impulsion}
\p_t\vv + \vv \cdot \bnabla \vv &= b ~ \boldsymbol{e}_z - \bnabla p +
......@@ -417,7 +420,7 @@
\begin{align}
\label{eq:Continuity}
\bnabla \cdot \vv &= 0 \\
\label{eq:Impulsion}
\p_t\vv + \vv \cdot \bnabla \vv &= b ~ \boldsymbol{e}_z - \bnabla p +
\nu \nabla^2\vv - \nu_4 \nabla^4 \vv + \ff, \\
\nu \nabla^2\vv + \ff, \\
\label{eq:Buoyancy}
......@@ -423,6 +426,6 @@
\label{eq:Buoyancy}
\p_t{b} + \vv \cdot \bnabla b &= -N^2 v_z + \kappa\nabla^2{b} - \kappa_4\nabla^4{b} ,
\p_t{b} + \vv \cdot \bnabla b &= -N^2 v_z + \kappa\nabla^2{b} ,
\end{align}
where $(x,y,z)$ will represent the three spatial coordinates in the cartesian frame
$(O, \eex, \eey, \eez)$, $\eez$ is the stratification axis, $\vv=(v_x, v_y, v_z)$ is
the velocity, $b$ the buoyancy, $p$ the total kinematic pressure, $N$ the \bv
......@@ -425,12 +428,34 @@
\end{align}
where $(x,y,z)$ will represent the three spatial coordinates in the cartesian frame
$(O, \eex, \eey, \eez)$, $\eez$ is the stratification axis, $\vv=(v_x, v_y, v_z)$ is
the velocity, $b$ the buoyancy, $p$ the total kinematic pressure, $N$ the \bv
frequency, $\nu$ the viscosity, $\kappa$ the diffusivity, $\nu_4$ the hyperviscosity,
$\kappa_4$ the hyperdiffusivity, and $\ff$ is the velocity forcing. In this study, we
fix the Schmidt number $Sc = \nu/\kappa$ to one, and we consider a periodic domain of
horizontal size $L_x = L_y = L_h = 3$. The vertical size of the domain, $L_z$, is
varied depending on the value of the \bv frequency. We note $(n_x, n_y, n_z)$ the
numbers of collocations points in the three spatial directions, with $n_x = n_y \equiv
n_h$.
frequency, $\nu$ the viscosity, $\kappa$ the diffusivity and $\ff$ is the velocity
forcing. The buoyancy is defined as $b = -g \rho' / \rho_0$, where $g$ is the
acceleration due to gravity, $\rho_0$ is the average density of the fluid at $z=0$, and
$\rho'$ is the density perturbation with respect to the average linear density profile
$\bar{\rho}(z) = \rho_0 + (\mathrm{d}\bar{\rho}/\mathrm{d}z)z$. The Schmidt number $Sc
= \nu/\kappa$ is fixed to one.
We simulate forced-dissipated flows with the pseudo-spectral solver \texttt{ns3d.strat}
from the FluidSim software \cite{mohanan_fluidsim_2019} (an open-source Python package
of the FluidDyn project \cite{fluiddyn} using Fluidfft \cite{fluidfft} to compute the
Fast Fourier Transforms). The forcing, which will be described in details at the end of
this section and in Appendix~\ref{appendix:forcing}, is computed in spectral space such
that the kinetic energy injection rate $P_K$ is constant and equal to unity. The
physical input parameters are the \bv frequency $N$ and the diffusive coefficients
$\nu=\kappa$, but in practice, we identify our simulations with the couple
$(N,\,\R_i)$, where $\R_i \equiv P_K / (\nu N^2)$ is the input buoyancy Reynolds
number. The turbulent non-dimensional numbers characterizing the statistically
stationarity flow are the horizontal turbulent Froude number and the buoyancy Reynolds
number \cite[]{brethouwer_scaling_2007} that are respectively
\begin{equation}
\label{eq:FhR} F_h = \frac{\epsK}{{U_h}^2 N} ~~~~ \text{and} ~~~~ \R = \frac{\epsK}{\nu N^2},
\end{equation}
where $\epsK$ is the kinetic energy dissipation rate and $U_h$ the rms of the
horizontal velocity. Note that the turbulent Reynolds number is given by $Re = \R /
F_h^2$. We also compute the buoyancy and the Ozmidov wave-vectors $\kb \equiv N/U_h$
and $\ko \equiv \sqrt{N^3 / P_K}$. All the quantities presented in this manuscript are
computed from averaging when stationarity is reached. A list of the simulations, with
relevant parameters and physical quantities, is given in
Appendix~\ref{table-better-simuls}.
......@@ -436,2 +461,13 @@
In this study, we consider a periodic domain of horizontal size $L_x = L_y = L_h = 3$
and vertical size $L_z$. We note $(n_x, n_y, n_z)$ the numbers of collocations points
in the three spatial directions, with $n_x = n_y \equiv n_h$. We chose $n_z$ in order
to have an isotropic mesh in physical space, i.e. $L_z/n_z = L_h/n_h$. We decrease
$L_z$ with $N$. Typically, $L_z \propto 1/N$, while $L_h$ is kept constant for all
simulations. More precisely, the aspect ratio $L_z/L_h$ is $1/2$ for $N \leq 20$, $1/4$
for $N \leq 60$, and $1/8$ for $N \geq 80$. This choice is motivated by the fact that
the unforced and undissipated Boussinesq equations are self-similar in the limit $F_h
\rightarrow 0$, with similarity variable $zN/U$, where $U$ is the typical velocity
\cite{billant_self-similarity_2001}. In that way, we simulate few layers (of height
$L_b = U/N$) for all our simulations.
......@@ -437,6 +473,33 @@
The Fourier transform of the velocity field $\vvk = (\hat{v}_{x \kk}, \hat{v}_{y \kk},
\hat{v}_{z \kk})$ can be written using the poloidal-toroidal-shear decomposition (see
e.g. \cite{craya_contribution_1957, smith_generation_2002, laval_forced_2003,
To reduce the computational costs, we first simulate the transient state with a coarse
resolution with $n_h = 320$. For these simulations, two hyperdiffusive terms $-\nu_4
\nabla^4 \vv$ and $-\kappa_4\nabla^4{b}$ are added to (\ref{eq:Impulsion}) and
(\ref{eq:Buoyancy}), respectively, in order to keep the dissipative range in the
simulated scales and avoid thermalisation at small scales. Once a statistically
steady-state is reached, we increase the resolution of the simulation while decreasing
hyper-viscosity. Then the simulation is run until reaching a new statistically steady
state. The previous step is repeated until reaching the highest resolution. We measure
the turbulent kinetic dissipation rates $\epsKK$ and $\epsKKKK$ based on both
viscosities, and the total kinetic energy dissipation rate $\epsK = \epsKK + \epsKKKK$.
The product of the maximal wave-vector $\kmax$ with the Kolmogorov scale $\eta \equiv
(\nu^3 / \epsK)^{1/4}$ is computed to quantify how close our simulations are from true
Direct Numerical Simulations (DNS). In practice, it is common to consider that
simulations are proper DNS with well-resolved small scales when $\kmax\eta > 1$
\cite[]{deBruynKops1998,brethouwer_scaling_2007}. For the statistically stationarity
state, the time average of the total energy dissipation rate is equal to the injection
rate $P_K$ so that the product $\kmax\eta$ depends mostly on $\nu$ and $n_h$. For most
couples $(N,\,\R_i)$, the resolution of the larger simulation is fine enough
($\kmax\eta \gtrsim 1$) so that the hyperdiffusion is zero or negligible. For example,
the two simulations analyzed in details in the next section
(Figures~\ref{fig:buoyancy_fields} to \ref{fig:ratioEwaves_khkz}) are proper DNS with
$\kmax\eta$ equal to 0.99 and 1.05, respectively (see table~\ref{table-better-simuls}).
There are also few simulations with $0.45 < \kmax\eta < 1$ (19 out of 78 simulations),
which remain slightly under-resolved and affected by hyper-viscosity. In that case,
small-scales and flow statistics should be analyzed carefuly. We checked that these
simulations do not change the results presented here.
The Fourier transform of the velocity field $\hatvv = (\hat{v}_x, \hat{v}_y,
\hat{v}_z)$ can be written using the poloidal-toroidal-shear decomposition (see e.g.
\cite{craya_contribution_1957, smith_generation_2002, laval_forced_2003,
godeferd_toroidalpoloidal_2010, kimura_energy_2012, maffioli_vertical_2017})
\begin{equation}
......@@ -441,7 +504,7 @@
godeferd_toroidalpoloidal_2010, kimura_energy_2012, maffioli_vertical_2017})
\begin{equation}
\vvk = \begin{cases} \vvp ~ \eep + \vvt ~ \eet ~~~~ \text{if} ~ k_h \neq 0, \\
\vvs = \hat{v}_{x\kk} ~ \eex + \hat{v}_{y\kk} ~ \eey ~~~~ \text{if} ~ k_h = 0.
\hatvv = \begin{cases} \hatvp ~ \eep + \hatvt ~ \eet ~~~~ \text{if} ~ k_h \neq 0, \\
\vvs = \hat{v}_x ~ \eex + \hat{v}_y ~ \eey ~~~~ \text{if} ~ k_h = 0,
\end{cases}
\end{equation}
where
......@@ -449,5 +512,5 @@
\label{eq:poloidal-toroidal}
\eek = \frac{\kk}{k}, ~~~~
\eep = \frac{\kk \times (\kk \times \eez)}{|\kk \times (\kk \times \eez)|}, ~~~~
\eet = \frac{\eez \times \kk}{|\eez \times \kk|},
\eet = \frac{\eez \times \kk}{|\eez \times \kk|}.
\end{equation}
......@@ -453,8 +516,12 @@
\end{equation}
$\vvp$ is the poloidal component, $\vvt$ the toroidal component, $\vvs$ the shear modes
component, $\kk=(k_x, k_y, k_z)$ denotes the wave-vector, $k =|\kk| = \sqrt{k_x^2 +
k_y^2 + k_z^2}$ is its modulus, and $k_h = \sqrt{k_x^2 + k_y^2}$ is the modulus of the
horizontal component of the wave-vector (Figure~\ref{fig:poloidal-toroidal}).
$\hatvp$ is the poloidal component, $\hatvt$ the toroidal component, $\vvs$ the shear
modes component, $\kk=(k_x, k_y, k_z)$ denotes the wave-vector, $k =|\kk| = \sqrt{k_x^2
+ k_y^2 + k_z^2}$ is its modulus, and $k_h = \sqrt{k_x^2 + k_y^2}$ is the modulus of
the horizontal component of the wave-vector (Figure~\ref{fig:poloidal-toroidal}). Since
the toroidal component $\hatvt$ corresponds only to the vertical vorticity
($\hat{\Omega}_z = i k \hatvt \sin \thk$, with $\bOmega = \bnabla \times \vv$ being the
vorticity), we also denote it as the ``vortical" velocity.
\begin{figure}
\centering
\includegraphics[width=0.4\textwidth]{Figure1}
......@@ -470,9 +537,9 @@
\begin{align}
\label{eq:StratifiedSpectralPoloidalToroidal}
\begin{cases}
\dot{\hat{v}}_{p\kk} &= - (\widehat{\vv \cdot \bnabla \vv})_{\kk} \cdot \eep - \bbk \sin \thk - \nu k^2 \vvp - \nu_4 k^4 \vvp + \ffk \cdot \eep \\
\dot{\hat{v}}_{t\kk} &= - (\widehat{\vv \cdot \bnabla \vv})_{\kk} \cdot \eet - \nu k^2 \vvt - \nu_4 k^4 \vvt + \ffk \cdot \eet \\
\dot{\hat{b}}_{\kk} &= - (\widehat{\vv \cdot \bnabla b})_{\kk} + N^2 \vvp \sin \thk - \kappa k^2 \bbk - \kappa_4 k^4 \bbk
\dot{\hat{v}}_p &= - (\widehat{\vv \cdot \bnabla \vv}) \cdot \eep - \hatb \sin \thk - \nu k^2 \hatvp + \hatff \cdot \eep \\
\dot{\hat{v}}_t &= - (\widehat{\vv \cdot \bnabla \vv}) \cdot \eet - \nu k^2 \hatvt + \hatff \cdot \eet \\
\dot{\hatb} &= - \widehat{\vv \cdot \bnabla b} + N^2 \hatvp \sin \thk - \kappa k^2 \hatb
\end{cases}
~~~~~~~~ \text{for }~ k_h \neq 0
\end{align}
......@@ -480,8 +547,8 @@
\begin{align}
\label{eq:StratifiedSpectralShearModes}
\begin{cases}
\dot{\hat{\vv}}_{s\kk} &= - (\widehat{\vv \cdot \bnabla \vv_h})_{\kk} - \nu k^2 \vvs - \nu_4 k^4 \vvs, \\
\dot{\hat{b}}_{\kk} &= - (\widehat{\vv \cdot \bnabla b})_{\kk} - \kappa k^2 \bbk - \kappa_4 k^4 \bbk
\dot{\hat{\vv}}_{s} &= - \widehat{\vv \cdot \bnabla \vv_h} - \nu k^2 \vvs, \\
\dot{\hatb} &= - \widehat{\vv \cdot \bnabla b} - \kappa k^2 \hatb
\end{cases}
~~~~~~~~ \text{for }~ k_h = 0,
\end{align}
......@@ -485,13 +552,12 @@
\end{cases}
~~~~~~~~ \text{for }~ k_h = 0,
\end{align}
where $\vv_h = (v_x,v_y,0)$ is the horizontal velocity and
$\left(\widehat{\cdot}\right)_{\kk}$ denotes the Fourier transform. We will also note
$k_i \in \Delta k_i ~ \mathbb{Z}$ with $\Delta k_i = 2\pi /L_i$ for $i =x,y,z$, and
hereafter assume $\Delta k_x = \Delta k_y \equiv \Delta k_h$. Without forcing and
dissipation, the linearized equations
where $\vv_h = (v_x,v_y,0)$ is the horizontal velocity and $\widehat{\cdot}$ denotes
the Fourier transform. We will also note $k_i \in \Delta k_i ~ \mathbb{Z}$ with $\Delta
k_i = 2\pi /L_i$ for $i =x,y,z$, and hereafter assume $\Delta k_x = \Delta k_y \equiv
\Delta k_h$. Without forcing and dissipation, the linearized equations
(\ref{eq:StratifiedSpectralPoloidalToroidal}-\ref{eq:StratifiedSpectralShearModes}) can
be written as
\begin{align}
\label{eq:StratifiedSpectralPoloidalToroidalLinear}
......@@ -493,7 +559,7 @@
(\ref{eq:StratifiedSpectralPoloidalToroidal}-\ref{eq:StratifiedSpectralShearModes}) can
be written as
\begin{align}
\label{eq:StratifiedSpectralPoloidalToroidalLinear}
\dot{a}_{\kk} &= -i \ok a_{\kk}, ~~~~ \dot{a}_{\kk}^{(0)} = 0, ~~~~ \text{if} ~~ k_h \neq 0 \\
\dot{\hata} &= -i \ok \hata, ~~~~ \dot{\hata}^{(0)} = 0, ~~~~ \text{if} ~~ k_h \neq 0 \\
\label{eq:StratifiedSpectralShearModesLinear}
......@@ -499,4 +565,4 @@
\label{eq:StratifiedSpectralShearModesLinear}
\dot{\hat{\vv}}_{s\kk} &= \mathbf{0}, ~~~~
\dot{\hat{b}}_{\kk} = 0 ~~~~ \text{if} ~~ k_h = 0,
\dot{\hatvv}_{s} &= \mathbf{0}, ~~~~
\dot{\hatb} = 0 ~~~~ \text{if} ~~ k_h = 0,
\end{align}
......@@ -502,4 +568,3 @@
\end{align}
where
\begin{equation}
......@@ -504,5 +569,5 @@
where
\begin{equation}
a_{\kk} = \frac{\vvp - i \frac{\bbk}{N}}{\sqrt{2\ok}}, ~~~~ \text{and} ~~~~ \ok = N k_h/k = N \sin \thk
\hata = \frac{\hatvp - i \frac{\hatb}{N}}{\sqrt{2\ok}}, ~~~~ \text{and} ~~~~ \ok = N \frac{k_h}{k} = N \sin \thk
\end{equation}
are the waves modes and the pulsation of the waves, $\thk$ is the angle between $\kk$
......@@ -507,7 +572,7 @@
\end{equation}
are the waves modes and the pulsation of the waves, $\thk$ is the angle between $\kk$
and the stratification axis $\eez$, and $a_{\kk}^{(0)} \propto \vvt$ are the vortical
modes (corresponding to vertical vorticity). Equations
and the stratification axis $\eez$, and $\hata^{(0)} \propto \hatvt$ are the vortical
modes. Equations
(\ref{eq:StratifiedSpectralPoloidalToroidalLinear}-\ref{eq:StratifiedSpectralShearModesLinear})
show that both shear modes and vortical modes have zero frequency. This means that
linear waves can only exist in the poloidal velocity and the buoyancy, but not in the
......@@ -515,13 +580,23 @@
We are motivated by forcing internal gravity waves, which only involve the poloidal
part of the velocity field and have an anisotropic dispersion relation. Therefore, we
use an anisotropic, poloidal velocity forcing $\ffk = \fk ~ \eep$. The flow is forced
at large spatial scales and small angle $\left\{\kk ~ | ~ 5 \leq k/\Delta k_h \leq 20,
~ |\ok(\kk)/N - \sin \theta_f| \leq 0.05 \right\}$ where $\sin \theta_f = 0.3$, meaning
that relatively slow internal waves are forced. The correlation time of the forcing is
equal to the period of the forced waves $T_c = 2\pi /(N \sin \theta_f)$. The forcing is
computed in spectral space such that the kinetic energy injection rate $P_K$ is
constant and equal to unity. The forcing scheme is described in
Appendix~\ref{appendix:forcing}. All modes with wave-number modulus larger than $\kmax
= 0.8 (n_h/2) \Delta k_h$ are truncated to limit aliasing. Shear modes and vertically
use an anisotropic, poloidal velocity forcing $\hatff = \hatf \, \eep$. The flow is
forced at large spatial scales $ \left\{\kk ~ | ~ 5 \leq k/\Delta k_h \leq 20 \right\}$
and small angle $\left\{\kk ~ | ~ |\ok /N - \sin \theta_f| \leq 0.05 \right\}$ where
$\sin \theta_f = 0.3$, meaning that relatively slow internal waves are forced. The
forcing scheme is described in Appendix~\ref{appendix:forcing}. It is neither harmonic
nor given by a stochastic differential equation. Instead, a time correlated forcing is
computed via generations of pseudo random numbers and time interpolations. Its
correlation time is equal to the period of the forced waves $T_c = 2\pi /(N \sin
\theta_f)$. The forcing is normalized such that the kinetic injection rate $P_K$ is
always equal to 1. Forcing slow waves is motivated by oceanic applications, where waves
are generated, among other processes, by slow tides \cite{mackinnon_climate_2017,
nikurashin_legg_mechanism_2011}. Low frequency forcing is also used in order to have a
scale separation between forced frequencies and the \bv frequency so that one can
potentially reproduce features of the oceanic temporal spectra close to $N$.
The time advancement is performed using the $4^{th}$ order Runge-Kutta scheme. All
modes with wave-number modulus larger than $\kmax = 0.8 (n_h/2) \Delta k_h$ are
truncated to limit aliasing. We checked that this 0.8 spherical truncation is a good
compromize consistent with our other numerical choices. Shear modes and vertically
invariant vertical velocity (internal waves at $\omega = N$), which are absent in flows
......@@ -527,11 +602,7 @@
invariant vertical velocity (internal waves at $\omega = N$), which are absent in flows
bounded by walls, are also removed in our simulations. We measure the turbulent kinetic
dissipation rates $\epsKK$ and $\epsKKKK$ based on both viscosities, and the total
kinetic energy dissipation rate $\epsK = \epsKK + \epsKKKK$. The product of the maximal
wave-vector $\kmax$ with the Kolmogorov scale $\eta \equiv (\nu^3 / \epsKK)^{1/4}$ is
computed to quantify how close our simulations are from true direct numerical
simulations (i.e. simulations without hyperviscosity and hyperdiffusivity). The time
advancement is performed using the $4^{th}$ order Runge-Kutta scheme. The numerical
simulations are performed using the pseudo-spectral solver \texttt{ns3d.strat} from the
FluidSim package \cite{mohanan_fluidsim_2019}.
bounded by walls, are also removed in our simulations by fixing nonlinear transfers to
these modes to zero. For the simulations without vortical modes, the toroidal
projection of the velocity and of the nonlinear transfers are set to zero.
\citet{smith_generation_2002} used a similar procedure in order to distangle the roles
of potential vorticity modes and waves modes in rotating stratified turbulence.
......@@ -537,17 +608,18 @@
The turbulent non-dimensional numbers characterizing the flow are the horizontal
turbulent Froude number, the Reynolds number, and the buoyancy Reynolds number that are
respectively
\begin{equation}
\label{eq:FhR}
F_h = \frac{\epsK}{{U_h}^2 N}, ~~~~ Re = \frac{U_h^4}{\nu \epsK}, ~~~~ \text{and} ~~~~ \R = Re F_h^{2}, .
\end{equation}
We also compute the buoyancy and the Ozmidov wave-vectors $\kb \equiv N/U_h$ and $\ko
\equiv \sqrt{N^3 / \epsK}$. All the quantities presented in this manuscript are
computed from averaging when stationarity is reached. A list of the simulations, with
relevant parameters and physical quantities, is given in
Appendix~\ref{table-better-simuls}.
Without dissipation and forcing, equations (\ref{eq:Continuity}-\ref{eq:Buoyancy})
conserve the total energy $E = \int ~ \left[ \vv^2 / 2 + b^2 / (2N^2) \right] ~ \diff x
\diff y \diff z$ and the potential vorticity $\Pi = \bOmega \cdot \left( N^2 \eez +
\bnabla b \right)$ is a Lagrangian invariant \cite{bartello_geostrophic_1995}. It
follows that the spatial average of any function of $\Pi$ is conserved. As a special
case, the potential enstrophy
\begin{align}
V &\equiv \frac{1}{2} \int ~ \Pi^2 ~ \dxdydz \\ &=
\frac{1}{2} \int ~ N^4 \Omega_z^2 ~ \dxdydz + \int ~ N^2 \Omega_z
\bOmega \cdot \bnabla b ~ \dxdydz + \frac{1}{2} \int ~ \left( \bOmega
\cdot \bnabla b \right)^2 ~ \dxdydz \\ &\equiv V_2 + V_3 + V_4
\end{align}
is an invariant of equations (\ref{eq:Continuity}-\ref{eq:Buoyancy}) in absence of
dissipation and forcing. For a flow without vertical vorticity $V_2 = V_3 =0$.
\section{Results}
\label{sec:results}
......@@ -574,6 +646,5 @@
gradients. Both $\Ivelo$ and $\Idiss$ are equal to unity for an isotropic flow.
Conversely, $\Ivelo$ and $\Idiss$ should be close to zero if the flow is strongly
anisotropic. When vortical modes are removed, we rather use
\begin{equation}
\label{eq:IcoeffsProj}
......@@ -578,4 +649,4 @@
\begin{equation}
\label{eq:IcoeffsProj}
\Ivelo = \frac{2 E_{\rm kin,z}}{E_{\rm kin}}, ~~~~ \text{and} ~~~~ \Idiss = \frac{1 - \varepsilon_{\rm kin,z}/\varepsilon_{\rm kin}}{(1 - 1/2)}
\Ivelo = \frac{2 E_{\rm kin,z}}{E_{\rm kin}}
\end{equation}
......@@ -581,15 +652,13 @@
\end{equation}
because it is expected that only half of the kinetic energy is contained in
(respectively dissipated by) the vertical velocity field (respectively the vertical
gradients) if the energy spectra are independent of the angles in this case.
Figure~\ref{fig:regimes} shows the variations of $\Ivelo$ and $\Idiss$ with $(F_h,\R)$.
Small points correspond to strong anisotropic energy dissipation, while large points
correspond to isotropic energy dissipation. Dark points correspond to strong
large-scale isotropy, while light points correspond to isotropic flows. The combination
of $\Ivelo$ and $\Idiss$ allows to distinguish between four regimes
(Figure~\ref{fig:regimes}$\rm (a)$): the passive scalar regime where $\Ivelo \simeq 1$,
the weakly stratified regime where $0.5 \lesssim \Ivelo \lesssim 1$, and the strongly
stratified regimes where $\Ivelo \leq 0.5$. As explained in
because it is expected that only half of the kinetic energy is contained in the
vertical velocity field. Figure~\ref{fig:regimes} shows the variations of $\Ivelo$ and
$\Idiss$ with $(F_h,\R)$. Small points correspond to strong anisotropic energy
dissipation, while large points correspond to isotropic energy dissipation. Dark points
correspond to strong large-scale isotropy, while light points correspond to isotropic
flows. The combination of $\Ivelo$ and $\Idiss$ allows to distinguish between four
regimes (Figure~\ref{fig:regimes}$\rm (a)$): the passive scalar regime where $\Ivelo
\simeq 1$, the weakly stratified regime where $0.5 \lesssim \Ivelo \lesssim 1$, and the
strongly stratified regimes where $\Ivelo \leq 0.5$. As explained in
\cite{brethouwer_scaling_2007}, the strongly stratified flows fall in two regimes: The
Layered Anisotropic Stratified Turbulence (LAST) regime where the dissipation is
isotropic because a 3D turbulence range can develop, typically when $\R \geq 10$; The
......@@ -612,8 +681,10 @@
We denote
\begin{equation}
\label{eq:energies}
E_{\rm pot} = \frac{1}{2N^2} \sum\limits_{\kk} |\bbk|^2, ~~~~ E_{\rm polo} = \frac{1}{2} \sum\limits_{\kk} |\vvp|^2, ~~~~ E_{\rm toro} = \frac{1}{2} \sum\limits_{\kk} |\vvt|^2, ~~~~ \tilde{\mathcal{D}} = \frac{E_{\rm polo} - E_{\rm pot} }{E_{\rm polo} + E_{\rm pot} }
\label{eq:energies} E_{\rm pot} = \frac{1}{2N^2} \sum\limits_{\kk}
|\hatb|^2, ~~~~ E_{\rm polo} = \frac{1}{2} \sum\limits_{\kk} |\hatvp|^2, ~~~~ E_{\rm
toro} = \frac{1}{2} \sum\limits_{\kk} |\hatvt|^2, ~~~~ \tilde{\mathcal{D}} =
\frac{E_{\rm polo} - E_{\rm pot} }{E_{\rm polo} + E_{\rm pot} }
\end{equation}
which are, respectively, the potential energy, the poloidal kinetic energy, the
vortical modes (toroidal) kinetic energy, and the relative difference between poloidal
......@@ -635,8 +706,18 @@
governed by weak nonlinear interactions between waves may be obtained at high
stratification by removing vortical modes. In the two next subsections, we perform a
spatiotemporal analysis of a couple of stongly stratified turbulent simulations with
$(N,\R_i\equiv 1/\nu N^2)=(40,20)$ and aspect ratio $L_z/L_h=1/4$.
$(N,\,\R_i\equiv P_K/\nu N^2)=(40,20)$ and aspect ratio $L_z/L_h=1/4$.
Figure~\ref{fig:buoyancy_fields} shows the buoyancy fields for these two simulations
with the same color scale. We observe that the flow is layered in the vertical
direction and that overturning (horizontal vorticity) is present with or without
vortical modes. It is a standard feature of strongly stratified turbulence
\cite{laval_forced_2003, lindborg_energy_2006, brethouwer_scaling_2007,
waite_stratified_2011}. With vortical modes, the vertical vorticity is not zero
(Figure~\ref{fig:buoyancy_fields}(a)) so the buoyancy has a different structure than
when vortical modes are absent (Figure~\ref{fig:buoyancy_fields}(b)). Without vortical
modes the dynamics in the horizontal direction is irrotational and the buoyancy field
has a larger amplitude.
\begin{figure}
\includegraphics[width=1.0\textwidth]{Figure3}
\caption{Vortical modes to total energy ratio (a) and relative difference between
......@@ -639,7 +720,7 @@
\begin{figure}
\includegraphics[width=1.0\textwidth]{Figure3}
\caption{Vortical modes to total energy ratio (a) and relative difference between
poloidal and potential energies $\tilde{\mathcal{D}} = (E_{\rm polo} - E_{\rm pot}
)/(E_{\rm polo} + E_{\rm pot} )$ (b) vs $F_h$ for simulations with or without
poloidal and potential energies $\tilde{\mathcal{D}} = (E_{\rm polo} - E_{\rm
pot})/(E_{\rm polo} + E_{\rm pot})$ (b) vs $F_h$ for simulations with or without
vortical modes. The red boxes indicate the simulations with $(N,\R_i)=(40,20)$
......@@ -645,7 +726,13 @@
vortical modes. The red boxes indicate the simulations with $(N,\R_i)=(40,20)$
investigated in the next subsections. \label{fig:global-energy}}
investigated in the next subsections. \label{fig:global-energy}}
\end{figure}
\begin{figure}
\includegraphics[width=1.0\textwidth]{figure4}
\caption{Snapshots of the buoyancy fields for simulations $(N,\R_i)=(40,20)$ with $\rm
(a)$ and without $\rm (b)$ vortical modes. \label{fig:buoyancy_fields}}
\end{figure}
\subsection{Energy budget in the strongly stratified regime}
\label{subsec:khkz}
......@@ -647,11 +734,10 @@
\end{figure}
\subsection{Energy budget in the strongly stratified regime}
\label{subsec:khkz}
It is expected that the spatial energy budget will depend on the ratio of temporal
timescales. In particular the nonlinearity parameter used for several physical systems,
including stratified and rotating turbulence \cite{nazarenko_critical_2011,
yokoyama_energy-based_2019} and MHD \cite{meyrand_direct_2016, cerri_turbulent_2022} is
\begin{equation}
......@@ -653,14 +739,14 @@
It is expected that the spatial energy budget will depend on the ratio of temporal
timescales. In particular the nonlinearity parameter used for several physical systems,
including stratified and rotating turbulence \cite{nazarenko_critical_2011,
yokoyama_energy-based_2019} and MHD \cite{meyrand_direct_2016, cerri_turbulent_2022} is
\begin{equation}
\label{eq:NonLinearityParameter}
\chi_{\kk} \equiv \frac{\tau_{\rm L}}{\tau_{\rm NL}} = \frac{(\epsK k^2)^{1/3}}{N k_h / k} =
\frac{k}{k_h} \left( \frac{k}{\ko} \right)^{2/3} = \frac{1}{\sin \thk} \left( \frac{k}{\ko} \right)^{2/3}.
\label{eq:NonLinearityParameter} \chi_{\kk} \equiv \frac{\tau_{\rm L}}{\tau_{\rm NL}} =
\frac{(\epsK k^2)^{1/3}}{N k_h / k} = \frac{k}{k_h} \left(\frac{k}{\ko} \right)^{2/3}
= \frac{1}{\sin \thk} \left(\frac{k}{\ko} \right)^{2/3}.
\end{equation}
It represents the ratio between the period of the linear wave, $\tau_{\rm L} = 2 \pi k
/ (N k_h)$, and the eddy turnover time $\tau_{\rm NL} = 2 \pi / (\varepsilon_{\rm kin}
k^2)^{1/3}$ for a given wave-vector. In a similar way, we introduce the wave
dissipation parameter
\begin{equation}
......@@ -661,12 +747,12 @@
\end{equation}
It represents the ratio between the period of the linear wave, $\tau_{\rm L} = 2 \pi k
/ (N k_h)$, and the eddy turnover time $\tau_{\rm NL} = 2 \pi / (\varepsilon_{\rm kin}
k^2)^{1/3}$ for a given wave-vector. In a similar way, we introduce the wave
dissipation parameter
\begin{equation}
\label{eq:DissipationParameter}
\gamma_{\kk} \equiv \frac{\tau_{\rm L}}{\tau_{\nu}} = \frac{\nu k^2}{N k_h / k} =
\frac{k}{k_h} \left( \frac{k}{\kd} \right)^{2} = \frac{1}{\sin \thk} \left( \frac{k}{\kd} \right)^{2}
\label{eq:DissipationParameter} \gamma_{\kk} \equiv \frac{\tau_{\rm
L}}{\tau_{\nu}} = \frac{\nu k^2}{N k_h / k} = \frac{k}{k_h} \left(\frac{k}{\kd}
\right)^{2} = \frac{1}{\sin \thk} \left(\frac{k}{\kd} \right)^{2}
\end{equation}
which represents the ratio between the period of the linear wave and the dissipation
time $\tau_{\nu} = 2 \pi / (\nu k^2)$. In the last equation, we have introduced the
......@@ -670,8 +756,7 @@
\end{equation}
which represents the ratio between the period of the linear wave and the dissipation
time $\tau_{\nu} = 2 \pi / (\nu k^2)$. In the last equation, we have introduced the
wave dissipation wave-vector $\kd \equiv \sqrt{N/\nu}$.
The kinetic energy and potential energy budgets for one Fourier mode read
wave dissipation wave-vector $\kd \equiv \sqrt{N/\nu}$. The kinetic energy and
potential energy budgets for one Fourier mode read
\begin{equation}
\label{eq:seb}
......@@ -676,7 +761,8 @@
\begin{equation}
\label{eq:seb}
\left\langle \frac{1}{2}\frac{\mathrm{d} |\vvk|^2}{\mathrm{d}t} \right \rangle =
\mathcal{I}_{\kk} + \mathcal{T}_{\rm kin,\kk} - \mathcal{B}_{\kk} - \varepsilon_{\rm kin,\kk}, ~~~~ \text{and} ~~~~
\left\langle \frac{1}{2N^2}\frac{\mathrm{d}|\bbk|^2}{\mathrm{d}t} \right\rangle =
\mathcal{T}_{\text{pot},\kk} + \mathcal{B}_{\kk} - \varepsilon_{\text{pot},\kk},
\left\langle\frac{1}{2}\frac{\mathrm{d} |\hatvv|^2}{\mathrm{d}t} \right \rangle =
\mathcal{I}_{\kk} + \mathcal{T}_{\rm kin,\kk} - \mathcal{B}_{\kk} - \varepsilon_{\rm
kin,\kk}, ~~~~ \text{and} ~~~~
\left\langle\frac{1}{2N^2}\frac{\mathrm{d}|\hatb|^2}{\mathrm{d}t} \right\rangle=
\mathcal{T}_{\text{pot},\kk} + \mathcal{B}_{\kk} - \varepsilon_{\text{pot},\kk},
\end{equation}
......@@ -682,4 +768,3 @@
\end{equation}
where
\begin{align}
......@@ -684,14 +769,12 @@
where
\begin{align}
\nonumber
&\mathcal{I}_{\kk} = \left\langle Re \left( \ffk \cdot \vvk^* \right) \right \rangle, ~~~~
\mathcal{T}_{\rm kin, \kk} = - \left\langle Re \left( \vvk^* \cdot \left[ \bar{\bar{P}}_{\kk} \cdot (\widehat{\vv \cdot \bnabla \vv})_{\kk} \right] \right) \right\rangle, \\
\nonumber
&\mathcal{T}_{\text{pot}, \kk} = - \left\langle Re \left( \bbk^* (\widehat{\vv \cdot \bnabla b})_{\kk} \right) / N^2 \right\rangle, ~~~~
\mathcal{B}_{\kk} = - \left\langle Re \left( \hat{v}_{z\kk}^* \bbk \right) \right\rangle, \\
&\varepsilon_{\rm kin, \kk} = (\nu k^2 + \nu_4 k^4) \frac{|\vvk|^2}{2}, ~~~~
\varepsilon_{\text{pot},\kk} = (\kappa k^2 + \kappa_4 k^4) \frac{|\bbk|^2}{2N^2},
\nonumber &\mathcal{I}_{\kk} = \left\langle \Re
\left(\hatff \cdot \hatvv^* \right)\right \rangle, ~~~~ \mathcal{T}_{\rm kin, \kk} =
- \left\langle \Re \left(\hatvv^* \cdot \left[\bar{\bar{P}}_{\kk} \cdot (\widehat{\vv \cdot \bnabla \vv}) \right]\right)\right\rangle, \\
\nonumber &\mathcal{T}_{\text{pot},\kk} = - \left\langle \Re \left(\hatb^* (\widehat{\vv \cdot \bnabla b}) \right)/ N^2 \right\rangle,
~~~~ \mathcal{B}_{\kk} = - \left\langle \Re \left(\hat{v}_{z}^* \hatb \right) \right\rangle, \\
&\varepsilon_{\rm kin, \kk} = (\nu k^2 + \nu_4 k^4) \frac{|\hatvv|^2}{2}, ~~~~ \varepsilon_{\text{pot},\kk} = (\kappa k^2 + \kappa_4 k^4) \frac{|\hatb|^2}{2N^2},
\end{align}
are respectively the kinetic energy injection rate, the kinetic energy transfer, the
potential energy transfer, the conversion of kinetic energy to potential energy, the
kinetic energy dissipation, and the potential energy dissipation. In the last
......@@ -694,7 +777,7 @@
\end{align}
are respectively the kinetic energy injection rate, the kinetic energy transfer, the
potential energy transfer, the conversion of kinetic energy to potential energy, the
kinetic energy dissipation, and the potential energy dissipation. In the last
equations, $(\cdot)^*$ denotes the complex conjugate, $Re(\cdot)$ the real part,
$\left\langle \cdot \right\rangle$ stands for the averaging operator, and
equations, $(\cdot)^*$ denotes the complex conjugate, $\Re(\cdot)$ the real part,
$\left\langle\cdot \right\rangle$ stands for the averaging operator, and
$\bar{\bar{P}}_{\kk} = \mathbb{I} - \eek \otimes \eek$ is the projector onto the plane
......@@ -700,5 +783,5 @@
$\bar{\bar{P}}_{\kk} = \mathbb{I} - \eek \otimes \eek$ is the projector onto the plane
orthogonal to $\kk$. In this section, we study azimutal average of the energy budget.
orthogonal to $\kk$. In this section, we study azimuthal average of the energy budget.
Namely, we computed quantities like:
\begin{equation}
......@@ -756,7 +839,7 @@
inertial range is larger when vortical modes are removed.
\begin{figure}
\includegraphics[width=1.0\textwidth]{Figure4}
\includegraphics[width=1.0\textwidth]{figure5}
\caption{Temporal energy spectra for simulations $(N,\R_i)=(40,20)$ with $\rm (a)$ and
without $\rm (b)$ vortical modes. The orange dotted lines correspond to the minimal and
maximal frequencies of the linear internal gravity waves in the forcing region.
......@@ -790,7 +873,7 @@
$F_h$ \cite{linares_numerical_2020}. The kinetic energy flux $\Pikin(k_h)$ and the
potential energy flux $\Pipot(k_h)$ start to show a plateau over almost a decade in
these simulations (Figure~\ref{fig:spectra_1D}$\rm (c)$-$\rm (d)$). We observe that the
dissipation starts to be important at the Ozmidov scale, meaning that this simulations
dissipation starts to be important at the Ozmidov scale, meaning that these simulations
lie between the LAST regime and the viscosity affected regime
\cite{brethouwer_scaling_2007}. This explains why we do not observe an isotropic
turbulence range (with energy spectra $\sim k^{-5/3}$) in these simulations. The main
......@@ -800,7 +883,7 @@
system of internal gravity waves with unit Schmidt number \cite{reun_parametric_2018}.
\begin{figure}
\includegraphics[width=1.0\textwidth]{Figure5}
\includegraphics[width=1.0\textwidth]{figure6}
\caption{Compensated 1D spatial energy spectra for simulations $(N,\R_i)=(40,20)$ with
$\rm (a)$ and without $\rm (b)$ vortical modes. Normalized $k_h$ energy fluxes for the
same simulations with $\rm (c)$ and without $\rm (d)$ vortical modes. The orange dotted
......@@ -823,10 +906,11 @@
earlier studies \cite{waite_stratified_2011, kimura_energy_2012}, but not with the WWT
predictions (\ref{eq:WWTpredictions}). For a fixed $k_z \gg \kb$, we rather observe
$E_{\rm kin} \sim k_h^1$ which would correspond to an equipartition of energy in
horizontal scales. \item For $k_h \gg \kb$, the spectrum starts to depend less and less
on $k_z$, and the $E_{\rm kin}(k_h,k_z)$ slices eventually merge around $k_h \sim \ko$,
when the eddy turnover time becomes less than the period of any linear waves, i.e.
$\chi_{\kk} > 1$.
horizontal scales.
\item For $k_h \gg \kb$, the spectrum starts to depend less and less on $k_z$, and the
$E_{\rm kin}(k_h,k_z)$ slices eventually merge around $k_h \sim \ko$, when the eddy
turnover time becomes less than the period of any linear waves, i.e. $\chi_{\kk} > 1$.
\end{itemize}
Important differences can also be noted when looking at $k_z$ slices
......@@ -834,12 +918,14 @@
\begin{itemize}
\item For $k_z \ll \kb$, the spectrum is close to $\sim k_z^{0}$, indicating that
horizontal layers of height larger than the buoyancy scale are in equipartition of
energy in these strongly stratified simulations. \item For $\kb \ll k_z \ll \ko$, the
spectrum is very steep at small horizontal wave-vectors, while it remains flat at large
horizontal wave-vectors. \item For $k_z \gg \ko$, the spectral slope starts to depend
less and less on $k_h$. Yet, the $E_{\rm kin}(k_h,k_z)$ does not merge around $k_h \sim
\ko$ since small horizontal scales are more energetic compared to the large horizontal
scales.
energy in these strongly stratified simulations.
\item For $\kb \ll k_z \ll \ko$, the spectrum is very steep at small horizontal
wave-vectors, while it remains flat at large horizontal wave-vectors.
\item For $k_z \gg \ko$, the spectral slope starts to depend less and less on $k_h$.
Yet, the $E_{\rm kin}(k_h,k_z)$ does not merge around $k_h \sim \ko$ since small
horizontal scales are more energetic compared to the large horizontal scales.
\end{itemize}
Due to the reduced aspect ratio of our simulations, we do not observe a net separation
......@@ -851,7 +937,7 @@
turbulence in realistic flows.
\begin{figure}
\includegraphics[width=1.0\textwidth]{Figure6}
\includegraphics[width=1.0\textwidth]{figure7}
\caption{Slices of the kinetic energy spectrum $E_{\rm kin}(k_h,k_z)$ for simulations
$(N,\R_i)=(40,20)$ with and without vortical modes. The orange dotted line corresponds
to the maximal wave-vector modulus of the forcing region, the black dotted line to
......@@ -864,12 +950,13 @@
Figure~\ref{fig:spectra_khkz} shows the $(k_h,k_z)$ spectra. Obviously, the simulation
without vortical modes has no energy in the toroidal velocity. When vortical modes are
present, an important part of the energy is contained in one vortical mode $(k_h,k_z) =
(\Delta k_h, 3 \Delta k_z)$, corresponding to large, nearly vertical stacked vortex
with varying orientations (Figure~\ref{fig:spectra_khkz}$\rm (a)$). When vortical modes
are removed, energy is sill concentrated in the same wave-vectors, but in the form of
poloidal an potential energy (Figure~\ref{fig:spectra_khkz}$\rm (d)$-$\rm (f)$). Except
for this qualitative difference, the toroidal, poloidal, and potential energy spectra
show the same trends.
present, an important part of the energy is contained in one vortical mode with
$(k_h,k_z) = (\Delta k_h, 2 \Delta k_z)$, corresponding to large, nearly vertically
stacked shear layers (Figure~\ref{fig:spectra_khkz}$\rm (a)$). Energy then tends to be
accumulated at the smallest horizontal wave vectors, close to shear modes. When
vortical modes are removed, energy is sill concentrated in the same wave-vectors, but
in the form of poloidal an potential energy (Figure~\ref{fig:spectra_khkz}$\rm
(d)$-$\rm (f)$). Except for this qualitative difference, the toroidal, poloidal, and
potential energy spectra show the same trends.
\begin{figure}
......@@ -874,6 +961,6 @@
\begin{figure}
\includegraphics[width=1.0\textwidth]{Figure7}
\includegraphics[width=1.0\textwidth]{figure8}
\caption{$(k_h,k_z)$ spectra for the simulations at $(N,\R_i)=(40,20)$, with and
without vortical modes. The cyan dotted lines correspond to $\chi_{\kk}=1/3$ and
$\chi_{\kk}=3$, the cyan dashed line to $k=\kb$, the magenta dotted line to
......@@ -906,7 +993,7 @@
wave dominated range cannot lie above $\chi_{\kk} > 1/3$.
\begin{figure}
\includegraphics[width=1.0\textwidth]{Figure8}
\includegraphics[width=1.0\textwidth]{figure9}
\caption{Ratios of energy for the simulations at $(N,\R_i)=(40,20)$, with and without
vortical modes. The cyan dotted lines correspond to $\chi_{\kk}=1/3$ and
$\chi_{\kk}=3$, the cyan dashed line to $k=\kb$, and the green dotted line to the
......@@ -937,7 +1024,7 @@
\begin{figure}
\includegraphics[width=1.0\textwidth]{Figure9}
\includegraphics[width=1.0\textwidth]{figure10}
\caption{Normalized conversion to potential energy $\tilde{\mathcal{B}}$
(\ref{eq:transfers}) for the simulations at $(N,\R_i)=(40,20)$, with $\rm (a)$ and
without $\rm (b)$ vortical modes. The magenta dotted line corresponds to
......@@ -941,9 +1028,8 @@
\caption{Normalized conversion to potential energy $\tilde{\mathcal{B}}$
(\ref{eq:transfers}) for the simulations at $(N,\R_i)=(40,20)$, with $\rm (a)$ and
without $\rm (b)$ vortical modes. The magenta dotted line corresponds to
$\gamma_{\kk}=1$, the green dotted line to the dissipative scale, and the continuous
black line to $k_z=k_h$. The orange box corresponds to the forcing region.
\label{fig:conversion}}
$\gamma_{\kk}=1$, and the green dotted line to the dissipative scale. The orange box
corresponds to the forcing region. \label{fig:conversion}}
\end{figure}
\subsection{Spatiotemporal analysis in the buoyancy range}
......@@ -956,7 +1042,7 @@
equipartition between poloidal kinetic energy and potential energy. This motivates us
to introduce the equipartition energy as
\begin{equation}
\Eequi(k_h, k_z) = 2 \min \left\{ \Epolo(k_h, k_z), \Epot(k_h, k_z)\right\},
\Eequi(k_h, k_z) = 2 \min \left\{\Epolo(k_h, k_z), \Epot(k_h, k_z)\right\},
\end{equation}
in order to track the presence of waves in the $(k_h, k_z)$ plane. Indeed, $\Eequi$
corresponds to the energy contained in $\Epot$ and $\Epolo$ that is in
......@@ -988,7 +1074,7 @@
(Figure~\ref{fig:omega-k}).
\begin{figure}
\includegraphics[width=1.0\textwidth]{Figure10}
\includegraphics[width=1.0\textwidth]{figure11}
\caption{Slices of $\Eequi(k_h,k_z,\omega)$ for the simulations at $(N,\R_i)=(40,20)$,
with and without vortical modes. (a) $k_z=25.1$ with vortical modes. (b) $k_z=25.1$
without vortical modes. (c) $k_h=25.1$ with vortical modes. (b) $k_h=25.1$ without
......@@ -1017,7 +1103,7 @@
simulations with vortical modes (Figure~\ref{fig:omega-L}$\rm (a)$).
\begin{figure}
\includegraphics[width=1.0\textwidth]{Figure11}
\includegraphics[width=1.0\textwidth]{figure12}
\caption{Spatiotemporal analysis of the simulations with $(N,\R_i)=(40,20)$.
$\Eequi(k_h, k_z, \omega)/\max\limits_\omega E(k_h, k_z, \omega)$ for the simulation
with vortical modes $\rm (a)$ and for the simulation without vortical modes $\rm (b)$.
......@@ -1054,7 +1140,7 @@
compared to the simulations with vortical modes.
\begin{figure}
\includegraphics[width=1.0\textwidth]{Figure12}
\includegraphics[width=1.0\textwidth]{figure13}
\caption{$\delta \omega/\ok$ for simulations with $(N,\R_i) = (40,20)$ with vortical
modes (a) and without vortical modes (b). Dotted lines correspond to $\chi_{\kk} = 1/3$
and $\chi_{\kk} = 3$, the dashed line to $k=\kb$, and the orange box to the forcing
......@@ -1094,7 +1180,7 @@
vortical modes (Figure~\ref{fig:omega_vs_omegak}$\rm (f)$).
\begin{figure}
\includegraphics[width=1\textwidth]{Figure13}
\includegraphics[width=1\textwidth]{figure14}
\caption{Integrated spatiotemporal spectra of the total energy as a function of $\ok/N
= \sin \thk$ and $\omega$ for different simulations at the same viscosity $\nu = 1/(N^2
\R_i)$. $\rm (a)$ $(N,\R_i)=(20,160)$ with vortical modes, $\rm (b)$
......@@ -1111,7 +1197,7 @@
such that the wave energy at a given $(k_h,k_z,\omega)$ is
\begin{equation}
\label{eq:Ewave}
\Ewave(k_h,k_z,\omega) = \Eequi(k_h,k_z,\omega) ~ \exp \left[ -\frac{1}{2} \left( \frac{\omega - \ok(k_h,k_z)}{ \epsilon \ok(k_h,k_z)} \right)^2 \right].
\Ewave(k_h,k_z,\omega) = \Eequi(k_h,k_z,\omega) ~ \exp \left[-\frac{1}{2} \left(\frac{\omega - \ok(k_h,k_z)}{ \epsilon \ok(k_h,k_z)} \right)^2 \right].
\end{equation}
We observed that choosing $\epsilon=0.1$ gives a sufficiently narrow window to keep
only the spatiotemporal region corresponding to internal gravity waves, while keeping
......@@ -1149,10 +1235,10 @@
\begin{equation}
\label{eq:harmonic1}
\omega_1^* = \frac{\omega_0^*}{2} = 0.15~N ~~~~ \Rightarrow
~~~~\theta_1^* = \arcsin \left( \frac{\omega_1^*}{N} \right) \simeq 0.15.
~~~~\theta_1^* = \arcsin \left(\frac{\omega_1^*}{N} \right)\simeq 0.15.
\end{equation}
Invoking, for a second time, the PSI mechanism for a wave of frequency $\omega_1^*$, we
can deduce a second harmonic
\begin{equation}
\label{eq:harmonic2}
\omega_2^* = \frac{\omega_1^*}{2} = 0.075~N ~~~~ \Rightarrow
......@@ -1153,13 +1239,13 @@
\end{equation}
Invoking, for a second time, the PSI mechanism for a wave of frequency $\omega_1^*$, we
can deduce a second harmonic
\begin{equation}
\label{eq:harmonic2}
\omega_2^* = \frac{\omega_1^*}{2} = 0.075~N ~~~~ \Rightarrow
~~~~\theta_2^* = \arcsin \left( \frac{\omega_2^*}{N} \right) \simeq 0.075.
~~~~\theta_2^* = \arcsin \left(\frac{\omega_2^*}{N} \right)\simeq 0.075.
\end{equation}
A third harmonic is obtained by considering that two waves of frequencies $\omega_1^*$
and $\omega_2^*$ interact to give a third wave with frequency
\begin{equation}
\label{eq:harmonic3}
\omega_3^* = \omega_1^* + \omega_2^* = 0.225~N ~~~~ \Rightarrow
......@@ -1160,10 +1246,10 @@
\end{equation}
A third harmonic is obtained by considering that two waves of frequencies $\omega_1^*$
and $\omega_2^*$ interact to give a third wave with frequency
\begin{equation}
\label{eq:harmonic3}
\omega_3^* = \omega_1^* + \omega_2^* = 0.225~N ~~~~ \Rightarrow
~~~~\theta_3^* = \arcsin \left( \frac{\omega_3^*}{N} \right) \simeq 0.225.
~~~~\theta_3^* = \arcsin \left(\frac{\omega_3^*}{N} \right)\simeq 0.225.
\end{equation}
$\theta_f$, $\theta_1^*$, $\theta_2^*$, and $\theta_3^*$ are reported on
Figure~\ref{fig:ratioEwaves_khkz}$\rm (a)$-$\rm (b)$. We see that they reproduce well
......@@ -1172,7 +1258,7 @@
simulations.
\begin{figure}
\includegraphics[width=1.0\textwidth]{Figure14}
\includegraphics[width=1.0\textwidth]{figure15}
\caption{Wave energy ratio $\Ewaver(k_h,k_z)$ (\ref{eq:WaveRatio}) for simulations with
$(N,\R_i)=(40,20)$ with vortical modes $\rm (a)$, and without vortical modes $\rm (b)$.
The cyan dotted lines correspond to $\chi_{\kk}=1/3$, and the cyan dashed line to
......@@ -1207,7 +1293,7 @@
still leads to the same conclusions.
\begin{figure}
\includegraphics[width=1\textwidth]{Figure15}
\includegraphics[width=1\textwidth]{figure16}
\caption{$\Ewaver$ as a function of $F_h$ $\rm (a)$ and $\R$ $\rm (b)$ for all our
simulations with or without vortical modes. The red boxes indicate the simulations with
$(N,\R_i)=(40,20)$ investigated in the previous subsections.
......@@ -1222,7 +1308,6 @@
turbulence without shear modes, and with or without vortical modes, at various Froude
and buoyancy Reynolds numbers.
We observed that removing vortical modes helps to have a better overall balance between
poloidal kinetic energy and potential energy. However, the spatial spectra appear to
behave very similarly with or without vortical modes in our simulations. The spectral
......@@ -1226,13 +1311,13 @@
We observed that removing vortical modes helps to have a better overall balance between
poloidal kinetic energy and potential energy. However, the spatial spectra appear to
behave very similarly with or without vortical modes in our simulations. The spectral
energy budget reveals that conversion between kinetic energy and potential energy do
not show fluctuations around zero, as we would expect for a system of statistically
stationary waves. Additionally, the conversion between potential energy and kinetic
energy becomes small where the wave dissipation parameter $\gamma_{\kk}$
(\ref{eq:DissipationParameter}) is larger than unity. Due to the anisotropy of
stratified flows, this means that it exists a range of scales where waves are
efficiently dissipated by viscosity, but not necessarily the vortices.
energy budget reveals that there is no range in $(k_h,k_z)$ for which the conversion
between kinetic energy and potential energy fluctuates around zero, as we would expect
for a system of statistically stationary waves. Additionally, the conversion between
potential energy and kinetic energy becomes small where the wave dissipation parameter
$\gamma_{\kk}$ (\ref{eq:DissipationParameter}) is larger than unity. Due to the
anisotropy of stratified flows, this means that it exists a range of scales where waves
are efficiently dissipated by viscosity, but not necessarily the vortices.
A spatiotemporal analysis in the buoyancy range showed that increasing stratification
is necessary to decrease the nonlinear broadening to the level required for a weak wave
......@@ -1267,7 +1352,9 @@
\end{equation}
if we assume that dissipation of eddies occurs at the Kolmogorov wave-vector $k_{\eta}
= (\epsK/\nu^3)^{1/4}$. These conditions are necessary to avoid wave breaking and the
development of 3D small-scale eddies. \item The nonlinearity parameter $\chi_{\kk}$
should remain small for all energetic modes. If we assume that dissipation occurs at $k
\lesssim k_\eta$, this leads to the condition
development of 3D small-scale eddies.
\item The nonlinearity parameter $\chi_{\kk}$ should remain small for all energetic
modes. If we assume that dissipation occurs at $k \lesssim k_\eta$, this leads to the
condition
\begin{equation}
......@@ -1273,7 +1360,7 @@
\begin{equation}
\chi_{\rm max} \equiv \max\limits_{\substack{\kk \\ k \leq k_{\eta}}} \chi_{\kk}\leq 1 ~~~~ \Rightarrow ~~~~ \max\limits_{\substack{\kk \\ k \leq k_{\eta}}} \frac{1}{\sin \thk} \left( \frac{k}{\ko} \right)^{2/3} = \frac{k_\eta}{k_{\rm h, min}} \left( \frac{k_\eta}{\ko} \right)^{2/3} \leq 1
\chi_{\rm max} \equiv \max\limits_{\substack{\kk \\ k \leq k_{\eta}}} \chi_{\kk}\leq 1 ~~~~ \Rightarrow ~~~~ \max\limits_{\substack{\kk \\ k \leq k_{\eta}}} \frac{1}{\sin \thk} \left(\frac{k}{\ko} \right)^{2/3} = \frac{k_\eta}{k_{\rm h, min}} \left(\frac{k_\eta}{\ko} \right)^{2/3} \leq 1
\end{equation}
where $k_{\rm h, min}$ represents the minimal horizontal wave-vector. If we consider a
flow of finite size with no shear modes, $k_{\rm h, min} = 2\pi / L_h$ such that
\begin{equation}
\label{eq:smallchi}
......@@ -1275,9 +1362,9 @@
\end{equation}
where $k_{\rm h, min}$ represents the minimal horizontal wave-vector. If we consider a
flow of finite size with no shear modes, $k_{\rm h, min} = 2\pi / L_h$ such that
\begin{equation}
\label{eq:smallchi}
\chi_{\rm max} = \frac{k_\eta L_h}{2 \pi} \left( \frac{k_\eta}{\ko} \right)^{2/3} \leq 1 ~~~~ \Rightarrow ~~~~ \left( \frac{\epsK L_h^4}{\nu^3} \right)^{1/4} \R^{1/2} \lesssim 1.
\chi_{\rm max} = \frac{k_\eta L_h}{2 \pi} \left(\frac{k_\eta}{\ko} \right)^{2/3} \leq 1 ~~~~ \Rightarrow ~~~~ \left(\frac{\epsK L_h^4}{\nu^3} \right)^{1/4} \R^{1/2} \lesssim 1.
\end{equation}
\end{itemize}
Finally, we require the flow to be in a fully turbulent regime such that
......@@ -1299,16 +1386,33 @@
thresholds are obtained by dimensional analysis, so they are defined up to
dimensionless factors, which are set to one for simplicity. On
Figure~\ref{fig:discussion}, we plot our simulations in the $(F_h,\R)$ plane, as well
as the simulations of \cite{reun_parametric_2018} and some recent experiments
\cite{rodda_experimental_2022}. For the simulations of \cite{reun_parametric_2018}, the
Froude number is computed using our definition (\ref{eq:FhR}), and the buoyancy
Reynolds number as $\R = Re F_h^2$ in order to compare to our work. Namely, we have
used Table~1 in \cite{reun_parametric_2018} with $U_h = u_{\rm rms}$, $\epsK =
\varepsilon_k$, and $Re = Re_0$. This leads to different values of $F_h$ and $\R$ than
the ones presented by the authors. We observe that our simulations do not lie in the
region corresponding to (\ref{eq:DissInBuoyancy}), (\ref{eq:LargeRe}), and
(\ref{eq:SmallChi}). On the contrary, \cite{reun_parametric_2018} attained such a
region in their simulations, which provides a tangible explanation for why they
obtained better signatures of WWT.
as the simulations of
\cite{brethouwer_scaling_2007,waite_potential_2013,reun_parametric_2018,lam_energy_2021}
and some recent experiments \cite{rodda_experimental_2022}. For the simulations of
\cite{reun_parametric_2018}, the Froude number is computed using our definition
(\ref{eq:FhR}), and the buoyancy Reynolds number as $\R = Re F_h^2$ in order to compare
to our work. Namely, we have used Table~1 in \cite{reun_parametric_2018} with $U_h =
u_{\rm rms}$, $\epsK = \varepsilon_k$, and $Re = Re_0$. This leads to different values
of $F_h$ and $\R$ than the ones presented by the authors. We observe that our
simulations do not lie in the region corresponding to (\ref{eq:DissInBuoyancy}),
(\ref{eq:LargeRe}), and (\ref{eq:SmallChi}). On the contrary,
\cite{reun_parametric_2018} attained such a region in their simulations, which provides
a tangible explanation for why they obtained better signatures of WWT. It is worth
mentioning that \cite{reun_parametric_2018} did not have to remove shear nor vortical
modes in their simulations to observe signatures of internal wave turbulence. It
indicates that there must be some threshold below which both shear and vortical modes
do not grow if not directly forced. Such a situation would be analogous to rotating
flows where there is a threshold below which geostrophic modes do not grow
\cite{reun_experimental_2019}. We observe that \cite{waite_potential_2013} also
attained very small $\R$. In this study, the authors forced vortical modes so their
simulations are not well suited for WWT. Yet, they showed that potential enstrophy
tends to be quadradic (i.e. $V \simeq V_2$) for $F_h, \R \ll 1$ and that $V_2 \propto
\int ~ \Omega_z^2 ~ \dxdydz$ increases with $\R$ in their simulations. It suggests that
vortical modes energy increases with $\R$ when $\R \lesssim 1$, as explained by
\cite{lam_energy_2021}. Yet, the study of the wave energy ratio is not done while
keeping $F_h$ or $\R$ constant in \cite{lam_energy_2021}. To our knowledge, additional
studies are needed to confirm if the wave energy ratio is for $\R\ll 1$ and $F_h \ll 1$
a decreasing function of $\R$, and if a threshold below which both shear and vortical
modes are stable exists.
\begin{figure}
......@@ -1313,9 +1417,10 @@
\begin{figure}
\includegraphics[width=0.66\textwidth]{figure16.png}
\caption{Simulations of the present study and \cite{reun_parametric_2018}, and the
experiments \cite{rodda_experimental_2022} in the $(F_h, \R)$ parameters space. The
colored full lines corresponding to conditions (\ref{eq:DissInBuoyancy}),
\includegraphics[width=0.66\textwidth]{figure17.png}
\caption{Simulations of the present study and
\cite{brethouwer_scaling_2007,waite_potential_2013,reun_parametric_2018,lam_energy_2021},
and the experiments \cite{rodda_experimental_2022} in the $(F_h, \R)$ parameters space.
The colored full lines corresponding to conditions (\ref{eq:DissInBuoyancy}),
(\ref{eq:LargeRe}), and (\ref{eq:SmallChi}) (see legend). The blue dashed line
corresponds to $Re = 500$. The colored region is where a weak wave turbulence regime is
expected. \label{fig:discussion}}
......@@ -1332,10 +1437,11 @@
\begin{acknowledgments}
This project was supported by the Simons Foundation through the Simons collaboration on
wave turbulence. Part of the computations have been done on the ``Mesocentre SIGAMM''
machine, hosted by Observatoire de la Cote d'Azur. The authors are grateful to the OPAL
infrastructure from Université Côte d'Azur and the Université Côte d’Azur's Center for
We thank two anonymous reviewers for their constructive feedback. This project was
supported by the Simons Foundation through the Simons collaboration on wave turbulence.
Part of the computations have been done on the ``Mesocentre SIGAMM'' machine, hosted by
Observatoire de la Cote d'Azur. The authors are grateful to the OPAL infrastructure
from Université Côte d'Azur and the Université Côte d’Azur's Center for
High-Performance Computing for providing resources and support. This work was granted
access to the HPC/AI resources of IDRIS under the allocation 2022-A0122A13417 made by
GENCI.
......@@ -1346,6 +1452,8 @@
\section{Forcing scheme}
\label{appendix:forcing}
The forcing used in our simulations is prescribed by the following algorithm:
Our forcing is designed to excite waves and computed via generation of pseudo random
numbers with uniform distribution and time interpolation. Namely, we use the following
algorithm:
\begin{algorithm}[H]
......@@ -1350,4 +1458,8 @@
\begin{algorithm}[H]
$t=0$: generate two random numbers $f_{0\kk}, f_{1\kk} \sim \mathcal{P}$ $\forall \kk$ in the forcing region; $t_0 = 0$; \\
$t = 0$; $t_0 = 0$; \\
Generate two complex random fields $\hat f_0(\kk)$ and $\hat f_1(\kk)$; \\
$\hatff = \hat f_0 \, \eep$;\\
Normalize $\hatff$ to ensure
$P_K(t) = \sum\limits_{\kk} ~ \Re \left[ \hatff \cdot \hatvv^* + \frac{\Delta t}{2} |\hatff|^2 \right] = 1$;\\
\While{$t \leq T$}{
......@@ -1353,3 +1465,3 @@
\While{$t \leq T$}{
$t \rightarrow t + \Delta t$; \\
$t = t + \Delta t$; \\
\If{$t - t_0 \geq T_c$}{
......@@ -1355,5 +1467,5 @@
\If{$t - t_0 \geq T_c$}{
$t_0 \rightarrow t$; \\
$f_{0 \kk} \rightarrow f_{1 \kk}$; \\
genererate $f_{1\kk} \sim \mathcal{P}$
$t_0 = t$; \\
$\hat f_0 = \hat f_1$; \\
Generate $\hat f_1$;
}{}
......@@ -1359,6 +1471,6 @@
}{}
$\ffk = \left\{f_{0\kk} - \dfrac{(f_{1\kk} - f_{0\kk})}{2} \left[\cos\left(\dfrac{\pi(t-t_0)}{T_c} \right)+ 1 \right]\right\}~ \eep$ \\
$\ffk$ are normalized to ensure $P_K = 1$
$\hatff = \left\{ \hat f_0 - \dfrac{(\hat f_1 - \hat f_0)}{2} \left[\cos\left(\dfrac{\pi(t-t_0)}{T_c} \right)+ 1 \right]\right\}\, \eep$; \\
Normalize $\hatff$;
}
%\caption{}
\end{algorithm}
......@@ -1362,17 +1474,10 @@
}
%\caption{}
\end{algorithm}
where $\mathcal{P}$ is the probability law which has for distribution
\begin{equation}
p_X(x) = \begin{cases}
\frac{1}{4} ~~ \text{if} ~ Re(x) \in[-1:1] ~ \text{and} ~ Im(x) \in[-1:1] \\
0 ~~ \text{otherwise}
\end{cases}
\end{equation}
and $\Delta t$ is the time increment at each time step.
where $\Delta t$ is the time increment at each time step and $T$ is the final time of
the simulation. The random complex fields are built such that their inverse Fourier
transform is real and they are null for unforced wavenumbers.
\section{List of simulations}
\begin{table}
......@@ -1375,7 +1480,10 @@
\section{List of simulations}
\begin{table}
\begin{tabular}{m{5cm}m{4cm}m{4cm}}
\caption{Overview of the numerical and physical parameters used in the simulations.
$\R_i = P_K/ \nu N^2$. $F_h$ and $\R$ are the turbulent horizontal Froude number and
buoyancy Reynolds number, respectively, defined in (\ref{eq:FhR}).}
\begin{tabular}{m{4cm}m{5.5cm}m{5.5cm}}
\textbf{Control parameters} & \textbf{With vortical modes} & \textbf{Without vortical modes} \\
\end{tabular}
......@@ -1380,160 +1488,8 @@
\textbf{Control parameters} & \textbf{With vortical modes} & \textbf{Without vortical modes} \\
\end{tabular}
\begin{tabular}{|llll|}
\toprule
$N$ & $\R_i= 1/ \nu N^2$ & $n_h$ & $n_z$ \\
\midrule
0.25 & 64000 & 640 & 320 \\
0.66 & 9000 & 640 & 320 \\
0.66 & 18000 & 1280 & 640 \\
1.12 & 3200 & 640 & 320 \\
2 & 1000 & 640 & 320 \\
2 & 2000 & 1280 & 640 \\
3 & 450 & 640 & 320 \\
3 & 900 & 1280 & 640 \\
4 & 250 & 640 & 320 \\
4 & 500 & 1280 & 640 \\
5.20 & 150 & 640 & 320 \\
6.50 & 100 & 640 & 320 \\
6.50 & 200 & 1280 & 640 \\
10 & 5 & 320 & 160 \\
10 & 10 & 320 & 160 \\
10 & 20 & 640 & 320 \\
10 & 40 & 640 & 320 \\
10 & 80 & 1280 & 640 \\
10 & 160 & 1280 & 640 \\
14.5 & 20 & 640 & 320 \\
20 & 1 & 640 & 160 \\
20 & 2 & 640 & 160 \\
20 & 5 & 640 & 160 \\
20 & 10 & 1280 & 320 \\
20 & 20 & 1280 & 320 \\
20 & 40 & 1280 & 320 \\
20 & 80 & 1920 & 480 \\
20 & 160 & 1280 & 320 \\
30 & 10 & 1280 & 320 \\
30 & 20 & 1920 & 480 \\
30 & 40 & 1280 & 320 \\
40 & 1 & 640 & 160 \\
40 & 2 & 640 & 160 \\
40 & 5 & 1280 & 320 \\
40 & 10 & 1280 & 320 \\
40 & 20 & 2560 & 640 \\
40 & 40 & 1280 & 320 \\
40 & 80 & 1280 & 320 \\
60 & 10 & 1280 & 320 \\
60 & 20 & 1280 & 320 \\
80 & 0.5 & 640 & 80 \\
80 & 1 & 640 & 80 \\
80 & 10 & 2560 & 320 \\
100 & 10 & 1280 & 160 \\
120 & 10 & 1280 & 160 \\
\bottomrule
\end{tabular}
%\hfill
\begin{tabular}{|lll|}
\toprule
$\kmax\eta$ & $F_h$ & $\mathcal{R}$ \\
\midrule
1.07 & 1.38e+01 & 63732 \\
1.09 & 5.37e+00 & 8868 \\
1.29 & 5.09e+00 & 17751 \\
1.07 & 3.08e+00 & 3093 \\
1.09 & 1.65e+00 & 914 \\
1.30 & 1.62e+00 & 1834 \\
1.10 & 1.08e+00 & 389 \\
1.30 & 1.01e+00 & 773 \\
1.12 & 7.87e-01 & 204 \\
1.33 & 7.67e-01 & 408 \\
1.13 & 5.89e-01 & 116 \\
1.11 & 4.61e-01 & 72.8 \\
1.32 & 4.39e-01 & 144 \\
2.79 & 4.71e-01 & 3.4 \\
1.67 & 3.58e-01 & 6.7 \\
1.98 & 3.22e-01 & 13.4 \\
1.18 & 2.94e-01 & 26.5 \\
1.41 & 2.84e-01 & 52.9 \\
0.84 & 2.78e-01 & 106 \\
1.16 & 1.98e-01 & 12.2 \\
7.64 & 2.35e-01 & 0.4 \\
4.35 & 1.68e-01 & 0.9 \\
2.10 & 1.46e-01 & 2.6 \\
2.47 & 1.35e-01 & 5.6 \\
1.44 & 1.35e-01 & 11.9 \\
0.85 & 1.40e-01 & 24.3 \\
0.76 & 1.36e-01 & 49.6 \\
0.30 & 1.35e-01 & 98.0 \\
1.31 & 6.19e-02 & 6.2 \\
1.16 & 5.97e-02 & 12.7 \\
0.46 & 6.31e-02 & 25.2 \\
2.49 & 3.09e-02 & 0.5 \\
1.42 & 2.61e-02 & 1.2 \\
1.42 & 2.58e-02 & 3.2 \\
0.84 & 2.36e-02 & 6.5 \\
0.99 & 2.54e-02 & 13.4 \\
0.30 & 2.41e-02 & 26.3 \\
0.18 & 2.78e-02 & 53.6 \\
0.45 & 6.55e-03 & 7.1 \\
0.27 & 7.42e-03 & 13.9 \\
1.37 & 4.58e-03 & 0.4 \\
0.81 & 2.92e-03 & 0.7 \\
0.58 & 3.05e-03 & 7.2 \\
0.21 & 1.97e-03 & 7.2 \\
0.16 & 1.50e-03 & 6.7 \\
\bottomrule
\end{tabular}
%\hfill
\begin{tabular}{|lll|}
\toprule
$\kmax\eta$ & $F_h$ & $\mathcal{R}$ \\
\midrule
1.07 & 9.51e+00 & 62762 \\
1.10 & 3.38e+00 & 8487 \\
1.30 & 3.18e+00 & 17025 \\
1.10 & 2.04e+00 & 2809 \\
1.16 & 1.02e+00 & 719 \\
1.38 & 9.41e-01 & 1436 \\
1.18 & 7.13e-01 & 288 \\
1.42 & 6.04e-01 & 546 \\
1.21 & 5.70e-01 & 151 \\
1.47 & 4.44e-01 & 276 \\
1.21 & 4.33e-01 & 85.7 \\
1.18 & 3.76e-01 & 56.2 \\
1.43 & 3.16e-01 & 104 \\
2.85 & 5.83e-01 & 3.2 \\
1.71 & 4.33e-01 & 6.1 \\
1.03 & 3.45e-01 & 11.6 \\
1.24 & 2.87e-01 & 22.1 \\
0.75 & 2.38e-01 & 40.8 \\
0.91 & 2.03e-01 & 75.0 \\
1.22 & 1.99e-01 & 9.9 \\
8.00 & 3.01e-01 & 0.3 \\
4.75 & 2.07e-01 & 0.6 \\
2.24 & 1.71e-01 & 2.0 \\
2.58 & 1.19e-01 & 4.7 \\
1.53 & 8.85e-02 & 9.4 \\
0.91 & 8.84e-02 & 18.8 \\
0.55 & 7.32e-02 & 35.8 \\
0.33 & 6.53e-02 & 69.5 \\
1.39 & 3.63e-02 & 4.8 \\
0.83 & 3.15e-02 & 9.7 \\
0.49 & 6.39e-02 & 20.0 \\
2.70 & 4.64e-02 & 0.4 \\
1.52 & 2.32e-02 & 0.9 \\
1.50 & 3.82e-02 & 2.6 \\
0.88 & 3.46e-02 & 5.4 \\
1.05 & 3.43e-02 & 10.7 \\
0.32 & 3.18e-02 & 20.1 \\
0.19 & 3.06e-02 & 39.6 \\
0.48 & 1.07e-02 & 5.2 \\
0.28 & 1.13e-02 & 10.8 \\
1.55 & 6.99e-03 & 0.2 \\
0.89 & 3.42e-03 & 0.5 \\
0.63 & 8.38e-03 & 5.3 \\
0.22 & 6.25e-03 & 6.0 \\
0.17 & 2.90e-03 & 4.9 \\
\bottomrule
\end{tabular}
\input{../tmp/table_params.tex}
\input{../tmp/table_better_simuls.tex}
\input{../tmp/table_better_simuls_proj.tex}
\label{table-better-simuls}
\end{table}
......
\documentclass[
aps,
prb,
superscriptaddress,
reprint,
onecolumn,
amsfonts,
amssymb,
amsmath,
]{revtex4-2}
% The result seems nicer with revtex4-2, but
% Debian 9 (Stretch) does not have revtex4-2
\usepackage[utf8]{inputenc}
\usepackage{hyperref} % Required for customising links and the PDF*
\hypersetup{pdfpagemode={UseOutlines},
bookmarksopen=true,
bookmarksopenlevel=0,
hypertexnames=false,
colorlinks=true, % Set to false to disable coloring links
citecolor=blue, % The color of citations
linkcolor=red, % The color of references to document elements (sections, figures, etc)
urlcolor=black, % The color of hyperlinks (URLs)
pdfstartview={FitV},
unicode,
breaklinks=true,
}
\usepackage{graphicx}
\usepackage{grffile}
\usepackage{color}
\usepackage{array}
\usepackage{hhline}
\usepackage[]{algorithm2e}
\usepackage{booktabs}
\usepackage{ulem}
\usepackage{siunitx}
\sisetup{
inter-unit-product = \ensuremath{{}\!\cdot\!{}},
detect-all,
separate-uncertainty = true,
exponent-product = \times,
space-before-unit = true,
output-decimal-marker = {,},
multi-part-units = brackets,
range-phrase = --,
% allow-number-unit-breaks,
list-final-separator = { et },
list-pair-separator = { et },
abbreviations
}
\usepackage{float}
\linespread{1.05}
\setlength{\tabcolsep}{7pt}
% could be commented when the paper is accepted
\graphicspath{{../tmp/}}
\newcommand{\cor}[1]{\textcolor{red}{#1}}
\newcommand{\todo}[1]{\textcolor{red}{TODO: #1}}
\newlength{\figwidth}
\setlength{\figwidth}{120mm}
% \setlength{\figwidth}{0.7\textwidth} % useful in single column
\newcommand{\R}{\mathcal{R}}
\newcommand{\eps}{\varepsilon}
\newcommand{\epsK}{{\varepsilon_{\!\scriptscriptstyle K}}}
\newcommand{\epsKK}{{\varepsilon_{\!\scriptscriptstyle K 2}}}
\newcommand{\epsKKKK}{{\varepsilon_{\!\scriptscriptstyle K 4}}}
\newcommand{\epsA}{{\varepsilon_{\!\scriptscriptstyle P}}}
\newcommand{\xx}{\boldsymbol{x}}
\newcommand{\rr}{\boldsymbol{r}}
\newcommand{\kk}{\boldsymbol{k}}
\newcommand{\eek}{\boldsymbol{e}_{\boldsymbol{k}}}
\newcommand{\eeh}{\boldsymbol{e}_h}
\newcommand{\eep}{\boldsymbol{e}_{p\kk}}
\newcommand{\eet}{\boldsymbol{e}_{t\kk}}
\newcommand{\eex}{\boldsymbol{e}_x}
\newcommand{\eey}{\boldsymbol{e}_y}
\newcommand{\eez}{\boldsymbol{e}_z}
\newcommand{\cc}{\boldsymbol{c}}
\newcommand{\uu}{\boldsymbol{u}}
\newcommand{\vv}{\boldsymbol{v}}
\newcommand{\hatvv}{\hat{\boldsymbol{v}}}
\newcommand{\hatvp}{\hat{v}_{p}}
\newcommand{\hatvt}{\hat{v}_{t}}
\newcommand{\hatb}{\hat{b}}
\newcommand{\hata}{\hat{a}}
\newcommand{\vvs}{\hat{\boldsymbol{v}}_{s}}
\newcommand{\ff}{\boldsymbol{f}}
\newcommand{\hatf}{\hat{f}}
\newcommand{\hatff}{\hat{\boldsymbol{f}}}
\newcommand{\bomega}{\boldsymbol{\omega}}
\newcommand{\bnabla}{\boldsymbol{\nabla}}
\newcommand{\Dt}{\mbox{D}_t}
\newcommand{\p}{\partial}
\newcommand{\mean}[1]{\langle #1 \rangle}
\newcommand{\epsP}{\varepsilon_{\!\scriptscriptstyle P}}
\newcommand{\epsm}{\varepsilon_{\!\scriptscriptstyle m}}
\newcommand{\CKA}{C_{K\rightarrow A}}
\newcommand{\D}{\mbox{D}}
\newcommand{\diff}{\text{d}}
\newcommand{\dxdydz}{\diff x \diff y \diff z}
\newcommand{\bv}{Brunt-V\"ais\"al\"a }
\newcommand{\kmax}{k_{\max}}
\newcommand{\thk}{\theta_{\kk}}
\newcommand{\phk}{\varphi_{\kk}}
\newcommand{\thf}{\theta_f}
\newcommand{\ok}{\omega_{\kk}}
\newcommand{\bOmega}{\boldsymbol{\Omega}}
\newcommand{\oemp}{\omega_{\text{emp}}}
\newcommand{\odoppler}{\delta \omega_{\text{doppler}}}
\newcommand{\Ivelo}{I_{\rm kin}}
\newcommand{\Idiss}{I_{\text{diss}}}
\newcommand{\Pikin}{\Pi_{\rm kin}}
\newcommand{\Pipot}{\Pi_{\text{pot}}}
\newcommand{\Etoro}{E_{\rm toro} }
\newcommand{\Epolo}{E_{\rm polo} }
\newcommand{\Epot}{E_{\rm pot} }
\newcommand{\Eequi}{E_{\rm equi} }
\newcommand{\Ediff}{E_{\text{diff}}}
\newcommand{\Ewave}{E_{\rm wave}}
\newcommand{\Ewaver}{\tilde{E}_{\rm wave}}
\newcommand{\kb}{k_{\rm b}}
\newcommand{\ko}{k_{\rm O}}
\newcommand{\kd}{k_{\rm d}}
\setlength\parindent{0pt}
% For review
\newcommand{\Add}[1]{{\color{blue}#1}}
\newcommand{\Remove}[1]{{\color{red}\sout{#1}}}
\newcommand{\Comment}[1]{{\color{green}#1}}
\begin{document}
\title{Internal gravity waves in stratified flows with and without vortical modes}
\author{Vincent Labarre}
\email[]{vincent.labarre@oca.eu}
\affiliation{Universit\'{e} C\^{o}te d'Azur, Observatoire de la C\^{o}te d'Azur, CNRS,
Laboratoire Lagrange, Nice, France}
\author{Pierre Augier}
\email[]{pierre.augier@univ-grenoble-alpes.fr}
\affiliation{Laboratoire des Ecoulements G\'eophysiques et Industriels, Universit\'e
Grenoble Alpes, CNRS, Grenoble-INP, F-38000 Grenoble, France}
\author{Giorgio Krstulovic}
\email[]{giorgio.krstulovic@oca.eu}
\affiliation{Universit\'{e} C\^{o}te d'Azur, Observatoire de la C\^{o}te d'Azur, CNRS,
Laboratoire Lagrange, Nice, France}
\author{Sergey Nazarenko}
\email[]{sergey.nazarenko@unice.fr}
\affiliation{Universit\'{e} C\^{o}te d'Azur, CNRS, Institut de Physique de Nice -
INPHYNI, Nice, France}
\begin{abstract}
The comprehension of stratified flows is important for geophysical and astrophysical
applications. The Weak Wave Turbulence theory aims to provide a statistical description
of internal gravity waves propagating in the bulk of such flows. However, internal
gravity waves are usually perturbed by other structures present in stratified flow,
namely the shear modes and the vortical modes. In order to check whether a weak
internal gravity wave turbulence regime can occur, we perform direct numerical
simulations of stratified turbulence without shear modes, and with or without vortical
modes at various Froude and buoyancy Reynolds numbers. We observe that removing
vortical modes naturally helps to have a better overall balance between poloidal
kinetic energy, involved in internal gravity waves, and potential energy. However,
conversion between kinetic energy and potential energy does not necessarily show
fluctuations around zero in our simulations, as we would expect for a system of weak
waves. A spatiotemporal analysis reveals that removing vortical modes helps to
concentrate the energy around the wave frequency, but it is not enough to observe a
weak wave turbulence regime. Yet, we observe that internal gravity waves whose
frequency are large compared to the eddy turnover time are present, and we also find
evidences for slow internal gravity waves interacting by Triadic Resonance
Instabilities in our strongly stratified flows simulations. Finally, we propose
conditions that should be fulfilled in order to observe a weak internal gravity waves
turbulence regime in real flows.
\end{abstract}
%----------------------------------------------------------------------------------------
% Print the title
\maketitle
%----------------------------------------------------------------------------------------
% ARTICLE CONTENTS
%----------------------------------------------------------------------------------------
\section{Introduction}
\label{sec:introduction}
% WWT
As eddies in classical hydrodynamic turbulence, waves in nonlinear systems interact and
transfer conserved quantities along scales in a cascade process. The Weak-Wave
Turbulence (WWT) theory aims to provide a statistical description of the system when
the nonlinearity is small \cite{zakharov_kolmogorov_1992,nazarenko_wave_2011,
nazarenko_wave_2015}. The applications of this theory encompass capillary-gravity waves
\cite{falcon_experiments_2022}, gravito-inertial waves in rotating and stratified
fluids \cite{caillol_kinetic_2000, galtier_weak_2003, medvedev_turbulence_2007}, 2D
acoustic waves \cite{griffin_energy_2022}, elastic plates \cite{during_weak_2006},
Alfvén waves in magnetohydrodynamics (MHD) \cite{galtier_weak_2000}, Kelvin waves in
superfluids \cite{lvov_weak_2010}, density waves in Bose-Einstein condensates
\cite{dyachenko_optical_1992}, and gravitational waves \cite{galtier_turbulence_2017}.
% Weak nonlinearity and small nonlinear broadening
Three key hypotheses are used in weak-wave turbulence (WWT) theory. The first one is
weak nonlinearity of the dynamical equations. This condition is often translated in
terms of spatial scale separation: the considered scale on one side and the saturation
scale on the other. The saturation scale is here defined as the scale at which the weak
nonlinearity no longer holds, inducing wave breaking. This hypothesis is quite similar
to the separation between the integral scale and the dissipative scale in the classical
picture of 3D hydrodynamic turbulence, which is necessary for observing an inertial
range. The second hypothesis corresponds to a separation of time scales. It requires
that the linear time, given by the wave period $\tau_{\rm L}$, is much shorter than the
nonlinear time of interactions between waves $\tau_{\rm NL}$
\cite{nazarenko_wave_2011}. The third hypothesis is that the nonlinear broadening
$\delta \omega \sim 1/\tau_{\rm NL}$, which measures the frequency of nonlinear
interactions, must be larger than the frequency gap between wave modes $\Delta \omega$
in the discrete Fourier space. This last condition is necessary to permit enough
nonlinear interactions among waves such that we can consider Fourier space as being
continuous \cite{lvov_discrete_2010}.
For many physical situations, at least one of the three hypotheses of WWT is broken in
some range of scales, which reduces the validity of the theory
\cite{biven_breakdown_2001, lvov_discrete_2010}. Yet, when scale separation is observed
in space and time, a WWT range can emerge in wave energy spectra. Besides the practical
difficulties for obtaining scale separation, testing WWT in isotropic systems is
conceptually simpler. For this reason, main progress have been made in the experimental
and numerical verification of WWT for elastic plates \cite{miquel_nonstationary_2011,
yokoyama_identification_2014}, capillary-gravity waves \cite{pan_direct_2014,
falcon_experiments_2022}, density waves in Bose-Einstein condensates
\cite{zhu_testing_2022}, and 2D acoustic waves \cite{griffin_energy_2022}.
Anisotropic turbulence is, generally speaking, more difficult to investigate than
isotropic turbulence because of the reduced number of symmetries of the considered
system. For example, it has been shown that studying 2D spatial spectra instead of 1D
integrated spectra is essential to investigate stratified turbulence
\cite{yokoyama_energy-based_2019}. Anisotropy makes the problem multidimensional in
Fourier space, which makes the notion of spectral energy fluxes, and other relevant
quantities, more difficult to define and calculate than in isotropic turbulence
\cite{yokoyama_energy-flux_2021}. An additional difficulty is that scale separations
required by WWT can also be anisotropic. For linearly stratified flows, the weak
nonlinearity of the Navier-Stokes equations requires that the spatial scale separation
\begin{equation}
k/\kb \ll 1
\end{equation}
is satisfied, where $\kb = N/U_h$ is the buoyancy wave-vector, $k$ is the wave-vector
modulus, $U_h$ is the rms of the horizontal velocity, and $N$ is the \bv frequency.
This condition should be fulfilled in order to avoid wave-breaking
\cite{waite_stratified_2011}. The temporal scale separation between linear waves and
eddies leads to the different condition
\begin{equation}
\tau_{\rm L}/\tau_{\rm NL} = \frac{(\epsK k^2)^{1/3}}{N k_h/k} \ll 1,
\end{equation}
where $\epsK$ is the kinetic energy dissipation rate, $k_h$ is the horizontal
wave-vector modulus, $\tau_{\rm L} = 2\pi k /(N k_h)$ is the period of internal gravity
waves, and $\tau_{\rm NL} = 2\pi/(k^2 \epsK)^{1/3}$ is the eddy turnover time
\cite{yokoyama_energy-based_2019}. Physically, when $\tau_{\rm L}/\tau_{\rm NL} \ll 1$,
the waves are faster than the typical time of their nonlinear interactions. Due to the
anisotropic dispersion relation of internal gravity waves, time scale separation is
less valid for small $k_h$, and even impossible for modes with $k_h=0$. Consequently,
separation of times scales can be violated even if a large separation of spatial scales
is observed (i.e. $k/\kb \ll 1$). A similar situation takes place in plasmas under the
effect of a strong magnetic field, or strongly rotating and stratified flows. It is
therefore more difficult to observe signatures of WWT in anisotropic systems.
Stratified turbulence is not only an interesting conceptual problem, but it is also
essential for understanding geophysical flows. \cite{staquet_internal_2002,
vallis_atmospheric_2017}. In particular, sub-grid parameterizations in climate models
require an understanding of the role of waves in mixing \cite{mackinnon_climate_2017,
gregg_mixing_2018}. It is therefore not surprising that stratified turbulence received
a particular attention from both the ``strong'' turbulence community
\cite{billant_self-similarity_2001, waite_stratified_2004, waite_stratified_2006,
lindborg_energy_2006, brethouwer_scaling_2007, waite_stratified_2011,
kimura_energy_2012, bartello_sensitivity_2013, brunner-suzuki_upscale_2014,
augier_stratified_2015, maffioli_vertical_2017}, and the WWT community
\cite{caillol_kinetic_2000, lvov_hamiltonian_2001, lvov_weak_2010,
dematteis_downscale_2021, dematteis_origins_2022}. It turns out that internal waves are
effectively important in the dynamics and mixing in stratified flows
\cite{maffioli_signature_2020, lam_partitioning_2020, lam_energy_2021}, and that
three-wave resonant interactions are responsible for slow energy transfers between
different scales \cite{brouzet_internal_2016, davis_succession_2020,
rodda_experimental_2022}. Internal waves can be excited, for example, by tides
\cite{reun_parametric_2018} or by linearly unstable wave attractors
\cite{brouzet_internal_2016}. However, many questions and issues remain about the
applicability of WWT to stratified flows. In particular, it is not yet clear under
which conditions a weak wave turbulence regime could occur.
It has been showed that a wave dominated region should lie in the spectral region
defined by $\tau_{\rm L} / \tau_{\rm NL} < 1/3$ \cite{yokoyama_energy-based_2019}, in
agreement with observations made for MHD \cite{meyrand_direct_2016}. However, the
observation of a system of weakly interacting internal gravity waves is still delicate
due to non-wave structures such as shear modes (purely vertical shear) and vortical
modes (vertical vorticity). The same problem arises in rotating flows, in which the
geostrophic modes play the role of the non-propagative structures. It has been
ingeniously shown that tidal forcing is very efficient at triggering weakly nonlinear
internal gravity waves \cite{reun_parametric_2018}, in a way reminiscent of the
inertial waves' excitation by libration in rotating fluids \cite{le_reun_inertial_2017,
reun_experimental_2019}. Experimentalists overcame this difficulty by using honeycomb
grids at the top and bottom boundaries of a rotating tank to dissipate geostrophic
modes efficiently, allowing them to observe weak inertial wave turbulence
\cite{brunet_shortcut_2020, monsalve_quantitative_2020}, in a similar fashion to the
numerical study of \cite{le_reun_inertial_2017}. More recently, it has been observed
that resonance with the container modes also prevent to observe weak internal gravity
wave turbulence, and that the introduction of slightly tilted panels at the top and at
the bottom of the fluid domain allows to inhibit the emergence of these modes
\cite{lanchon_internal_2023}. All these works point out that some wave systems can
generate non-wave motions that can severely affect the wave dynamics and should be
suppressed in experiments aiming to observe wave turbulence. In stratified flows these
modes correspond to vertical shear, vertical vorticity, an eventually the container
modes.
The most commonly used prediction of WWT is the scale-invariant stationary solution to
the kinetic equation. This solution gives the expected spatial energy spectra of waves
in the statistically steady state. There are two types of solutions: the thermodynamic
equilibrium solution (Rayleigh-Jeans spectra), and the non-equilibrium solutions that
are linked to the cascade of the dynamical invariants of the system along scales
(Kolmogorov-Zakharov spectra) \cite{nazarenko_wave_2011}. It is important to note that
the Kolmogorov-Zakharov spectra are obtained after the Zakharov transformation, which
can add spurious solutions. Therefore, these spectra can be considered as valid only if
the collision integral in the original wave kinetic equation converges. The importance
of the nonlinear interactions among internal gravity waves was recognized early,
leading to several derivations of waves kinetic equations (see
\cite{muller_nonlinear_1986, lvov_resonant_2012}). Derivation of the
Kolmogorov-Zakharov spectra in the limit of large vertical wave-numbers $k_z \simeq k
\gg k_h$ can be found in \cite{caillol_kinetic_2000, lvov_hamiltonian_2001}. This
candidate solution corresponds to an energy cascade, and is given by the energy spectra
\begin{equation}
E(k_h, k_z) \sim k_h^{-3/2} k_z^{-3/2} ~~~~ \text{and} ~~~~ E(\omega, k_z) \sim \omega^{-3/2} k_z^{-2},
\end{equation}
\Add{where the change of coordinates is defined by the dispersion relation $E(\omega,
k_z) = E(k_h,k_z) \left( \partial \ok / \partial k_h \right)^{-1}$.} Yet, it was noted
that this candidate does not satisfy the requirement of locality, i.e. the collision
integral diverges on it. In the other words, it is not a valid mathematical solution of
the kinetic equation. Later, it was shown that power law solutions $E(k_h,k_z) \sim
k_h^{-\alpha_h} ~ k_z^{-\alpha_z}$ have convergent collision integral's contributions
only on the segment $\alpha_h \in ]2, 3[, \alpha_z=1$ \cite{lvov_oceanic_2010,
dematteis_downscale_2021}. The collision integral was then computed numerically on this
segment, and it was deduced that the only scale invariant stationary solution to the
kinetic equation was close to
\begin{equation}
\label{eq:WWTpredictions}
E(k_h, k_z) \sim k_h^{-1.69} k_z^{-1} ~~~~ \text{and} ~~~~ E(\omega, k_z) \sim \omega^{-1.69} k_z^{-1.69}.
\end{equation}
It was also shown that the dominant contributions to the collision integral corresponds
to non-local transfers first identified by McComas \cite{mccomas_resonant_1977},
notably the Parametric Subharmonic Instability (PSI) \cite{mccomas_resonant_1977,
muller_nonlinear_1986} observed in oceans \cite{mackinnon_parametric_2013} and
experiments \cite{rodda_experimental_2022}, consisting in the resonant interaction of a
primary wave and two smaller-scale waves of nearly half the frequency.
When $k/\kb \gg 1$, nonlinearity is not small and WWT is not valid. Based on the idea
that there exists a range of spatial scales where buoyancy force has the same order of
magnitude than inertia, the following 1D integrated energy spectra
\begin{equation}
\label{eq:CriticalBalance}
E_{\rm 1D}(k_h) \sim \epsK^{2/3} k_h^{-5/3} ~~~~ \text{and} ~~~~ E_{\rm 1D}(k_z) \sim N^2 k_z^{-3}
\end{equation}
where predicted \cite{lindborg_energy_2006}. In the strong wave turbulence context,
these predictions can also be obtained using critical balance arguments
\cite{nazarenko_critical_2011, nazarenko_wave_2011}. At even smaller scales, where
stratification is negligible, an isotropic range with the energy spectra
\begin{equation}
\label{eq:Isotropic}
E_{\rm 1D}(k) \sim \epsK^{2/3} k^{-5/3}
\end{equation}
is expected. It happens when $\kb < \ko \ll k \ll k_{\eta}$ where $\ko$ is the Ozmidov
wave-vector and $k_{\eta}$ is the Kolmogorov wave-vector.
The present study first deals with the existence and properties of a weak internal
gravity wave turbulence regime. To this end, we perform numerical simulations of
stratified turbulence at various \bv frequency and viscosity. In the same spirit as
simulations and experiments of rotating flows \cite{le_reun_inertial_2017,
brunet_shortcut_2020, monsalve_quantitative_2020}, we remove shear modes in all of our
simulations. For each values of the control parameters, we perform two ``twin''
simulations: one where the vortical modes remain, and one where vortical modes are
removed from the dynamics by a projection in spectral space
\cite{craya_contribution_1957}. It is worth noting that numerical simulations of
reduced dynamical equations (i.e., without non-wave structures) of stratified rotating
flows in the hydrostatic balance have already been conducted to remove non-wave
structures \cite{lvov_nonlinear_2009}. Despite the simplifications, these simulations
reproduced some key features of oceanic internal-wave spectra, such as the accumulation
of energy at near-inertial waves and realistic frequency and horizontal wave-number
dependencies of spatiotemporal spectra. In the present work, we do not account for
rotation. However, our simulations allows to investigate the role of vortical modes on
the dynamics of stratified flows outside the hydrostatic balance approximation.
The manuscript is organized as follows. In section \ref{sec:methods}, we present our
methodology including a presentation of the code and the simulations. Our results are
presented in section \ref{sec:results}. Subsection \ref{subsec:global} is devoted to
the study of flow regimes in the control parameter space. It shows, as expected, that
WWT is naturally more likely to occur at high stratification and without vortical
modes. Subsections \ref{subsec:khkz} and \ref{subsec:khkzomega} deal with the
spatiotemporal analysis of a couple of strongly stratified simulations to investigate
further the presence of linear waves in spatial scales. In the last subsection
\ref{subsec:waves_energy}, we propose a simple diagnostic to evaluate the predominance
of waves in the parameter space. We give concluding remarks in section
\ref{sec:conclusions}.
\section{Methods}
\label{sec:methods}
We use the 3D Navier-Stokes equations under the Boussinesq approximation: \Remove{with
added hyperviscosity and hyperdiffusion:}
\begin{align}
\label{eq:Continuity}
\bnabla \cdot \vv &= 0 \\
\label{eq:Impulsion}
\p_t\vv + \vv \cdot \bnabla \vv &= b ~ \boldsymbol{e}_z - \bnabla p +
\nu \nabla^2\vv + \ff, \\
\label{eq:Buoyancy}
\p_t{b} + \vv \cdot \bnabla b &= -N^2 v_z + \kappa\nabla^2{b} ,
\end{align}
where $(x,y,z)$ will represent the three spatial coordinates in the cartesian frame
$(O, \eex, \eey, \eez)$, $\eez$ is the stratification axis, $\vv=(v_x, v_y, v_z)$ is
the velocity, $b$ the buoyancy, $p$ the total kinematic pressure, $N$ the \bv
frequency, $\nu$ the viscosity, $\kappa$ the diffusivity\Remove{, $\nu_4$ the
hyperviscosity, $\kappa_4$ the hyperdiffusivity,} and $\ff$ is the velocity forcing.
\Add{The buoyancy is defined as $b = -g \rho' / \rho_0$, where $g$ is the acceleration
due to gravity, $\rho_0$ is the average density of the fluid at $z=0$, and $\rho'$ is
the density perturbation with respect to the average linear density profile
$\bar{\rho}(z) = \rho_0 + (\mathrm{d}\bar{\rho}/\mathrm{d}z)z$.} The Schmidt number $Sc
= \nu/\kappa$ is fixed to one.
\Add{We simulate forced-dissipated flows} with the pseudo-spectral solver
\texttt{ns3d.strat} from the FluidSim software \cite{mohanan_fluidsim_2019} (an
open-source Python package of the FluidDyn project \cite{fluiddyn} using Fluidfft
\cite{fluidfft} to compute the Fast Fourier Transforms). \Add{The forcing, which will
be described in details at the end of this section and in
Appendix~\ref{appendix:forcing}, is computed in spectral space such that the kinetic
energy injection rate $P_K$ is constant and equal to unity. The physical input
parameters are the \bv frequency $N$ and the diffusive coefficients $\nu=\kappa$, but
in practice, we identify our simulations with the couple $(N,\,\R_i)$, where $\R_i
\equiv P_K / (\nu N^2)$ is the input buoyancy Reynolds number.} The turbulent
non-dimensional numbers characterizing the statistically stationarity flow are the
horizontal turbulent Froude number \Remove{, the Reynolds number,} and the buoyancy
Reynolds number \cite[]{brethouwer_scaling_2007} that are respectively
\begin{equation}
\label{eq:FhR} F_h = \frac{\epsK}{{U_h}^2 N} \Remove{, ~~~~ Re =
\frac{U_h^4}{\nu \epsK}} ~~~~ \text{and} ~~~~ \R = \frac{\epsK}{\nu N^2},
\end{equation}
\Add{where $\epsK$ is the kinetic energy dissipation rate and $U_h$ the rms of the
horizontal velocity.} \Add{Note that the turbulent Reynolds number is given by $Re = \R
/ F_h^2$.} We also compute the buoyancy and the Ozmidov wave-vectors $\kb \equiv N/U_h$
and $\ko \equiv \sqrt{N^3 / P_K}$. All the quantities presented in this manuscript are
computed from averaging when stationarity is reached. A list of the simulations, with
relevant parameters and physical quantities, is given in
Appendix~\ref{table-better-simuls}.
In this study, we consider a periodic domain of horizontal size $L_x = L_y = L_h = 3$
\Add{and vertical size} \Remove{of the domain,} $L_z$ \Remove{, is varied depending on
the value of the \bv frequency}. We note $(n_x, n_y, n_z)$ the numbers of collocations
points in the three spatial directions, with $n_x = n_y \equiv n_h$. \Add{We chose
$n_z$ in order to have an isotropic mesh in physical space, i.e. $L_z/n_z = L_h/n_h$.}
\Add{We decrease $L_z$ with $N$. Typically, $L_z \propto 1/N$, while $L_h$ is kept
constant for all simulations. More precisely, the aspect ratio $L_z/L_h$ is $1/2$ for
$N \leq 20$, $1/4$ for $N \leq 60$, and $1/8$ for $N \geq 80$. This choice is motivated
by the fact that the unforced and undissipated Boussinesq equations are self-similar in
the limit $F_h \rightarrow 0$, with similarity variable $zN/U$, where $U$ is the
typical velocity \cite{billant_self-similarity_2001}. In that way, we simulate few
layers (of height $L_b = U/N$) for all our simulations.}
\Add{To reduce the computational costs, we first simulate the transient state with a
coarse resolution with $n_h = 320$.}
\Add{For these simulations, two hyperdiffusive terms $-\nu_4 \nabla^4 \vv$ and
$-\kappa_4\nabla^4{b}$ are added to (\ref{eq:Impulsion}) and (\ref{eq:Buoyancy}),
respectively, in order to keep the dissipative range in the simulated scales and avoid
thermalisation at small scales.}
\Add{Once a statistically steady-state is reached, we increase the resolution of the
simulation while decreasing hyper-viscosity. Then the simulation is run until reaching
a new statistically steady state. The previous step is repeated until reaching the
highest resolution.}
We measure the turbulent kinetic dissipation rates $\epsKK$ and $\epsKKKK$ based on
both viscosities, and the total kinetic energy dissipation rate $\epsK = \epsKK +
\epsKKKK$. The product of the maximal wave-vector $\kmax$ with the Kolmogorov scale
$\eta \equiv (\nu^3 / \epsK)^{1/4}$ is computed to quantify how close our simulations
are from true Direct Numerical Simulations (DNS). \Add{In practice, it is common to
consider that simulations are proper DNS with well-resolved small scales when
$\kmax\eta > 1$ \cite[]{deBruynKops1998,brethouwer_scaling_2007}.} \Add{For the
statistically stationarity state, the time average of the total energy dissipation rate
is equal to the injection rate $P_K$ so that the product $\kmax\eta$ depends mostly on
$\nu$ and $n_h$.} \Add{For most couples $(N,\,\R_i)$, the resolution of the larger
simulation is fine enough ($\kmax\eta \gtrsim 1$) so that the hyperdiffusion is zero or
negligible.} \Add{For example, the two simulations analyzed in details in the next
section (Figures~\ref{fig:buoyancy_fields} to \ref{fig:ratioEwaves_khkz}) are proper
DNS with $\kmax\eta$ equal to 0.99 and 1.05, respectively (see
table~\ref{table-better-simuls}).} \Add{There are also few simulations with $0.45 <
\kmax\eta < 1$ (19 out of 78 simulations), which remain slightly under-resolved and
affected by hyper-viscosity. In that case, small-scales and flow statistics should be
analyzed carefuly. We checked that these simulations do not change the results
presented here.}
The Fourier transform of the velocity field $\hatvv = (\hat{v}_x, \hat{v}_y,
\hat{v}_z)$ can be written using the poloidal-toroidal-shear decomposition (see e.g.
\cite{craya_contribution_1957, smith_generation_2002, laval_forced_2003,
godeferd_toroidalpoloidal_2010, kimura_energy_2012, maffioli_vertical_2017})
\begin{equation}
\hatvv = \begin{cases} \hatvp ~ \eep + \hatvt ~ \eet ~~~~ \text{if} ~ k_h \neq 0, \\
\vvs = \hat{v}_x ~ \eex + \hat{v}_y ~ \eey ~~~~ \text{if} ~ k_h = 0,
\end{cases}
\end{equation}
where
\begin{equation}
\label{eq:poloidal-toroidal}
\eek = \frac{\kk}{k}, ~~~~
\eep = \frac{\kk \times (\kk \times \eez)}{|\kk \times (\kk \times \eez)|}, ~~~~
\eet = \frac{\eez \times \kk}{|\eez \times \kk|}.
\end{equation}
$\hatvp$ is the poloidal component, $\hatvt$ the toroidal component, $\vvs$ the shear
modes component, $\kk=(k_x, k_y, k_z)$ denotes the wave-vector, $k =|\kk| = \sqrt{k_x^2
+ k_y^2 + k_z^2}$ is its modulus, and $k_h = \sqrt{k_x^2 + k_y^2}$ is the modulus of
the horizontal component of the wave-vector (Figure~\ref{fig:poloidal-toroidal}).
\Add{Since the toroidal component $\hatvt$ corresponds only to the vertical vorticity
($\hat{\Omega}_z = i k \hatvt \sin \thk$, with $\bOmega = \bnabla \times \vv$ being the
vorticity), we also denote it as the ``vortical" velocity.}
\begin{figure}
\centering
\includegraphics[width=0.4\textwidth]{Figure1}
\caption{Illustration of the poloidal-toroidal basis $(\eek, \eep, \eet)$ defined by
equations (\ref{eq:poloidal-toroidal}). $\thk$ is the angle between $\eez$ and $\eek$.
$\phk$ is the angle between the horizontal projection of $\kk$ and $\eex$.
\label{fig:poloidal-toroidal}}
\end{figure}
% Description of linear modes and shear modes dynamics
In spectral space, once projected, the equations of motion
(\ref{eq:Continuity}-\ref{eq:Buoyancy}) read
\begin{align}
\label{eq:StratifiedSpectralPoloidalToroidal}
\begin{cases}
\dot{\hat{v}}_p &= - (\widehat{\vv \cdot \bnabla \vv}) \cdot \eep - \hatb \sin \thk - \nu k^2 \hatvp + \hatff \cdot \eep \\
\dot{\hat{v}}_t &= - (\widehat{\vv \cdot \bnabla \vv}) \cdot \eet - \nu k^2 \hatvt + \hatff \cdot \eet \\
\dot{\hatb} &= - \widehat{\vv \cdot \bnabla b} + N^2 \hatvp \sin \thk - \kappa k^2 \hatb
\end{cases}
~~~~~~~~ \text{for }~ k_h \neq 0
\end{align}
and
\begin{align}
\label{eq:StratifiedSpectralShearModes}
\begin{cases}
\dot{\hat{\vv}}_{s} &= - \widehat{\vv \cdot \bnabla \vv_h} - \nu k^2 \vvs, \\
\dot{\hatb} &= - \widehat{\vv \cdot \bnabla b} - \kappa k^2 \hatb
\end{cases}
~~~~~~~~ \text{for }~ k_h = 0,
\end{align}
where $\vv_h = (v_x,v_y,0)$ is the horizontal velocity and $\widehat{\cdot}$ denotes
the Fourier transform. We will also note $k_i \in \Delta k_i ~ \mathbb{Z}$ with $\Delta
k_i = 2\pi /L_i$ for $i =x,y,z$, and hereafter assume $\Delta k_x = \Delta k_y \equiv
\Delta k_h$. Without forcing and dissipation, the linearized equations
(\ref{eq:StratifiedSpectralPoloidalToroidal}-\ref{eq:StratifiedSpectralShearModes}) can
be written as
\begin{align}
\label{eq:StratifiedSpectralPoloidalToroidalLinear}
\dot{\hata} &= -i \ok \hata, ~~~~ \dot{\hata}^{(0)} = 0, ~~~~ \text{if} ~~ k_h \neq 0 \\
\label{eq:StratifiedSpectralShearModesLinear}
\dot{\hatvv}_{s} &= \mathbf{0}, ~~~~
\dot{\hatb} = 0 ~~~~ \text{if} ~~ k_h = 0,
\end{align}
where
\begin{equation}
\hata = \frac{\hatvp - i \frac{\hatb}{N}}{\sqrt{2\ok}}, ~~~~ \text{and} ~~~~ \ok = N \frac{k_h}{k} = N \sin \thk
\end{equation}
are the waves modes and the pulsation of the waves, $\thk$ is the angle between $\kk$
and the stratification axis $\eez$, and $\hata^{(0)} \propto \hatvt$ are the vortical
modes\Remove{(corresponding to vertical vorticity)}. Equations
(\ref{eq:StratifiedSpectralPoloidalToroidalLinear}-\ref{eq:StratifiedSpectralShearModesLinear})
show that both shear modes and vortical modes have zero frequency. This means that
linear waves can only exist in the poloidal velocity and the buoyancy, but not in the
toroidal velocity nor the shear velocity.
We are motivated by forcing internal gravity waves, which only involve the poloidal
part of the velocity field and have an anisotropic dispersion relation. Therefore, we
use an anisotropic, poloidal velocity forcing $\hatff = \hatf \, \eep$. The flow is
forced at large spatial scales $ \left\{\kk ~ | ~ 5 \leq k/\Delta k_h \leq 20 \right\}$
and small angle $\left\{\kk ~ | ~ |\ok /N - \sin \theta_f| \leq 0.05 \right\}$ where
$\sin \theta_f = 0.3$, meaning that relatively slow internal waves are forced. The
forcing scheme is described in Appendix~\ref{appendix:forcing}. \Add{It is neither
harmonic nor given by a stochastic differential equation. Instead, a time correlated
forcing is computed via generations of pseudo random numbers and time interpolations.}
Its correlation time is equal to the period of the forced waves $T_c = 2\pi /(N \sin
\theta_f)$. \Add{The forcing is normalized such that the kinetic injection rate $P_K$
is always equal to 1.} \Add{Forcing slow waves is motivated by oceanic applications,
where waves are generated, among other processes, by slow tides
\cite{mackinnon_climate_2017, nikurashin_legg_mechanism_2011}. Low frequency forcing is
also used in order to have a scale separation between forced frequencies and the \bv
frequency so that one can potentially reproduce features of the oceanic temporal
spectra close to $N$.}
The time advancement is performed using the $4^{th}$ order Runge-Kutta scheme. All
modes with wave-number modulus larger than $\kmax = 0.8 (n_h/2) \Delta k_h$ are
truncated to limit aliasing. \Add{We checked that this 0.8 spherical truncation is a
good compromize consistent with our other numerical choices.} Shear modes and
vertically invariant vertical velocity (internal waves at $\omega = N$), which are
absent in flows bounded by walls, are also removed in our simulations \Add{by fixing
nonlinear transfers to these modes to zero}. \Add{For the simulations without vortical
modes, the toroidal projection of the velocity and of the nonlinear transfers are set
to zero. \citet{smith_generation_2002} used a similar procedure in order to distangle
the roles of potential vorticity modes and waves modes in rotating stratified
turbulence.}
\Add{Without dissipation and forcing, equations (\ref{eq:Continuity}-\ref{eq:Buoyancy})
conserve the total energy $E = \int ~ \left[ \vv^2 / 2 + b^2 / (2N^2) \right] ~ \diff x
\diff y \diff z$ and the potential vorticity $\Pi = \bOmega \cdot \left( N^2 \eez +
\bnabla b \right)$ is a Lagrangian invariant \cite{bartello_geostrophic_1995}. It
follows that the spatial average of any function of $\Pi$ is conserved. As a special
case, the potential enstrophy}
\begin{align}
V &\equiv \frac{1}{2} \int ~ \Pi^2 ~ \dxdydz \\ &=
\frac{1}{2} \int ~ N^4 \Omega_z^2 ~ \dxdydz + \int ~ N^2 \Omega_z
\bOmega \cdot \bnabla b ~ \dxdydz + \frac{1}{2} \int ~ \left( \bOmega
\cdot \bnabla b \right)^2 ~ \dxdydz \\ &\equiv V_2 + V_3 + V_4
\end{align}
\Add{is an invariant of equations (\ref{eq:Continuity}-\ref{eq:Buoyancy}) in absence of
dissipation and forcing. For a flow without vertical vorticity $V_2 = V_3 =0$.}
\section{Results}
\label{sec:results}
\subsection{Regimes and global energy distribution}
\label{subsec:global}
In this subsection, we study the anisotropy of the flow and global energy budget in the
$(F_h, \R)$ plane. To discuss stratified turbulence regimes, it is useful to introduce
a large and a small scale isotropy coefficients \cite{linares_numerical_2020}. The
former is based on the kinetic energy components
\begin{equation}
\label{eq:Ivelo}
\Ivelo = \frac{3 E_{\rm kin,z}}{E_{\rm kin}}
\end{equation}
where $E_{\rm kin,z}$ is the vertical velocity energy and $E_{\rm kin}$ is the total
kinetic energy. The small scale isotropy coefficient is computed using the kinetic
energy dissipation rates, namely
\begin{equation}
\label{eq:Idiss}
\Idiss = \frac{1 - \varepsilon_{\rm kin,z}/\varepsilon_{\rm kin}}{(1 - 1/3)}
\end{equation}
where $\varepsilon_{\rm kin,z}$ is the energy dissipation rate due to vertical
gradients. Both $\Ivelo$ and $\Idiss$ are equal to unity for an isotropic flow.
Conversely, $\Ivelo$ and $\Idiss$ should be close to zero if the flow is strongly
anisotropic. When vortical modes are removed, we rather use
\begin{equation}
\label{eq:IcoeffsProj}
\Ivelo = \frac{2 E_{\rm kin,z}}{E_{\rm kin}} \Remove{, ~~~~ \text{and}
~~~~ \Idiss = \frac{1 - \varepsilon_{\rm kin,z}/\varepsilon_{\rm kin}}{(1 - 1/2)}}
\end{equation}
because it is expected that only half of the kinetic energy is contained in
\Remove{(respectively dissipated by)} the vertical velocity field \Remove{(respectively
the vertical gradients) if the energy spectra are independent of the angles in this
case}. Figure~\ref{fig:regimes} shows the variations of $\Ivelo$ and $\Idiss$ with
$(F_h,\R)$. Small points correspond to strong anisotropic energy dissipation, while
large points correspond to isotropic energy dissipation. Dark points correspond to
strong large-scale isotropy, while light points correspond to isotropic flows. The
combination of $\Ivelo$ and $\Idiss$ allows to distinguish between four regimes
(Figure~\ref{fig:regimes}$\rm (a)$): the passive scalar regime where $\Ivelo \simeq 1$,
the weakly stratified regime where $0.5 \lesssim \Ivelo \lesssim 1$, and the strongly
stratified regimes where $\Ivelo \leq 0.5$. As explained in
\cite{brethouwer_scaling_2007}, the strongly stratified flows fall in two regimes: The
Layered Anisotropic Stratified Turbulence (LAST) regime where the dissipation is
isotropic because a 3D turbulence range can develop, typically when $\R \geq 10$; The
viscosity affected regime where the small dissipative scales remain affected by the
anisotropy. WWT is foreseen at small $F_h$ at some unknown values of $\R$. We observe
that removing vortical modes does not modify this picture (Figure~\ref{fig:regimes}$\rm
(b)$). However, for a given $(F_h,\R)$, the isotropy coefficients tend to have bigger
values when the vortical modes are removed.
\begin{figure}
\includegraphics[width=1.0\textwidth]{Figure2}
\caption{Classification of regimes in our simulations using the isotropy coefficients.
The large scale isotropy coefficient $\Ivelo$ is given by the color-scale, and the
small scale isotropy coefficient $\Idiss$ by the size of the symbols. For simulations
with vortical modes $\rm (a)$, definitions (\ref{eq:Ivelo}-\ref{eq:Idiss}) are used.
For simulations without vortical modes $\rm (b)$, definitions (\ref{eq:IcoeffsProj})
are used. The dotted blue lines correspond to $\R = 10$, $F_h = 0.14$, and $F_h=1$.
\label{fig:regimes}}
\end{figure}
We denote
\begin{equation}
\label{eq:energies} E_{\rm pot} = \frac{1}{2N^2} \sum\limits_{\kk}
|\hatb|^2, ~~~~ E_{\rm polo} = \frac{1}{2} \sum\limits_{\kk} |\hatvp|^2, ~~~~ E_{\rm
toro} = \frac{1}{2} \sum\limits_{\kk} |\hatvt|^2, ~~~~ \tilde{\mathcal{D}} =
\frac{E_{\rm polo} - E_{\rm pot} }{E_{\rm polo} + E_{\rm pot} }
\end{equation}
which are, respectively, the potential energy, the poloidal kinetic energy, the
vortical modes (toroidal) kinetic energy, and the relative difference between poloidal
and potential energy. We also note $E = E_{\rm pot} + E_{\rm polo} + E_{\rm toro} $
the total energy. Figure~\ref{fig:global-energy} shows the vortical modes energy ratio
$E_{\rm toro} /E$ and $\tilde{\mathcal{D}}$ as a function of $F_h$ and $\R$. For
waves, we expect to observe an equipartition between the poloidal kinetic energy and
potential energy. Consequently, both $E_{\rm toro} /E$ and $\tilde{\mathcal{D}}$ should
be close to zero for a system mainly composed by internal gravity waves. We observe
that vortical modes energy becomes dominant at high stratification (low $F_h$) if they
are not removed from the dynamics in these simulations with $\R \geq 0.1$
(Figure~\ref{fig:global-energy} (a)). The ratio $E_{\rm toro} /E$ is the lowest at
intermediate stratification $F_h \simeq 0.1-0.3$ and low values of $\R$. However, the
same simulations are marked by a predominance of potential energy over poloidal energy,
$\tilde{\mathcal{D}} < 0$ (Figure~\ref{fig:global-energy} (b)), meaning that these
weakly stratified flows do contain other structures than waves. When vortical modes are
removed, we can obtain flows with a global balance between poloidal and potential
energies ($\tilde{\mathcal{D}} \simeq 0$) at high stratification. Consequently, a flow
governed by weak nonlinear interactions between waves may be obtained at high
stratification by removing vortical modes. In the two next subsections, we perform a
spatiotemporal analysis of a couple of stongly stratified turbulent simulations with
$(N,\,\R_i\equiv P_K/\nu N^2)=(40,20)$ and aspect ratio $L_z/L_h=1/4$.
\Add{Figure~\ref{fig:buoyancy_fields} shows the buoyancy fields for these two
simulations with the same color scale. We observe that the flow is layered in the
vertical direction and that overturning (horizontal vorticity) is present with or
without vortical modes. It is a standard feature of strongly stratified turbulence
\cite{laval_forced_2003, lindborg_energy_2006, brethouwer_scaling_2007,
waite_stratified_2011}. With vortical modes, the vertical vorticity is not zero
(Figure~\ref{fig:buoyancy_fields}(a)) so the buoyancy has a different structure than
when vortical modes are absent (Figure~\ref{fig:buoyancy_fields}(b)). Without vortical
modes the dynamics in the horizontal direction is irrotational and the buoyancy field
has a larger amplitude.}
\begin{figure}
\includegraphics[width=1.0\textwidth]{Figure3}
\caption{Vortical modes to total energy ratio (a) and relative difference between
poloidal and potential energies $\tilde{\mathcal{D}} = (E_{\rm polo} - E_{\rm
pot})/(E_{\rm polo} + E_{\rm pot})$ (b) vs $F_h$ for simulations with or without
vortical modes. The red boxes indicate the simulations with $(N,\R_i)=(40,20)$
investigated in the next subsections. \label{fig:global-energy}}
\end{figure}
\begin{figure}
\includegraphics[width=1.0\textwidth]{figure4}
\caption{\Add{Snapshots of the buoyancy fields for simulations $(N,\R_i)=(40,20)$ with
$\rm (a)$ and without $\rm (b)$ vortical modes.} \label{fig:buoyancy_fields}}
\end{figure}
\subsection{Energy budget in the strongly stratified regime}
\label{subsec:khkz}
It is expected that the spatial energy budget will depend on the ratio of temporal
timescales. In particular the nonlinearity parameter used for several physical systems,
including stratified and rotating turbulence \cite{nazarenko_critical_2011,
yokoyama_energy-based_2019} and MHD \cite{meyrand_direct_2016, cerri_turbulent_2022} is
\begin{equation}
\label{eq:NonLinearityParameter} \chi_{\kk} \equiv \frac{\tau_{\rm L}}{\tau_{\rm NL}} =
\frac{(\epsK k^2)^{1/3}}{N k_h / k} = \frac{k}{k_h} \left(\frac{k}{\ko} \right)^{2/3}
= \frac{1}{\sin \thk} \left(\frac{k}{\ko} \right)^{2/3}.
\end{equation}
It represents the ratio between the period of the linear wave, $\tau_{\rm L} = 2 \pi k
/ (N k_h)$, and the eddy turnover time $\tau_{\rm NL} = 2 \pi / (\varepsilon_{\rm kin}
k^2)^{1/3}$ for a given wave-vector. In a similar way, we introduce the wave
dissipation parameter
\begin{equation}
\label{eq:DissipationParameter} \gamma_{\kk} \equiv \frac{\tau_{\rm
L}}{\tau_{\nu}} = \frac{\nu k^2}{N k_h / k} = \frac{k}{k_h} \left(\frac{k}{\kd}
\right)^{2} = \frac{1}{\sin \thk} \left(\frac{k}{\kd} \right)^{2}
\end{equation}
which represents the ratio between the period of the linear wave and the dissipation
time $\tau_{\nu} = 2 \pi / (\nu k^2)$. In the last equation, we have introduced the
wave dissipation wave-vector $\kd \equiv \sqrt{N/\nu}$. The kinetic energy and
potential energy budgets for one Fourier mode read
\begin{equation}
\label{eq:seb}
\left\langle\frac{1}{2}\frac{\mathrm{d} |\hatvv|^2}{\mathrm{d}t} \right \rangle =
\mathcal{I}_{\kk} + \mathcal{T}_{\rm kin,\kk} - \mathcal{B}_{\kk} - \varepsilon_{\rm
kin,\kk}, ~~~~ \text{and} ~~~~
\left\langle\frac{1}{2N^2}\frac{\mathrm{d}|\hatb|^2}{\mathrm{d}t} \right\rangle=
\mathcal{T}_{\text{pot},\kk} + \mathcal{B}_{\kk} - \varepsilon_{\text{pot},\kk},
\end{equation}
where
\begin{align}
\nonumber &\mathcal{I}_{\kk} = \left\langle \Re
\left(\hatff \cdot \hatvv^* \right)\right \rangle, ~~~~ \mathcal{T}_{\rm kin, \kk} =
- \left\langle \Re \left(\hatvv^* \cdot \left[\bar{\bar{P}}_{\kk} \cdot (\widehat{\vv \cdot \bnabla \vv}) \right]\right)\right\rangle, \\
\nonumber &\mathcal{T}_{\text{pot},\kk} = - \left\langle \Re \left(\hatb^* (\widehat{\vv \cdot \bnabla b}) \right)/ N^2 \right\rangle,
~~~~ \mathcal{B}_{\kk} = - \left\langle \Re \left(\hat{v}_{z}^* \hatb \right) \right\rangle, \\
&\varepsilon_{\rm kin, \kk} = (\nu k^2 + \nu_4 k^4) \frac{|\hatvv|^2}{2}, ~~~~ \varepsilon_{\text{pot},\kk} = (\kappa k^2 + \kappa_4 k^4) \frac{|\hatb|^2}{2N^2},
\end{align}
are respectively the kinetic energy injection rate, the kinetic energy transfer, the
potential energy transfer, the conversion of kinetic energy to potential energy, the
kinetic energy dissipation, and the potential energy dissipation. In the last
equations, $(\cdot)^*$ denotes the complex conjugate, \Add{$\Re(\cdot)$ the real part},
$\left\langle\cdot \right\rangle$ stands for the averaging operator, and
$\bar{\bar{P}}_{\kk} = \mathbb{I} - \eek \otimes \eek$ is the projector onto the plane
orthogonal to $\kk$. In this section, we study azimuthal average of the energy budget.
Namely, we computed quantities like:
\begin{equation}
F(k_h, k_z) = \frac{1}{\Delta k_h ~ \Delta k_z} \mathop{\sum \sum}_{\substack{k_h \leq k_h'< k_h + \Delta k_h \\ k_z \leq |k_z'| < k_z + \Delta k_z}} ~ F_{\kk'},
\end{equation}
where $F$ can be $E_{\rm pot} $, $E_{\rm polo} $, $E_{\rm toro} $, $E_{\rm kin} =
E_{\rm polo} + E_{\rm toro} $, $E = E_{\rm kin} + \Epot$, $\mathcal{T}_{\text{pot}}$,
$\mathcal{T}_{\rm kin}$, $\mathcal{B}$, $\mathcal{I}$, $\epsK$, or $\epsA$.
Following \cite{yokoyama_energy-based_2019}, we use the energy ratios like
\begin{equation}
\frac{E_{\rm toro} (k_h, k_z)}{E(k_h, k_z)} ~~~~ \text{and} ~~~~ \tilde{\mathcal{D}}(k_h,k_z) = \frac{\Epolo(k_h,k_z)-\Epot(k_h,k_z)}{\Epolo(k_h,k_z)+\Epot(k_h,k_z)},
\end{equation}
in order to quantify the energy content scale by scale. In the same spirit, we also
introduce
\begin{equation}
\label{eq:transfers}
\tilde{\mathcal{T}}_{\rm kin}(k_h,k_z) = \frac{\mathcal{T}_{\rm kin}(k_h,k_z)}{\mathcal{T}_{\text{tot}}(k_h,k_z)}, ~~~~
\tilde{\mathcal{T}}_{\text{pot}}(k_h,k_z) = \frac{\mathcal{T}_{\text{pot}}(k_h,k_z)}{ \mathcal{T}_{\text{tot}}(k_h,k_z)} ~~~~
\text{and} ~~~~
\tilde{\mathcal{B}}(k_h,k_z) = \frac{\mathcal{B}(k_h,k_z)}{\mathcal{T}_{\text{tot}}(k_h,k_z)},
\end{equation}
where
\begin{equation}
\mathcal{T}_{\text{tot}}(k_h,k_z) \equiv |\mathcal{T}_{\rm kin}(k_h,k_z)| + |\mathcal{T}_{\text{pot}}(k_h,k_z)| + |\mathcal{B}(k_h,k_z)| + \epsK(k_h,k_z) + \epsA(k_h,k_z).
\end{equation}
These quantities are useful for tracking the energy pathways scale by scale. By
construction, $\tilde{\mathcal{T}}_{\text{pot}}$, $\tilde{\mathcal{T}}_{\rm kin}$, and
$\tilde{\mathcal{B}}$ vary between $-1$ and $1$ depending on the amplitude and
direction of the energy transfer or conversion ($\tilde{\mathcal{B}}>0$ corresponds to
conversion of kinetic energy to potential energy). In a statistically stationary state
($\langle\cdot \rangle = 0$) and in the inertial range ($\mathcal{I}(k_h,k_z) = 0$,
$\epsK(k_h,k_z) \simeq 0$, and $\epsA(k_h,k_z) \simeq 0$), we should have
$\mathcal{T}_{\rm kin}(k_h,k_z) \simeq - \mathcal{T}_{\text{pot}}(k_h,k_z) \simeq
\mathcal{B}(k_h,k_z)$. For this reason, we will present only
$\tilde{\mathcal{B}}(k_h,k_z)$.
\subsubsection{Energy spectra}
Figure~\ref{fig:spectra_omega} displays the temporal energy spectra for simulations
with $(N,\R_i)=(40,20)$. In the case where vortical modes are present
(Figure~\ref{fig:spectra_omega}$\rm (a)$), we observe that potential and poloidal
energies dominate over toroidal energy for frequencies smaller than the \bv frequency,
i.e. $\omega/N <1$. For $\omega/N \geq 1$, the three components of the energy have very
similar spectra. When vortical modes are removed (Figure~\ref{fig:spectra_omega}$\rm
(b)$), potential energy is almost in perfect equipartition with poloidal energy at a
given frequency. The potential and poloidal energy spectra behave very similarly wether
vortical modes are present or not. This might be explained by the fact that vortical
modes energy is smaller than potential an poloidal energy at large temporal scales
$\omega \leq N$. Interestingly, in Figure~\ref{fig:spectra_omega}$\rm (b)$ temporal
spectra get closer to the Kolmogorov-Zakharov spectra $E(\omega) \sim \omega^{-3/2}$
\cite{caillol_kinetic_2000, lvov_hamiltonian_2001} than the the high frequency limit of
the Garrett-Munk spectra $E(\omega) \sim \omega^{-2}$ \cite{garrett_internal_1979}. The
inertial range is larger when vortical modes are removed.
\begin{figure}
\includegraphics[width=1.0\textwidth]{figure5}
\caption{Temporal energy spectra for simulations $(N,\R_i)=(40,20)$ with $\rm (a)$ and
without $\rm (b)$ vortical modes. The orange dotted lines correspond to the minimal and
maximal frequencies of the linear internal gravity waves in the forcing region.
\label{fig:spectra_omega}}
\end{figure}
Figure~\ref{fig:spectra_1D} shows the 1D integrated spatial spectra, and the normalized
(i.e. divided by the total energy dissipation $\varepsilon \equiv \epsK + \epsA$)
energy fluxes along $k_h$ for the same simulations. We first observe that removing
vortical modes does not change the behavior of the poloidal an potential energy spectra
(Figure~\ref{fig:spectra_1D}$\rm (a)$-$\rm (b)$). Up to the the buoyancy wave-vector,
the poloidal and potential energies dominate with spectra that are slightly steeper
than $k_h^{-5/3}$. After the buoyancy scale (i.e. $k=\kb$), the toroidal energy
spectrum starts to be of the same order than the poloidal energy spectrum, which are
shallower than $k_h^{-5/3}$. Such changes in the spectral slope around the buoyancy
scale were reported in earlier studies \cite{kimura_energy_2012,
bartello_sensitivity_2013, augier_stratified_2015}. They could be due to shear
instabilities occurring at those scales, leading to non-local energy transfers toward
small scales \cite{brethouwer_scaling_2007, waite_stratified_2011,
augier_stratified_2015}. The vertical spectra has a spectral slope between $-3$ and
$-2$, which is similar to earlier simulations \cite{maffioli_vertical_2017}. Therefore,
these 1D spectra do not show strongly stratified turbulence scaling $~k_h^{-5/3}$ and
$k_z^{-3}$ for $\kb \leq k_h,k_z \leq \ko$ \cite{billant_self-similarity_2001,
lindborg_energy_2006}. This might be due to the fact that these simulations do not have
a sufficient scale separation between $\kb$ and $\ko$, which can be attained only at
very small $F_h$ \cite{lindborg_energy_2006, bartello_sensitivity_2013}, or when
considering only the largest horizontal scales \cite{maffioli_vertical_2017}. Indeed,
we observe that vertical spectra tends to be steeper as $F_h$ is decreased, and are
steeper than the scaling $k_z^{-2}$ observed is 2D numerical simulations at comparable
$F_h$ \cite{linares_numerical_2020}. The kinetic energy flux $\Pikin(k_h)$ and the
potential energy flux $\Pipot(k_h)$ start to show a plateau over almost a decade in
these simulations (Figure~\ref{fig:spectra_1D}$\rm (c)$-$\rm (d)$). We observe that the
dissipation starts to be important at the Ozmidov scale, meaning that these simulations
lie between the LAST regime and the viscosity affected regime
\cite{brethouwer_scaling_2007}. This explains why we do not observe an isotropic
turbulence range (with energy spectra $\sim k^{-5/3}$) in these simulations. The main
effect of removing vortical modes is to make $\Pipot(k_h)$ larger than $\Pikin(k_h)$.
Also, the kinetic energy dissipation $\epsK(k_h)$ is almost equal to the potential
energy dissipation $\epsA(k_h)$ when vortical modes are removed, as we expect for a
system of internal gravity waves with unit Schmidt number \cite{reun_parametric_2018}.
\begin{figure}
\includegraphics[width=1.0\textwidth]{figure6}
\caption{Compensated 1D spatial energy spectra for simulations $(N,\R_i)=(40,20)$ with
$\rm (a)$ and without $\rm (b)$ vortical modes. Normalized $k_h$ energy fluxes for the
same simulations with $\rm (c)$ and without $\rm (d)$ vortical modes. The orange dotted
line corresponds to the maximal wave-vector modulus of the forcing region, the black
dotted line to $\kb$, the black dashed line to $\ko$. \label{fig:spectra_1D}}
\end{figure}
Figure~\ref{fig:spectra_khkz_kin} shows slices of the $(k_h, k_z)$ kinetic energy
spectrum. The potential and kinetic energy spectra have the same trends with respect to
$k_h$ and $k_z$, so the potential energy spectrum is not presented. As in
\cite{yokoyama_energy-based_2019}, we observe different scaling laws depending on the
region in the $(k_h,k_z)$ plane. Namely, important differences between small $k_z$ and
large $k_z$ for a given $k_h$ (Figure~\ref{fig:spectra_khkz_kin}$\rm (a)$-$\rm (b)$):
\begin{itemize}
\item For $k_h \ll \kb$, energy is accumulated at the lowest available $k_h$ and small
$k_z$, as usual in stratified turbulence \cite{smith_generation_2002,
laval_forced_2003, herbert_waves_2016}. At $k_z \ll \kb$ the spectra are close to a
$k_h^{-2}$ dependency, which is consistent with integrated energy spectra reported in
earlier studies \cite{waite_stratified_2011, kimura_energy_2012}, but not with the WWT
predictions (\ref{eq:WWTpredictions}). For a fixed $k_z \gg \kb$, we rather observe
$E_{\rm kin} \sim k_h^1$ which would correspond to an equipartition of energy in
horizontal scales.
\item For $k_h \gg \kb$, the spectrum starts to depend less and less on $k_z$, and the
$E_{\rm kin}(k_h,k_z)$ slices eventually merge around $k_h \sim \ko$, when the eddy
turnover time becomes less than the period of any linear waves, i.e. $\chi_{\kk} > 1$.
\end{itemize}
Important differences can also be noted when looking at $k_z$ slices
(Figure~\ref{fig:spectra_khkz_kin}$\rm (c)$-$\rm (d)$):
\begin{itemize}
\item For $k_z \ll \kb$, the spectrum is close to $\sim k_z^{0}$, indicating that
horizontal layers of height larger than the buoyancy scale are in equipartition of
energy in these strongly stratified simulations.
\item For $\kb \ll k_z \ll \ko$, the spectrum is very steep at small horizontal
wave-vectors, while it remains flat at large horizontal wave-vectors.
\item For $k_z \gg \ko$, the spectral slope starts to depend less and less on $k_h$.
Yet, the $E_{\rm kin}(k_h,k_z)$ does not merge around $k_h \sim \ko$ since small
horizontal scales are more energetic compared to the large horizontal scales.
\end{itemize}
Due to the reduced aspect ratio of our simulations, we do not observe a net separation
between the forcing and the buoyancy scales. Still, the kinetic energy spectrum remains
very similar to the one presented in \cite{yokoyama_energy-based_2019}. Interestingly,
the trends of the kinetic energy spectra appear to be very similar, regardless of
whether vortical modes are present or not. This is a first indication that the presence
of vortical modes is not the only obstacle to observing internal gravity wave
turbulence in realistic flows.
\begin{figure}
\includegraphics[width=1.0\textwidth]{figure7}
\caption{Slices of the kinetic energy spectrum $E_{\rm kin}(k_h,k_z)$ for simulations
$(N,\R_i)=(40,20)$ with and without vortical modes. The orange dotted line corresponds
to the maximal wave-vector modulus of the forcing region, the black dotted line to
$\kb$, the black dashed line to $\ko$, and the green dashed line to the dissipative
wave-vector. (a) $E_{\rm kin}$ vs $k_h$ with vortical modes. (b) $E_{\rm kin}$ vs $k_h$
without vortical modes. (c) $E_{\rm kin}$ vs $k_z$ with vortical modes. (d) $E_{\rm
kin}$ vs $k_z$ without vortical modes. \label{fig:spectra_khkz_kin}}
\end{figure}
Figure~\ref{fig:spectra_khkz} shows the $(k_h,k_z)$ spectra. Obviously, the simulation
without vortical modes has no energy in the toroidal velocity. \Add{When vortical modes
are present, an important part of the energy is contained in one vortical mode with
$(k_h,k_z) = (\Delta k_h, 2 \Delta k_z)$, corresponding to large, nearly vertically
stacked shear layers (Figure~\ref{fig:spectra_khkz}$\rm (a)$). Energy then tends to be
accumulated at the smallest horizontal wave vectors, close to shear modes.} When
vortical modes are removed, energy is sill concentrated in the same wave-vectors, but
in the form of poloidal an potential energy (Figure~\ref{fig:spectra_khkz}$\rm
(d)$-$\rm (f)$). Except for this qualitative difference, the toroidal, poloidal, and
potential energy spectra show the same trends.
\begin{figure}
\includegraphics[width=1.0\textwidth]{figure8}
\caption{$(k_h,k_z)$ spectra for the simulations at $(N,\R_i)=(40,20)$, with and
without vortical modes. The cyan dotted lines correspond to $\chi_{\kk}=1/3$ and
$\chi_{\kk}=3$, the cyan dashed line to $k=\kb$, the magenta dotted line to
$\gamma_{\kk}=1$, and the green dotted line to the dissipative scale. The orange box
corresponds to the forcing region. $\rm (a)$ $\Etoro$ with vortical modes. $\rm (b)$
$\Etoro$ without vortical modes. $\rm (c)$ $\Epolo$ with vortical modes. $\rm (d)$
$\Epolo$ without vortical modes. $\rm (e)$ $\Epot$ with vortical modes. $\rm (f)$
$\Epot$ without vortical modes. \label{fig:spectra_khkz}}
\end{figure}
In order to have a finer analysis of the distribution of energy in the $(k_h, k_z)$
plane, it is useful to look at energy ratios $\Etoro/E$ and $\tilde{\mathcal{D}}$
(\ref{eq:energies}) shown on Figure~\ref{fig:spectra_ratio_khkz}. One clearly observes
that $\Etoro$ is never negligible away from the forcing region, and it is very
important for small wave-vectors when the vortical modes are not removed
(Figure~\ref{fig:spectra_ratio_khkz}$\rm (a)$-$\rm (b)$). Apart from this important
difference, the spectral energy budgets of the two simulations appear to share striking
similarities. Outside the forcing region, the poloidal energy is dominant
($\tilde{\mathcal{D}} > 0$) between the cyan dotted lines $\chi_{\kk} = 1/3$ and
$\chi_{\kk} = 3$ (\ref{eq:NonLinearityParameter}), corresponding to a region where the
critical balance condition $\chi_{\kk} \sim 1$ is fulfilled
(Figure~\ref{fig:spectra_ratio_khkz}$\rm (c)$-$\rm (d)$). The potential energy is
dominant ($\tilde{\mathcal{D}} < 0$) when $\chi_{\kk} > 3$, i.e. in a region where
eddies are faster than waves. We observe a good equipartition between potential and
poloidal energy ($\tilde{\mathcal{D}} \simeq 0$) when $\chi_{\kk} < 1/3$, i.e. in the
region where waves are faster than eddies. This indicates that the ratio of temporal
scales $\chi_{\kk}$ is important when identifying ranges in anisotropic turbulence, as
already explained in \cite{yokoyama_energy-based_2019}. In particular, it shows that a
wave dominated range cannot lie above $\chi_{\kk} > 1/3$.
\begin{figure}
\includegraphics[width=1.0\textwidth]{figure9}
\caption{Ratios of energy for the simulations at $(N,\R_i)=(40,20)$, with and without
vortical modes. The cyan dotted lines correspond to $\chi_{\kk}=1/3$ and
$\chi_{\kk}=3$, the cyan dashed line to $k=\kb$, and the green dotted line to the
dissipative scale. The orange box corresponds to the forcing region. $\rm (a)$
$\Etoro/E$ with vortical modes. $\rm (b)$ $\Etoro/E$ without vortical modes. $\rm (c)$
$\tilde{\mathcal{D}} = (\Epolo -\Epot)/(\Epolo+\Epot)$ with vortical modes. $\rm (d)$
$\tilde{\mathcal{D}}$ without vortical modes. A wave dominated region is expected for
the simulation without vortical where $\chi_{\kk} < 1/3$, for which $\Etoro = 0$ and
$\tilde{\mathcal{D}} \ll 1$. \label{fig:spectra_ratio_khkz}}
\end{figure}
\subsubsection{Conversion of kinetic to potential energy}
We can observe, in Figure~\ref{fig:conversion}, that the conversion between potential
energy and kinetic energy $\tilde{\mathcal{B}}$ is very similar with or without
vortical modes. This is not surprising since the vertical velocity is fully contained
in waves modes, and not in vortical modes. Naturally, the amplitude of
$\tilde{\mathcal{B}}$ is important only when $\gamma_{\kk} < 1$, meaning that waves
need to not be damped too strongly by viscosity or diffusivity in order to convert
potential energy to kinetic energy (or conversely). Yet, we observe that
$\tilde{\mathcal{B}}$ is non-zero and has a definite sign when $\gamma_{\kk} > 1$.
Consequently, if waves certainly exist in this range, they cannot persist because their
kinetic energy is converted into potential energy or vice-versa. Therefore, these
simulations are unlikely to correspond to a WWT regime, even in the buoyancy range and
without vortical modes. Nevertheless, we observe that $\tilde{\mathcal{B}}$ fluctuates
in time in the buoyancy range ($k\leq \kb$).
\begin{figure}
\includegraphics[width=1.0\textwidth]{figure10}
\caption{Normalized conversion to potential energy $\tilde{\mathcal{B}}$
(\ref{eq:transfers}) for the simulations at $(N,\R_i)=(40,20)$, with $\rm (a)$ and
without $\rm (b)$ vortical modes. The magenta dotted line corresponds to
$\gamma_{\kk}=1$, \Add{and} the green dotted line to the dissipative scale \Remove{,
and the continuous black line to $k_z=k_h$}. The orange box corresponds to the forcing
region. \label{fig:conversion}}
\end{figure}
\subsection{Spatiotemporal analysis in the buoyancy range}
\label{subsec:khkzomega}
From the previous subsection, it is expected that waves can dominate (but cannot
necessarily sustain) not too far from the buoyancy range ($k \leq \kb$). To further
assess the presence and degree of nonlinearity of waves, we performed a spatiotemporal
analysis for small k. As explained in the previous subsection, waves are marked by an
equipartition between poloidal kinetic energy and potential energy. This motivates us
to introduce the equipartition energy as
\begin{equation}
\Eequi(k_h, k_z) = 2 \min \left\{\Epolo(k_h, k_z), \Epot(k_h, k_z)\right\},
\end{equation}
in order to track the presence of waves in the $(k_h, k_z)$ plane. Indeed, $\Eequi$
corresponds to the energy contained in $\Epot$ and $\Epolo$ that is in
potential-kinetic equipartition. Consequently, $\Eequi$ encompass the energy of the
waves. However, it is important to note that $\Eequi$ can also contain the energy of
structures that are not linear waves. A more careful separation between waves and
non-wave structures requires a 4D spatiotemporal filtering \cite{lam_partitioning_2020,
lam_energy_2021}, which is expensive in term of computational time and data storage.
Yet, the ratio $\Eequi(k_h,k_z) /E(k_h,k_z)$ can be used to track waves in the spectral
space at a lower cost.
Figure~\ref{fig:omega-k} shows slices of the temporal spectrum of the equipartition
energy $\Eequi(k_h,k_z,\omega)$ at large spatial scales, namely $k_h = 25.1$ and
$k_z=25.1$. We observe that the energy tends to be concentrated around the linear wave
frequency only at large spatial scales, but is dispersed at smaller scales even in the
simulations without vortical modes. It has been shown that this dispersion could be
quantified by considering a Doppler effect due to the advection of internal waves by
shear modes \cite{maffioli_signature_2020}. Despite the fact that shear modes are
removed in our simulations, we can try to test this prediction by considering that a
Doppler shift is due to a horizontal mean flow $\boldsymbol{U}$ of amplitude $U_h$
\begin{equation}
\label{eq:Doppler}
\odoppler = \max\limits_{\phk} ~ \boldsymbol{U} \cdot\kk = k U_h \sin \thk = \frac{k}{\kb} \ok
\end{equation}
where $\phk$ is the angle between the horizontal projection of $\kk$ and $\eex$
(Figure~\ref{fig:poloidal-toroidal}). This gives a reasonable explanation of the
important dispersion of the energy in temporal scale at large horizontal wave-vectors
(Figure~\ref{fig:omega-k}).
\begin{figure}
\includegraphics[width=1.0\textwidth]{figure11}
\caption{Slices of $\Eequi(k_h,k_z,\omega)$ for the simulations at $(N,\R_i)=(40,20)$,
with and without vortical modes. (a) $k_z=25.1$ with vortical modes. (b) $k_z=25.1$
without vortical modes. (c) $k_h=25.1$ with vortical modes. (b) $k_h=25.1$ without
vortical modes. The linear dispersion relation $\omega_{\boldsymbol{k}} = Nk_h/k$ is
plotted in black, the lines $\ok \pm \delta \omega/2$ (\ref{eq:delta-omega}) in blue,
and the yellow dashed lines correspond to the lines $\ok \pm \odoppler$
(\ref{eq:Doppler}). \label{fig:omega-k}}
\end{figure}
To observe more precisely the dispersion in temporal scales, we represent the ratio
$\Eequi(k_h, k_z, \omega)/ \max\limits_{\omega} E(k_h, k_z, \omega)$ for some
$(k_h,k_z)$ on Figure~\ref{fig:omega-L}, which indicates how the energy is distributed
among temporal scales for a given spatial scale. For a system of weakly nonlinear
internal gravity waves, we should observe a peak of $\Eequi/\max\limits_{\omega} E$
around $\omega = \ok$ (for the energy to be concentrated around the linear frequency),
whose maxima should be close to unity (for the energy to be concentrated in waves
modes). We observe that the concentration of energy around the linear frequency mostly
depends on the ratio $k/\kb$. As expected, the pics of energy around $\omega = \ok$ is
more pronounced when $k \ll \kb$. This is an indication that linear waves are important
if $k \ll \kb$, with or without vortical modes. When $k \simeq \kb$, the energy spreads
over a broader range of temporal scales. We note that removing vortical modes from the
dynamics helps to concentrate $\Eequi$ in temporal scales since temporal spectra tend
to be more sharp. Simulations without vortical modes naturally have bigger
$\Eequi/\max\limits_{\omega} E$ (Figure~\ref{fig:omega-L}$\rm (b)$) when compared to
simulations with vortical modes (Figure~\ref{fig:omega-L}$\rm (a)$).
\begin{figure}
\includegraphics[width=1.0\textwidth]{figure12}
\caption{Spatiotemporal analysis of the simulations with $(N,\R_i)=(40,20)$.
$\Eequi(k_h, k_z, \omega)/\max\limits_\omega E(k_h, k_z, \omega)$ for the simulation
with vortical modes $\rm (a)$ and for the simulation without vortical modes $\rm (b)$.
Only some couples $(k_h, k_z)$ are shown. Line colors corresponds to different values
of $k/\kb$. The vertical black lines corresponds to $\omega = \ok$.
\label{fig:omega-L}}
\end{figure}
A way to measure the dispersion of energy in temporal scales is to compute the
deviation from linear waves frequency $\delta \omega$. We estimate it using the
equipartition energy spectrum and defining the following measure,
\begin{equation}
\label{eq:delta-omega}
\delta \omega(k_h, k_z) = \sqrt{ \frac{\sum\limits_{\omega} ~ (\omega - \ok)^2 ~ E_{\rm equi}(k_h, k_z, \omega)}{\sum\limits_{\omega} ~ E_{\rm equi}(k_h, k_z, \omega)}}.
\end{equation}
The quantity $\delta \omega / \ok$ is another way to estimate the strength of nonlinear
interactions. Unlike the nonlinearity parameter $\chi_{\kk}$, which is defined by
dimensional analysis, $\delta \omega/ \ok$ requires knowledge of the spatio-temporal
spectra. $\delta \omega/ \ok$ is called nonlinear broadening, and is particularly
important in the context of WWT: for $\delta \omega/ \ok \gg 1$, waves' dynamics is
strongly affected by nonlinear interactions, while when $\delta \omega/ \ok \ll 1$,
waves can propagate with only weak nonlinear perturbations and the theory can hold
\cite{nazarenko_wave_2011}. For a system of non-interacting linear waves, $\delta
\omega/\ok$ should be zero. Figure~\ref{fig:nonlinear} shows this quantity in the
$(k_h, k_z)$ plane. It shows that the nonlinear broadening is small if $k \ll \kb$ and
$\chi_{\kk} \leq 1/3$, which is consistent with previous results
\cite{yokoyama_energy-based_2019}. Conversely, $\delta \omega/\ok$ is large when $k \gg
\kb$ or $\chi_{\kk} > 3$. We observed that removing vortical tends to decrease slightly
$\delta \omega/\ok$ at small $k$ and large $\thk$. This might be explained by the fact
that the simulations without vortical modes tend to have a larger buoyancy range when
compared to the simulations with vortical modes.
\begin{figure}
\includegraphics[width=1.0\textwidth]{figure13}
\caption{$\delta \omega/\ok$ for simulations with $(N,\R_i) = (40,20)$ with vortical
modes (a) and without vortical modes (b). Dotted lines correspond to $\chi_{\kk} = 1/3$
and $\chi_{\kk} = 3$, the dashed line to $k=\kb$, and the orange box to the forcing
region. \label{fig:nonlinear}}
\end{figure}
In order to allow a continuum of interaction between waves, it is also important that
the nonlinear broadening remains much larger than the frequency gap between discrete
modes in the Fourier space \cite{lvov_discrete_2010}. This leads to the condition
$\Delta \omega \equiv \bnabla_{\kk} \ok \cdot \Delta \kk \ll \delta \omega$ where
$\Delta \kk = (\Delta k_x, \Delta k_y, \Delta k_z)$. Taking $\Delta k_x = \Delta k_y =
\Delta k_z = \Delta k$ leads to $|\cos \thk| \Delta k/ k \ll \delta \omega /N$, which
is satisfied in most of our simulations for sufficiently large $k$.
\subsection{Wave energy in the parameters space}
\label{subsec:waves_energy}
The previous subsections presented the dispersion in temporal scales for two
simulations, but we did not quantify the amount of waves in the $(k_h,k_z)$ plane, nor
in the $(F_h,\R)$ plane so far. This is the goal of this subsection.
To discuss the effect of stratification, we show the integrated spatiotemporal total
energy spectra as a function of $\thk/N = \sin \thk$ and $\omega$ for different
simulations in Figure~\ref{fig:omega_vs_omegak}. At low $N$, we observe no big
difference in $E(\ok, \omega)$ between simulations with and without vortical modes
(Figure~\ref{fig:omega_vs_omegak}$\rm (a)$-$\rm (b)$). We observe that, for these
weakly stratified flows, the energy is mostly contained in small frequency modes, but
present over a large range of temporal scales for a given angle of the wave-vector
$\thk$. At larger $N$, energy concentrate around the linear dispersion relation $\omega
= \ok$ and in slow modes $\omega = 0$ for simulation with vortical modes
(Figure~\ref{fig:omega_vs_omegak}$\rm (c)$). When vortical modes are absent, energy
tends to accumulate around $\omega = \ok$ only (Figure~\ref{fig:omega_vs_omegak}$\rm
(d)$). At the highest $N$, the two branches $\omega = \ok$ and $\omega = 0$ are visible
for the simulation with vortical modes (Figure~\ref{fig:omega_vs_omegak}$\rm (e)$)
while only the branches $\omega = \ok$ is clearly observed in the simulation without
vortical modes (Figure~\ref{fig:omega_vs_omegak}$\rm (f)$).
\begin{figure}
\includegraphics[width=1\textwidth]{figure14}
\caption{Integrated spatiotemporal spectra of the total energy as a function of $\ok/N
= \sin \thk$ and $\omega$ for different simulations at the same viscosity $\nu = 1/(N^2
\R_i)$. $\rm (a)$ $(N,\R_i)=(20,160)$ with vortical modes, $\rm (b)$
$(N,\R_i)=(20,160)$ without vortical modes, $\rm (c)$ $(N,\R_i)=(40,40)$ with vortical
modes, $\rm (d)$ $(N,\R_i)=(40,40)$ without vortical modes, $\rm (e)$
$(N,\R_i)=(80,10)$ with vortical modes, and $\rm (f)$ $(N,\R_i)=(80,10)$ without
vortical modes. The white dotted line represents $\omega = \ok$, i.e. the linear
dispersion relation. \label{fig:omega_vs_omegak}}
\end{figure}
In order to quantify wave energy in a flow, we propose to simply filter the
spatiotemporal spectra $\Eequi$ by a Gaussian weight with mean $\ok$ and
root-mean-square $\epsilon \ok$, where $\epsilon$ is an arbitrary but small parameter,
such that the wave energy at a given $(k_h,k_z,\omega)$ is
\begin{equation}
\label{eq:Ewave}
\Ewave(k_h,k_z,\omega) = \Eequi(k_h,k_z,\omega) ~ \exp \left[-\frac{1}{2} \left(\frac{\omega - \ok(k_h,k_z)}{ \epsilon \ok(k_h,k_z)} \right)^2 \right].
\end{equation}
We observed that choosing $\epsilon=0.1$ gives a sufficiently narrow window to keep
only the spatiotemporal region corresponding to internal gravity waves, while keeping
the window sufficiently wide to avoid binning effects. Therefore, we kept this value
for the analysis. This window with variable width allows us to get rid of the energy of
non-wave structures at low frequency. We first look at the distribution of the wave
energy in the $(k_h,k_z)$ plane. In order to allow a fair comparison between
simulations with and without vortical modes, it is necessary to introduce the wave
energy ratio
\begin{equation}
\label{eq:WaveRatio}
\Ewaver(k_h,k_z) = \frac{\Ewave(k_h,k_z)}{\Epolo(k_h,k_z) + \Epot(k_h,k_z)} ~~~~ \text{where} ~~~~ \Ewave(k_h,k_z) = \sum\limits_{\omega} ~ \Ewave(k_h,k_z,\omega).
\end{equation}
Normalizing the wave energy by the total energy (i.e. including vortical modes energy)
would have mask the presence of waves in the simulation with vortical modes, since they
represent an important part of the energy (Figure~\ref{fig:spectra_ratio_khkz}$\rm
(a)$). The wave energy ratio $\Ewaver(k_h,k_z)$ is depicted on
Figure~\ref{fig:ratioEwaves_khkz}$\rm (a)$-$\rm (b)$. We observe that $\Ewaver$ tends
to be higher for simulations without vortical modes, but removing vortical modes does
not change the variations of $\Ewaver$ in the $(k_h,k_z)$ plane for these simulations.
As we could have expected from previous works \cite{yokoyama_energy-based_2019} and the
previous subsections, $\Ewaver$ is higher in the buoyancy range, in particular where
$\chi_{\kk} \leq 1/3$. Yet, $\Ewaver$ tends to be bigger at very specific angles,
smaller than the forcing angle $\theta_f$. This accumulation of internal gravity wave
energy at specific propagation angles has been reported in earlier studies (see e.g.
\cite{maffioli_signature_2020}). In the present simulations, we can explain this by
invoking Triadic Resonance Instabilities (TRI) between internal gravity waves
\cite{brouzet_internal_2016}, in particular the PSI
\cite{mccomas_resonant_1977,muller_nonlinear_1986}. Considering that a primary wave of
frequency $\omega_f = \omega_0^* = N \sin \theta_f$ is excited by the forcing, and then
decays into two daughter waves of the same frequency $\omega_1^*$ according to the PSI
mechanism, we can deduce $\omega_1^*$ and the associated propagation angle
$\theta_1^*$:
\begin{equation}
\label{eq:harmonic1}
\omega_1^* = \frac{\omega_0^*}{2} = 0.15~N ~~~~ \Rightarrow
~~~~\theta_1^* = \arcsin \left(\frac{\omega_1^*}{N} \right)\simeq 0.15.
\end{equation}
Invoking, for a second time, the PSI mechanism for a wave of frequency $\omega_1^*$, we
can deduce a second harmonic
\begin{equation}
\label{eq:harmonic2}
\omega_2^* = \frac{\omega_1^*}{2} = 0.075~N ~~~~ \Rightarrow
~~~~\theta_2^* = \arcsin \left(\frac{\omega_2^*}{N} \right)\simeq 0.075.
\end{equation}
A third harmonic is obtained by considering that two waves of frequencies $\omega_1^*$
and $\omega_2^*$ interact to give a third wave with frequency
\begin{equation}
\label{eq:harmonic3}
\omega_3^* = \omega_1^* + \omega_2^* = 0.225~N ~~~~ \Rightarrow
~~~~\theta_3^* = \arcsin \left(\frac{\omega_3^*}{N} \right)\simeq 0.225.
\end{equation}
$\theta_f$, $\theta_1^*$, $\theta_2^*$, and $\theta_3^*$ are reported on
Figure~\ref{fig:ratioEwaves_khkz}$\rm (a)$-$\rm (b)$. We see that they reproduce well
with the higher values of $\Ewaver$ observed at small angles. This agreement suggests
that waves at small frequencies are excited by TRI in our strongly stratified
simulations.
\begin{figure}
\includegraphics[width=1.0\textwidth]{figure15}
\caption{Wave energy ratio $\Ewaver(k_h,k_z)$ (\ref{eq:WaveRatio}) for simulations with
$(N,\R_i)=(40,20)$ with vortical modes $\rm (a)$, and without vortical modes $\rm (b)$.
The cyan dotted lines correspond to $\chi_{\kk}=1/3$, and the cyan dashed line to
$k=\kb$. The orange box corresponds to the forcing region. The forcing angle $\theta_f$
is represented by a full orange line, while first harmonics
(\ref{eq:harmonic1}-\ref{eq:harmonic3}) excited by the TRI are indicated by dashed
orange lines. \label{fig:ratioEwaves_khkz}}
\end{figure}
The spatiotemporal analysis performed in this subsection allows to give a more precise
measure of the dominance of waves in the spectral space at a given $(F_h,\R)$. The
total wave energy ratio is defined as
\begin{equation}
\Ewaver = \frac{\sum\limits_{k_h,k_z,\omega} ~ \Ewave(k_h,k_z,\omega)}{\sum\limits_{k_h,k_z} ~ \Epolo(k_h,k_z) + \Epot(k_h,k_z)}.
\end{equation}
Figure~\ref{fig:ratioEwaves_Fh} shows $\Ewaver$ in the plane $(F_h, \R)$. Consistently
with the previous subsections, we observe that removing the vortical modes helps to get
higher values of $\Ewaver$, and thus, in principle, to get closer to a WWT regime. Yet,
unstratified flows ($F_h \geq 1$) have almost no energy in waves modes (i.e. $\Ewave
\ll 1$), and increasing the stratification (decreasing $F_h$) is required to increase
the wave energy ratio (Figures~\ref{fig:ratioEwaves_Fh}$\rm (a)$ and
\ref{fig:omega_vs_omegak}), but it also tends to increases the vortical mode energy
(Figure~\ref{fig:global-energy}$\rm (a)$) when they are not artificially removed from
the dynamics. Figure~\ref{fig:ratioEwaves_Fh}$\rm (b)$ shows that $\Ewaver$ tends to
decrease with $\R$ for sufficiently low $F_h$. This is consistent with the numerical
simulations of stratified flows forced by tides \cite{reun_parametric_2018}, which show
convincing signatures of a WWT regime at relatively small $\R$ when compared to more
usual strongly stratified simulations. Some of our simulations at low $F_h$ and high
$\R$ remain affected by hyperviscosity, so $\R$ may not accurately quantify the effect
of dissipation in this case. However, discarding these simulations from the analysis
still leads to the same conclusions.
\begin{figure}
\includegraphics[width=1\textwidth]{figure16}
\caption{$\Ewaver$ as a function of $F_h$ $\rm (a)$ and $\R$ $\rm (b)$ for all our
simulations with or without vortical modes. The red boxes indicate the simulations with
$(N,\R_i)=(40,20)$ investigated in the previous subsections.
\label{fig:ratioEwaves_Fh}}
\end{figure}
\section{Discussions and conclusions}
\label{sec:conclusions}
In order to investigate the conditions under which a weak internal gravity wave
turbulence regime could occur, we performed direct numerical simulations of stratified
turbulence without shear modes, and with or without vortical modes, at various Froude
and buoyancy Reynolds numbers.
We observed that removing vortical modes helps to have a better overall balance between
poloidal kinetic energy and potential energy. However, the spatial spectra appear to
behave very similarly with or without vortical modes in our simulations. The spectral
energy budget reveals that \Add{there is no range in $(k_h,k_z)$ for which the}
conversion between kinetic energy and potential energy \Remove{do not show
fluctuations} \Add{fluctuates} around zero, as we would expect for a system of
statistically stationary waves. Additionally, the conversion between potential energy
and kinetic energy becomes small where the wave dissipation parameter $\gamma_{\kk}$
(\ref{eq:DissipationParameter}) is larger than unity. Due to the anisotropy of
stratified flows, this means that it exists a range of scales where waves are
efficiently dissipated by viscosity, but not necessarily the vortices.
A spatiotemporal analysis in the buoyancy range showed that increasing stratification
is necessary to decrease the nonlinear broadening to the level required for a weak wave
turbulence regime. As in \cite{yokoyama_energy-based_2019}, we observed that waves are
present in a region delimited by the nonlinearity parameter $\chi_{\kk}$
(\ref{eq:NonLinearityParameter}). More precisely, waves are more likely to dominate
where $\chi_{\kk} < 1/3$, if the vortical modes are removed. We also observed evidences
of the presence of slow waves ($k_z \gg k_h$) subject to TRI where $\chi_{\kk} \geq
1/3$ in simulations with or without vortical modes. However, the nonlinear broadening
is shown to be large for $k_z \gg k_h$, so slow waves are less susceptible to be
described by the WWT theory. Although removing vortical modes is not enough to observe
a weak wave turbulence regime, simulations without vortical modes produce $E(\ok,
\omega)$ plots (Figure~\ref{fig:omega_vs_omegak}) characterized by a better
concentration of energy in wave modes. Additionally, temporal spectra of strongly
stratified simulations without vortical modes exhibit a larger inertial range in
temporal scales (Figure~\ref{fig:spectra_omega}). The spectra are also compatible with
the Kolmogorov-Zakharov spectrum offered by WWT. However, this spectrum is known to be
mathematically unrealizable, so the agreement between this prediction and our
simulations remains to be explained.
Using a simple diagnostic to quantify wave energy contained in a stratified flow, we
showed that that the buoyancy Reynolds number should not be too large in order to
observe a WWT regime. To understand this, we propose the following conditions in order
to limit the generation of non wave structures and to ensure the weak nonlinearity for
the evolution of all energetic modes:
\begin{itemize}
\item The waves and eddies should be dissipated in the buoyancy range which leads to
the conditions
\begin{equation}
\label{eq:DissInBuoyancy}
\kd \leq \kb ~~~~ \Rightarrow ~~~~ \R \leq F_h ~~~~ \text{and} ~~~~ k_{\eta} \leq \kb ~~~~ \Rightarrow ~~~~ \R \leq F_h^{2/3}.
\end{equation}
if we assume that dissipation of eddies occurs at the Kolmogorov wave-vector $k_{\eta}
= (\epsK/\nu^3)^{1/4}$. These conditions are necessary to avoid wave breaking and the
development of 3D small-scale eddies.
\item The nonlinearity parameter $\chi_{\kk}$ should remain small for all energetic
modes. If we assume that dissipation occurs at $k \lesssim k_\eta$, this leads to the
condition
\begin{equation}
\chi_{\rm max} \equiv \max\limits_{\substack{\kk \\ k \leq k_{\eta}}} \chi_{\kk}\leq 1 ~~~~ \Rightarrow ~~~~ \max\limits_{\substack{\kk \\ k \leq k_{\eta}}} \frac{1}{\sin \thk} \left(\frac{k}{\ko} \right)^{2/3} = \frac{k_\eta}{k_{\rm h, min}} \left(\frac{k_\eta}{\ko} \right)^{2/3} \leq 1
\end{equation}
where $k_{\rm h, min}$ represents the minimal horizontal wave-vector. If we consider a
flow of finite size with no shear modes, $k_{\rm h, min} = 2\pi / L_h$ such that
\begin{equation}
\label{eq:smallchi}
\chi_{\rm max} = \frac{k_\eta L_h}{2 \pi} \left(\frac{k_\eta}{\ko} \right)^{2/3} \leq 1 ~~~~ \Rightarrow ~~~~ \left(\frac{\epsK L_h^4}{\nu^3} \right)^{1/4} \R^{1/2} \lesssim 1.
\end{equation}
\end{itemize}
Finally, we require the flow to be in a fully turbulent regime such that
\begin{equation}
\label{eq:LargeRe}
Re = \R F_h^{-2} \gg 1 ~~~~ \text{and} ~~~~ \epsK \sim U_h^3 / L_h.
\end{equation}
Then, substituting the definition of $Re$ from equation (\ref{eq:FhR}) and condition
(\ref{eq:LargeRe}) into equation (\ref{eq:smallchi}) yields
\begin{equation}
\label{eq:SmallChi}
\R \lesssim F_h^{6/5}.
\end{equation}
To summarize, we propose that a weak internal gravity waves turbulence regime could
occur only if $F_h$ and $\R$ are such that conditions (\ref{eq:DissInBuoyancy}),
(\ref{eq:LargeRe}), and (\ref{eq:SmallChi}) are fulfilled. Note that the last
thresholds are obtained by dimensional analysis, so they are defined up to
dimensionless factors, which are set to one for simplicity. On
Figure~\ref{fig:discussion}, we plot our simulations in the $(F_h,\R)$ plane, as well
as the simulations of
\Add{\cite{brethouwer_scaling_2007,waite_potential_2013,reun_parametric_2018,lam_energy_2021}}
and some recent experiments \cite{rodda_experimental_2022}. For the simulations of
\cite{reun_parametric_2018}, the Froude number is computed using our definition
(\ref{eq:FhR}), and the buoyancy Reynolds number as $\R = Re F_h^2$ in order to compare
to our work. Namely, we have used Table~1 in \cite{reun_parametric_2018} with $U_h =
u_{\rm rms}$, $\epsK = \varepsilon_k$, and $Re = Re_0$. This leads to different values
of $F_h$ and $\R$ than the ones presented by the authors. We observe that our
simulations do not lie in the region corresponding to (\ref{eq:DissInBuoyancy}),
(\ref{eq:LargeRe}), and (\ref{eq:SmallChi}). On the contrary,
\cite{reun_parametric_2018} attained such a region in their simulations, which provides
a tangible explanation for why they obtained better signatures of WWT. \Add{It is worth
mentioning that \cite{reun_parametric_2018} did not have to remove shear nor vortical
modes in their simulations to observe signatures of internal wave turbulence. It
indicates that there must be some threshold below which both shear and vortical modes
do not grow if not directly forced. Such a situation would be analogous to rotating
flows where there is a threshold below which geostrophic modes do not grow
\cite{reun_experimental_2019}.} \Add{We observe that \cite{waite_potential_2013} also
attained very small $\R$. In this study, the authors forced vortical modes so their
simulations are not well suited for WWT. Yet, they showed that potential enstrophy
tends to be quadradic (i.e. $V \simeq V_2$) for $F_h, \R \ll 1$ and that $V_2 \propto
\int ~ \Omega_z^2 ~ \dxdydz$ increases with $\R$ in their simulations. It suggests that
vortical modes energy increases with $\R$ when $\R \lesssim 1$, as explained by
\cite{lam_energy_2021}. Yet, the study of the wave energy ratio is not done while
keeping $F_h$ or $\R$ constant in \cite{lam_energy_2021}. To our knowledge, additional
studies are needed to confirm if the wave energy ratio is for $\R\ll 1$ and $F_h \ll 1$
a decreasing function of $\R$, and if a threshold below which both shear and vortical
modes are stable exists.}
\begin{figure}
\includegraphics[width=0.66\textwidth]{figure17.png}
\caption{Simulations of the present study and
\Add{\cite{brethouwer_scaling_2007,waite_potential_2013,reun_parametric_2018,lam_energy_2021}},
and the experiments \cite{rodda_experimental_2022} in the $(F_h, \R)$ parameters space.
The colored full lines corresponding to conditions (\ref{eq:DissInBuoyancy}),
(\ref{eq:LargeRe}), and (\ref{eq:SmallChi}) (see legend). The blue dashed line
corresponds to $Re = 500$. The colored region is where a weak wave turbulence regime is
expected. \label{fig:discussion}}
\end{figure}
If the latter claims are true, they constitute very prohibitive conditions for
observing WWT in numerical simulations and experiments. To illustrate this point, let
us consider a turbulent flow at $Re = 10^3$ that typically requires a $\sim 1024^3$
resolution. Then (\ref{eq:SmallChi}) stipulates that the flow need to attain $F_h \leq
Re^{-5/4} = 1.78 \times 10^{-4}$ for the nonlinearity parameter to be small for all
energetic modes. Yet, the kinetic time for a system of internal gravity waves is
expected to grow as $F_h^{-2}$, meaning that very long simulations are required to
attain the steady state, even for relatively small domains.
\begin{acknowledgments}
\Add{We thank two anonymous reviewers for their constructive feedback.} This project
was supported by the Simons Foundation through the Simons collaboration on wave
turbulence. Part of the computations have been done on the ``Mesocentre SIGAMM''
machine, hosted by Observatoire de la Cote d'Azur. The authors are grateful to the OPAL
infrastructure from Université Côte d'Azur and the Université Côte d’Azur's Center for
High-Performance Computing for providing resources and support. This work was granted
access to the HPC/AI resources of IDRIS under the allocation 2022-A0122A13417 made by
GENCI.
\end{acknowledgments}
\appendix
\section{Forcing scheme}
\label{appendix:forcing}
\Add{Our forcing is designed to excite waves and computed via generation of pseudo
random numbers with uniform distribution and time interpolation. Namely, we use the
following algorithm:}
\begin{algorithm}[H]
$t = 0$; $t_0 = 0$; \\
Generate two complex random fields $\hat f_0(\kk)$ and $\hat f_1(\kk)$; \\
$\hatff = \hat f_0 \, \eep$;\\
Normalize $\hatff$ to ensure
\Add{$P_K(t) = \sum\limits_{\kk} ~ \Re \left[ \hatff \cdot \hatvv^* + \frac{\Delta t}{2} |\hatff|^2 \right] = 1$};\\
\While{$t \leq T$}{
$t = t + \Delta t$; \\
\If{$t - t_0 \geq T_c$}{
$t_0 = t$; \\
$\hat f_0 = \hat f_1$; \\
Generate $\hat f_1$;
}{}
$\hatff = \left\{ \hat f_0 - \dfrac{(\hat f_1 - \hat f_0)}{2} \left[\cos\left(\dfrac{\pi(t-t_0)}{T_c} \right)+ 1 \right]\right\}\, \eep$; \\
Normalize $\hatff$;
}
%\caption{}
\end{algorithm}
where $\Delta t$ is the time increment at each time step \Add{and $T$ is the final time
of the simulation}. \Add{The random complex fields are built such that their inverse
Fourier transform is real and they are null for unforced wavenumbers.}
\section{List of simulations}
\begin{table}
\caption{Overview of the numerical and physical parameters used in the simulations.
$\R_i = P_K/ \nu N^2$. $F_h$ and $\R$ are the turbulent horizontal Froude number and
buoyancy Reynolds number, respectively, defined in (\ref{eq:FhR}).}
\begin{tabular}{m{4cm}m{5.5cm}m{5.5cm}}
\textbf{Control parameters} & \textbf{With vortical modes} & \textbf{Without vortical modes} \\
\end{tabular}
\input{../tmp/table_params.tex}
\input{../tmp/table_better_simuls.tex}
\input{../tmp/table_better_simuls_proj.tex}
\label{table-better-simuls}
\end{table}
\newpage
\bibliography{main}
\end{document}
% Basics
We start from the three-dimensional Navier-Stokes equations under the Boussinesq
approximation with added hyperviscous hyperdiffusion terms:
\begin{align}
\label{eq:Continuity}
\bnabla \cdot \vv &= 0 \\
\label{eq:Impulsion}
\p_t\vv + \vv \cdot \bnabla \vv &= b\boldsymbol{e}_z - \bnabla p +
\nu \nabla^2\vv - \nu_4 \nabla^4 \vv + \ff, \\
\label{eq:Buoyancy}
\p_t{b} + \vv \cdot \bnabla b &= -N^2 v_z + \kappa\nabla^2{b} - \kappa_4\nabla^4{b} ,
\end{align}
where $(x,y,z)$ will represent the three spatial coordinates in the cartesian frame
$(O, \eex, \eey, \eez)$, $\eez$ is the stratification axis, $\vv=(v_x, v_y, v_z)$ is
the velocity, $b$ the buoyancy, $p$ the total kinematic pressure, $N$ the \bv
frequency, $\nu$ the viscosity, $\kappa$ the diffusivity, $\nu_4$ the hyperviscosity,
$\kappa_4$ the hyperdiffusivity, and $\ff$ is the velocity forcing. In this study, we
fix the Schmidt number $Sc = \nu/\kappa$ to one. We consider a periodic domain of
horizontal size $L_x = L_y = L_h = 3$. The vertical size of the domain, $L_z$, is
varied depending on the stratification. We note $(n_x, n_y, n_z)$ the numbers of
collocations points in the three spatial directions, with $n_x = n_y \equiv n_h$.
The Fourier transform of the velocity field $\vvk = (\hat{v}_{x \kk}, \hat{v}_{y \kk},
\hat{v}_{z \kk})$ can be written using the commonly used poloidal-toroidal-shear
decomposition (see e.g. \cite{craya_contribution_1957, smith_generation_2002,
laval_forced_2003, godeferd_toroidalpoloidal_2010, kimura_energy_2012,
maffioli_vertical_2017})
\begin{equation}
\vvk = \begin{cases} \vvp \eep + \vvt \eet ~~~~ \text{if} ~ k_h \neq 0, \\
\vvs = \hat{v}_{x\kk} \eex + \hat{v}_{y\kk} \eey ~~~~ \text{if} ~ k_h = 0.
\end{cases}
\end{equation}
where
\begin{equation}
\label{eq:poloidal-toroidal}
\eek = \frac{\kk}{k}, ~~~~
\eep = \frac{\kk \times (\kk \times \eez)}{|\kk \times (\kk \times \eez)|}, ~~~~
\eet = \frac{\eez \times \kk}{|\eez \times \kk|},
\end{equation}
$\vvp$ is the poloidal component, $\vvt$ is the toroidal component, $\vvs$ is the shear
modes component, $\kk=(k_x, k_y, k_z)$ denotes the wave-vector, $k =|\kk| = \sqrt{k_x^2
+ k_y^2 + k_z^2}$ is its modulus, and $k_h = \sqrt{k_x^2 + k_y^2}$ is the modulus of
the horizontal component of the wave-vector (Figure~\ref{fig:poloidal-toroidal}).
\begin{figure}
\centering
\includegraphics[width=0.4\textwidth]{fig_poloidal-toroidal}
\caption{Illustration of the poloidal-toroidal basis $(\eek, \eep, \eet)$ defined by
equations (\ref{eq:poloidal-toroidal}). $\thk$ is the angle between $\eez$ and $\eek$.
$\phk$ is the angle between the horizontal projection of $\kk$ and $\eex$.
\label{fig:poloidal-toroidal}}
\end{figure}
% Description of linear modes and shear modes dynamics
In spectral space, once projected, the equations of motion
(\ref{eq:Continuity}-\ref{eq:Buoyancy}) then reads
\begin{align}
\label{eq:StratifiedSpectralPoloidalToroidal}
\begin{cases}
\dot{\hat{v}}_{p\kk} &= - (\widehat{\vv \cdot \bnabla \vv})_{\kk} \cdot \eep - \bbk \sin \thk - \nu k^2 \vvp - \nu_4 k^4 \vvp + \ffk \cdot \eep, \\
\dot{\hat{v}}_{t\kk} &= - (\widehat{\vv \cdot \bnabla \vv})_{\kk} \cdot \eet - \nu k^2 \vvt - \nu_4 k^4 \vvt + \ffk \cdot \eet, \\
\dot{\hat{b}}_{\kk} &= - (\widehat{\vv \cdot \bnabla b})_{\kk} + N^2 \vvp \sin \thk - \kappa k^2 \bbk - \kappa_4 k^4 \bbk
\end{cases}
\end{align}
if $k_h \neq 0$, and
\begin{align}
\label{eq:StratifiedSpectralShearModes}
\begin{cases}
\dot{\hat{\vv}}_{s\kk} &= - (\widehat{\vv \cdot \bnabla \vv_h})_{\kk} - \nu k^2 \vvs - \nu_4 k^4 \vvs, \\
\dot{\hat{b}}_{\kk} &= - (\widehat{\vv \cdot \bnabla b})_{\kk} - \kappa k^2 \bbk - \kappa_4 k^4 \bbk
\end{cases}
\end{align}
if $k_h=0$, where $\vv_h = (v_x,v_y,0)$ is the horizontal component of $\vv$ and
$\left(\widehat{\cdot}\right)_{\kk}$ denotes the Fourier transform. We will also note
$k_i \in \delta k_i ~ \mathbb{Z}$ with $\delta k_i = 2\pi /L_i$ for $i =x,y,z$, and
$\delta k_x = \delta k_y \equiv \delta k_h$. \\ The linear, unforced, inviscid
dynamics can be written as
\begin{align}
\label{eq:StratifiedSpectralPoloidalToroidalLinear}
\dot{a}_{\kk}^{(-)} = -i \ok a_{\kk}^{(-)}, ~~~~ \dot{a}_{\kk}^{(0)} &= 0, ~~~~ \dot{a}_{\kk}^{(+)} = +i \ok a_{\kk}^{(+)} ~~~~ \text{if} ~~ k_h \neq 0 \\
\label{eq:StratifiedSpectralShearModesLinear}
\dot{\hat{\vv}}_{s\kk} = \mathbf{0}, ~~~~
\dot{\hat{b}}_{\kk} &= 0 ~~~~ \text{if} ~~ k_h = 0.
\end{align}
where $a_{\kk}^{(\pm)} = \left(\vvp \pm i \frac{\bbk}{N} \right)/\sqrt{2\ok}$ are the
waves modes,
\begin{equation}
\ok
=N k_h/k = N \sin \thk,
\end{equation}
is the pulsation of the waves, $\thk$ is the angle between $\kk$ and the stratification
axis $\eez$, and $a_{\kk}^{(0)} = \vvt$ are the vortical modes (corresponding to
vertical vorticity). Equations
(\ref{eq:StratifiedSpectralPoloidalToroidalLinear}-\ref{eq:StratifiedSpectralShearModesLinear})
show that both shear modes and vortical modes have zero frequency. It is then clear
that linear waves live in the poloidal velocity and the buoyancy, but not in the
toroidal velocity nor the shear velocity. \\
Since we are motivated by forcing internal gravity waves, in which only the poloidal
part is involved and whose dispersion relation is anisotropic, we use an anisotropic,
poloidal velocity forcing $\ffk = \fk \eep$. The flow is forced at large spatial scales
and small angle $\left\{\kk ~ | ~ 5 \leq k/\delta k_h \leq 20, ~ |\ok(\kk)/N - \sin
\theta_f| \leq 0.05 \right\}$ where $\sin \theta_f = 0.3$, meaning that relatively slow
internal waves are forced. The correlation time of the forcing is equal to the period
of the forced waves $T_c = 2\pi /(N \sin \theta_f)$. The forcing is computed in
spectral space such that the kinetic energy injection rate $P_K$ is constant and equal
to unity. The forcing scheme is described by the algorithm given in
Appendix~\ref{appendix:forcing}. All modes with wavenumber modulus larger than $\kmax =
0.8 (n_h/2) \delta k_h$ are truncated to limit aliasing. Shear modes and vertically
invariant vertical velocity (internal waves at $\omega = N$), which are absent in flows
bounded by walls, are also removed in our simulations. \\
We measure the turbulent kinetic dissipations $\epsKK$ and $\epsKKKK$ based on both
viscosities, and the total kinetic energy dissipation $\epsK = \epsKK + \epsKKKK$. The
product of the maximal wave-vector $\kmax$ with the Kolmogorov scale $\eta \equiv
(\nu^3 / \epsKK)^{1/4}$ is computed. The time advancement is performed using the
$4^{th}$ order Runge-Kutta scheme. The numerical simulations are performed using the
pseudo-spectral solver \texttt{ns3d.strat} from the FluidSim Python package
\cite{mohanan_fluidsim_2019}.
The turbulent non-dimensional numbers characterizing the flow are the horizontal
turbulent Froude number and the buoyancy Reynolds numbers that are respectively
\begin{equation}
\label{eq:FhR}
F_h = \frac{\epsK}{{U_h}^2 N} ~~~~ \text{and} ~~~~ \R = \frac{\epsK }{\nu N^2}, %~~~~ \R_4 = \frac{\epsK U_h^2}{\nu_4 N^4},
\end{equation}
where $\epsK$ is the average kinetic energy dissipation rate, and $U_h$ is the rms of
the horizontal velocity. We also compute the buoyancy and the Ozmidov wave-vectors
$k_{\rm b} \equiv N/U_h$ and $k_{\rm O} \equiv \sqrt{N^3 / \epsK}$. All the quantities
presented in this manuscript are computed from averaging when stationarity is reached.
A list of the simulations, with relevant parameters and physical quantities is given in
Appendix~\ref{table-better-simuls}.
\subsection{Regimes and global energy distribution}
\label{subsec:global}
In this subsection, we study the anisotropy of the flow and global energy budget in the
$(F_h, \R)$ plane. To discuss stratified turbulence regimes, it is useful to introduce
a large scale isotropy coefficient and a small scale isotropy coefficient
\cite{linares_numerical_2020}. The former is based on the kinetic energy's components
\begin{equation}
\label{eq:Ivelo}
\Ivelo = \frac{3 E_{\rm kin,z}}{E_{\rm kin}}
\end{equation}
where $E_{\rm kin,z}$ is the vertical velocity kinetic energy and $E_{\rm kin}$ is the
total kinetic energy. The small scale isotropy coefficient is computed using the
kinetic energy dissipation rates, namely
\begin{equation}
\label{eq:Idiss}
\Idiss = \frac{1 - \varepsilon_{\rm kin,z}/\varepsilon_{\rm kin}}{(1 - 1/3)}
\end{equation}
where $\varepsilon_{\rm kin,z}$ is the energy dissipation rate due to vertical
gradients. Both $\Ivelo$ and $\Idiss$ are equal to unity for an isotropic flow.
Conversely, $\Ivelo$ and $\Idiss$ should be close to zero if the flow is strongly
anisotropic. When vortical modes are removed, the following definitions are used
\begin{equation}
\label{eq:IcoeffsProj}
\Ivelo = \frac{2 E_{\rm kin,z}}{E_{\rm kin}}, ~~~~ \text{and} ~~~~ \Idiss = \frac{1 - \varepsilon_{\rm kin,z}/\varepsilon_{\rm kin}}{(1 - 1/2)}
\end{equation}
because it is expected that only half of the kinetic is contained in (respectively
dissipated by) the vertical velocity field (respectively the vertical gradients) if the
energy spectra are independent of the angles in this case. Figure~\ref{fig:regimes}
shows the variations of $\Ivelo$ and $\Idiss$ with $(F_h,\R)$. Small points correspond
to strong anisotropic energy dissipation while big points correspond to isotropic
energy dissipation. Dark points correspond to strong large scale isotropy while light
points correspond to isotropic flows. $\Ivelo$ and $\Idiss$ allow to distinguish
between four regimes (Figure~\ref{fig:regimes}$(a)$): the passive scalar regime where
$\Ivelo \simeq 1$, the weakly stratified regime where $0.5 \lesssim \Ivelo \lesssim 1$,
and the strongly stratified regimes where $\Ivelo \leq 0.5$. As explained in
\cite{brethouwer_scaling_2007}, the strongly stratified flows fall in two regimes: The
strongly stratified regime where the dissipation is isotropic because a 3D turbulence
range can develop, typically when $\R \geq 10$; The viscosity affected regime where the
small dissipative scales remain affected by the anisotropy. We observe that removing
vortical modes does not modify this picture (Figure~\ref{fig:regimes}$(b)$). However,
for a given $(F_h,\R)$, we observe that the isotropy coefficients tend to have bigger
values when the vortical modes are removed.
\begin{figure}
\includegraphics[width=1.0\textwidth]{../tmp/fig_isotropy_coef_vs_FhR}
\caption{Classification of regimes in our simulations using the isotropy coefficients.
The large scale isotropy coefficient $\Ivelo$ is given by the color-scale, and the
small scale isotropy coefficient $\Idiss$ by the size of the symbols. For simulations
with vortical modes $(a)$, definitions (\ref{eq:Ivelo}-\ref{eq:Idiss}) are used. For
simulations without vortical modes $(b)$, definitions (\ref{eq:IcoeffsProj}) are used.
The dotted blue lines correspond to $\R = 10$, $F_h = 0.14$, and $F_h=1$.
\label{fig:regimes}}
\end{figure}
We note
\begin{equation}
\label{eq:energies}
E_{\rm pot} = \frac{1}{2N^2} \sum\limits_{\kk} |\bbk|^2, ~~~~ E_{\rm polo} = \frac{1}{2} \sum\limits_{\kk} |\vvp|^2, ~~~~ E_{\rm toro} = \frac{1}{2} \sum\limits_{\kk} |\vvt|^2, ~~~~ \tilde{\mathcal{D}} = \frac{E_{\rm polo} - E_{\rm pot} }{E_{\rm polo} + E_{\rm pot} }
\end{equation}
which are, respectively, the potential energy, the poloidal kinetic energy, the
vortical modes (toroidal) kinetic energy, and the relative difference between poloidal
and potential energy. We also note $E = E_{\rm pot} + E_{\rm polo} + E_{\rm toro} $
the total energy. Figure~\ref{fig:global-energy} shows the vortical modes energy ratio
$E_{\rm toro} /E$ and $\tilde{\mathcal{D}}$ as a function of $F_h$ and $\R$. For
waves, we expect to observe an equipartition between the poloidal kinetic energy and
potential energy. Consequently, both $E_{\rm toro} /E$ and $\tilde{\mathcal{D}}$ should
be close to zero for a system mainly composed by internal gravity waves. We observe
that vortical modes energy becomes dominant at high stratification (low $F_h$) if they
are not removed from the dynamics in these simulations with $\R \geq 0.1$
(Figure~\ref{fig:global-energy} (a)). The ratio $E_{\rm toro} /E$ is the lowest at
intermediate stratification $F_h \simeq 0.1-0.3$ and low values of $\R$. However, the
same simulations are marked by a predominance of potential energy over poloidal energy,
$\tilde{\mathcal{D}} < 0$ (Figure~\ref{fig:global-energy} (b)), meaning that these
weakly stratified flows do contain other structures than waves. When vortical modes are
removed, we can obtain flows with a global balance between poloidal and potential
energies ($\tilde{\mathcal{D}} \simeq 0$) at high stratification. Consequently, a flow
governed by weak non-linear interactions between waves may be obtained at high
stratification by removing vortical modes. In the two next subsections, we perform a
spatiotemporal analysis of a couple of stongly stratified turbulent simulations with
$(N,\R_i\equiv 1/\nu N^2)=(40,20)$ and aspect ratio $L_z/L_h=1/4$.
\begin{figure}
\includegraphics[width=1.0\textwidth]{../tmp/fig_ratio_E_vs_Fh}
\caption{(a) Ratio of vortical modes energy vs $F_h$. (b) Relative difference between
poloidal and potential energies $\tilde{\mathcal{D}} = (E_{\rm polo} - E_{\rm pot}
)/(E_{\rm polo} + E_{\rm pot} )$ for simulations with or without vortical modes vs
$F_h$. The red boxes indicate the simulations with $(N,\R_i)=(40,20)$ investigated in
the next subsections. \label{fig:global-energy}}
\end{figure}
\subsection{Energy budget in the strongly stratified regime}
\label{subsec:khkz}
It is expected that the spatial energy budget will depend on the ratio of temporal
timescales. In particular the non-linearity parameter used for several physical
systems, including stratified and rotating turbulence \cite{nazarenko_critical_2011,
yokoyama_energy-based_2019} and MHD \cite{meyrand_direct_2016, cerri_turbulent_2022}
\begin{equation}
\chi_{\kk} \equiv \frac{\tau_{\rm L}}{\tau_{\rm NL}} = \frac{(\epsK k^2)^{1/3}}{N k_h / k} = \frac{k}{k_h} \left( \frac{k}{k_{\rm O}} \right)^{2/3} = \frac{1}{\sin \thk} \left( \frac{k}{k_{\rm O}} \right)^{2/3}.
\end{equation}
It represents the ratio between the period of the linear waves $\tau_{\rm L} = 2 \pi k
/ (N k_h)$ and the eddy turnover time $\tau_{\rm NL} = 2 \pi / (\varepsilon_{\rm kin}
k^2)^{1/3}$, estimated by dimensional analysis. In a similar way, we introduce the wave
dissipation parameter
\begin{equation}
\gamma_{\kk} \equiv \frac{\tau_{\rm L}}{\tau_{\nu}} = \frac{\nu k^2}{N k_h / k} = \frac{k}{k_h} \left( \frac{k}{k_{\rm d}} \right)^{2} = \frac{1}{\sin \thk} \left( \frac{k}{k_{\rm d}} \right)^{2}
\end{equation}
which represents the ratio between the period of the linear waves and the dissipation
time $\tau_{\nu} = 2 \pi / (\nu k^2)$. In the last equation, we introduced the wave
dissipation wave-vector $k_{\rm d} \equiv \sqrt{N/\nu}$.
The kinetic energy and potential energy budgets for one Fourier mode read
\begin{equation}
\label{eq:seb}
\left\langle \frac{1}{2}\frac{\mathrm{d} |\vvk|^2}{\mathrm{d}t} \right \rangle = \mathcal{I}_{\kk} + \mathcal{T}_{\rm kin,\kk} - \mathcal{B}_{\kk} - \varepsilon_{\rm kin,\kk}, ~~~~ \text{and} ~~~~
\left\langle \frac{1}{2N^2}\frac{\mathrm{d}|\bbk|^2}{\mathrm{d}t} \right\rangle = \mathcal{T}_{\text{pot},\kk} + \mathcal{B}_{\kk} - \varepsilon_{\text{pot},\kk},
\end{equation}
where
\begin{align}
\nonumber
&\mathcal{I}_{\kk} = \left\langle Re \left( \ffk \cdot \vvk^* \right) \right \rangle, ~~~~
\mathcal{T}_{\rm kin, \kk} = - \left\langle Re \left( \vvk^* \cdot \left[ \bar{\bar{P}}_{\kk} \cdot (\widehat{\vv \cdot \bnabla \vv})_{\kk} \right] \right) \right\rangle, \\
\nonumber
&\mathcal{T}_{\text{pot}, \kk} = - \left\langle Re \left( \bbk^* (\widehat{\vv \cdot \bnabla b})_{\kk} \right) / N^2 \right\rangle, ~~~~
\mathcal{B}_{\kk} = - \left\langle Re \left( \hat{v}_{z\kk}^* \bbk \right) \right\rangle, \\
&\varepsilon_{\rm kin, \kk} = (\nu k^2 + \nu_4 k^4) \frac{|\vvk|^2}{2}, ~~~~
\varepsilon_{\text{pot},\kk} = (\kappa k^2 + \kappa_4 k^4) \frac{|\bbk|^2}{2N^2},
\end{align}
are respectively the kinetic energy injection rate, the kinetic energy transfer, the
potential energy transfer, the conversion of kinetic energy to potential energy, the
kinetic energy dissipation, and the potential energy dissipation. In the last
equations, $(\cdot)^*$ denotes the complex conjugate, $Re(\cdot)$ the real part,
$\left\langle \cdot \right\rangle$ stands for the averaging operator, and
$\bar{\bar{P}}_{\kk} = \mathbb{I} - \eek \otimes \eek$ is the projector onto the plane
orthogonal to $\kk$. In this section, we study azimutal average of the energy budget.
Namely, we computed quantities like:
\begin{equation}
F(k_h, k_z) = \frac{1}{\delta k_h ~ \delta k_z} \mathop{\sum \sum}_{\substack{k_h \leq k_h'< k_h + \delta k_h \\ k_z \leq |k_z'| < k_z + \delta k_z}} ~ F_{\kk'},
\end{equation}
where $F$ can be $E_{\rm pot} $, $E_{\rm polo} $, $E_{\rm toro} $, $E_{\rm kin} =
E_{\rm polo} + E_{\rm toro} $, $\mathcal{T}_{\text{pot}}$, $\mathcal{T}_{\rm kin}$,
$\mathcal{B}$, $\mathcal{I}$, $\epsK$, or $\epsA$.
Following \cite{yokoyama_energy-based_2019}, we use the ratios of energies, like
\begin{equation}
\frac{E_{\rm toro} (k_h, k_z)}{E(k_h, k_z)} ~~~~ \text{and} ~~~~ \tilde{\mathcal{D}}(k_h,k_z) = \frac{\Epolo(k_h,k_z)-\Epot(k_h,k_z)}{\Epolo(k_h,k_z)+\Epot(k_h,k_z)},
\end{equation}
in order to quantify the energy content scale by scale. In the same spirit, we also
introduce
\begin{equation}
\label{eq:transfers}
\tilde{\mathcal{T}}_{\rm kin}(k_h,k_z) = \frac{\mathcal{T}_{\rm kin}(k_h,k_z)}{\mathcal{T}_{\text{tot}}(k_h,k_z)}, ~~~~
\tilde{\mathcal{T}}_{\text{pot}}(k_h,k_z) = \frac{\mathcal{T}_{\text{pot}}(k_h,k_z)}{ \mathcal{T}_{\text{tot}}(k_h,k_z)}, ~~~~
\tilde{\mathcal{B}}(k_h,k_z) = \frac{\mathcal{B}(k_h,k_z)}{\mathcal{T}_{\text{tot}}(k_h,k_z)},
\end{equation}
where
\begin{equation}
\mathcal{T}_{\text{tot}}(k_h,k_z) \equiv |\mathcal{T}_{\rm kin}(k_h,k_z)| + |\mathcal{T}_{\text{pot}}(k_h,k_z)| + |\mathcal{B}(k_h,k_z)| + \epsK(k_h,k_z) + \epsA(k_h,k_z).
\end{equation}
These quantities are useful for tracking the energy pathways scale by scale. By
construction, $\tilde{\mathcal{T}}_{\text{pot}}$, $\tilde{\mathcal{T}}_{\rm kin}$, and
$\tilde{\mathcal{B}}$ vary between $-1$ and $1$ depending on the amplitude and
direction of the energy transfer or conversion ($\tilde{\mathcal{B}}>0$ corresponds to
conversion of kinetic energy to potential energy). In statistically stationary state
($\langle\cdot \rangle = 0$) and in the inertial range ($\mathcal{I}(k_h,k_z) = 0$,
$\epsK(k_h,k_z) \simeq 0$, and $\epsA(k_h,k_z) \simeq 0$), we should have
$\mathcal{T}_{\rm kin}(k_h,k_z) \simeq - \mathcal{T}_{\text{pot}}(k_h,k_z) \simeq
\mathcal{B}(k_h,k_z)$. For this reason, we will present only
$\tilde{\mathcal{B}}(k_h,k_z)$.
\subsubsection{Energy spectra}
Figure~\ref{fig:spectra_omega} represents the temporal energy spectra for simulations
with $(N,\R_i)=(40,20)$. In the case where vortical modes are present
(Figure~\ref{fig:spectra_omega}$(a)$), we observe that potential and poloidal energies
dominate over toroidal energy for frequencies smaller than the \bv frequency, i.e.
$\omega/N <1$. For $\omega/N \geq 1$, the three components of the energy have very
similar spectra. When vortical modes are removed (Figure~\ref{fig:spectra_omega}$(b)$),
potential energy is almost in perfect equipartition with poloidal energy at a given
frequency, and the spectra gets closer to the high frequency limit of the Garrett-Munk
spectra (i.e. $E(\omega) \sim \omega^{-2}$) \cite{garrett_internal_1979}.
\begin{figure}
\includegraphics[width=1.0\textwidth]{../tmp/fig_spectra_omega_regimes}
\caption{Temporal energy spectra for simulations $(N,\R_i)=(40,20)$ with $(a)$ and
without $(b)$ vortical modes. The orange dotted lines correspond to the minimal and
maximal frequencies of the linear internal gravity waves in the forcing region.
\label{fig:spectra_omega}}
\end{figure}
Figure~\ref{fig:spectra_1D} shows the 1D spatial spectra, and the normalized (divided
by the total energy dissipation $\varepsilon$) energy fluxes along $k_h$ for the same
simulations. We first observe that removing vortical modes does not change the behavior
of the poloidal an potential energy spectra (Figure~\ref{fig:spectra_1D}$(a)$-$(b)$):
the horizontal spectra are close to $k_h^{-5/3}$, with a bottleneck beyond the buoyancy
wave-vector, while the vertical spectra has a spectral slope between $-2$ and $-3$. The
kinetic energy flux $\Pikin(k_h)$ and the potential energy flux $\Pipot(k_h)$ start to
show a plateau over almost a decade in these simulations
(Figure~\ref{fig:spectra_1D}$(c)$-$(d)$). We observe that the dissipation starts to be
important at the Ozmidov scale, meaning that this simulations lies between the strongly
stratified turbulence regime and the viscosity affected regime
\cite{brethouwer_scaling_2007}. The main effect of removing vortical modes is to make
$\Pipot(k_h)$ larger than $\Pikin(k_h)$. Also, the kinetic energy dissipation
$\epsK(k_h)$ is almost equal to the potential energy dissipation $\epsA(k_h)$ when
vortical modes are removed, as we expect for a system of internal gravity waves
\cite{reun_parametric_2018}.
\begin{figure}
\includegraphics[width=1.0\textwidth]{../tmp/fig_spectra_1D_regimes}
\caption{Compensated 1D spatial energy spectra for simulations $(N,\R_i)=(40,20)$ with
$(a)$ and without $(b)$ vortical modes. Normalized $k_h$ energy fluxes for the same
simulations with $(c)$ and without $(d)$ vortical modes. The orange dotted line
corresponds to the maximal wave-vector modulus of the forcing region, the black dotted
line to $k_{\rm b}$, the black dashed line to $k_{\rm O}$. \label{fig:spectra_1D}}
\end{figure}
Figure~\ref{fig:spectra_khkz_kin} shows slices of the kinetic energy spectra. The
potential and kinetic energy spectra have the same trends with respect to $k_h$ and
$k_z$, so the potential energy spectra is not presented. As in
\cite{yokoyama_energy-based_2019}, we observe different scaling laws depending on the
region in the $(k_h,k_z)$ plane. Namely, important differences between small $k_z$ and
large $k_z$ for a given $k_h$ (Figure~\ref{fig:spectra_khkz_kin}$(a)$-$(b)$):
\begin{itemize}
\item For $k_h \ll k_{\rm b}$, energy is accumulated at the lowest available $k_h$ and
small $k_z$, as usual in stratified turbulence \cite{smith_generation_2002,
laval_forced_2003, herbert_waves_2016}. At $k_z \ll k_{\rm b}$ the spectra is close to
a $k_h^{-2}$ dependency, which is consistent with integrated energy spectra reported in
earlier studies \cite{waite_stratified_2011, kimura_energy_2012}, but not with the WWT
predictions (\ref{eq:WWTpredictions}). This also indicates a transfer of energy to
large scale, already investigated in \cite{smith_generation_2002, herbert_waves_2016}.
For a fixed $k_z \gg k_{\rm b}$, we rather observe $E_{\rm kin} \sim k_h^1$ which would
correspond to an equipartition of energy in horizontal scales. \item For $k_h \gg
k_{\rm b}$, the spectra starts to depend less and less on $k_z$, and the $E_{\rm
kin}(k_h,k_z)$ slices eventually merge around $k_h \sim k_{\rm O}$, when the eddy
turnover time starts to be less than the period of any linear waves, i.e. $\chi_{\kk} >
1$.
\end{itemize}
Important differences can also be noted when looking at $k_z$ slices
(Figure~\ref{fig:spectra_khkz_kin}$(c)$-$(d)$):
\begin{itemize}
\item For $k_z \ll k_{\rm b}$, the spectra is close to $\sim k_z^{0}$, indicating that
horizontal layers of height larger than the buoyancy scale are decoupled in these
strongly stratified simulations. \item For $k_{\rm b} \ll k_z \ll k_{\rm O}$, the
spectra is very steep at small horizontal wave-vectors, while it remains flat at large
horizontal wave-vectors. \item For $k_z \gg k_{\rm O}$, the spectral slope starts to
depend less and less on $k_h$. Yet, the $E_{\rm kin}(k_h,k_z)$ does not merge around
$k_h \sim k_{\rm O}$ since small horizontal scales are more energetic compared to the
large horizontal scales.
\end{itemize}
Due to the reduced aspect ratio of our simulations, we do not observe a net separation
between the forcing and the buoyancy scales. Still, the spectra remains very similar to
the one presented in \cite{yokoyama_energy-based_2019}. Interestingly, the trends of
the kinetic energy spectra appear to be very similar, whatever vortical modes are
present or not. This is a first indication that the presence of vortical modes is not
the only obstacle to observe internal gravity wave turbulence in realistic flows.
\begin{figure}
\includegraphics[width=1.0\textwidth]{../tmp/fig_spectra_slices_kh_kz}
\caption{Slices of the kinetic energy spectra $E_{\rm kin}(k_h,k_z)$ for simulations
$(N,\R_i)=(40,20)$ with and without vortical modes. The orange dotted line corresponds
to the maximal wave-vector modulus of the forcing region, the black dotted line to
$k_{\rm b}$, the black dashed line to $k_{\rm O}$, and the green dashed line to the
dissipative wave-vector. (a) $E_{\rm kin}$ vs $k_h$ with vortical modes. (b) $E_{\rm
kin}$ vs $k_h$ without vortical modes. (c) $E_{\rm kin}$ vs $k_z$ with vortical modes.
(d) $E_{\rm kin}$ vs $k_z$ without vortical modes. \label{fig:spectra_khkz_kin}}
\end{figure}
Figure~\ref{fig:spectra_khkz} shows the $k_h$-$k_z$ spectra. Obviously, the simulation
without vortical modes has no energy in the toroidal velocity. We observe that the
energy is contained at large scales. When vortical modes are present, an important part
of the energy is contained in one vortical mode $(k_h,k_z) = (\delta k_h, 3 \delta
k_z)$, corresponding to large, nearly vertical stacked vortex with varying orientations
(Figure~\ref{fig:spectra_khkz}$(a)$). When vortical modes are removed, energy is sill
concentrated in the same wave-vectors, but under the form of poloidal an potential
energy (Figure~\ref{fig:spectra_khkz}$(d)$-$(f)$). Except this qualitative difference,
we observe that toroidal, poloidal, and potential energy spectra show the same trends.
\begin{figure}
\includegraphics[width=1.0\textwidth]{../tmp/fig_spectra_kh_kz_regimes}
\caption{$k_h$-$k_z$ spectra for the simulations at $(N,\R_i)=(40,20)$, with and
without vortical modes. The cyan dotted lines correspond to $\chi_{\kk}=1/3$ and
$\chi_{\kk}=3$, the cyan dashed line to $k=k_{\rm b}$, the magenta dotted line to
$\gamma_{\kk}=1$, and the green dotted line to the dissipative scale. The orange box
corresponds to the forcing region. $(a)$ $\Etoro$ with vortical modes. $(b)$ $\Etoro$
without vortical modes. $(c)$ $\Epolo$ with vortical modes. $(d)$ $\Epolo$ without
vortical modes. $(e)$ $\Epot$ with vortical modes. $(f)$ $\Epot$ without vortical
modes. \label{fig:spectra_khkz}}
\end{figure}
In order to have a finer analysis of the distribution of energy in the $k_h$-$k_z$
plane, it is useful to look at energy ratios $\Etoro/E$ and $\tilde{\mathcal{D}}$
(\ref{eq:energies}) shown on Figure~\ref{fig:spectra_ratio_khkz}. One clearly observes
that $\Etoro$ is never negligible away of the forcing region, and very important for
small wave-vectors when the vortical modes are not removed
(Figure~\ref{fig:spectra_ratio_khkz}$(a)$-$(b)$). Except this important difference, the
spectral energy budgets of the two simulations appear to share striking similarities
for these simulations with $F_h \ll 1$ and $\R \gg 1$. Outside the forcing region, the
poloidal energy is dominant ($\tilde{\mathcal{D}} > 0$) between the lines $\chi_{\kk} =
1/3$ and $\chi_{\kk} = 3$, corresponding to a region where the critical balance
condition $\chi_{\kk} \sim 1$ is fulfilled
(Figure~\ref{fig:spectra_ratio_khkz}$(c)$-$(d)$). The potential energy is dominant
($\tilde{\mathcal{D}} < 0$) when $\chi_{\kk} > 3$, i.e. in a region where eddies are
faster than waves. We observe a good equipartition between potential and poloidal
energy ($\tilde{\mathcal{D}} \simeq 0$) when $\chi_{\kk} < 1/3$, i.e. in the region
where waves are faster than eddies. This indicates that the ratio of temporal scales
$\chi_{\kk}$ is important when identifying ranges in anisotropic turbulence, as already
explained in \cite{yokoyama_energy-based_2019}. In particular, it shows that a wave
dominated range cannot lie above $\chi_{\kk} > 1/3$.
\begin{figure}
\includegraphics[width=1.0\textwidth]{../tmp/fig_spectra_ratio_kh_kz_regimes}
\caption{Ratios of energy for the simulations at $(N,\R_i)=(40,20)$, with and without
vortical modes. The cyan dotted lines correspond to $\chi_{\kk}=1/3$ and
$\chi_{\kk}=3$, the cyan dashed line to $k=k_{\rm b}$, and the green dotted line to the
dissipative scale. The orange box corresponds to the forcing region. $(a)$ $\Etoro/E$
with vortical modes. $(b)$ $\Etoro/E$ without vortical modes. $(c)$
$\tilde{\mathcal{D}} = (\Epolo -\Epot)/(\Epolo+\Epot)$ with vortical modes. $(d)$
$\tilde{\mathcal{D}}$ without vortical modes. \label{fig:spectra_ratio_khkz}}
\end{figure}
\subsubsection{Conversion of kinetic to potential energy}
We can observe on Figure~\ref{fig:conversion} that the conversion between potential
energy and kinetic energy $\tilde{\mathcal{B}}$ is very similar with or without
vortical modes. This is not surprising since the vertical velocity is fully contained
in waves modes, and not in vortical modes. Naturally, the amplitude of
$\tilde{\mathcal{B}}$ is important only when $\gamma_{\kk} < 1$, meaning that waves
need to not be damped too strongly by viscosity or diffusivity in order to convert
potential energy to kinetic energy (or conversely). Yet, we observe that
$\tilde{\mathcal{B}}$ is whether positive or negative in average, even in the region
$\chi_{\kk} < 1/3$. Consequently, if waves certainly exist in this range, they cannot
subsist because their kinetic energy is converted into potential energy or vice-versa.
Therefore, these simulations are unlikely to correspond to a WWT regime, even in the
buoyancy range and without vortical modes. Nevertheless, we observe that
$\tilde{\mathcal{B}}$ fluctuates in time in the buoyancy range ($k\leq k_{\rm b}$).
\begin{figure}
\includegraphics[width=1.0\textwidth]{../tmp/fig_spectra_ratio_conversion_kh_kz_regimes}
\caption{Normalized conversion to potential energy $\tilde{\mathcal{B}}$
(\ref{eq:transfers}) for the simulations at $(N,\R_i)=(40,20)$, with $(a)$ and without
$(b)$ vortical modes. The magenta dotted line corresponds to $\gamma_{\kk}=1$, the
green dotted line to the dissipative scale, and the continuous black line to $k_z=k_h$.
The orange box corresponds to the forcing region. \label{fig:conversion}}
\end{figure}
\subsection{Spatiotemporal analysis in the buoyancy range}
\label{subsec:khkzomega}
From the previous subsection, it is expected that waves can dominate (but cannot
necessarily sustain) not too far from the buoyancy range ($k \leq k_{\rm b}$). To
assess further the presence and degree of non-linearity of waves, we performed a
spatiotemporal analysis for small $k$. As explained in the previous subsection, waves
are marked by an equipartition between poloidal kinetic energy and potential energy.
This motivates us to introduce the equipartition energy as
\begin{equation}
\Eequi(k_h, k_z) = 2 \min \left\{ \Epolo(k_h, k_z), \Epot(k_h, k_z)\right\},
\end{equation}
in order to track the presence of waves in the $(k_h, k_z)$ plane. Indeed, $\Eequi$
corresponds to the energy contained in $\Epot$ and $\Epolo$ that is in
potential-kinetic equipartition. Consequently, $\Eequi$ encompass the waves' energy.
However, it is important to note that $\Eequi$ can also contain the energy of
structures that are not linear waves. A more careful separation between waves and
non-waves structures requires a 4D spatiotemporal filtering
\cite{lam_partitioning_2020, lam_energy_2021}, which is expansive in term of
computational time and data storage. Yet, the ratio $\Eequi(k_h,k_z) /E(k_h,k_z)$ helps
to track waves in the spectral space at a lower cost.
Figure~\ref{fig:omega-k} shows slices of $\Eequi(k_h,k_z,\omega)$ at large spatial
scales, namely $k_h = 25.1$ and $k_z=25.1$. We observe that the energy tends to be
concentrated around the linear wave frequency only at large spatial scales, but is
dispersed even in the simulations without vortical modes. It has been shown that this
dispersion could be quantified by considering a Doppler effect due to the advection of
internal waves by shear modes \cite{maffioli_signature_2020}. Despite the fact that
shear modes are removed in our simulations, we can try to test such a prediction by
considering that a Doppler shift is due to a horizontal mean flow $\boldsymbol{U}$ of
amplitude $U_h$
\begin{equation}
\label{eq:Doppler}
\odoppler = \max\limits_{\phk} ~ \boldsymbol{U} \cdot\kk = k U_h \sin \thk = \frac{k}{k_{\rm b}} \ok.
\end{equation}
This gives a reasonable explanation of the important dispersion of the energy in
temporal scale at large wave-vectors (Figure~\ref{fig:omega-k}).
\begin{figure}
\includegraphics[width=1.0\textwidth]{../tmp/fig_spectra_slices_omega_k_regimes}
\caption{Slices of $\Eequi(k_h,k_z,\omega)$ for the simulations at $(N,\R_i)=(40,20)$,
with and without vortical modes. (a) $k_z=25.1$ with vortical modes. (b) $k_z=25.1$
without vortical modes. (c) $k_h=25.1$ with vortical modes. (b) $k_h=25.1$ without
vortical modes. The linear dispersion relation $\omega_{\boldsymbol{k}} = Nk_h/k$ is
plotted in black, the lines $\ok \pm \delta \omega/2$ (\ref{eq:delta-omega}) in blue,
and the yellow dashed lines correspond to the lines $\ok \pm \odoppler$
(\ref{eq:Doppler}). \label{fig:omega-k}}
\end{figure}
To observe more precisely the dispersion in temporal scales, we represent the ratio
$\Eequi(k_h, k_z, \omega)/ \max\limits_{\omega} E(k_h, k_z, \omega)$ for some
$(k_h,k_z)$ on Figure~\ref{fig:omega-L}, which indicates how the energy is distributed
among temporal scales for a given spatial scale. For a system of weakly nonlinear
internal gravity waves, we should observe a pic of $\Eequi/\max\limits_{\omega} E$
around $\omega = \ok$ (for the energy to be concentrated around the linear frequency),
whose maxima should be close to unity (for the energy to be concentrated in waves
modes). For these simulations, we observe that the concentration of energy around the
linear frequency mostly depends on the ratio $k/k_{\rm b}$. As expected, the pics of
energy around $\omega = \ok$ is more pronounced when $k \ll k_{\rm b}$. This is an
indication that linear waves effectively dominate only if $k \ll k_{\rm b}$, with or
without vortical modes. When $k \simeq k_{\rm b}$, energy starts to spread at all
temporal scales. We note that removing vortical modes from the dynamics helps to
concentrate $\Eequi$ in temporal scales since temporal spectra tend to be more picked.
For more, simulations without vortical modes naturally have bigger
$\Eequi/\max\limits_{\omega} E$ (Figure~\ref{fig:omega-L}$(b)$) when compared to
simulations with vortical modes (Figure~\ref{fig:omega-L}$(a)$).
\begin{figure}
\includegraphics[width=1.0\textwidth]{../tmp/fig_spectra_slices_omega_kh_kz_regimes}
\caption{Spatiotemporal analysis of the simulations with $(N,\R_i)=(40,20)$.
$\Eequi(k_h, k_z, \omega)/E(k_h, k_z, \omega)$ for the simulation with vortical modes
$(a)$ and for the simulation without vortical modes $(b)$. Only some couples $(k_h,
k_z)$ are shown. Lines' colors corresponds to different values of $k/k_{\rm b}$. The
vertical black lines corresponds to $\omega = \ok$. \label{fig:omega-L}}
\end{figure}
A way to measure the dispersion of energy in temporal scales is to compute the
deviation from linear waves frequency $\delta \omega$. Here, we estimate them using the
equipartition energy spectra such that
\begin{equation}
\label{eq:delta-omega}
\delta \omega(k_h, k_z) = \sqrt{ \frac{\sum\limits_{\omega} ~ (\omega - \ok)^2 ~ E_{\rm equi}(k_h, k_z, \omega)}{\sum\limits_{\omega} ~ E_{\rm equi}(k_h, k_z, \omega)}}.
\end{equation}
The quantity $\delta \omega / \ok$ is another estimation of the strength non linear
interactions. Contrary to the non-linearity parameter $\chi_{\kk}$, which is defined by
dimensional analysis, $\delta \omega/ \ok$ requires the knowledge of the
spatio-temporal spectra. $\delta \omega/ \ok$ is called non-linear broadening, and is
particularly important in the the WWT theory: for $\delta \omega/ \ok \gg 1$, waves'
dynamics is strongly affected by non-linear interactions, while when $\delta \omega/
\ok \ll 1$, waves can propagate with only weak non-linear perturbations and the theory
can hold \cite{nazarenko_wave_2011}. For a system of non-interacting linear waves,
$\delta \omega/\ok$ should be zero. Figure~\ref{fig:nonlinear} shows this quantity in
the $(k_h, k_z)$ plane. It shows that the nonlinear broadening is small if $k \ll
k_{\rm b}$ and $\chi_{\kk} \leq 1/3$, which is consistent with previous results
\cite{yokoyama_energy-based_2019}. Conversely, $\delta \omega/\ok$ becomes large when
$k \gg k_{\rm b}$ or $\chi_{\kk} > 3$. We observed that removing vortical modes does
not have a significant direct effect on $\delta \omega/\ok$. However, the simulations
without vortical modes tend to have a larger buoyancy range when compared to the
simulations with vortical modes.
\begin{figure}
\includegraphics[width=1.0\textwidth]{../tmp/fig_nonlinear_regimes}
\caption{$\delta \omega/\ok$ for simulations with $(N,\R_i) = (40,20)$ with vortical
modes (a) and without vortical modes (b). Dotted lines correspond to $\chi_{\kk} = 1/3$
and $\chi_{\kk} = 3$, the dashed line to $k=k_{\rm b}$, and the orange box to the
forcing region. \label{fig:nonlinear}}
\end{figure}
\iffalse
\begin{figure}
\includegraphics[width=1.0\textwidth]{../tmp/fig_delta_omega_spectra_kh_kz}
\caption{Nonlinear broadening estimated with the kinetic energy spectra for simulations
with $(N,\R_i) = (40,20)$, with vortical modes (a) and without vortical modes (b). The
simulations are the same that in Figure~\ref{fig:omega-L}. Dotted lines correspond to
$\chi_{\kk} = 1/3$ and $\chi_{\kk} = 3$, the dashed line to $k=k_{\rm b}$, and the
orange box to the forcing region. \label{fig:nonlinear-L}}
\end{figure}
\fi
\subsection{Waves energy in the parameters space \label{ref}}
\label{subsec:waves_energy}
The previous subsections aimed to present the dispersion in temporal scales for one
couple of simulations, but we did not quantify the amount of waves in the $(k_h,k_z)$
plane, nor in the $(F_h, \R)$ so far. This is the goal of this subsection. In order to
quantify waves' energy in a flow, we propose to simply filter the spatiotemporal
spectra $\Eequi$ by a Gaussian weight with mean $\ok$ and rms $\epsilon \ok$, where
$\epsilon$ is an arbitrary but small parameter, such that the waves' energy at a given
$(k_h,k_z,\omega)$ is
\begin{equation}
\label{eq:Ewave}
\Ewave(k_h,k_z,\omega) = \Eequi(k_h,k_z,\omega) ~ \exp \left[ -\frac{1}{2} \left( \frac{\omega - \ok(k_h,k_z)}{ \epsilon \ok(k_h,k_z)} \right)^2 \right].
\end{equation}
We observed that choosing $\epsilon=0.1$ gives a sufficiently narrow window to keep
only the spatiotemporal region corresponding to internal gravity waves, while keeping
the window sufficiently wide in order to avoid binning effects so we kept this value
for the analysis. This window with variable wide allows to get rid of the energy of
non-wave structures at low frequency. We can first look at the distribution of the
wave's energy in the $(k_h,k_z)$ plane. In order to allow a fair comparison between
simulations with or without vortical modes, we introduce the wave's energy ratio
\begin{equation}
\label{eq:WaveRatio}
\Ewaver(k_h,k_z) = \frac{\Ewave(k_h,k_z)}{\Epolo(k_h,k_z) + \Epot(k_h,k_z)}.
\end{equation}
with
\begin{equation}
\Ewave(k_h,k_z) = \sum\limits_{\omega} ~ \Ewave(k_h,k_z,\omega)
\end{equation}
Normalizing the wave's energy by the total energy (i.e. including vortical modes
energy) would have mask the presence of waves in the simulation with vortical modes,
since they represent an important part of the energy
(Figure~\ref{fig:spectra_ratio_khkz}$(a)$). $\Ewaver(k_h,k_z)$ is depicted on
Figure~\ref{fig:ratioEwaves_khkz}$(a)$-$(b)$. We observe that $\Ewaver$ tends to be
higher for simulations without vortical modes, but removing vortical modes does not
change the variations of $\Ewaver$ in the $(k_h,k_z)$ plane for these simulations. As
we could have expected from previous works \cite{yokoyama_energy-based_2019} and the
previous subsections, we observe that $\Ewaver$ is higher in the buoyancy range, in
particular where $\chi_{\kk} \leq 1/3$. Yet, we also observe that $\Ewaver$ tends to be
bigger at very specific angles, smaller than the forcing angle $\theta_f$. This
accumulation of internal gravity wave's energy at specific propagation angles has been
reported in earlier studies (see e.g. \cite{maffioli_signature_2020}). In the present
simulations, we can explain this by invoking Triadic Resonance Instabilities (TRI)
between internal gravity waves \cite{brouzet_internal_2016}, in particular the PSI
\cite{mccomas_resonant_1977,muller_nonlinear_1986}. Considering that a primary wave of
frequency $\omega_f = \omega_0^* = N \sin \theta_f$ is excited by the forcing, and then
decay into two daughter waves of frequency $\omega_1^*$ according to the PSI mechanism,
we can deduce $\omega_1^*$ and the associated propagation angle $\theta_1^*$:
\begin{equation}
\label{eq:harmonic1}
\omega_1^* = \frac{\omega_0^*}{2} = 0.15~N ~~~~ \Rightarrow
~~~~\theta_1^* = \arcsin \left( \frac{\omega_1^*}{N} \right) \simeq 0.15.
\end{equation}
Invoking, for a second time, the PSI mechanism for the waves of frequency $\omega_1^*$,
we can deduce another harmonic
\begin{equation}
\label{eq:harmonic2}
\omega_2^* = \frac{\omega_1^*}{2} = 0.075~N ~~~~ \Rightarrow
~~~~\theta_2^* = \arcsin \left( \frac{\omega_2^*}{N} \right) \simeq 0.075.
\end{equation}
We can deduce a third harmonic by considering that two waves of frequencies
$\omega_1^*$ and $\omega_2^*$ interact to give a third wave with frequency
\begin{equation}
\label{eq:harmonic3}
\omega_3^* = \omega_1^* + \omega_2^* = 0.225~N ~~~~ \Rightarrow
~~~~\theta_3^* = \arcsin \left( \frac{\omega_3^*}{N} \right) \simeq 0.225.
\end{equation}
$\theta_f$, $\theta_1^*$, $\theta_2^*$, and $\theta_3^*$ are reported on
Figure~\ref{fig:ratioEwaves_khkz}$(a)$-$(b)$. We see that they collapse well with the
high values of $\Ewaver$ observed at small angles. These suggest that waves at both
high and small frequencies are excited in our strongly stratified simulations, and that
they can interact by TRI. \\
\begin{figure}
\includegraphics[width=1.0\textwidth]{../tmp/fig_ratio_E_waves_vs_kh_kz_regimes}
\caption{$\Ewaver(k_h,k_z)$ (\ref{eq:WaveRatio}) for the for simulations with
$(N,\R_i)=(40,20)$ with vortical modes $(a)$, and without vortical modes $(b)$. The
cyan dotted lines correspond to $\chi_{\kk}=1/3$, and the cyan dashed line to $k=k_{\rm
b}$. The orange box corresponds to the forcing region. The forcing angle $\theta_f$ is
represented by a full orange line, while first harmonics
(\ref{eq:harmonic1}-\ref{eq:harmonic3}) excited by the TRI are indicated by dashed
orange lines. \label{fig:ratioEwaves_khkz}}
\end{figure}
The spatiotemporal analysis performed in this subsection allows to give a more precise
measure of the dominance of waves in the spectral space at a given $(F_h,\R)$. Now we
can use the following quantity
\begin{equation}
\Ewaver = \frac{\sum\limits_{k_h,k_z,\omega} ~ \Ewave(k_h,k_z,\omega)}{\sum\limits_{k_h,k_z} ~ \Epolo(k_h,k_z) + \Epot(k_h,k_z)}
\end{equation}
in order to quantify the dominance of waves for a given simulation, and study its
variations in the $(F_h,\R)$ parameters' space, as depicted on
Figure~\ref{fig:ratioEwaves_Fh}. Consistently with the previous subsections, we observe
that removing vortical modes helps to get higher $\Ewaver$, so to get closer to a WWT
regime. Yet, it is not sufficient since unstratified flows ($F_h \geq 1$) have almost
no energy in waves modes (i.e. $\Ewave \ll 1$). Increasing the stratification
(decreasing $F_h$) is therefore required to reach that goal
(Figure~\ref{fig:ratioEwaves_Fh}$(a)$), but it also tends to increases the vortical
mode energy (Figure~\ref{fig:global-energy}$(a)$) when they are not artificially
removed from the dynamics. Figure~\ref{fig:ratioEwaves_Fh}$(b)$ shows that $\Ewaver$
tends to decrease with $\R$ for sufficiently low $F_h$. This is consistent with the
numerical simulations of stratified flows forced by tides \cite{reun_parametric_2018},
which show convincing signatures of a WWT regime at relatively small $\R$ when compared
to more usual strongly stratified simulations. However, some of our simulations at low
$F_h$ and high $\R$ remain affected by hyper-viscosity, which prevent us to draw
definitive conclusions on this point.
\begin{figure}
\includegraphics[width=1\textwidth]{../tmp/fig_ratio_E_waves_vs_Fh}
\caption{$\Ewaver$ as a function of $F_h$ $(a)$ and $\R$ $(b)$ for all our simulations
with or without vortical modes. The red boxes indicate the simulations with
$(N,\R_i)=(40,20)$ investigated in the previous subsections.
\label{fig:ratioEwaves_Fh}}
\end{figure}
# This file is @generated by PDM.
# It is not intended for manual editing.
[metadata]
groups = ["default"]
strategy = ["inherit_metadata"]
lock_version = "4.5.0"
content_hash = "sha256:09524f4277bc8acdc3c3f89f4d7b911fc032b39edaf2b4cf7aee83c0ef3fa85e"
[[metadata.targets]]
requires_python = "==3.11.*"
[[package]]
name = "autopep8"
version = "2.3.1"
requires_python = ">=3.8"
summary = "A tool that automatically formats Python code to conform to the PEP 8 style guide"
groups = ["default"]
dependencies = [
"pycodestyle>=2.12.0",
"tomli; python_version < \"3.11\"",
]
files = [
{file = "autopep8-2.3.1-py2.py3-none-any.whl", hash = "sha256:a203fe0fcad7939987422140ab17a930f684763bf7335bdb6709991dd7ef6c2d"},
{file = "autopep8-2.3.1.tar.gz", hash = "sha256:8d6c87eba648fdcfc83e29b788910b8643171c395d9c4bcf115ece035b9c9dda"},
]
[[package]]
name = "beniget"
version = "0.4.2.post1"
requires_python = ">=3.6"
summary = "Extract semantic information about static Python code"
groups = ["default"]
dependencies = [
"gast>=0.5.0",
]
files = [
{file = "beniget-0.4.2.post1-py3-none-any.whl", hash = "sha256:e1b336e7b5f2ae201e6cc21f533486669f1b9eccba018dcff5969cd52f1c20ba"},
{file = "beniget-0.4.2.post1.tar.gz", hash = "sha256:a0258537e65e7e14ec33a86802f865a667f949bb6c73646d55e42f7c45a052ae"},
]
[[package]]
name = "contourpy"
version = "1.3.1"
requires_python = ">=3.10"
summary = "Python library for calculating contours of 2D quadrilateral grids"
groups = ["default"]
dependencies = [
"numpy>=1.23",
]
files = [
{file = "contourpy-1.3.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3e8b974d8db2c5610fb4e76307e265de0edb655ae8169e8b21f41807ccbeec4b"},
{file = "contourpy-1.3.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:20914c8c973f41456337652a6eeca26d2148aa96dd7ac323b74516988bea89fc"},
{file = "contourpy-1.3.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:19d40d37c1c3a4961b4619dd9d77b12124a453cc3d02bb31a07d58ef684d3d86"},
{file = "contourpy-1.3.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:113231fe3825ebf6f15eaa8bc1f5b0ddc19d42b733345eae0934cb291beb88b6"},
{file = "contourpy-1.3.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4dbbc03a40f916a8420e420d63e96a1258d3d1b58cbdfd8d1f07b49fcbd38e85"},
{file = "contourpy-1.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a04ecd68acbd77fa2d39723ceca4c3197cb2969633836ced1bea14e219d077c"},
{file = "contourpy-1.3.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c414fc1ed8ee1dbd5da626cf3710c6013d3d27456651d156711fa24f24bd1291"},
{file = "contourpy-1.3.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:31c1b55c1f34f80557d3830d3dd93ba722ce7e33a0b472cba0ec3b6535684d8f"},
{file = "contourpy-1.3.1-cp311-cp311-win32.whl", hash = "sha256:f611e628ef06670df83fce17805c344710ca5cde01edfdc72751311da8585375"},
{file = "contourpy-1.3.1-cp311-cp311-win_amd64.whl", hash = "sha256:b2bdca22a27e35f16794cf585832e542123296b4687f9fd96822db6bae17bfc9"},
{file = "contourpy-1.3.1.tar.gz", hash = "sha256:dfd97abd83335045a913e3bcc4a09c0ceadbe66580cf573fe961f4a825efa699"},
]
[[package]]
name = "cycler"
version = "0.12.1"
requires_python = ">=3.8"
summary = "Composable style cycles"
groups = ["default"]
files = [
{file = "cycler-0.12.1-py3-none-any.whl", hash = "sha256:85cef7cff222d8644161529808465972e51340599459b8ac3ccbac5a854e0d30"},
{file = "cycler-0.12.1.tar.gz", hash = "sha256:88bb128f02ba341da8ef447245a9e138fae777f6a23943da4540077d3601eb1c"},
]
[[package]]
name = "distro"
version = "1.9.0"
requires_python = ">=3.6"
summary = "Distro - an OS platform information API"
groups = ["default"]
files = [
{file = "distro-1.9.0-py3-none-any.whl", hash = "sha256:7bffd925d65168f85027d8da9af6bddab658135b840670a223589bc0c8ef02b2"},
{file = "distro-1.9.0.tar.gz", hash = "sha256:2fa77c6fd8940f116ee1d6b94a2f90b13b5ea8d019b98bc8bafdcabcdd9bdbed"},
]
[[package]]
name = "fluiddyn"
version = "0.7.0"
requires_python = ">=3.10"
summary = "Framework for studying fluid dynamics."
groups = ["default"]
dependencies = [
"distro",
"h5netcdf",
"h5py",
"matplotlib",
"numpy",
"psutil>=5.2.1",
"simpleeval>=0.9.13",
]
files = [
{file = "fluiddyn-0.7.0-py3-none-any.whl", hash = "sha256:33447e1145d8b904b1854c34eef3a56ad314e30afce64323d2891901180fbb0d"},
{file = "fluiddyn-0.7.0.tar.gz", hash = "sha256:144cebddfd9bf9866bf955ce98ae5cc8c0edb2147a2ff186a16edf5d57d4ef99"},
]
[[package]]
name = "fluidfft"
version = "0.4.3"
requires_python = ">=3.10"
summary = "Efficient and easy Fast Fourier Transform (FFT) for Python."
groups = ["default"]
dependencies = [
"fluiddyn>=0.2.3",
"importlib-metadata; python_version < \"3.10\"",
"transonic>=0.6.4",
]
files = [
{file = "fluidfft-0.4.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:03a39b843ad204f809a9595552621ae779adbdbb9df171efdb267dac4cacd8f3"},
{file = "fluidfft-0.4.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ffb9c5079eeb2910241e822105210432ecf04dba688d4a9932c26284cf0c7deb"},
{file = "fluidfft-0.4.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a6c779c4a5797df825c9d02cd0f73661e6048abcd8b3faa15e4288da6044b0a"},
{file = "fluidfft-0.4.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:32f73aa6b369bea0f7c5f26cb2b0cde47278d8a349d5d51f5ecc33ebdaa2a7c7"},
{file = "fluidfft-0.4.3-cp311-cp311-win_amd64.whl", hash = "sha256:1576b4db71ffbe81e8b9a70b6ded2d8a8ab16c5d8657534e2636957645a4d1a4"},
{file = "fluidfft-0.4.3.tar.gz", hash = "sha256:31635a6fe22279c1c47bbf3a61202ab36c6110be409e5c7a785ef8a17158e1df"},
]
[[package]]
name = "fluidsim"
version = "0.8.4"
requires_python = ">=3.10"
summary = "Framework for studying fluid dynamics with simulations."
groups = ["default"]
dependencies = [
"fluidsim-core>=0.8.1",
"h5netcdf",
"h5py",
"matplotlib>=3.3",
"rich",
"scipy",
"transonic>=0.6.2",
"xarray",
]
files = [
{file = "fluidsim-0.8.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1e189327771c0bc1fa09608ad1a5430ba11cf13e483415a65d1192c012974b88"},
{file = "fluidsim-0.8.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6cf9bb9fb62375782e9f994c050bb66f17aa46f590c5a49974035515d729484e"},
{file = "fluidsim-0.8.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:db5fe2870a5338be70ef6acbb2d88b2ce785bf36ffd1eede1b7f1f1e57262dad"},
{file = "fluidsim-0.8.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2fcb3b0ae488b17a38b0d517e6338ac8f809a06469dc8a3e3e002619d5474bd0"},
{file = "fluidsim-0.8.4-cp311-cp311-win_amd64.whl", hash = "sha256:7a80e8d1d874bf5357e3ec59c98e288b978b42c4f614808f5c8eec1dec2878bd"},
{file = "fluidsim-0.8.4.tar.gz", hash = "sha256:0cc50d969284abf26541ace3e3e328824cd3ba980d699748c4b043cbe9f29d09"},
]
[[package]]
name = "fluidsim-core"
version = "0.8.4"
requires_python = ">=3.9"
summary = "Pure-Python core library for FluidSim framework"
groups = ["default"]
dependencies = [
"fluiddyn",
"importlib-metadata; python_version < \"3.10\"",
]
files = [
{file = "fluidsim_core-0.8.4-py3-none-any.whl", hash = "sha256:29a8bb6a90dae20546c069a3fae27396c36dcedf05bf467036e649434784594c"},
{file = "fluidsim_core-0.8.4.tar.gz", hash = "sha256:fde46d3150c62dd3db32ef47aaa5dd3dd6be30307ff83517ee204b7e4935d886"},
]
[[package]]
name = "fonttools"
version = "4.55.0"
requires_python = ">=3.8"
summary = "Tools to manipulate font files"
groups = ["default"]
files = [
{file = "fonttools-4.55.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:fa34aa175c91477485c44ddfbb51827d470011e558dfd5c7309eb31bef19ec51"},
{file = "fonttools-4.55.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:37dbb3fdc2ef7302d3199fb12468481cbebaee849e4b04bc55b77c24e3c49189"},
{file = "fonttools-4.55.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b5263d8e7ef3c0ae87fbce7f3ec2f546dc898d44a337e95695af2cd5ea21a967"},
{file = "fonttools-4.55.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f307f6b5bf9e86891213b293e538d292cd1677e06d9faaa4bf9c086ad5f132f6"},
{file = "fonttools-4.55.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:f0a4b52238e7b54f998d6a56b46a2c56b59c74d4f8a6747fb9d4042190f37cd3"},
{file = "fonttools-4.55.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:3e569711464f777a5d4ef522e781dc33f8095ab5efd7548958b36079a9f2f88c"},
{file = "fonttools-4.55.0-cp311-cp311-win32.whl", hash = "sha256:2b3ab90ec0f7b76c983950ac601b58949f47aca14c3f21eed858b38d7ec42b05"},
{file = "fonttools-4.55.0-cp311-cp311-win_amd64.whl", hash = "sha256:aa046f6a63bb2ad521004b2769095d4c9480c02c1efa7d7796b37826508980b6"},
{file = "fonttools-4.55.0-py3-none-any.whl", hash = "sha256:12db5888cd4dd3fcc9f0ee60c6edd3c7e1fd44b7dd0f31381ea03df68f8a153f"},
{file = "fonttools-4.55.0.tar.gz", hash = "sha256:7636acc6ab733572d5e7eec922b254ead611f1cdad17be3f0be7418e8bfaca71"},
]
[[package]]
name = "formattex"
version = "0.1.4"
requires_python = ">=3.8"
summary = "A simple and uncompromising Latex code formatter"
groups = ["default"]
dependencies = [
"texsoup-alt",
]
files = [
{file = "formattex-0.1.4-py3-none-any.whl", hash = "sha256:a29dd1d5145e1cc8c6e9f3f265bb67a352f835627cb182f1900c761c76ad6445"},
{file = "formattex-0.1.4.tar.gz", hash = "sha256:cfa4877a970db9025ea960d3edd20c3acb1116cea7e12133b8c31f3f21c3dc94"},
]
[[package]]
name = "gast"
version = "0.5.5"
requires_python = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7"
summary = "Python AST that abstracts the underlying Python version"
groups = ["default"]
files = [
{file = "gast-0.5.5-py3-none-any.whl", hash = "sha256:84486015d9ad90965f731bf9dbae9427c8728da0c9dd1f29ff7ecf3c14bc9b68"},
{file = "gast-0.5.5.tar.gz", hash = "sha256:5f4ae749ba7199034b6912af98f05b4058d6d48fc2f065037b241be819a22924"},
]
[[package]]
name = "h5netcdf"
version = "1.4.1"
requires_python = ">=3.9"
summary = "netCDF4 via h5py"
groups = ["default"]
dependencies = [
"h5py",
"packaging",
]
files = [
{file = "h5netcdf-1.4.1-py3-none-any.whl", hash = "sha256:dd86c78ae69b92b16aa8a3c1ff3a14e7622571b5788dcf6d8b68569035bf71ce"},
{file = "h5netcdf-1.4.1.tar.gz", hash = "sha256:7c8401ab807ff37c9798edc90d99467595892e6c541a5d5abeb8f53aab5335fe"},
]
[[package]]
name = "h5py"
version = "3.12.1"
requires_python = ">=3.9"
summary = "Read and write HDF5 files from Python"
groups = ["default"]
dependencies = [
"numpy>=1.19.3",
]
files = [
{file = "h5py-3.12.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ccd9006d92232727d23f784795191bfd02294a4f2ba68708825cb1da39511a93"},
{file = "h5py-3.12.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ad8a76557880aed5234cfe7279805f4ab5ce16b17954606cca90d578d3e713ef"},
{file = "h5py-3.12.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1473348139b885393125126258ae2d70753ef7e9cec8e7848434f385ae72069e"},
{file = "h5py-3.12.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:018a4597f35092ae3fb28ee851fdc756d2b88c96336b8480e124ce1ac6fb9166"},
{file = "h5py-3.12.1-cp311-cp311-win_amd64.whl", hash = "sha256:3fdf95092d60e8130ba6ae0ef7a9bd4ade8edbe3569c13ebbaf39baefffc5ba4"},
{file = "h5py-3.12.1.tar.gz", hash = "sha256:326d70b53d31baa61f00b8aa5f95c2fcb9621a3ee8365d770c551a13dbbcbfdf"},
]
[[package]]
name = "jinja2"
version = "3.1.4"
requires_python = ">=3.7"
summary = "A very fast and expressive template engine."
groups = ["default"]
dependencies = [
"MarkupSafe>=2.0",
]
files = [
{file = "jinja2-3.1.4-py3-none-any.whl", hash = "sha256:bc5dd2abb727a5319567b7a813e6a2e7318c39f4f487cfe6c89c6f9c7d25197d"},
{file = "jinja2-3.1.4.tar.gz", hash = "sha256:4a3aee7acbbe7303aede8e9648d13b8bf88a429282aa6122a993f0ac800cb369"},
]
[[package]]
name = "kiwisolver"
version = "1.4.7"
requires_python = ">=3.8"
summary = "A fast implementation of the Cassowary constraint solver"
groups = ["default"]
files = [
{file = "kiwisolver-1.4.7-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:d2b0e12a42fb4e72d509fc994713d099cbb15ebf1103545e8a45f14da2dfca54"},
{file = "kiwisolver-1.4.7-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2a8781ac3edc42ea4b90bc23e7d37b665d89423818e26eb6df90698aa2287c95"},
{file = "kiwisolver-1.4.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:46707a10836894b559e04b0fd143e343945c97fd170d69a2d26d640b4e297935"},
{file = "kiwisolver-1.4.7-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ef97b8df011141c9b0f6caf23b29379f87dd13183c978a30a3c546d2c47314cb"},
{file = "kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ab58c12a2cd0fc769089e6d38466c46d7f76aced0a1f54c77652446733d2d02"},
{file = "kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:803b8e1459341c1bb56d1c5c010406d5edec8a0713a0945851290a7930679b51"},
{file = "kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f9a9e8a507420fe35992ee9ecb302dab68550dedc0da9e2880dd88071c5fb052"},
{file = "kiwisolver-1.4.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18077b53dc3bb490e330669a99920c5e6a496889ae8c63b58fbc57c3d7f33a18"},
{file = "kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6af936f79086a89b3680a280c47ea90b4df7047b5bdf3aa5c524bbedddb9e545"},
{file = "kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:3abc5b19d24af4b77d1598a585b8a719beb8569a71568b66f4ebe1fb0449460b"},
{file = "kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:933d4de052939d90afbe6e9d5273ae05fb836cc86c15b686edd4b3560cc0ee36"},
{file = "kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:65e720d2ab2b53f1f72fb5da5fb477455905ce2c88aaa671ff0a447c2c80e8e3"},
{file = "kiwisolver-1.4.7-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:3bf1ed55088f214ba6427484c59553123fdd9b218a42bbc8c6496d6754b1e523"},
{file = "kiwisolver-1.4.7-cp311-cp311-win32.whl", hash = "sha256:4c00336b9dd5ad96d0a558fd18a8b6f711b7449acce4c157e7343ba92dd0cf3d"},
{file = "kiwisolver-1.4.7-cp311-cp311-win_amd64.whl", hash = "sha256:929e294c1ac1e9f615c62a4e4313ca1823ba37326c164ec720a803287c4c499b"},
{file = "kiwisolver-1.4.7-cp311-cp311-win_arm64.whl", hash = "sha256:e33e8fbd440c917106b237ef1a2f1449dfbb9b6f6e1ce17c94cd6a1e0d438376"},
{file = "kiwisolver-1.4.7.tar.gz", hash = "sha256:9893ff81bd7107f7b685d3017cc6583daadb4fc26e4a888350df530e41980a60"},
]
[[package]]
name = "markdown-it-py"
version = "3.0.0"
requires_python = ">=3.8"
summary = "Python port of markdown-it. Markdown parsing, done right!"
groups = ["default"]
dependencies = [
"mdurl~=0.1",
]
files = [
{file = "markdown-it-py-3.0.0.tar.gz", hash = "sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb"},
{file = "markdown_it_py-3.0.0-py3-none-any.whl", hash = "sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1"},
]
[[package]]
name = "markupsafe"
version = "3.0.2"
requires_python = ">=3.9"
summary = "Safely add untrusted strings to HTML/XML markup."
groups = ["default"]
files = [
{file = "MarkupSafe-3.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9025b4018f3a1314059769c7bf15441064b2207cb3f065e6ea1e7359cb46db9d"},
{file = "MarkupSafe-3.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:93335ca3812df2f366e80509ae119189886b0f3c2b81325d39efdb84a1e2ae93"},
{file = "MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2cb8438c3cbb25e220c2ab33bb226559e7afb3baec11c4f218ffa7308603c832"},
{file = "MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a123e330ef0853c6e822384873bef7507557d8e4a082961e1defa947aa59ba84"},
{file = "MarkupSafe-3.0.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e084f686b92e5b83186b07e8a17fc09e38fff551f3602b249881fec658d3eca"},
{file = "MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d8213e09c917a951de9d09ecee036d5c7d36cb6cb7dbaece4c71a60d79fb9798"},
{file = "MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:5b02fb34468b6aaa40dfc198d813a641e3a63b98c2b05a16b9f80b7ec314185e"},
{file = "MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0bff5e0ae4ef2e1ae4fdf2dfd5b76c75e5c2fa4132d05fc1b0dabcd20c7e28c4"},
{file = "MarkupSafe-3.0.2-cp311-cp311-win32.whl", hash = "sha256:6c89876f41da747c8d3677a2b540fb32ef5715f97b66eeb0c6b66f5e3ef6f59d"},
{file = "MarkupSafe-3.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:70a87b411535ccad5ef2f1df5136506a10775d267e197e4cf531ced10537bd6b"},
{file = "markupsafe-3.0.2.tar.gz", hash = "sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0"},
]
[[package]]
name = "matplotlib"
version = "3.9.2"
requires_python = ">=3.9"
summary = "Python plotting package"
groups = ["default"]
dependencies = [
"contourpy>=1.0.1",
"cycler>=0.10",
"fonttools>=4.22.0",
"importlib-resources>=3.2.0; python_version < \"3.10\"",
"kiwisolver>=1.3.1",
"numpy>=1.23",
"packaging>=20.0",
"pillow>=8",
"pyparsing>=2.3.1",
"python-dateutil>=2.7",
]
files = [
{file = "matplotlib-3.9.2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:d8dd059447824eec055e829258ab092b56bb0579fc3164fa09c64f3acd478772"},
{file = "matplotlib-3.9.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c797dac8bb9c7a3fd3382b16fe8f215b4cf0f22adccea36f1545a6d7be310b41"},
{file = "matplotlib-3.9.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d719465db13267bcef19ea8954a971db03b9f48b4647e3860e4bc8e6ed86610f"},
{file = "matplotlib-3.9.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8912ef7c2362f7193b5819d17dae8629b34a95c58603d781329712ada83f9447"},
{file = "matplotlib-3.9.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:7741f26a58a240f43bee74965c4882b6c93df3e7eb3de160126d8c8f53a6ae6e"},
{file = "matplotlib-3.9.2-cp311-cp311-win_amd64.whl", hash = "sha256:ae82a14dab96fbfad7965403c643cafe6515e386de723e498cf3eeb1e0b70cc7"},
{file = "matplotlib-3.9.2.tar.gz", hash = "sha256:96ab43906269ca64a6366934106fa01534454a69e471b7bf3d79083981aaab92"},
]
[[package]]
name = "mdurl"
version = "0.1.2"
requires_python = ">=3.7"
summary = "Markdown URL utilities"
groups = ["default"]
files = [
{file = "mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8"},
{file = "mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba"},
]
[[package]]
name = "numpy"
version = "2.1.3"
requires_python = ">=3.10"
summary = "Fundamental package for array computing in Python"
groups = ["default"]
files = [
{file = "numpy-2.1.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4d1167c53b93f1f5d8a139a742b3c6f4d429b54e74e6b57d0eff40045187b15d"},
{file = "numpy-2.1.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c80e4a09b3d95b4e1cac08643f1152fa71a0a821a2d4277334c88d54b2219a41"},
{file = "numpy-2.1.3-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:576a1c1d25e9e02ed7fa5477f30a127fe56debd53b8d2c89d5578f9857d03ca9"},
{file = "numpy-2.1.3-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:973faafebaae4c0aaa1a1ca1ce02434554d67e628b8d805e61f874b84e136b09"},
{file = "numpy-2.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:762479be47a4863e261a840e8e01608d124ee1361e48b96916f38b119cfda04a"},
{file = "numpy-2.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc6f24b3d1ecc1eebfbf5d6051faa49af40b03be1aaa781ebdadcbc090b4539b"},
{file = "numpy-2.1.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:17ee83a1f4fef3c94d16dc1802b998668b5419362c8a4f4e8a491de1b41cc3ee"},
{file = "numpy-2.1.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:15cb89f39fa6d0bdfb600ea24b250e5f1a3df23f901f51c8debaa6a5d122b2f0"},
{file = "numpy-2.1.3-cp311-cp311-win32.whl", hash = "sha256:d9beb777a78c331580705326d2367488d5bc473b49a9bc3036c154832520aca9"},
{file = "numpy-2.1.3-cp311-cp311-win_amd64.whl", hash = "sha256:d89dd2b6da69c4fff5e39c28a382199ddedc3a5be5390115608345dec660b9e2"},
{file = "numpy-2.1.3.tar.gz", hash = "sha256:aa08e04e08aaf974d4458def539dece0d28146d866a39da5639596f4921fd761"},
]
[[package]]
name = "packaging"
version = "24.2"
requires_python = ">=3.8"
summary = "Core utilities for Python packages"
groups = ["default"]
files = [
{file = "packaging-24.2-py3-none-any.whl", hash = "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759"},
{file = "packaging-24.2.tar.gz", hash = "sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f"},
]
[[package]]
name = "pandas"
version = "2.2.3"
requires_python = ">=3.9"
summary = "Powerful data structures for data analysis, time series, and statistics"
groups = ["default"]
dependencies = [
"numpy>=1.22.4; python_version < \"3.11\"",
"numpy>=1.23.2; python_version == \"3.11\"",
"numpy>=1.26.0; python_version >= \"3.12\"",
"python-dateutil>=2.8.2",
"pytz>=2020.1",
"tzdata>=2022.7",
]
files = [
{file = "pandas-2.2.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:66108071e1b935240e74525006034333f98bcdb87ea116de573a6a0dccb6c039"},
{file = "pandas-2.2.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7c2875855b0ff77b2a64a0365e24455d9990730d6431b9e0ee18ad8acee13dbd"},
{file = "pandas-2.2.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:cd8d0c3be0515c12fed0bdbae072551c8b54b7192c7b1fda0ba56059a0179698"},
{file = "pandas-2.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c124333816c3a9b03fbeef3a9f230ba9a737e9e5bb4060aa2107a86cc0a497fc"},
{file = "pandas-2.2.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:63cc132e40a2e084cf01adf0775b15ac515ba905d7dcca47e9a251819c575ef3"},
{file = "pandas-2.2.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:29401dbfa9ad77319367d36940cd8a0b3a11aba16063e39632d98b0e931ddf32"},
{file = "pandas-2.2.3-cp311-cp311-win_amd64.whl", hash = "sha256:3fc6873a41186404dad67245896a6e440baacc92f5b716ccd1bc9ed2995ab2c5"},
{file = "pandas-2.2.3.tar.gz", hash = "sha256:4f18ba62b61d7e192368b84517265a99b4d7ee8912f8708660fb4a366cc82667"},
]
[[package]]
name = "pillow"
version = "11.0.0"
requires_python = ">=3.9"
summary = "Python Imaging Library (Fork)"
groups = ["default"]
files = [
{file = "pillow-11.0.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:1c1d72714f429a521d8d2d018badc42414c3077eb187a59579f28e4270b4b0fc"},
{file = "pillow-11.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:499c3a1b0d6fc8213519e193796eb1a86a1be4b1877d678b30f83fd979811d1a"},
{file = "pillow-11.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c8b2351c85d855293a299038e1f89db92a2f35e8d2f783489c6f0b2b5f3fe8a3"},
{file = "pillow-11.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6f4dba50cfa56f910241eb7f883c20f1e7b1d8f7d91c750cd0b318bad443f4d5"},
{file = "pillow-11.0.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:5ddbfd761ee00c12ee1be86c9c0683ecf5bb14c9772ddbd782085779a63dd55b"},
{file = "pillow-11.0.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:45c566eb10b8967d71bf1ab8e4a525e5a93519e29ea071459ce517f6b903d7fa"},
{file = "pillow-11.0.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:b4fd7bd29610a83a8c9b564d457cf5bd92b4e11e79a4ee4716a63c959699b306"},
{file = "pillow-11.0.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:cb929ca942d0ec4fac404cbf520ee6cac37bf35be479b970c4ffadf2b6a1cad9"},
{file = "pillow-11.0.0-cp311-cp311-win32.whl", hash = "sha256:006bcdd307cc47ba43e924099a038cbf9591062e6c50e570819743f5607404f5"},
{file = "pillow-11.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:52a2d8323a465f84faaba5236567d212c3668f2ab53e1c74c15583cf507a0291"},
{file = "pillow-11.0.0-cp311-cp311-win_arm64.whl", hash = "sha256:16095692a253047fe3ec028e951fa4221a1f3ed3d80c397e83541a3037ff67c9"},
{file = "pillow-11.0.0.tar.gz", hash = "sha256:72bacbaf24ac003fea9bff9837d1eedb6088758d41e100c1552930151f677739"},
]
[[package]]
name = "psutil"
version = "6.1.0"
requires_python = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7"
summary = "Cross-platform lib for process and system monitoring in Python."
groups = ["default"]
files = [
{file = "psutil-6.1.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:6e2dcd475ce8b80522e51d923d10c7871e45f20918e027ab682f94f1c6351688"},
{file = "psutil-6.1.0-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:0895b8414afafc526712c498bd9de2b063deaac4021a3b3c34566283464aff8e"},
{file = "psutil-6.1.0-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9dcbfce5d89f1d1f2546a2090f4fcf87c7f669d1d90aacb7d7582addece9fb38"},
{file = "psutil-6.1.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:498c6979f9c6637ebc3a73b3f87f9eb1ec24e1ce53a7c5173b8508981614a90b"},
{file = "psutil-6.1.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d905186d647b16755a800e7263d43df08b790d709d575105d419f8b6ef65423a"},
{file = "psutil-6.1.0-cp37-abi3-win32.whl", hash = "sha256:1ad45a1f5d0b608253b11508f80940985d1d0c8f6111b5cb637533a0e6ddc13e"},
{file = "psutil-6.1.0-cp37-abi3-win_amd64.whl", hash = "sha256:a8fb3752b491d246034fa4d279ff076501588ce8cbcdbb62c32fd7a377d996be"},
{file = "psutil-6.1.0.tar.gz", hash = "sha256:353815f59a7f64cdaca1c0307ee13558a0512f6db064e92fe833784f08539c7a"},
]
[[package]]
name = "pycodestyle"
version = "2.12.1"
requires_python = ">=3.8"
summary = "Python style guide checker"
groups = ["default"]
files = [
{file = "pycodestyle-2.12.1-py2.py3-none-any.whl", hash = "sha256:46f0fb92069a7c28ab7bb558f05bfc0110dac69a0cd23c61ea0040283a9d78b3"},
{file = "pycodestyle-2.12.1.tar.gz", hash = "sha256:6838eae08bbce4f6accd5d5572075c63626a15ee3e6f842df996bf62f6d73521"},
]
[[package]]
name = "pyfftw"
version = "0.15.0"
requires_python = ">=3.10"
summary = "A pythonic wrapper around FFTW, the FFT library, presenting a unified interface for all the supported transforms."
groups = ["default"]
dependencies = [
"numpy>=1.20",
"setuptools>=70.1.1",
]
files = [
{file = "pyFFTW-0.15.0-cp311-cp311-macosx_12_0_x86_64.whl", hash = "sha256:facabac06cb2300fdfcb1cfab9af70b24380d24a725a9b4dbf8cdadf04c1a6c0"},
{file = "pyFFTW-0.15.0-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:730e86d23ea52a511fd3b0a0b8206dbe9f9f017522dabb838a7ca876e442ea8a"},
{file = "pyFFTW-0.15.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:b8ab3ad5b6fadf64e34be2fdc34c9cc2b767b33c7a1b0f3e778f4b3fac0b2566"},
{file = "pyFFTW-0.15.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:076c42a2b8841fc06fc592d812bfa41a85355dc7f79b6f51016ce981a35efc97"},
{file = "pyFFTW-0.15.0-cp311-cp311-win32.whl", hash = "sha256:5c50580ac16173fb547d18ad089148f030ef48a0f1f3b2faf3bb522b7f9fd8b6"},
{file = "pyFFTW-0.15.0-cp311-cp311-win_amd64.whl", hash = "sha256:553d62715e8e9ad20c6a6aa556846d785488f16fa2a518abcac58ae3c7087654"},
{file = "pyfftw-0.15.0.tar.gz", hash = "sha256:2f16b9854a40c8fdd10aa5803b24ddc6ab49f9cd559dbd7f07e7d61aa205c1ca"},
]
[[package]]
name = "pygments"
version = "2.18.0"
requires_python = ">=3.8"
summary = "Pygments is a syntax highlighting package written in Python."
groups = ["default"]
files = [
{file = "pygments-2.18.0-py3-none-any.whl", hash = "sha256:b8e6aca0523f3ab76fee51799c488e38782ac06eafcf95e7ba832985c8e7b13a"},
{file = "pygments-2.18.0.tar.gz", hash = "sha256:786ff802f32e91311bff3889f6e9a86e81505fe99f2735bb6d60ae0c5004f199"},
]
[[package]]
name = "pyparsing"
version = "3.2.0"
requires_python = ">=3.9"
summary = "pyparsing module - Classes and methods to define and execute parsing grammars"
groups = ["default"]
files = [
{file = "pyparsing-3.2.0-py3-none-any.whl", hash = "sha256:93d9577b88da0bbea8cc8334ee8b918ed014968fd2ec383e868fb8afb1ccef84"},
{file = "pyparsing-3.2.0.tar.gz", hash = "sha256:cbf74e27246d595d9a74b186b810f6fbb86726dbf3b9532efb343f6d7294fe9c"},
]
[[package]]
name = "python-dateutil"
version = "2.9.0.post0"
requires_python = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7"
summary = "Extensions to the standard Python datetime module"
groups = ["default"]
dependencies = [
"six>=1.5",
]
files = [
{file = "python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3"},
{file = "python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427"},
]
[[package]]
name = "pytz"
version = "2024.2"
summary = "World timezone definitions, modern and historical"
groups = ["default"]
files = [
{file = "pytz-2024.2-py2.py3-none-any.whl", hash = "sha256:31c7c1817eb7fae7ca4b8c7ee50c72f93aa2dd863de768e1ef4245d426aa0725"},
{file = "pytz-2024.2.tar.gz", hash = "sha256:2aa355083c50a0f93fa581709deac0c9ad65cca8a9e9beac660adcbd493c798a"},
]
[[package]]
name = "rich"
version = "13.9.4"
requires_python = ">=3.8.0"
summary = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal"
groups = ["default"]
dependencies = [
"markdown-it-py>=2.2.0",
"pygments<3.0.0,>=2.13.0",
"typing-extensions<5.0,>=4.0.0; python_version < \"3.11\"",
]
files = [
{file = "rich-13.9.4-py3-none-any.whl", hash = "sha256:6049d5e6ec054bf2779ab3358186963bac2ea89175919d699e378b99738c2a90"},
{file = "rich-13.9.4.tar.gz", hash = "sha256:439594978a49a09530cff7ebc4b5c7103ef57baf48d5ea3184f21d9a2befa098"},
]
[[package]]
name = "scipy"
version = "1.14.1"
requires_python = ">=3.10"
summary = "Fundamental algorithms for scientific computing in Python"
groups = ["default"]
dependencies = [
"numpy<2.3,>=1.23.5",
]
files = [
{file = "scipy-1.14.1-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:2da0469a4ef0ecd3693761acbdc20f2fdeafb69e6819cc081308cc978153c675"},
{file = "scipy-1.14.1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:c0ee987efa6737242745f347835da2cc5bb9f1b42996a4d97d5c7ff7928cb6f2"},
{file = "scipy-1.14.1-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:3a1b111fac6baec1c1d92f27e76511c9e7218f1695d61b59e05e0fe04dc59617"},
{file = "scipy-1.14.1-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:8475230e55549ab3f207bff11ebfc91c805dc3463ef62eda3ccf593254524ce8"},
{file = "scipy-1.14.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:278266012eb69f4a720827bdd2dc54b2271c97d84255b2faaa8f161a158c3b37"},
{file = "scipy-1.14.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fef8c87f8abfb884dac04e97824b61299880c43f4ce675dd2cbeadd3c9b466d2"},
{file = "scipy-1.14.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b05d43735bb2f07d689f56f7b474788a13ed8adc484a85aa65c0fd931cf9ccd2"},
{file = "scipy-1.14.1-cp311-cp311-win_amd64.whl", hash = "sha256:716e389b694c4bb564b4fc0c51bc84d381735e0d39d3f26ec1af2556ec6aad94"},
{file = "scipy-1.14.1.tar.gz", hash = "sha256:5a275584e726026a5699459aa72f828a610821006228e841b94275c4a7c08417"},
]
[[package]]
name = "setuptools"
version = "75.6.0"
requires_python = ">=3.9"
summary = "Easily download, build, install, upgrade, and uninstall Python packages"
groups = ["default"]
files = [
{file = "setuptools-75.6.0-py3-none-any.whl", hash = "sha256:ce74b49e8f7110f9bf04883b730f4765b774ef3ef28f722cce7c273d253aaf7d"},
{file = "setuptools-75.6.0.tar.gz", hash = "sha256:8199222558df7c86216af4f84c30e9b34a61d8ba19366cc914424cdbd28252f6"},
]
[[package]]
name = "simpleeval"
version = "1.0.3"
requires_python = ">=3.9"
summary = "A simple, safe single expression evaluator library."
groups = ["default"]
files = [
{file = "simpleeval-1.0.3-py3-none-any.whl", hash = "sha256:e3bdbb8c82c26297c9a153902d0fd1858a6c3774bf53ff4f134788c3f2035c38"},
{file = "simpleeval-1.0.3.tar.gz", hash = "sha256:67bbf246040ac3b57c29cf048657b9cf31d4e7b9d6659684daa08ca8f1e45829"},
]
[[package]]
name = "six"
version = "1.16.0"
requires_python = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*"
summary = "Python 2 and 3 compatibility utilities"
groups = ["default"]
files = [
{file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"},
{file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"},
]
[[package]]
name = "texsoup-alt"
version = "0.3.1"
summary = "parses valid LaTeX and provides variety of Beautiful-Soup-esque methods and Pythonic idioms for iterating over and searching the parse tree"
groups = ["default"]
files = [
{file = "texsoup-alt-0.3.1.tar.gz", hash = "sha256:0007e921b694d834772c0749241f7a329aaf9625b8532d5839b03f73e4e09af9"},
{file = "texsoup_alt-0.3.1-py3-none-any.whl", hash = "sha256:2a6bb85be60f61bc0ca2744c95be7c103ddc6895bc92f93aac8e688c9631ef15"},
]
[[package]]
name = "transonic"
version = "0.7.2"
requires_python = ">=3.9"
summary = "Make your Python code fly at transonic speeds!"
groups = ["default"]
dependencies = [
"autopep8",
"beniget~=0.4.0",
"gast~=0.5.0",
"numpy",
]
files = [
{file = "transonic-0.7.2-py3-none-any.whl", hash = "sha256:5e7ad061da05b633ce743215da78e207131956182de57066278526f4e381da47"},
{file = "transonic-0.7.2.tar.gz", hash = "sha256:d0c39c13b535df4f121a8a378efc42e3d3bf4e49536d131e6d26e9fe7d5a5bf4"},
]
[[package]]
name = "tzdata"
version = "2024.2"
requires_python = ">=2"
summary = "Provider of IANA time zone data"
groups = ["default"]
files = [
{file = "tzdata-2024.2-py2.py3-none-any.whl", hash = "sha256:a48093786cdcde33cad18c2555e8532f34422074448fbc874186f0abd79565cd"},
{file = "tzdata-2024.2.tar.gz", hash = "sha256:7d85cc416e9382e69095b7bdf4afd9e3880418a2413feec7069d533d6b4e31cc"},
]
[[package]]
name = "xarray"
version = "2024.11.0"
requires_python = ">=3.10"
summary = "N-D labeled arrays and datasets in Python"
groups = ["default"]
dependencies = [
"numpy>=1.24",
"packaging>=23.2",
"pandas>=2.1",
]
files = [
{file = "xarray-2024.11.0-py3-none-any.whl", hash = "sha256:6ee94f63ddcbdd0cf3909d1177f78cdac756640279c0e32ae36819a89cdaba37"},
{file = "xarray-2024.11.0.tar.gz", hash = "sha256:1ccace44573ddb862e210ad3ec204210654d2c750bec11bbe7d842dfc298591f"},
]
......@@ -19,7 +19,6 @@
return _has_to_be_made(tmp_dir / name, sources, source_dir=here)
def make_fig(name, source=None):
if source is None:
source = f"save_{name}.py"
def make_fig(name, use_dataframes=False):
script_name = f"save_{name}.py"
fig_name = f"{name}.png"
......@@ -25,6 +24,11 @@
fig_name = f"{name}.png"
if has_to_be_made(fig_name, source):
print(f"Calling {source} to make {fig_name}")
run_path(str(here / source))
sources = [script_name]
if use_dataframes:
sources.append("util_dataframe.py")
if has_to_be_made(fig_name, sources):
print(f"Calling {script_name} to make {fig_name}")
run_path(str(here / script_name))
......@@ -29,10 +33,11 @@
def make_table(name, source=None):
if source is None:
source = f"save_table_{name}.py"
if has_to_be_made(f"table_{name}.tex", source):
print(f"Calling {source} to make {name}")
run_path(str(here / source))
def make_table(name, sources=None):
script_name = f"save_table_{name}.py"
sources = [script_name]
sources.append("util_dataframe.py")
if has_to_be_made(f"table_{name}.tex", sources):
print(f"Calling {script_name} to make {name}")
run_path(str(here / script_name))
......@@ -37,4 +42,6 @@
make_fig("forcing_vs_time")
make_table("better_simuls")
......@@ -39,7 +46,20 @@
make_table("better_simuls")
for n in range(2, 17):
make_fig(f"figure{n}")
make_fig("figure2", use_dataframes=True)
make_fig("figure3", use_dataframes=True)
make_fig("figure5")
make_fig("figure6")
make_fig("figure7")
make_fig("figure8")
make_fig("figure9")
make_fig("figure10")
make_fig("figure11")
make_fig("figure12")
make_fig("figure13")
make_fig("figure14")
make_fig("figure15")
make_fig("figure16", use_dataframes=True)
make_fig("figure17", use_dataframes=True)
if not has_to_save:
......
import sys
import h5py
import matplotlib.cm
import matplotlib.pyplot as plt
import numpy as np
......@@ -5,4 +1,6 @@
import matplotlib.pyplot as plt
import numpy as np
from matplotlib import cm
import matplotlib.patches as patches
from util_simuls_regimes import get_sim
......@@ -7,13 +5,13 @@
from util_simuls_regimes import get_sim
from util import (
compute_kf_kb_ko_keta_kd,
compute_omega_emp_vs_kzkh,
spectra_vs_khomega_slice,
spectra_vs_kzomega_slice,
paths_simuls_regimes,
paths_simuls_regimes_proj,
save_fig,
customize,
from math import degrees
from util import compute_kf_kb_ko_keta_kd, customize, save_fig
plt.rcParams["text.usetex"] = True
fig, axes = plt.subplots(
ncols=2, nrows=1, figsize=(10, 1.2 * 3 * 4.5 / 4), constrained_layout=True
)
......@@ -18,18 +16,6 @@
)
cm = matplotlib.cm.get_cmap("inferno", 100)
# Latex
plt.rcParams["text.usetex"] = True
plt.rcParams["text.latex.preamble"] = r"\usepackage{bm}"
print(sys.argv)
letter = sys.argv[-1]
if letter not in "DLOWPU":
letter = "L"
normalize = False
ax0 = axes[0]
ax1 = axes[1]
......@@ -34,9 +20,29 @@
def plot_slices_omega_ki(sim, ax, key="Ee", key_k="kh", ik=10, PLOT_Doppler=True):
N = sim.params.N
t_start, t_last = sim.output.print_stdout.get_times_start_last()
tmin = t_last - 2.0
mean_values = sim.output.get_mean_values(tmin=tmin, customize=customize)
Uh = np.sqrt(mean_values["Uh2"])
# Standard Navier-Stokes
sim = get_sim("L", proj=False)
mean_values = sim.output.get_mean_values(tmin="t_last-2", customize=customize)
R2 = mean_values["R2"]
Uh2 = mean_values["Uh2"]
epsK = mean_values["epsK"]
Fh = mean_values["Fh"]
proj = sim.params.projection
t_start, t_last = sim.output.print_stdout.get_times_start_last()
tmin = t_last - 2.0
kf, kb, ko, keta, kd = compute_kf_kb_ko_keta_kd(sim, tmin)
data = sim.output.spectra.load_kzkh_mean(
tmin, key_to_load=["A", "Khd", "Kz", "Khr"]
)
kh = data["kh_spectra"]
kz = data["kz"]
delta_kh = kh[1]
delta_kz = kz[1]
# Forcing
kf_min = sim.params.forcing.nkmin_forcing * delta_kz
kf_max = sim.params.forcing.nkmax_forcing * delta_kz
angle = sim.params.forcing.tcrandom_anisotropic.angle
delta_angle = sim.params.forcing.tcrandom_anisotropic.delta_angle
......@@ -42,30 +48,17 @@
path_spec = sorted(path.glob(f"spatiotemporal/periodogram_[0-9]*.h5"))
assert len(path_spec) == 1, f"Not only 1 periodogram in {path} \n"
path_spec = path_spec[0]
with h5py.File(path_spec, "r") as f:
kh = f["kh_spectra"][:]
kz = f["kz_spectra"][:]
omegas = f["omegas"][:]
EA = f["spectrum_A"][:]
EKz = f["spectrum_K"][:] - f["spectrum_Khd"][:] - f["spectrum_Khr"][:]
Epolo = f["spectrum_Khd"][:] + EKz
Etoro = f["spectrum_Khr"][:]
delta_kh = kh[1]
delta_kz = kz[1]
if key == "EA":
spectrum = EA
elif key == "EK":
spectrum = Epolo + Etoro
elif key == "Epolo":
spectrum = Epolo
elif key == "Ee":
spectrum = 2 * np.minimum(EA, Epolo)
elif key == "Ed":
spectrum = EA + Epolo - 2 * np.minimum(EA, Epolo)
elif key == "Etoro":
spectrum = Etoro
else:
print(f"Don't know key: {key} \n")
exit
KH, KZ = np.meshgrid(kh, kz)
EA = data["A"]
EKhd = data["Khd"]
EKz = data["Kz"]
EKhr = data["Khr"]
Epolo = EKhd + EKz
Etoro = EKhr
E = Epolo + Etoro + EA
Ee = 2 * np.minimum(Epolo, EA)
Ed = (Epolo - EA) / (Epolo + EA)
E[E == 0] = 1e-15
levels = np.linspace(0, 1, 51, endpoint=True)
K = np.sqrt(KH**2 + KZ**2)
K[K == 0] = 1e-15
......@@ -71,9 +64,38 @@
omega_emp, delta_omega_emp = compute_omega_emp_vs_kzkh(
N,
spectrum,
kh,
kz,
omegas,
data = sim.output.spect_energy_budg.load_mean(tmin=tmin)
kh = data["kh"]
kz = data["kz"]
delta_kh = kh[1]
delta_kz = kz[1]
KH, KZ = np.meshgrid(kh, kz)
DA = data["diss_A"]
TA = data["transfer_A"]
TK = data["transfer_Kh"] + data["transfer_Kz"]
K2A = data["conv_K2A"]
DKh = data["diss_Kh"]
DKz = data["diss_Kz"]
DK = DKh + DKz
D = DA + DK
T = TA + TK
levels = np.linspace(-2 / 3, 2 / 3, 51, endpoint=True)
cs0 = ax0.contourf(
KH,
KZ,
K2A / (D + np.abs(TA) + np.abs(TK) + np.abs(K2A)),
cmap=cm.seismic,
levels=levels,
)
th = np.linspace(0, np.pi / 2, 50)
for ax in [ax0]:
# Chi_d = 1
a = 1.0
xa = np.linspace(kh[1], kd, 50, endpoint=True)
ax.plot(
xa,
xa * np.sqrt((kd / xa) ** (4 / 3) - 1),
linestyle="dotted",
color="magenta",
)
......@@ -78,28 +100,11 @@
)
if key_k == "kh":
spectra_normalized = spectra_vs_khomega_slice(
spectrum, kh, omegas, ik, normalize=normalize
)
ax.set_xlabel(r"$k_h$", fontsize=20)
ax.set_xlim([delta_kh, max(kh)])
cs = ax.pcolormesh(
kh,
omegas / N,
np.log10(spectra_normalized.transpose()),
cmap=cm,
vmin=-9,
vmax=-5,
shading="nearest",
)
k = (kh**2 + kz[ik] ** 2) ** 0.5
omega_disp = kh / k
ax.plot(kh, omega_disp, "k-")
# ax.plot(kh, omega_emp[ik, :] / N, "g-")
ax.plot(kh, omega_disp + 0.5 * delta_omega_emp[ik, :] / N, "b-")
ax.plot(kh, omega_disp - 0.5 * delta_omega_emp[ik, :] / N, "b-")
if PLOT_Doppler:
ax.plot(kh, omega_disp + k * Uh / N, "y--")
ax.plot(kh, omega_disp - k * Uh / N, "y--")
ax.text(10, 2.5, rf"$k_z={kz[ik]:.1f}$", color="w", fontsize=14)
for ax in [ax0]:
# Chi_nu = 1 (Kolmogorov scale)
ax.plot(keta * np.sin(th), keta * np.cos(th), linestyle="dotted", color="g")
ax.set_xlim([kh[1], 0.8 * max(kh)])
ax.set_ylim([kz[1], 0.8 * max(kh)])
ax.set_xscale("log")
ax.set_yscale("log")
......@@ -105,33 +110,7 @@
elif key_k == "kz":
spectra_normalized = spectra_vs_kzomega_slice(
spectrum, kz, omegas, ik, normalize=normalize
)
ax.set_xlabel(r"$k_z$", fontsize=20)
ax.set_xlim([delta_kz, max(kz)])
cs = ax.pcolormesh(
kz,
omegas / N,
np.log10(spectra_normalized.transpose()),
cmap=cm,
vmin=-9,
vmax=-5,
shading="nearest",
)
k = (kh[ik] ** 2 + kz**2) ** 0.5
omega_disp = kh[ik] / k
ax.plot(kz, omega_disp, "k-")
# ax.plot(kz, omega_emp[:, ik] / N, "g-")
ax.plot(kz, omega_disp + 0.5 * delta_omega_emp[:, ik] / N, "b-")
ax.plot(kz, omega_disp - 0.5 * delta_omega_emp[:, ik] / N, "b-")
if PLOT_Doppler:
ax.plot(kz, omega_disp + k * Uh / N, "y--")
ax.plot(kz, omega_disp - k * Uh / N, "y--")
ax.text(15, 2.5, rf"$k_h={kh[ik]:.1f}$", color="w", fontsize=14)
ax.set_ylabel(r"$\omega / N$", fontsize=20)
ax.set_ylim([0, 3])
ax.set_xticks([25, 50, 75, 100, 125])
ax.set_xticklabels(
[r"$25$", r"$50$", r"$75$", r"$100$", r"$125$"], fontsize=14
ax.set_xlabel(r"$k_h$", fontsize=20)
ax.set_xticks(
[1e1, 1e2, 1e3, kb, ko],
[r"$10^1$", r"$10^2$", r"$10^3$", r"$k_{\rm b}$", r"$k_{\rm O}$"],
fontsize=14,
)
......@@ -137,6 +116,9 @@
)
ax.set_yticks([0, 1, 2, 3])
ax.set_yticklabels([r"$0$", r"$1$", r"$2$", r"$3$"], fontsize=14)
return cs
ax.set_ylabel(r"$k_z$", fontsize=20)
ax.set_yticks(
[1e1, 1e2, 1e3, kb, ko],
[r"$10^1$", r"$10^2$", r"$10^3$", r"$k_{\rm b}$", r"$k_{\rm O}$"],
fontsize=14,
)
......@@ -141,4 +123,29 @@
# assert sim.params.oper.nx == sim_proj.params.oper.nx, f"Not the same resolution for simulation Without vortical modes: {sim.params.oper.nx} vs {sim_proj.params.oper.nx}"
# Without vortical modes
sim = get_sim("L", proj=True)
mean_values = sim.output.get_mean_values(tmin="t_last-2", customize=customize)
R2 = mean_values["R2"]
Uh2 = mean_values["Uh2"]
epsK = mean_values["epsK"]
Fh = mean_values["Fh"]
proj = sim.params.projection
t_start, t_last = sim.output.print_stdout.get_times_start_last()
tmin = t_last - 2.0
kf, kb, ko, keta, kd = compute_kf_kb_ko_keta_kd(sim, tmin)
data = sim.output.spectra.load_kzkh_mean(
tmin, key_to_load=["A", "Khd", "Kz", "Khr"]
)
kh = data["kh_spectra"]
kz = data["kz"]
delta_kh = kh[1]
delta_kz = kz[1]
# Forcing
kf_min = sim.params.forcing.nkmin_forcing * delta_kz
kf_max = sim.params.forcing.nkmax_forcing * delta_kz
angle = sim.params.forcing.tcrandom_anisotropic.angle
delta_angle = sim.params.forcing.tcrandom_anisotropic.delta_angle
......@@ -144,5 +151,42 @@
fig, axes = plt.subplots(
ncols=2, nrows=2, figsize=(10, 2 * 3 * 4.5 / 4), constrained_layout=True
KH, KZ = np.meshgrid(kh, kz)
EA = data["A"]
EKhd = data["Khd"]
EKz = data["Kz"]
EKhr = data["Khr"]
Epolo = EKhd + EKz
Etoro = EKhr
E = Epolo + Etoro + EA
Ee = 2 * np.minimum(Epolo, EA)
Ed = (Epolo - EA) / (Epolo + EA)
E[E == 0] = 1e-15
levels = np.linspace(0, 1, 51, endpoint=True)
K = np.sqrt(KH**2 + KZ**2)
K[K == 0] = 1e-15
data = sim.output.spect_energy_budg.load_mean(tmin=tmin)
kh = data["kh"]
kz = data["kz"]
delta_kh = kh[1]
delta_kz = kz[1]
KH, KZ = np.meshgrid(kh, kz)
DA = data["diss_A"]
TA = data["transfer_A"]
TK = data["transfer_Kh"] + data["transfer_Kz"]
K2A = data["conv_K2A"]
DKh = data["diss_Kh"]
DKz = data["diss_Kz"]
DK = DKh + DKz
D = DA + DK
T = TA + TK
levels = np.linspace(-2 / 3, 2 / 3, 51, endpoint=True)
cs1 = ax1.contourf(
KH,
KZ,
K2A / (D + np.abs(TA) + np.abs(TK) + np.abs(K2A)),
cmap=cm.seismic,
levels=levels,
)
......@@ -147,5 +191,18 @@
)
nbax = 0
css = [None for i in range(4)]
th = np.linspace(0, np.pi / 2, 50)
for ax in [ax1]:
# Chi_d = 1
a = 1.0
xa = np.linspace(kh[1], kd, 50, endpoint=True)
ax.plot(
xa,
xa * np.sqrt((kd / xa) ** (4 / 3) - 1),
linestyle="dotted",
color="magenta",
)
for ax in [ax1]:
# Chi_nu = 1 (Kolmogorov scale)
ax.plot(keta * np.sin(th), keta * np.cos(th), linestyle="dotted", color="g")
......@@ -151,6 +208,6 @@
ax0 = axes[0, 0]
ax1 = axes[0, 1]
ax2 = axes[1, 0]
ax3 = axes[1, 1]
ax.set_xlim([kh[1], 0.8 * max(kh)])
ax.set_ylim([kz[1], 0.8 * max(kh)])
ax.set_xscale("log")
ax.set_yscale("log")
......@@ -156,4 +213,15 @@
axs = [ax0, ax1, ax2, ax3]
ax.set_xlabel(r"$k_h$", fontsize=20)
ax.set_xticks(
[1e1, 1e2, 1e3, kb, ko],
[r"$10^1$", r"$10^2$", r"$10^3$", r"$k_{\rm b}$", r"$k_{\rm O}$"],
fontsize=14,
)
ax.set_ylabel(r"$k_z$", fontsize=20)
ax.set_yticks(
[1e1, 1e2, 1e3, kb, ko],
[r"$10^1$", r"$10^2$", r"$10^3$", r"$k_{\rm b}$", r"$k_{\rm O}$"],
fontsize=14,
)
......@@ -158,14 +226,6 @@
for proj in [False, True]:
sim = get_sim(letter, proj=proj)
if proj:
path = paths_simuls_regimes_proj[letter]
else:
path = paths_simuls_regimes[letter]
css[nbax] = plot_slices_omega_ki(sim, axs[nbax], key="Ee", key_k="kh", ik=3)
css[nbax + 2] = plot_slices_omega_ki(
sim, axs[nbax + 2], key="Ee", key_k="kz", ik=12
)
nbax += 1
for ax in [ax1]:
ax.set_ylabel(None)
ax.set_yticks([])
......@@ -171,7 +231,4 @@
for ax in [ax1, ax3]:
ax.set_ylabel("")
ax.set_yticks([])
ax0.set_title(r"Standard Navier-Stokes" + "\n" + r"$\rm (a)$", fontsize=20)
ax1.set_title(r"Without vortical modes" + "\n" + r"$\rm (b)$", fontsize=20)
......@@ -175,6 +232,4 @@
ax0.set_title(r"Standard Navier-Stokes" + "\n" + r"$\rm (a)$", fontsize=20)
ax1.set_title(r"Without vortical modes" + "\n" + r"$\rm (b)$", fontsize=20)
ax2.set_title(r"$\rm (c)$", fontsize=20)
ax3.set_title(r"$\rm (d)$", fontsize=20)
......@@ -180,8 +235,57 @@
# Legend for delta_omega
ax0.plot([100, 100], [0.42, 1.5], "b--")
ax0.text(105, 1.1, rf"$\delta \omega$", color="b", fontsize=14)
for ax in [ax0, ax1]:
# Forcing
ax.add_patch(
patches.Arc(
xy=(0, 0),
width=2 * kf_max,
height=2 * kf_max,
angle=0,
theta1=90.0 - degrees(angle) - 0.5 * degrees(delta_angle),
theta2=90.0 - degrees(angle) + 0.5 * degrees(delta_angle),
linestyle="-",
color="orange",
linewidth=1,
)
)
ax.add_patch(
patches.Arc(
xy=(0, 0),
width=2 * kf_min,
height=2 * kf_min,
angle=0,
theta1=90.0 - degrees(angle) - 0.5 * degrees(delta_angle),
theta2=90.0 - degrees(angle) + 0.5 * degrees(delta_angle),
linestyle="-",
color="orange",
linewidth=1,
)
)
ax.plot(
[
kf_min * np.sin(angle - 0.5 * delta_angle),
kf_max * np.sin(angle - 0.5 * delta_angle),
],
[
kf_min * np.cos(angle - 0.5 * delta_angle),
kf_max * np.cos(angle - 0.5 * delta_angle),
],
linestyle="-",
color="orange",
linewidth=1,
)
ax.plot(
[
kf_min * np.sin(angle + 0.5 * delta_angle),
kf_max * np.sin(angle + 0.5 * delta_angle),
],
[
kf_min * np.cos(angle + 0.5 * delta_angle),
kf_max * np.cos(angle + 0.5 * delta_angle),
],
linestyle="-",
color="orange",
linewidth=1,
)
fig.tight_layout()
......@@ -186,17 +290,4 @@
fig.tight_layout()
# fig.subplots_adjust(right=0.85)
cbar_ax = fig.add_axes([0.88, 0.2, 0.02, 0.5])
cbar = fig.colorbar(css[0], cax=cbar_ax)
cbar.set_ticks([-5, -6, -7, -8, -9])
cbar.set_ticklabels([r"$-5$", r"$-6$", r"$-7$", r"$-8$", r"$-9$"], fontsize=14)
if normalize:
cbar.ax.set_ylabel(
r"$\log_{10} \left( E_{\rm equi} / \int E_{\rm equi} ~ \mathrm{d}\omega \right)$",
fontsize=20,
)
else:
cbar.ax.set_ylabel(r"$\log_{10} E_{\rm equi}(k_h,k_z,\omega)$", fontsize=20)
......@@ -201,5 +292,13 @@
fig.subplots_adjust(right=0.85, wspace=0.1, hspace=0.4)
fig.subplots_adjust(right=0.85)
cbar_ax = fig.add_axes([0.88, 0.17, 0.02, 0.65])
cbar = fig.colorbar(cs1, cax=cbar_ax)
cbar.set_ticks([-2 / 3, -1 / 3, 0.0, 1 / 3, 2 / 3])
cbar.set_ticklabels(
[r"$-2/3$", r"$-1/3$", r"$0$", r"$1/3$", r"$2/3$"], fontsize=14
)
cbar.set_label(r"$\tilde{\mathcal{B}}$", fontsize=20)
save_fig(fig, f"figure10.png")
......@@ -204,5 +303,4 @@
save_fig(fig, f"figure10.png")
if __name__ == "__main__":
plt.show()
......@@ -9,7 +9,8 @@
from util import (
compute_kf_kb_ko_keta_kd,
compute_omega_emp_vs_kzkh,
customize,
spectra_vs_khomega_slice,
spectra_vs_kzomega_slice,
paths_simuls_regimes,
paths_simuls_regimes_proj,
save_fig,
......@@ -13,6 +14,7 @@
paths_simuls_regimes,
paths_simuls_regimes_proj,
save_fig,
customize,
)
cm = matplotlib.cm.get_cmap("inferno", 100)
......@@ -28,6 +30,50 @@
letter = "L"
sim = get_sim(letter)
path = paths_simuls_regimes[letter]
normalize = False
def plot_slices_omega_ki(sim, ax, key="Ee", key_k="kh", ik=10, PLOT_Doppler=True):
N = sim.params.N
t_start, t_last = sim.output.print_stdout.get_times_start_last()
tmin = t_last - 2.0
mean_values = sim.output.get_mean_values(tmin=tmin, customize=customize)
Uh = np.sqrt(mean_values["Uh2"])
path_spec = sorted(path.glob(f"spatiotemporal/periodogram_[0-9]*.h5"))
assert len(path_spec) == 1, f"Not only 1 periodogram in {path} \n"
path_spec = path_spec[0]
with h5py.File(path_spec, "r") as f:
kh = f["kh_spectra"][:]
kz = f["kz_spectra"][:]
omegas = f["omegas"][:]
EA = f["spectrum_A"][:]
EKz = f["spectrum_K"][:] - f["spectrum_Khd"][:] - f["spectrum_Khr"][:]
Epolo = f["spectrum_Khd"][:] + EKz
Etoro = f["spectrum_Khr"][:]
delta_kh = kh[1]
delta_kz = kz[1]
if key == "EA":
spectrum = EA
elif key == "EK":
spectrum = Epolo + Etoro
elif key == "Epolo":
spectrum = Epolo
elif key == "Ee":
spectrum = 2 * np.minimum(EA, Epolo)
elif key == "Ed":
spectrum = EA + Epolo - 2 * np.minimum(EA, Epolo)
elif key == "Etoro":
spectrum = Etoro
else:
print(f"Don't know key: {key} \n")
exit
omega_emp, delta_omega_emp = compute_omega_emp_vs_kzkh(
N,
spectrum,
kh,
kz,
omegas,
)
......@@ -33,7 +79,67 @@
sim_proj = get_sim(letter, proj=True)
path_proj = paths_simuls_regimes_proj[letter]
if key_k == "kh":
spectra_normalized = spectra_vs_khomega_slice(
spectrum, kh, omegas, ik, normalize=normalize
)
ax.set_xlabel(r"$k_h$", fontsize=20)
ax.set_xlim([delta_kh, max(kh)])
cs = ax.pcolormesh(
kh,
omegas / N,
np.log10(spectra_normalized.transpose()),
cmap=cm,
vmin=-9,
vmax=-5,
shading="nearest",
)
k = (kh**2 + kz[ik] ** 2) ** 0.5
omega_disp = kh / k
ax.plot(kh, omega_disp, "k-")
# ax.plot(kh, omega_emp[ik, :] / N, "g-")
ax.plot(kh, omega_disp + 0.5 * delta_omega_emp[ik, :] / N, "b-")
ax.plot(kh, omega_disp - 0.5 * delta_omega_emp[ik, :] / N, "b-")
if PLOT_Doppler:
ax.plot(kh, omega_disp + k * Uh / N, "y--")
ax.plot(kh, omega_disp - k * Uh / N, "y--")
ax.text(10, 2.5, rf"$k_z={kz[ik]:.1f}$", color="w", fontsize=14)
elif key_k == "kz":
spectra_normalized = spectra_vs_kzomega_slice(
spectrum, kz, omegas, ik, normalize=normalize
)
ax.set_xlabel(r"$k_z$", fontsize=20)
ax.set_xlim([delta_kz, max(kz)])
cs = ax.pcolormesh(
kz,
omegas / N,
np.log10(spectra_normalized.transpose()),
cmap=cm,
vmin=-9,
vmax=-5,
shading="nearest",
)
k = (kh[ik] ** 2 + kz**2) ** 0.5
omega_disp = kh[ik] / k
ax.plot(kz, omega_disp, "k-")
# ax.plot(kz, omega_emp[:, ik] / N, "g-")
ax.plot(kz, omega_disp + 0.5 * delta_omega_emp[:, ik] / N, "b-")
ax.plot(kz, omega_disp - 0.5 * delta_omega_emp[:, ik] / N, "b-")
if PLOT_Doppler:
ax.plot(kz, omega_disp + k * Uh / N, "y--")
ax.plot(kz, omega_disp - k * Uh / N, "y--")
ax.text(15, 2.5, rf"$k_h={kh[ik]:.1f}$", color="w", fontsize=14)
ax.set_ylabel(r"$\omega / N$", fontsize=20)
ax.set_ylim([0, 3])
ax.set_xticks([25, 50, 75, 100, 125])
ax.set_xticklabels(
[r"$25$", r"$50$", r"$75$", r"$100$", r"$125$"], fontsize=14
)
ax.set_yticks([0, 1, 2, 3])
ax.set_yticklabels([r"$0$", r"$1$", r"$2$", r"$3$"], fontsize=14)
return cs
# assert sim.params.oper.nx == sim_proj.params.oper.nx, f"Not the same resolution for simulation Without vortical modes: {sim.params.oper.nx} vs {sim_proj.params.oper.nx}"
fig, axes = plt.subplots(
......@@ -36,7 +142,7 @@
# assert sim.params.oper.nx == sim_proj.params.oper.nx, f"Not the same resolution for simulation Without vortical modes: {sim.params.oper.nx} vs {sim_proj.params.oper.nx}"
fig, axes = plt.subplots(
ncols=2, nrows=1, figsize=(10, 1.2 * 3 * 4.5 / 4), constrained_layout=True
ncols=2, nrows=2, figsize=(10, 2 * 3 * 4.5 / 4), constrained_layout=True
)
......@@ -41,36 +147,5 @@
)
ax0 = axes[0]
ax1 = axes[1]
ks_mins = [-0.02, 0.18, 0.38, 0.58, 0.78, 0.98, 1.98]
ks_maxs = [0.02, 0.22, 0.42, 0.62, 0.82, 1.02, 2.02]
# Standard Navier-Stokes
t_start, t_last = sim.output.print_stdout.get_times_start_last()
tmin = t_last - 2.0
kf, kb, ko, keta, kd = compute_kf_kb_ko_keta_kd(sim, tmin)
mean_values = sim.output.get_mean_values(tmin=tmin, customize=customize)
R2 = mean_values["R2"]
Fh = mean_values["Fh"]
epsK = mean_values["epsK"]
N = sim.params.N
path_spec = sorted(path.glob(f"spatiotemporal/periodogram_[0-9]*.h5"))
assert len(path_spec) == 1, f"Not only 1 periodogram in {path} \n"
path_spec = path_spec[0]
with h5py.File(path_spec, "r") as f:
# Get the data
kh = f["kh_spectra"][:]
kz = f["kz_spectra"][:]
omegas = f["omegas"][:]
EA = f["spectrum_A"][:]
EKz = f["spectrum_K"][:] - f["spectrum_Khd"][:] - f["spectrum_Khr"][:]
Epolo = f["spectrum_Khd"][:] + EKz
Etoro = f["spectrum_Khr"][:]
E = Epolo + Etoro + EA
Ee = 2 * np.minimum(EA, Epolo)
Ed = EA + Epolo - Ee
nbax = 0
css = [None for i in range(4)]
......@@ -76,39 +151,9 @@
spectrum = Ee
omega_emp, delta_omega_emp = compute_omega_emp_vs_kzkh(
N, spectrum, kh, kz, omegas
)
KH, KZ = np.meshgrid(kh, kz)
K = (KH**2 + KZ**2) ** 0.5
K_NOZERO = K.copy()
K_NOZERO[K_NOZERO == 0] = 1e-16
omega_disp = N * KH / K_NOZERO
nlb = delta_omega_emp / omega_disp
chi = (K**2 * epsK) ** (1 / 3) / omega_disp
DO_PLOT = [0 for i in range(len(ks_maxs))]
for nh in range(len(kh)):
for nz in range(len(kz)):
k = np.sqrt(kh[nh] ** 2 + kz[nz] ** 2)
sint = kh[nh] / k
omega_waves = N * sint
theta = np.arcsin(sint)
color = cm(k / (2.5 * kb))
for i in range(len(ks_maxs)):
if (
k / kb > ks_mins[i]
and k / kb < ks_maxs[i]
and max(spectrum[nz, nh, :]) >= 1e-16
and DO_PLOT[i] < 3
):
cs = ax0.plot(
(omegas - omega_waves) / N,
spectrum[nz, nh, :] / max(E[nz, nh, :]),
color=color,
linestyle="-",
linewidth=1,
marker="o",
markersize=1.5,
)
DO_PLOT[i] += 1
ax0 = axes[0, 0]
ax1 = axes[0, 1]
ax2 = axes[1, 0]
ax3 = axes[1, 1]
axs = [ax0, ax1, ax2, ax3]
......@@ -113,32 +158,12 @@
# Without vortical modes
t_start, t_last = sim_proj.output.print_stdout.get_times_start_last()
tmin = t_last - 2.0
kf, kb, ko, keta, kd = compute_kf_kb_ko_keta_kd(sim_proj, tmin)
mean_values = sim_proj.output.get_mean_values(tmin=tmin, customize=customize)
R2 = mean_values["R2"]
Fh = mean_values["Fh"]
epsK = mean_values["epsK"]
N = sim_proj.params.N
path_spec = sorted(path_proj.glob(f"spatiotemporal/periodogram_[0-9]*.h5"))
assert len(path_spec) == 1, f"Not only 1 periodogram in {path} \n"
path_spec = path_spec[0]
with h5py.File(path_spec, "r") as f:
# Get the data
kh = f["kh_spectra"][:]
kz = f["kz_spectra"][:]
omegas = f["omegas"][:]
EA = f["spectrum_A"][:]
EKz = f["spectrum_K"][:] - f["spectrum_Khd"][:] - f["spectrum_Khr"][:]
Epolo = f["spectrum_Khd"][:] + EKz
Etoro = f["spectrum_Khr"][:]
E = Epolo + Etoro + EA
Ee = 2 * np.minimum(EA, Epolo)
Ed = EA + Epolo - Ee
spectrum = Ee
omega_emp, delta_omega_emp = compute_omega_emp_vs_kzkh(
N, spectrum, kh, kz, omegas
for proj in [False, True]:
sim = get_sim(letter, proj=proj)
if proj:
path = paths_simuls_regimes_proj[letter]
else:
path = paths_simuls_regimes[letter]
css[nbax] = plot_slices_omega_ki(sim, axs[nbax], key="Ee", key_k="kh", ik=3)
css[nbax + 2] = plot_slices_omega_ki(
sim, axs[nbax + 2], key="Ee", key_k="kz", ik=12
)
......@@ -144,8 +169,3 @@
)
KH, KZ = np.meshgrid(kh, kz)
K = (KH**2 + KZ**2) ** 0.5
K_NOZERO = K.copy()
K_NOZERO[K_NOZERO == 0] = 1e-16
omega_disp = N * KH / K_NOZERO
nlb = delta_omega_emp / omega_disp
nbax += 1
......@@ -151,71 +171,7 @@
DO_PLOT = [0 for i in range(len(ks_maxs))]
for nh in range(len(kh)):
for nz in range(len(kz)):
k = np.sqrt(kh[nh] ** 2 + kz[nz] ** 2)
sint = kh[nh] / k
omega_waves = N * sint
theta = np.arcsin(sint)
color = cm(k / (2.5 * kb))
for i in range(len(ks_maxs)):
if (
k / kb > ks_mins[i]
and k / kb < ks_maxs[i]
and max(spectrum[nz, nh, :]) >= 1e-16
and DO_PLOT[i] < 3
):
cs = ax1.plot(
(omegas - omega_waves) / N,
spectrum[nz, nh, :] / max(E[nz, nh, :]),
color=color,
linestyle="-",
linewidth=1,
marker="o",
markersize=1.5,
)
DO_PLOT[i] += 1
# Axis
for ax in [ax0, ax1]:
ax.set_xlim([-1, 3])
ax.set_xticks([-1, -0.5, 0, 0.5, 1, 1.5, 2, 2.5, 3])
ax.set_xticklabels(
[
r"$-1$",
r"$-0.5$",
r"$0$",
r"$0.5$",
r"$1$",
r"$1.5$",
r"$2$",
r"$2.5$",
r"$3$",
],
fontsize=14,
)
ax.plot([0, 0], [1e-3, 1e0], "k-")
ax.grid(True)
for ax in [ax0, ax1]:
ax.set_yscale("log")
ax.set_ylim([1e-3, 1e0])
ax.set_yticks([1e-3, 1e-2, 1e-1, 1e0])
ax.set_yticklabels(
[r"$10^{-3}$", r"$10^{-2}$", r"$10^{-1}$", r"$10^{0}$"], fontsize=14
)
for ax in [ax0, ax1]:
ax.set_xlabel(r"$(\omega - \omega_{\boldsymbol{k}})/N$", fontsize=20)
ax1.set_yticklabels([])
ax0.set_ylabel(
r"$E_{\rm equi} / \max\limits_{\omega} ~ E$",
fontsize=20,
)
for ax in [ax1, ax3]:
ax.set_ylabel("")
ax.set_yticks([])
ax0.set_title(r"Standard Navier-Stokes" + "\n" + r"$\rm (a)$", fontsize=20)
ax1.set_title(r"Without vortical modes" + "\n" + r"$\rm (b)$", fontsize=20)
......@@ -219,14 +175,7 @@
ax0.set_title(r"Standard Navier-Stokes" + "\n" + r"$\rm (a)$", fontsize=20)
ax1.set_title(r"Without vortical modes" + "\n" + r"$\rm (b)$", fontsize=20)
(leg0,) = ax1.plot([-2, -2], [0, 0], color=cm(0.0))
(leg1,) = ax1.plot([-2, -2], [0, 0], color=cm(0.2 / 2.5))
(leg2,) = ax1.plot([-2, -2], [0, 0], color=cm(0.4 / 2.5))
(leg3,) = ax1.plot([-2, -2], [0, 0], color=cm(0.6 / 2.5))
(leg4,) = ax1.plot([-2, -2], [0, 0], color=cm(0.8 / 2.5))
(leg5,) = ax1.plot([-2, -2], [0, 0], color=cm(1.0 / 2.5))
(leg6,) = ax1.plot([-2, -2], [0, 0], color=cm(2.0 / 2.5))
ax2.set_title(r"$\rm (c)$", fontsize=20)
ax3.set_title(r"$\rm (d)$", fontsize=20)
......@@ -231,18 +180,8 @@
ax1.legend(
[leg1, leg2, leg3, leg4, leg5, leg6],
[
r"$k/k_{\rm b} \simeq 0.2$",
r"$k/k_{\rm b} \simeq 0.4$",
r"$k/k_{\rm b} \simeq 0.6$",
r"$k/k_{\rm b} \simeq 0.8$",
r"$k/k_{\rm b} \simeq 1.0$",
r"$k/k_{\rm b} \simeq 2.0$",
],
loc="upper right",
fontsize=10,
)
# Legend for delta_omega
ax0.plot([100, 100], [0.42, 1.5], "b--")
ax0.text(105, 1.1, rf"$\delta \omega$", color="b", fontsize=14)
fig.tight_layout()
......@@ -246,6 +185,22 @@
fig.tight_layout()
# fig.subplots_adjust(right=0.85)
cbar_ax = fig.add_axes([0.88, 0.2, 0.02, 0.5])
cbar = fig.colorbar(css[0], cax=cbar_ax)
cbar.set_ticks([-5, -6, -7, -8, -9])
cbar.set_ticklabels([r"$-5$", r"$-6$", r"$-7$", r"$-8$", r"$-9$"], fontsize=14)
if normalize:
cbar.ax.set_ylabel(
r"$\log_{10} \left( E_{\rm equi} / \int E_{\rm equi} ~ \mathrm{d}\omega \right)$",
fontsize=20,
)
else:
cbar.ax.set_ylabel(r"$\log_{10} E_{\rm equi}(k_h,k_z,\omega)$", fontsize=20)
fig.subplots_adjust(right=0.85, wspace=0.1, hspace=0.4)
save_fig(fig, f"figure11.png")
......
......@@ -3,5 +3,4 @@
import h5py
import matplotlib.cm
import matplotlib.pyplot as plt
import matplotlib.patches as patches
import numpy as np
......@@ -7,4 +6,3 @@
import numpy as np
from math import degrees
from util_simuls_regimes import get_sim
......@@ -9,7 +7,5 @@
from util_simuls_regimes import get_sim
from fluidsim.util import load_params_simul, times_start_last_from_path
from util import (
compute_kf_kb_ko_keta_kd,
compute_omega_emp_vs_kzkh,
......@@ -19,7 +15,9 @@
save_fig,
)
cm = matplotlib.cm.get_cmap("inferno", 100)
# Latex
plt.rcParams["text.usetex"] = True
plt.rcParams["text.latex.preamble"] = r"\usepackage{bm}"
......@@ -22,10 +20,7 @@
# Latex
plt.rcParams["text.usetex"] = True
plt.rcParams["text.latex.preamble"] = r"\usepackage{bm}"
cm = matplotlib.cm.get_cmap("inferno", 100)
print(sys.argv)
letter = sys.argv[-1]
......@@ -36,5 +31,4 @@
sim = get_sim(letter)
path = paths_simuls_regimes[letter]
sim_proj = get_sim(letter, proj=True)
......@@ -40,6 +34,5 @@
sim_proj = get_sim(letter, proj=True)
print(sim_proj.params.projection)
path_proj = paths_simuls_regimes_proj[letter]
# assert sim.params.oper.nx == sim_proj.params.oper.nx, f"Not the same resolution for simulation Without vortical modes: {sim.params.oper.nx} vs {sim_proj.params.oper.nx}"
......@@ -42,8 +35,7 @@
path_proj = paths_simuls_regimes_proj[letter]
# assert sim.params.oper.nx == sim_proj.params.oper.nx, f"Not the same resolution for simulation Without vortical modes: {sim.params.oper.nx} vs {sim_proj.params.oper.nx}"
fig, axes = plt.subplots(
ncols=2, nrows=1, figsize=(10, 1.2 * 3 * 4.5 / 4), constrained_layout=True
)
......@@ -52,4 +44,8 @@
ax1 = axes[1]
ks_mins = [-0.02, 0.18, 0.38, 0.58, 0.78, 0.98, 1.98]
ks_maxs = [0.02, 0.22, 0.42, 0.62, 0.82, 1.02, 2.02]
# Standard Navier-Stokes
......@@ -55,7 +51,7 @@
# Standard Navier-Stokes
t_start, t_last = times_start_last_from_path(path)
tmin = t_last - 2
t_start, t_last = sim.output.print_stdout.get_times_start_last()
tmin = t_last - 2.0
kf, kb, ko, keta, kd = compute_kf_kb_ko_keta_kd(sim, tmin)
mean_values = sim.output.get_mean_values(tmin=tmin, customize=customize)
R2 = mean_values["R2"]
Fh = mean_values["Fh"]
......@@ -58,12 +54,10 @@
kf, kb, ko, keta, kd = compute_kf_kb_ko_keta_kd(sim, tmin)
mean_values = sim.output.get_mean_values(tmin=tmin, customize=customize)
R2 = mean_values["R2"]
Fh = mean_values["Fh"]
params = load_params_simul(path)
nh = nx = params.oper.nx
proj = params.projection
epsK = mean_values["epsK"]
N = sim.params.N
path_spec = sorted(path.glob(f"spatiotemporal/periodogram_[0-9]*.h5"))
assert len(path_spec) == 1, f"Not only 1 periodogram in {path} \n"
path_spec = path_spec[0]
with h5py.File(path_spec, "r") as f:
......@@ -65,12 +59,9 @@
N = sim.params.N
path_spec = sorted(path.glob(f"spatiotemporal/periodogram_[0-9]*.h5"))
assert len(path_spec) == 1, f"Not only 1 periodogram in {path} \n"
path_spec = path_spec[0]
with h5py.File(path_spec, "r") as f:
# List all groups
# print("Keys: %s" % f.keys())
# a_group_key = list(f.keys())[0]
# Get the data
kh = f["kh_spectra"][:]
kz = f["kz_spectra"][:]
omegas = f["omegas"][:]
......@@ -73,7 +64,8 @@
# Get the data
kh = f["kh_spectra"][:]
kz = f["kz_spectra"][:]
omegas = f["omegas"][:]
EA = f["spectrum_A"][:]
EKz = f["spectrum_K"][:] - f["spectrum_Khd"][:] - f["spectrum_Khr"][:]
Epolo = f["spectrum_Khd"][:] + EKz
......@@ -81,32 +73,4 @@
E = Epolo + Etoro + EA
Ee = 2 * np.minimum(EA, Epolo)
Ed = EA + Epolo - Ee
spectrum = Ee
omega_emp, delta_omega_emp = compute_omega_emp_vs_kzkh(
N, spectrum, kh, kz, omegas
)
KH, KZ = np.meshgrid(kh, kz)
K = (KH**2 + KZ**2) ** 0.5
K_NOZERO = K.copy()
K_NOZERO[K_NOZERO == 0] = 1e-16
omega_disp = N * KH / K_NOZERO
xb = np.linspace(kh[1], kb, 50, endpoint=True)
for ax in [ax0]:
ax.plot(xb, np.sqrt(kb**2 - xb**2), color="c", linestyle="dashed")
a = 3
xa = np.linspace(kh[1], a**1.5 * ko, 50, endpoint=True)
ax.plot(
xa,
xa * np.sqrt((a**1.5 * ko / xa) ** 0.8 - 1),
linestyle="dotted",
color="c",
)
a = 1 / 3
xa = np.linspace(kh[1], a**1.5 * ko, 50, endpoint=True)
ax.plot(
xa,
xa * np.sqrt((a**1.5 * ko / xa) ** 0.8 - 1),
linestyle="dotted",
color="c",
)
......@@ -112,46 +76,4 @@
Ee = np.sum(Ee, axis=2)
E = np.sum(E, axis=2)
cs0 = ax0.pcolormesh(
kh,
kz,
np.log10(delta_omega_emp / omega_disp),
cmap=cm,
vmin=-0.5,
vmax=1.5,
shading="nearest",
)
# Without vortical modes
t_start, t_last = times_start_last_from_path(path_proj)
tmin = t_last - 2
kf, kb, ko, keta, kd = compute_kf_kb_ko_keta_kd(sim_proj, tmin)
mean_values = sim_proj.output.get_mean_values(tmin=tmin, customize=customize)
R2 = mean_values["R2"]
Fh = mean_values["Fh"]
params = load_params_simul(path)
nh = nx = params.oper.nx
proj = params.projection
N = sim_proj.params.N
path_spec = sorted(path_proj.glob(f"spatiotemporal/periodogram_[0-9]*.h5"))
assert len(path_spec) == 1, f"Not only 1 periodogram in {path} \n"
path_spec = path_spec[0]
with h5py.File(path_spec, "r") as f:
# List all groups
# print("Keys: %s" % f.keys())
# a_group_key = list(f.keys())[0]
# Get the data
kh = f["kh_spectra"][:]
kz = f["kz_spectra"][:]
omegas = f["omegas"][:]
EA = f["spectrum_A"][:]
EKz = f["spectrum_K"][:] - f["spectrum_Khd"][:] - f["spectrum_Khr"][:]
Epolo = f["spectrum_Khd"][:] + EKz
Etoro = f["spectrum_Khr"][:]
E = Epolo + Etoro + EA
Ee = 2 * np.minimum(EA, Epolo)
Ed = EA + Epolo - Ee
spectrum = Ee
omega_emp, delta_omega_emp = compute_omega_emp_vs_kzkh(
N, spectrum, kh, kz, omegas
......@@ -161,23 +83,58 @@
K_NOZERO = K.copy()
K_NOZERO[K_NOZERO == 0] = 1e-16
omega_disp = N * KH / K_NOZERO
xb = np.linspace(kh[1], kb, 50, endpoint=True)
for ax in [ax1]:
ax.plot(xb, np.sqrt(kb**2 - xb**2), color="c", linestyle="dashed")
a = 3
xa = np.linspace(kh[1], a**1.5 * ko, 50, endpoint=True)
ax.plot(
xa,
xa * np.sqrt((a**1.5 * ko / xa) ** 0.8 - 1),
linestyle="dotted",
color="c",
)
a = 1 / 3
xa = np.linspace(kh[1], a**1.5 * ko, 50, endpoint=True)
ax.plot(
xa,
xa * np.sqrt((a**1.5 * ko / xa) ** 0.8 - 1),
linestyle="dotted",
color="c",
)
nlb = delta_omega_emp / omega_disp
chi = (K**2 * epsK) ** (1 / 3) / omega_disp
DO_PLOT = [0 for i in range(len(ks_maxs))]
for nh in range(len(kh)):
for nz in range(len(kz)):
k = np.sqrt(kh[nh] ** 2 + kz[nz] ** 2)
sint = kh[nh] / k
omega_waves = N * sint
theta = np.arcsin(sint)
color = cm(k / (2.5 * kb))
for i in range(len(ks_maxs)):
if (
k / kb > ks_mins[i]
and k / kb < ks_maxs[i]
and max(spectrum[nz, nh, :]) >= 1e-16
and DO_PLOT[i] < 3
):
cs = ax0.plot(
(omegas - omega_waves) / N,
spectrum[nz, nh, :] / max(E[nz, nh, :]),
color=color,
linestyle="-",
linewidth=1,
marker="o",
markersize=1.5,
)
DO_PLOT[i] += 1
# Without vortical modes
t_start, t_last = sim_proj.output.print_stdout.get_times_start_last()
tmin = t_last - 2.0
kf, kb, ko, keta, kd = compute_kf_kb_ko_keta_kd(sim_proj, tmin)
mean_values = sim_proj.output.get_mean_values(tmin=tmin, customize=customize)
R2 = mean_values["R2"]
Fh = mean_values["Fh"]
epsK = mean_values["epsK"]
N = sim_proj.params.N
path_spec = sorted(path_proj.glob(f"spatiotemporal/periodogram_[0-9]*.h5"))
assert len(path_spec) == 1, f"Not only 1 periodogram in {path} \n"
path_spec = path_spec[0]
with h5py.File(path_spec, "r") as f:
# Get the data
kh = f["kh_spectra"][:]
kz = f["kz_spectra"][:]
omegas = f["omegas"][:]
EA = f["spectrum_A"][:]
EKz = f["spectrum_K"][:] - f["spectrum_Khd"][:] - f["spectrum_Khr"][:]
Epolo = f["spectrum_Khd"][:] + EKz
Etoro = f["spectrum_Khr"][:]
E = Epolo + Etoro + EA
Ee = 2 * np.minimum(EA, Epolo)
Ed = EA + Epolo - Ee
......@@ -183,14 +140,69 @@
Ee = np.sum(Ee, axis=2)
E = np.sum(E, axis=2)
cs1 = ax1.pcolormesh(
kh,
kz,
np.log10(delta_omega_emp / omega_disp),
cmap=cm,
vmin=-0.5,
vmax=1.5,
shading="nearest",
spectrum = Ee
omega_emp, delta_omega_emp = compute_omega_emp_vs_kzkh(
N, spectrum, kh, kz, omegas
)
KH, KZ = np.meshgrid(kh, kz)
K = (KH**2 + KZ**2) ** 0.5
K_NOZERO = K.copy()
K_NOZERO[K_NOZERO == 0] = 1e-16
omega_disp = N * KH / K_NOZERO
nlb = delta_omega_emp / omega_disp
DO_PLOT = [0 for i in range(len(ks_maxs))]
for nh in range(len(kh)):
for nz in range(len(kz)):
k = np.sqrt(kh[nh] ** 2 + kz[nz] ** 2)
sint = kh[nh] / k
omega_waves = N * sint
theta = np.arcsin(sint)
color = cm(k / (2.5 * kb))
for i in range(len(ks_maxs)):
if (
k / kb > ks_mins[i]
and k / kb < ks_maxs[i]
and max(spectrum[nz, nh, :]) >= 1e-16
and DO_PLOT[i] < 3
):
cs = ax1.plot(
(omegas - omega_waves) / N,
spectrum[nz, nh, :] / max(E[nz, nh, :]),
color=color,
linestyle="-",
linewidth=1,
marker="o",
markersize=1.5,
)
DO_PLOT[i] += 1
# Axis
for ax in [ax0, ax1]:
ax.set_xlim([-1, 3])
ax.set_xticks([-1, -0.5, 0, 0.5, 1, 1.5, 2, 2.5, 3])
ax.set_xticklabels(
[
r"$-1$",
r"$-0.5$",
r"$0$",
r"$0.5$",
r"$1$",
r"$1.5$",
r"$2$",
r"$2.5$",
r"$3$",
],
fontsize=14,
)
ax.plot([0, 0], [1e-3, 1e0], "k-")
ax.grid(True)
for ax in [ax0, ax1]:
ax.set_yscale("log")
ax.set_ylim([1e-3, 1e0])
ax.set_yticks([1e-3, 1e-2, 1e-1, 1e0])
ax.set_yticklabels(
[r"$10^{-3}$", r"$10^{-2}$", r"$10^{-1}$", r"$10^{0}$"], fontsize=14
)
for ax in [ax0, ax1]:
......@@ -194,8 +206,6 @@
)
for ax in [ax0, ax1]:
ax.plot([0, 1], [1, 1], "k-")
ax.set_xlim([0, 1])
ax.set_ylim([0, 3])
ax.set_xlabel(r"$(\omega - \omega_{\boldsymbol{k}})/N$", fontsize=20)
......@@ -200,68 +210,5 @@
# Forcing
delta_kh = kh[1]
delta_kz = kz[1]
kf_min = sim.params.forcing.nkmin_forcing * delta_kz
kf_max = sim.params.forcing.nkmax_forcing * delta_kz
angle = sim.params.forcing.tcrandom_anisotropic.angle
delta_angle = sim.params.forcing.tcrandom_anisotropic.delta_angle
for ax in [ax0, ax1]:
ax.set_xlim([kh[1], 0.8 * max(kh)])
ax.set_ylim([kz[1], 0.8 * max(kh)])
# ax.plot([kh[1], max(kh)], [kh[1], max(kh)], "k-")
# Forcing
ax.add_patch(
patches.Arc(
xy=(0, 0),
width=2 * kf_max,
height=2 * kf_max,
angle=0,
theta1=90.0 - degrees(angle) - 0.5 * degrees(delta_angle),
theta2=90.0 - degrees(angle) + 0.5 * degrees(delta_angle),
linestyle="-",
color="orange",
linewidth=1,
)
)
ax.add_patch(
patches.Arc(
xy=(0, 0),
width=2 * kf_min,
height=2 * kf_min,
angle=0,
theta1=90.0 - degrees(angle) - 0.5 * degrees(delta_angle),
theta2=90.0 - degrees(angle) + 0.5 * degrees(delta_angle),
linestyle="-",
color="orange",
linewidth=1,
)
)
ax.plot(
[
kf_min * np.sin(angle - 0.5 * delta_angle),
kf_max * np.sin(angle - 0.5 * delta_angle),
],
[
kf_min * np.cos(angle - 0.5 * delta_angle),
kf_max * np.cos(angle - 0.5 * delta_angle),
],
linestyle="-",
color="orange",
linewidth=1,
)
ax.plot(
[
kf_min * np.sin(angle + 0.5 * delta_angle),
kf_max * np.sin(angle + 0.5 * delta_angle),
],
[
kf_min * np.cos(angle + 0.5 * delta_angle),
kf_max * np.cos(angle + 0.5 * delta_angle),
],
linestyle="-",
color="orange",
linewidth=1,
)
ax1.set_yticklabels([])
......@@ -266,23 +213,11 @@
for ax in [ax0, ax1]:
ax.set_xlabel(r"$k_h$", fontsize=20)
ax.set_xticks([20, 40, 60, 80, 100])
ax.set_xticklabels(
[r"$20$", r"$40$", r"$60$", r"$80$", r"$100$"], fontsize=14
)
ax.set_yticks([20, 40, 60, 80, 100])
ax.set_yticklabels(
[r"$20$", r"$40$", r"$60$", r"$80$", r"$100$"], fontsize=14
)
for ax in [ax1]:
ax.set_yticklabels([])
ax0.set_ylabel(r"$k_z$", fontsize=20)
ax0.set_ylabel(
r"$E_{\rm equi} / \max\limits_{\omega} ~ E$",
fontsize=20,
)
ax0.set_title(r"Standard Navier-Stokes" + "\n" + r"$\rm (a)$", fontsize=20)
ax1.set_title(r"Without vortical modes" + "\n" + r"$\rm (b)$", fontsize=20)
......@@ -284,7 +219,14 @@
ax0.set_title(r"Standard Navier-Stokes" + "\n" + r"$\rm (a)$", fontsize=20)
ax1.set_title(r"Without vortical modes" + "\n" + r"$\rm (b)$", fontsize=20)
fig.tight_layout()
(leg0,) = ax1.plot([-2, -2], [0, 0], color=cm(0.0))
(leg1,) = ax1.plot([-2, -2], [0, 0], color=cm(0.2 / 2.5))
(leg2,) = ax1.plot([-2, -2], [0, 0], color=cm(0.4 / 2.5))
(leg3,) = ax1.plot([-2, -2], [0, 0], color=cm(0.6 / 2.5))
(leg4,) = ax1.plot([-2, -2], [0, 0], color=cm(0.8 / 2.5))
(leg5,) = ax1.plot([-2, -2], [0, 0], color=cm(1.0 / 2.5))
(leg6,) = ax1.plot([-2, -2], [0, 0], color=cm(2.0 / 2.5))
......@@ -290,12 +232,16 @@
# fig.subplots_adjust(right=0.85)
cbar_ax = fig.add_axes([0.88, 0.17, 0.02, 0.65])
cbar = fig.colorbar(cs1, cax=cbar_ax)
cbar.set_ticks([-0.5, 0.0, 0.5, 1.0, 1.5])
cbar.set_ticklabels([r"$-0.5$", r"$0$", r"$0.5$", r"$1$", r"$1.5$"], fontsize=14)
cbar.ax.set_ylabel(
r"$\log_{10}\left(\delta \omega/ \omega_{\boldsymbol{k}}\right)$",
fontsize=20,
ax1.legend(
[leg1, leg2, leg3, leg4, leg5, leg6],
[
r"$k/k_{\rm b} \simeq 0.2$",
r"$k/k_{\rm b} \simeq 0.4$",
r"$k/k_{\rm b} \simeq 0.6$",
r"$k/k_{\rm b} \simeq 0.8$",
r"$k/k_{\rm b} \simeq 1.0$",
r"$k/k_{\rm b} \simeq 2.0$",
],
loc="upper right",
fontsize=10,
)
......@@ -299,7 +245,7 @@
)
fig.subplots_adjust(right=0.85, wspace=0.1, hspace=0.4)
fig.tight_layout()
save_fig(fig, f"figure12.png")
......
import sys
import h5py
import matplotlib.cm
import matplotlib.pyplot as plt
......@@ -1,4 +3,5 @@
import h5py
import matplotlib.cm
import matplotlib.pyplot as plt
import matplotlib.patches as patches
import numpy as np
......@@ -4,3 +7,4 @@
import numpy as np
from math import degrees
from util_simuls_regimes import get_sim
......@@ -5,3 +9,5 @@
from util_simuls_regimes import get_sim
from fluidsim.util import load_params_simul, times_start_last_from_path
from util import (
......@@ -7,2 +13,7 @@
from util import (
compute_kf_kb_ko_keta_kd,
compute_omega_emp_vs_kzkh,
customize,
paths_simuls_regimes,
paths_simuls_regimes_proj,
save_fig,
......@@ -8,4 +19,3 @@
save_fig,
customize,
)
......@@ -10,8 +20,6 @@
)
cm = matplotlib.cm.get_cmap("inferno", 100)
# Latex
plt.rcParams["text.usetex"] = True
plt.rcParams["text.latex.preamble"] = r"\usepackage{bm}"
......@@ -14,6 +22,7 @@
# Latex
plt.rcParams["text.usetex"] = True
plt.rcParams["text.latex.preamble"] = r"\usepackage{bm}"
cm = matplotlib.cm.get_cmap("inferno", 100)
......@@ -18,9 +27,5 @@
def plot_spectra_vs_omegak(sim, ax, key="Ee"):
N = sim.params.N
t_start, t_last = sim.output.print_stdout.get_times_start_last()
tmin = t_last - 2.0
mean_values = sim.output.get_mean_values(tmin=tmin, customize=customize)
Uh = np.sqrt(mean_values["Uh2"])
print(sys.argv)
letter = sys.argv[-1]
......@@ -26,33 +31,5 @@
path = sim.params.path_run
path_spec = sorted(path.glob(f"spatiotemporal/periodogram_[0-9]*.h5"))
assert len(path_spec) == 1, f"Not only 1 periodogram in {path} \n"
path_spec = path_spec[0]
with h5py.File(path_spec, "r") as f:
kh = f["kh_spectra"][:]
kz = f["kz_spectra"][:]
omegas = f["omegas"][:]
Epot = f["spectrum_A"][:]
EKz = f["spectrum_K"][:] - f["spectrum_Khd"][:] - f["spectrum_Khr"][:]
Epolo = f["spectrum_Khd"][:] + EKz
Etoro = f["spectrum_Khr"][:]
delta_kh = kh[1]
delta_kz = kz[1]
if key == "Epot":
spectrum = Epot
elif key == "EK":
spectrum = Epolo + Etoro
elif key == "Epolo":
spectrum = Epolo
elif key == "Ee":
spectrum = 2 * np.minimum(Epot, Epolo)
elif key == "Ed":
spectrum = Epot + Epolo - 2 * np.minimum(Epot, Epolo)
elif key == "Etoro":
spectrum = Etoro
elif key == "Etot":
spectrum = Epolo + Etoro + Epot
else:
print(f"Don't know key: {key} \n")
exit
if letter not in "DLOWPU":
letter = "L"
......@@ -58,9 +35,4 @@
KH, KZ = np.meshgrid(kh, kz)
K = (KH**2 + KZ**2) ** 0.5
K_NOZERO = K.copy()
K_NOZERO[K_NOZERO == 0] = 1e-16
omega_disp = N * KH / K_NOZERO
omega_disp_grid = np.linspace(0, N, 25, endpoint=True)
sim = get_sim(letter)
path = paths_simuls_regimes[letter]
......@@ -66,14 +38,2 @@
OMEGA_DISP_GRID, OMEGA_GRID = np.meshgrid(omega_disp_grid, omegas)
SPECTRUM = np.zeros(OMEGA_DISP_GRID.shape)
for iod in range(len(omega_disp_grid) - 1):
for io in range(len(omegas)):
omega_disp_min = omega_disp_grid[iod]
omega_disp_max = omega_disp_grid[iod + 1]
IOD = np.where(
np.logical_and(
omega_disp >= omega_disp_min, omega_disp < omega_disp_max
)
)
......@@ -79,29 +39,7 @@
for i in range(len(IOD[0])):
SPECTRUM[io, iod] += spectrum[IOD[0][i], IOD[1][i], io]
cs = ax.pcolormesh(
OMEGA_DISP_GRID / N,
OMEGA_GRID / N,
np.log10(SPECTRUM),
cmap=cm,
vmin=-6,
vmax=-3,
shading="nearest",
)
ax.set_xlabel(r"$\sin \theta_{\boldsymbol{k}}$", fontsize=20)
ax.set_xlim([0, 1])
ax.set_xticks([0, 0.25, 0.5, 0.75, 1])
ax.set_xticklabels(
[r"$0$", r"$0.25$", r"$0.5$", r"$0.75$", r"$1$"], fontsize=14
)
ax.set_ylabel(r"$\omega / N$", fontsize=20)
ax.set_ylim([0, 3])
ax.set_yticks([0, 1, 2, 3])
ax.set_yticklabels([r"$0$", r"$1$", r"$2$", r"$3$"], fontsize=14)
return cs
sim_proj = get_sim(letter, proj=True)
print(sim_proj.params.projection)
path_proj = paths_simuls_regimes_proj[letter]
# assert sim.params.oper.nx == sim_proj.params.oper.nx, f"Not the same resolution for simulation Without vortical modes: {sim.params.oper.nx} vs {sim_proj.params.oper.nx}"
......@@ -105,4 +43,5 @@
# assert sim.params.oper.nx == sim_proj.params.oper.nx, f"Not the same resolution for simulation Without vortical modes: {sim.params.oper.nx} vs {sim_proj.params.oper.nx}"
fig, axes = plt.subplots(
......@@ -108,4 +47,4 @@
fig, axes = plt.subplots(
ncols=2, nrows=3, figsize=(10, 3 * 3 * 4.5 / 4), constrained_layout=True
ncols=2, nrows=1, figsize=(10, 1.2 * 3 * 4.5 / 4), constrained_layout=True
)
......@@ -110,3 +49,6 @@
)
ax0 = axes[0]
ax1 = axes[1]
......@@ -112,3 +54,59 @@
css = [None for i in range(6)]
# Standard Navier-Stokes
t_start, t_last = times_start_last_from_path(path)
tmin = t_last - 2
kf, kb, ko, keta, kd = compute_kf_kb_ko_keta_kd(sim, tmin)
mean_values = sim.output.get_mean_values(tmin=tmin, customize=customize)
R2 = mean_values["R2"]
Fh = mean_values["Fh"]
params = load_params_simul(path)
nh = nx = params.oper.nx
proj = params.projection
N = sim.params.N
path_spec = sorted(path.glob(f"spatiotemporal/periodogram_[0-9]*.h5"))
assert len(path_spec) == 1, f"Not only 1 periodogram in {path} \n"
path_spec = path_spec[0]
with h5py.File(path_spec, "r") as f:
# List all groups
# print("Keys: %s" % f.keys())
# a_group_key = list(f.keys())[0]
# Get the data
kh = f["kh_spectra"][:]
kz = f["kz_spectra"][:]
omegas = f["omegas"][:]
EA = f["spectrum_A"][:]
EKz = f["spectrum_K"][:] - f["spectrum_Khd"][:] - f["spectrum_Khr"][:]
Epolo = f["spectrum_Khd"][:] + EKz
Etoro = f["spectrum_Khr"][:]
E = Epolo + Etoro + EA
Ee = 2 * np.minimum(EA, Epolo)
Ed = EA + Epolo - Ee
spectrum = Ee
omega_emp, delta_omega_emp = compute_omega_emp_vs_kzkh(
N, spectrum, kh, kz, omegas
)
KH, KZ = np.meshgrid(kh, kz)
K = (KH**2 + KZ**2) ** 0.5
K_NOZERO = K.copy()
K_NOZERO[K_NOZERO == 0] = 1e-16
omega_disp = N * KH / K_NOZERO
xb = np.linspace(kh[1], kb, 50, endpoint=True)
for ax in [ax0]:
ax.plot(xb, np.sqrt(kb**2 - xb**2), color="c", linestyle="dashed")
a = 3
xa = np.linspace(kh[1], a**1.5 * ko, 50, endpoint=True)
ax.plot(
xa,
xa * np.sqrt((a**1.5 * ko / xa) ** 0.8 - 1),
linestyle="dotted",
color="c",
)
a = 1 / 3
xa = np.linspace(kh[1], a**1.5 * ko, 50, endpoint=True)
ax.plot(
xa,
xa * np.sqrt((a**1.5 * ko / xa) ** 0.8 - 1),
linestyle="dotted",
color="c",
)
......@@ -114,10 +112,14 @@
ax0 = axes[0, 0]
ax1 = axes[0, 1]
ax2 = axes[1, 0]
ax3 = axes[1, 1]
ax4 = axes[2, 0]
ax5 = axes[2, 1]
Ee = np.sum(Ee, axis=2)
E = np.sum(E, axis=2)
cs0 = ax0.pcolormesh(
kh,
kz,
np.log10(delta_omega_emp / omega_disp),
cmap=cm,
vmin=-0.5,
vmax=1.5,
shading="nearest",
)
......@@ -122,5 +124,60 @@
sim = get_sim("S1", proj=False)
css[0] = plot_spectra_vs_omegak(sim, ax0, key="Etot")
# Without vortical modes
t_start, t_last = times_start_last_from_path(path_proj)
tmin = t_last - 2
kf, kb, ko, keta, kd = compute_kf_kb_ko_keta_kd(sim_proj, tmin)
mean_values = sim_proj.output.get_mean_values(tmin=tmin, customize=customize)
R2 = mean_values["R2"]
Fh = mean_values["Fh"]
params = load_params_simul(path)
nh = nx = params.oper.nx
proj = params.projection
N = sim_proj.params.N
path_spec = sorted(path_proj.glob(f"spatiotemporal/periodogram_[0-9]*.h5"))
assert len(path_spec) == 1, f"Not only 1 periodogram in {path} \n"
path_spec = path_spec[0]
with h5py.File(path_spec, "r") as f:
# List all groups
# print("Keys: %s" % f.keys())
# a_group_key = list(f.keys())[0]
# Get the data
kh = f["kh_spectra"][:]
kz = f["kz_spectra"][:]
omegas = f["omegas"][:]
EA = f["spectrum_A"][:]
EKz = f["spectrum_K"][:] - f["spectrum_Khd"][:] - f["spectrum_Khr"][:]
Epolo = f["spectrum_Khd"][:] + EKz
Etoro = f["spectrum_Khr"][:]
E = Epolo + Etoro + EA
Ee = 2 * np.minimum(EA, Epolo)
Ed = EA + Epolo - Ee
spectrum = Ee
omega_emp, delta_omega_emp = compute_omega_emp_vs_kzkh(
N, spectrum, kh, kz, omegas
)
KH, KZ = np.meshgrid(kh, kz)
K = (KH**2 + KZ**2) ** 0.5
K_NOZERO = K.copy()
K_NOZERO[K_NOZERO == 0] = 1e-16
omega_disp = N * KH / K_NOZERO
xb = np.linspace(kh[1], kb, 50, endpoint=True)
for ax in [ax1]:
ax.plot(xb, np.sqrt(kb**2 - xb**2), color="c", linestyle="dashed")
a = 3
xa = np.linspace(kh[1], a**1.5 * ko, 50, endpoint=True)
ax.plot(
xa,
xa * np.sqrt((a**1.5 * ko / xa) ** 0.8 - 1),
linestyle="dotted",
color="c",
)
a = 1 / 3
xa = np.linspace(kh[1], a**1.5 * ko, 50, endpoint=True)
ax.plot(
xa,
xa * np.sqrt((a**1.5 * ko / xa) ** 0.8 - 1),
linestyle="dotted",
color="c",
)
......@@ -126,4 +183,13 @@
sim_proj = get_sim("S1", proj=True)
css[1] = plot_spectra_vs_omegak(sim_proj, ax1, key="Etot")
Ee = np.sum(Ee, axis=2)
E = np.sum(E, axis=2)
cs1 = ax1.pcolormesh(
kh,
kz,
np.log10(delta_omega_emp / omega_disp),
cmap=cm,
vmin=-0.5,
vmax=1.5,
shading="nearest",
)
......@@ -129,4 +195,7 @@
sim = get_sim("S2", proj=False)
css[2] = plot_spectra_vs_omegak(sim, ax2, key="Etot")
for ax in [ax0, ax1]:
ax.plot([0, 1], [1, 1], "k-")
ax.set_xlim([0, 1])
ax.set_ylim([0, 3])
......@@ -132,7 +201,66 @@
sim_proj = get_sim("S2", proj=True)
css[3] = plot_spectra_vs_omegak(sim_proj, ax3, key="Etot")
sim = get_sim("S3", proj=False)
css[4] = plot_spectra_vs_omegak(sim, ax4, key="Etot")
# Forcing
delta_kh = kh[1]
delta_kz = kz[1]
kf_min = sim.params.forcing.nkmin_forcing * delta_kz
kf_max = sim.params.forcing.nkmax_forcing * delta_kz
angle = sim.params.forcing.tcrandom_anisotropic.angle
delta_angle = sim.params.forcing.tcrandom_anisotropic.delta_angle
for ax in [ax0, ax1]:
ax.set_xlim([kh[1], 0.8 * max(kh)])
ax.set_ylim([kz[1], 0.8 * max(kh)])
# ax.plot([kh[1], max(kh)], [kh[1], max(kh)], "k-")
# Forcing
ax.add_patch(
patches.Arc(
xy=(0, 0),
width=2 * kf_max,
height=2 * kf_max,
angle=0,
theta1=90.0 - degrees(angle) - 0.5 * degrees(delta_angle),
theta2=90.0 - degrees(angle) + 0.5 * degrees(delta_angle),
linestyle="-",
color="orange",
linewidth=1,
)
)
ax.add_patch(
patches.Arc(
xy=(0, 0),
width=2 * kf_min,
height=2 * kf_min,
angle=0,
theta1=90.0 - degrees(angle) - 0.5 * degrees(delta_angle),
theta2=90.0 - degrees(angle) + 0.5 * degrees(delta_angle),
linestyle="-",
color="orange",
linewidth=1,
)
)
ax.plot(
[
kf_min * np.sin(angle - 0.5 * delta_angle),
kf_max * np.sin(angle - 0.5 * delta_angle),
],
[
kf_min * np.cos(angle - 0.5 * delta_angle),
kf_max * np.cos(angle - 0.5 * delta_angle),
],
linestyle="-",
color="orange",
linewidth=1,
)
ax.plot(
[
kf_min * np.sin(angle + 0.5 * delta_angle),
kf_max * np.sin(angle + 0.5 * delta_angle),
],
[
kf_min * np.cos(angle + 0.5 * delta_angle),
kf_max * np.cos(angle + 0.5 * delta_angle),
],
linestyle="-",
color="orange",
linewidth=1,
)
......@@ -138,4 +266,2 @@
sim_proj = get_sim("S3", proj=True)
css[5] = plot_spectra_vs_omegak(sim_proj, ax5, key="Etot")
......@@ -141,5 +267,15 @@
for ax in [ax1, ax3, ax5]:
ax.set_ylabel("")
for ax in [ax0, ax1]:
ax.set_xlabel(r"$k_h$", fontsize=20)
ax.set_xticks([20, 40, 60, 80, 100])
ax.set_xticklabels(
[r"$20$", r"$40$", r"$60$", r"$80$", r"$100$"], fontsize=14
)
ax.set_yticks([20, 40, 60, 80, 100])
ax.set_yticklabels(
[r"$20$", r"$40$", r"$60$", r"$80$", r"$100$"], fontsize=14
)
for ax in [ax1]:
ax.set_yticklabels([])
......@@ -144,9 +280,7 @@
ax.set_yticklabels([])
for ax in [ax0, ax1, ax2, ax3]:
ax.set_xlabel("")
ax.set_xticklabels([])
ax0.set_ylabel(r"$k_z$", fontsize=20)
ax0.set_title(r"Standard Navier-Stokes" + "\n" + r"$\rm (a)$", fontsize=20)
ax1.set_title(r"Without vortical modes" + "\n" + r"$\rm (b)$", fontsize=20)
......@@ -149,9 +283,5 @@
ax0.set_title(r"Standard Navier-Stokes" + "\n" + r"$\rm (a)$", fontsize=20)
ax1.set_title(r"Without vortical modes" + "\n" + r"$\rm (b)$", fontsize=20)
ax2.set_title(r"$\rm (c)$", fontsize=20)
ax3.set_title(r"$\rm (d)$", fontsize=20)
ax4.set_title(r"$\rm (e)$", fontsize=20)
ax5.set_title(r"$\rm (f)$", fontsize=20)
......@@ -157,5 +287,3 @@
for ax in [ax0, ax1, ax2, ax3, ax4, ax5]:
ax.plot([0, 1], [0, 1], "w--")
fig.tight_layout()
......@@ -160,3 +288,4 @@
fig.tight_layout()
# fig.subplots_adjust(right=0.85)
......@@ -162,8 +291,6 @@
# fig.subplots_adjust(right=0.85)
cbar_ax = fig.add_axes([0.88, 0.19, 0.02, 0.63])
cbar = fig.colorbar(css[0], cax=cbar_ax)
cbar.set_ticks([-3, -4, -5, -6])
cbar.set_ticklabels([r"$-3$", r"$-4$", r"$-5$", r"$-6$"], fontsize=16)
cbar_ax = fig.add_axes([0.88, 0.17, 0.02, 0.65])
cbar = fig.colorbar(cs1, cax=cbar_ax)
cbar.set_ticks([-0.5, 0.0, 0.5, 1.0, 1.5])
cbar.set_ticklabels([r"$-0.5$", r"$0$", r"$0.5$", r"$1$", r"$1.5$"], fontsize=14)
cbar.ax.set_ylabel(
......@@ -169,5 +296,6 @@
cbar.ax.set_ylabel(
r"$\log_{10} E(\sin \theta_{\boldsymbol{k}},\omega)$", fontsize=20
r"$\log_{10}\left(\delta \omega/ \omega_{\boldsymbol{k}}\right)$",
fontsize=20,
)
......@@ -171,7 +299,7 @@
)
fig.subplots_adjust(right=0.85, wspace=0.05, hspace=0.15)
fig.subplots_adjust(right=0.85, wspace=0.1, hspace=0.4)
save_fig(fig, f"figure13.png")
......