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
Showing
with 673 additions and 182 deletions
[project]
name = "2022strat_polo_proj"
version = "0.1.0"
description = "Default template for PDM package"
authors = [
{name = "pierre.augier", email = "pierre.augier@univ-grenoble-alpes.fr"},
]
dependencies = [
"formattex",
"fluidsim>=0.8.4",
"fluidfft>=0.4.3",
"pyfftw>=0.15.0",
"jinja2>=3.1.4",
]
requires-python = "==3.11.*"
readme = "README.md"
license = {text = "MIT"}
[tool.pdm]
distribution = false
.PHONY: all clean cleantmp
all: coverletter.pdf rebut1.pdf rebut2.pdf
all: format coverletter.pdf rebut1.pdf rebut2.pdf
......@@ -4,5 +4,5 @@
%.pdf: tmp/%.tex
cd tmp && latexmk -pdf -xelatex -interaction=nonstopmode $(basename $@).tex && rsync $@ ../$@
%.pdf: input/%.tex
cd input && latexmk -pdf -halt-on-error $(basename $@).tex && rsync $@ ../$@
format:
......@@ -7,8 +7,8 @@
format:
formattex *.tex -i -v
cd input && formattex *.tex -i -v
cleantmp:
rm -rf tmp tmp_*
clean: cleantmp
......@@ -10,7 +10,7 @@
cleantmp:
rm -rf tmp tmp_*
clean: cleantmp
rm -f rebut*.pdf coverletter.pdf
cd input && rm -f rebut*.pdf coverletter.pdf *.aux *.bbl *.blg *.log *.gz
......@@ -16,5 +16,3 @@
tmp/%.tex: %.tex
mkdir -p tmp
rm -f $@
ln -s $(PWD)/$< $@
cleanpdf:
rm -f *.pdf
2022strat_polo_proj/review0/input/Figure3_DNS.png

46.7 KiB

Potential enstrophy in stratified turbulence, Waite 2013
At large scales, the quadratic fraction of the potential enstrophy is determined by Reb.
The quadratic part dominates for small Reb, i.e. in the viscously coupled regime of stratified turbulence, but not when Reb > 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 Reb is not too small.
Consider the integrated squared PV, or potential enstrophy, in strongly stratified turbulence without rotation.
PV and potential enstrophy in stratified turbulence are analogous to vorticity and enstrophy in two-dimensional flows, the conservation of which has a profound influence on energy transfers between scales (Fjørtoft 1953).
By contrast with two-dimensional turbulence, potential enstrophy conservation does not imply an inverse energy cascade. Rather, energy leaks into gravity waves, which are uninhibited by PV conservation and thus can cascade to small scales. Recent simulations by Aluie & Kurien (2011) of strongly stratified, weakly rotating turbulence exhibited a downscale flux of both energy and potential enstrophy.
Interestingly, they found the potential enstrophy to be predominantly quadratic in their simulations, and concluded that higher-order terms are relatively small in stratified turbulence. These results are in line with theoretical work by Kurien, Smith & Wingate (2006), who showed that the potential enstrophy is quadratic in the limit of strong stratification and finite viscosity. This finding appears to have important implications for the theory of stratified turbulence, since it implies the existence of an inertial subrange for potential enstrophy, in which the effects of viscosity are restricted to small-scale dissipation.
Given the importance of the buoyancy Reynolds number in stratified turbulence, it is reasonable to suspect that the potential enstrophy dynamics, and in particular the dominance of the quadratic contribution, will depend on Reb. In this paper, numerical simulations are used to explore the hypothesis that the potential enstrophy will be approximately quadratic only for Reb  1.
We have shown that the quadratic part of the potential enstrophy is not a good approximation to the total when Reb & 1, even in strongly stratified turbulence with Frh  1.
On the other hand, the potential enstrophy is predominantly quadratic when Reb < 0.4, i.e. when Frh is small but Re is not too large. This parameter regime corresponds to viscously coupled stratified turbulence, which is characterized by thin layers of horizontal flow, glued together by the vertical part of the viscosity. There is no small-scale turbulence in such flows; instead, the nonlinear transfer is dominated by the vertical layering, which sends energy from large to small vertical scales (e.g. Waite & Bartello 2004; Brethouwer et al. 2007). It is likely that the simulations of Aluie & Kurien (2011) are in this viscously coupled regime, as they have comparable numerical resolution but even stronger stratification than we do
The analysis of Kurien et al. (2006) also applies to the small-Reb regime, since it assumes Frh → 0 at fixed Re. While this regime is interesting theoretically and relevant to some laboratory-scale flows (e.g. Praud et al. 2005), it may not apply to stratified turbulence at scales of the atmospheric mesoscale and oceanic sub-mesoscale, where Reb is expected to be large. Thus, it is doubtful whether the assumption of quadratic potential enstrophy, and any associated cascade theory, would be applicable to stratified turbulence at such scales.
Joint downscale fluxes of energy and potential enstrophy in rotating stratified Boussinesq flows, Aluie and Kurien 2011
Add discussion on PV and PE expressed in terms of vp, vt, b (to show that )
Some remarks: term of order four in potential enstrophy is zero when we remove vortical modes see sergey's notes
......@@ -12,6 +12,4 @@
\usepackage{amssymb, amsmath}
\usepackage[top=0.8in,bottom=0.8in,left=2cm,right=2cm,a4paper]{geometry}
\usepackage[usenames,dvipsnames]{color}
\usepackage[normalem]{ulem}
......@@ -17,9 +15,5 @@
\usepackage{array}
\usepackage{soul}
\title{Coverletter}
\title{\bf Coverletter}
\author{}
\date{}
......@@ -37,6 +31,37 @@
\maketitle
Hello!
Dear Dr. Eckart Meiburg,
\vspace{0.5cm}
\paragraph{}{We have now completed the revision of our manuscript FF10204, entitled
"Internal gravity waves in stratified flows with and without vortical modes." Attached
to this letter is the revised version of the manuscript, a version with the changes
highlighted, and a separate point-by-point response to each referee.}
\paragraph{}{We have corrected the manuscript by improving the presentation of our
methods. The corresponding section has been reorganized and strengthened. In
particular, we provide more precision about the forcing mechanism, how we use
hyperviscosity and hyperdiffusion, and how we varied the vertical resolution with
respect to the Brunt-Väisälä frequency. We have also clarified the manuscript to
highlight the two control parameters of this study: the horizontal Froude number and
the buoyancy Reynolds number.}
\paragraph{}{Following the reviewers' suggestions, we have added visualizations of the
flows considered here and provided comments on the role of potential vorticity and
potential enstrophy. We have also found additional studies that help to fill the
parameter space on the last figure of the manuscript, and we have commented on them in
the discussion section.}
\paragraph{}{Finally, we have corrected typos and small errors.}
\vspace{0.5cm}
\paragraph{}{We look forward to hearing from you.}
\paragraph{}{Best regards,}
\paragraph{}{Vincent Labarre, Pierre Augier, Giorgio Krstulovic, and Sergey Nazarenko}
\end{document}
......@@ -5,9 +5,7 @@
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{natbib}
\usepackage[english]{babel}
\usepackage{amssymb, amsmath}
\usepackage[top=0.8in,bottom=0.8in,left=2cm,right=2cm,a4paper]{geometry}
......@@ -10,7 +8,11 @@
\usepackage[english]{babel}
\usepackage{amssymb, amsmath}
\usepackage[top=0.8in,bottom=0.8in,left=2cm,right=2cm,a4paper]{geometry}
\usepackage{graphicx}
\usepackage{natbib}
\bibliographystyle{rusnat}
\usepackage[usenames,dvipsnames]{color}
\usepackage[normalem]{ulem}
......@@ -19,7 +21,7 @@
\usepackage{soul}
\title{Reply to referee 1}
\title{\bf Reply to referee 1}
\author{}
\date{}
......@@ -23,7 +25,26 @@
\author{}
\date{}
\newcommand{\diff}{\text{d}}
\newcommand{\R}{\mathcal{R}}
\newcommand{\kmax}{k_{\rm max}}
\newcommand{\eez}{\boldsymbol{e}_z}
\newcommand{\vv}{\boldsymbol{v}}
\newcommand{\kk}{\boldsymbol{k}}
\newcommand{\bnabla}{\boldsymbol{\nabla}}
\newcommand{\bomega}{\boldsymbol{\omega}}
\newcommand{\ok}{\omega_{\kk}}
\newcommand{\bv}{Brunt-V\"ais\"al\"a }
\newcommand{\eep}{\boldsymbol{e}_{p\kk}}
\newcommand{\hatf}{\hat{f}}
\newcommand{\hatff}{\hat{\boldsymbol{f}}}
\newcommand{\epsK}{{\varepsilon_{\!\scriptscriptstyle K}}}
\newcommand{\epsKK}{{\varepsilon_{\!\scriptscriptstyle K 2}}}
\newcommand{\epsKKKK}{{\varepsilon_{\!\scriptscriptstyle K 4}}}
\newcommand{\Add}[1]{{\color{blue}#1}}
\newcommand{\Remove}[1]{{\color{red}\st{#1}}}
\newcommand{\Comment}[1]{{\color{green}#1}}
......@@ -26,11 +47,12 @@
\newcommand{\Add}[1]{{\color{blue}#1}}
\newcommand{\Remove}[1]{{\color{red}\st{#1}}}
\newcommand{\Comment}[1]{{\color{green}#1}}
\newcommand{\itemit}[1]{\item{\it #1}}
\newcommand{\itemit}[1]{\item{\bf #1}}
\newcommand{\addtoman}[1]{\hspace{3mm} \begin{minipage}{150mm} ``{\it #1}'' \end{minipage}}
\begin{document}
\maketitle
......@@ -31,14 +53,23 @@
\begin{document}
\maketitle
\noindent We thank the referee for his critical comments. The answer on all the
comments are listed below.
\noindent We thank the referee for their critical comments, that helped us to
significantly improve our manuscript. We have realized that our Methods section was not
completely comprehensive. This is partly due to the fact that this paper was intended
to cite another article describing, with another point of view, the first dataset used
in this study (without projection). Finally, we submitted this manuscript first and did
not correctly complete the Methods section. Now we have corrected the manuscript by
presenting our methods better, and the corresponding section has been deeply
reorganized and strengthened.
The answers to all the comments are listed below. Corresponding corrections are made in
blue in the new draft.
\begin{enumerate}
\itemit{p.5: what is the origin of the 0.8 factor instead of the more classical 2/3
rule for dealiasing? Is it related to the use of hyperviscosity and hyperdiffusion?}
......@@ -39,9 +70,9 @@
\begin{enumerate}
\itemit{p.5: what is the origin of the 0.8 factor instead of the more classical 2/3
rule for dealiasing? Is it related to the use of hyperviscosity and hyperdiffusion?}
We performed with Jason Reneuve an extensive study on dealiasing methods (also with
phase shifting). It is not yet published but a notable result is that ... TODO...
Instead of the exact 2/3 rule for cubic truncation, we use a 0.8 spherical truncation.
......@@ -47,6 +78,31 @@
In an unpublished work with Jason Reneuve, we have performed an extensive study on
dealiasing methods (also including phase shifting). One notable result is that for
simulations with $\kmax \eta$ slightly smaller than one, we obtain better results to
reproduce known flows with a 0.8 spherical truncation rather than with the exact 2/3
cubic truncation. First, the spherical truncation is better than the cubic truncation
because it conserves the rotational symmetry. Second, for a constant resolution,
increasing a bit the dealiasing coefficient gives more wavenumbers to represent the
flow (for $\kmax \eta$ close to one, more wavenumbers to represent the dissipative
range, in which the energy spectra decrease very quickly). On the one hand, for
spherical truncation, 2/3 removes too many modes (Only $16\% = (4/3) \pi ((2/3)0.5)^3
\%$ of the grid points are kept). On the other hand, the coefficient needs to be
smaller than 0.94 to kill the double aliasing, which is the most annoying one. The
value of 0.8 seems to be a good compromize for which most of the aliasing is removed.
These arguments are valid without hyperdiffusion, which was not used for our study with
Jason Reneuve. However, using a bit of hyperdiffusion, of course, helps to limit the
effect of the aliasing. Note also that, anyway, most simulations of our datasets are
proper DNS with $\kmax\eta$ larger or close to one.
Since these ideas will be published elsewhere (with thorough checks) and present only a
small detail of our numerical methods, we do not think that it makes sense to include
them in the manuscript so we just write in the Methods section:
\addtoman{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.}}
\itemit{p.5: what is the motivation behind forcing low frequency waves only? Wouldn't
it be better to increase the wave frequency to better satisfy the timescale separation
required by WWT?}
......@@ -48,10 +104,35 @@
\itemit{p.5: what is the motivation behind forcing low frequency waves only? Wouldn't
it be better to increase the wave frequency to better satisfy the timescale separation
required by WWT?}
TODO: add in the article + add added text here. (geophysical fluids (for example M2
waves) + temporal spectra)
Forcing low frequency waves is mainly motivated by geophysical applications: in the
oceans, tidal flows over topography generate low frequency waves (internal tides)
\cite[]{mackinnon_climate_2017}. This forcing is particularly important when compared
to other mechanisms, and motivate many studies on stratified flows. For example,
radiation and dissipation of internal waves generated by the barotropic $M_2$
(semidiurnal) tide over rough topography are explored in
\cite{nikurashin_legg_mechanism_2011}. In this study, the Brünt-Väisälä frequency is
typically $N=10^{-3}$ rad/s to represent the main thermocline, while the barotropic
$M_2$ tide is forced at $\omega = 1.4\times 10^{-4}$ rad/s by adding a body force to
momentum equations.
Low frequency wave forcing is also used in order to allow a scale separation between
forced frequencies and the Brünt-Väisälä frequency.
We now motivate the low frequency forcing in the new version of the manuscript by
adding the following text:
\addtoman{\Add{Forcing slow waves is motivated by oceanic applications, where waves are
generated, among other processes, by slow tides [25, 68]. 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 second question is interesting: forcing waves at higher frequencies would indeed
help to satisfy the timescale separation required by WWT. In our opinion, this would
require additional studies.
\itemit{Why is hyperviscosity added to the regular viscosity? Is it just for
......@@ -59,5 +140,10 @@
as DNS I assume? How important it is in the simulations presented here, would they all
blow up without it?}
TODO: add in the article + add added text here.
As already mentioned, the presentation of our methods was rather incomplete in our
manuscript. In particular, we did not explain clearly how hyperdiffusivity is used. As
a result the readers were lead to think that all our simulations are not proper DNS. We
tried to better explain this aspect of our numerical methods. We first present the
standard incompressible Navier-Stokes equations (without hyperdiffusivity) and
introduce our control and output parameters and non dimensional numbers.
......@@ -63,4 +149,3 @@
- Most of the simulations are proper DNS with $\kmax\eta$ larger or close to one. For
example (40, 20), $\kmax\eta = 0.99$ and 1.05.
We then present how we use hyperdiffusivity in some (but not all) simulations:
......@@ -66,4 +151,27 @@
- Few simulations are not DNS, but they can be to some extend characterized with the
standard Reynolds number.
\addtoman{\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 (8)
and (9), 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$ [31,
64].} \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~4 to 15) are proper DNS with $\kmax\eta$ equal
to 0.99 and 1.05, respectively (see table~I).} \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.}}
......@@ -69,3 +177,9 @@
- Without hyperviscosity the simulations would not blow up.
We show here a re-plotting of Figure 3 of our manuscript while keeping only DNS
($\kmax\eta \geq 1$):
\begin{figure}[h]
\centering \includegraphics[width=1\linewidth]{Figure3_DNS}
\caption{Same as Figure 3 but keeping only proper DNS.}
\end{figure}
......@@ -71,8 +185,20 @@
- Dataset which can be later improved...
Comparing with Figure 3 of the manuscript first show that only a small number of
simulations are not DNS. Secondly, keeping only DNS does not changes the results
presented in the present study.
Moreover, we decided to discard few simulations in this article for which $\kmax\eta<
0.45$, so that all simulations used for this study are either well-resolved or slightly
under-resolved, with $\kmax$ close to $1/\eta$ and in the diffusive range linked to the
standard dissipation.
Regarding the question about the importance of hyperviscosity and the potential ``blow
up without it'', we can mention that, except for very small $\kmax\eta$ values,
removing hyperdiffusion would not lead to simulation blow up but we would observe a
tendency to thermalisation, with accumulation of energy at the larger wavenumbers.
\itemit{Shear modes are removed from all simulations, but how is this achieved exactly?
Is it done via a spectrally localised damping term or simply put to zero at every time
steps?}
......@@ -73,8 +199,11 @@
\itemit{Shear modes are removed from all simulations, but how is this achieved exactly?
Is it done via a spectrally localised damping term or simply put to zero at every time
steps?}
TODO: add in the article + add added text here.
Shear modes are set to zero and not forced. Furthermore, the shear-mode part of the
nonlinear term is removed when de-aliasing is applied at each time step. This way,
energy transfer to the shear modes is forbidden. We have changed a sentence in the
method section to make this point clearer:
......@@ -80,7 +209,7 @@
Put to zeros at each time step. Conserves energy. Similar physically to vertical walls
in a tank.
\addtoman{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}.}
\itemit{It is mentionned that the forcing is not delta-correlated in time but that its
correlation time is consistent with the dispersion relation of internal gravity waves
......@@ -90,5 +219,8 @@
think that using a purely harmonic forcing, thereby injecting all of the energy in the
form of internal gravity waves, would change something to the results presented here?}
TODO: describe better the forcing in the article + add added text here.
\begin{figure}[h]
\centering \includegraphics[width=0.8\linewidth]{../../tmp/forcing_vs_time.png}
\caption{Time dependence of the forcing.} \label{fig:forcing}
\end{figure}
......@@ -94,4 +226,5 @@
- no proper stochastic process involve. Phase and amplitude of the forced wavenumbers
random and changed in time ...
Figure~\ref{fig:forcing} shows how the forcing depends on time. We plan to include this
figure and a discussion about this time dependence in a future article studying
specifically the dataset composed of simulations with the vortical modes.
......@@ -97,3 +230,15 @@
- a bit of Python to compute time spectra of such process.
As described in Appendix A, the forcing is not harmonic, and not given by a stochastic
differential equation either. The phase and the amplitude of the forced wavenumbers are
randomly changed in time every $T_c$ such that the kinetic energy injection rate is
equal to one. However, even if we think that your question about the effect of a purely
harmonic forcing deserves additional studies, we do not think that we need to have a
purely harmonic forcing to force waves. The forcing injects or removes energy to the
waves with a positive average. In our opinion it is nicer if the forcing is time
correlated and do not force wave modes at $\omega > \omega_k$ (which is why we use a
time correlated forcing), but anyway the system responds with its own dynamics to a
forcing, and as long as poloidal velocity (or buoyancy) are forced, internal waves can
be forced. Note that for large $N$, the forcing is weak compared to linear terms. As a
result, we clearly see in the spatio-temporal poloidal spectra that the waves ($\omega
\simeq \omega_k$) strongly dominate the forced wavenumbers.
......@@ -99,4 +244,3 @@
- this aspect of the forcing will be discussed in a paper describing more globally the
dataset.
We give more details about the forcing in the method section:
......@@ -102,6 +246,18 @@
TODO: add the question on possible effect of harmonic forcing. We don't know.
Interesting open question that could be investigated in future studies.
\addtoman{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~A. \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.}}
and in Appendix~A, which has also been improved.
\itemit{Figure 7: could you show the spatial structure of the dominant vortical mode by
......@@ -109,5 +265,22 @@
More generally, some visualisations of the typical flows considered, with and without
vortical modes, would be helpful in my opinion.}
Add a 3D figure...
Figure~3 shows the toroidal velocity of the dominant vortical mode. It is obtained from
the simulation at resolution $n_h = 320$.
\begin{figure}[h]
\centering
\includegraphics[width=0.8\linewidth]{vt_filter}
\caption{Dominant vortical mode.}
\end{figure}
It makes us observe that, contrary to what we originally said, the dominant vortical
mode consists of nearly vertically stacked shear layers with $(k_h, k_z) = (\Delta k_h,
2 \Delta k_z)$. We have corrected this part:
\addtoman{\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~8$\rm (a)$).
Energy then tends to be accumulated at the smallest horizontal wave vectors, close to
shear modes.}}
In our opinion, the last figure is not useful enough to be included in the manuscript.
......@@ -113,4 +286,22 @@
Yet, following reviewer's suggestion, we include the following figure (now Figure 4 in
the manuscript) showing the buoyancy field for simulations with $(N,\R_i) = (40,20)$,
which are studied in detail in our manuscript.
\begin{figure}[h]
\centering \includegraphics[width=1\linewidth]{../../input/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}
We also added the following text to describe this figure:
\addtoman{\Add{Figure~4 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 [22, 30, 31, 66]. With vortical
modes, the vertical vorticity is not zero (Figure~4(a)) so the buoyancy has a different
structure than when vortical modes are absent (Figure~4(b)). Without vortical modes the
dynamics in the horizontal direction is irrotational and the buoyancy field has a
larger amplitude.}}
\itemit{Figure 9: what is the purpose of the kz=kh line?}
......@@ -114,7 +305,9 @@
\itemit{Figure 9: what is the purpose of the kz=kh line?}
?
The purpose of the $k_z = k_h$ line is to delimitate regions where $k_z > k_h$ and $k_z
< k_h$. In the end, it is not useful and burden figures so we decide to remove it. The
figure caption is adapted accordingly.
\itemit{Figure 16: this is an important plot in my opinion, it might be useful to
......@@ -123,5 +316,19 @@
for traces of WWT in simulations). Are they no other studies filling the gap between
these two extremes?}
TODO: which studies with wave forcing? Waite... Lindborg... ???
For studies motivated by geophysical flows, the focus is more on large buoyancy
Reynolds $\R$ number, or at least not very small. For this reason, most of recent
simulations are for $\R \gtrsim 1$ (see e.g. \cite{kimura_energy_2012,
bartello_sensitivity_2013, maffioli_vertical_2017}). Some older studies could have fill
the gap between our study and the one of \cite{reun_parametric_2018}, possibly because
the authors were forced to use larger viscosity at that time
\cite[]{waite_stratified_2004, waite_stratified_2006, lindborg_energy_2006,
waite_stratified_2011}. Unfortunately, it not always easy to correctly quantify these
numbers from the data given in the articles, or to compare them with our simulations.
\cite{waite_stratified_2004} forced vortical modes so these it is not well suited for
observing internal gravity wave turbulence. We do not see how to extract $\R$ from
\cite{waite_stratified_2004} and \cite{waite_stratified_2006} tables. In
\cite{lindborg_energy_2006} and \cite{waite_stratified_2011}, different values of the
viscosity where used on the vertical and horizontal so these studies are more difficult
to compare to real flows.
......@@ -127,4 +334,7 @@
For studies motivated by geophysical flows, the focus is more on buoyancy Reynolds
number large or at least not very small.
We are aware of three studies that fill the gap between our study and
\cite{reun_parametric_2018}. The first one is \cite{brethouwer_scaling_2007}, the
second one is \cite{waite_potential_2013}, and the third one to \cite{lam_energy_2021},
so we include them in figure 16 (now figure 17). We also added the following remarks in
the discussion:
......@@ -130,9 +340,16 @@
Unfortunately, not always easy to correctly quantify these numbers from the data given
in the articles.
\addtoman{\Add{We observe that [74] 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 ~ \diff x \diff y \diff z$
increases with $\R$ in their simulations. It suggests that vortical modes energy
increases with $\R$ when $\R \lesssim 1$, as explained by [42]. Yet, the study of the
wave energy ratio is not done while keeping $F_h$ or $\R$ constant in [42]. 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.}}
\itemit{The shear modes are always suppressed while the vortical modes are either left
or suppressed. Do the authors expect surprising behaviours with the shear modes but
without the vortical modes?}
......@@ -134,11 +351,12 @@
\itemit{The shear modes are always suppressed while the vortical modes are either left
or suppressed. Do the authors expect surprising behaviours with the shear modes but
without the vortical modes?}
We know thanks to a study on 2D turbulence (Calpe-linares PhD thesis) that shear modes
can grow without toroidal modes. Therefore we can anticipate accumulation of energy in
shear modes, which should become very strong and distore the waves.
We know, thanks to a study on 2D turbulence \cite[]{linares_numerical_2020}, that shear
modes can grow without toroidal modes. Therefore we can anticipate accumulation of
energy in shear modes, which should become very strong and distort the waves, at least
for large $\R$.
\itemit{Note that Le Reun et al. [46] did not have to remove neither shear nor vortical
......@@ -149,7 +367,15 @@
geostrophic flows, there must be some threshold below which both shear and vortical
modes are stable and won't grow if not directly forced?}
TODO: improve the discussion on the difference between Le Reun et al.
It is indeed an important information that must be mentioned. Consequently, we add the
following sentences in the discussion:
\addtoman{\Add{It is worth mentioning that [46] 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
[49].}}
\end{enumerate}
......@@ -158,4 +384,7 @@
\begin{itemize}
\itemit{Introduction, line 2: typo "aims to provides"}
Corrected.
\itemit{p.2 second paragraph: typo "difficultly"}
......@@ -161,3 +390,6 @@
\itemit{p.2 second paragraph: typo "difficultly"}
Corrected.
\itemit{p.4, section II, first sentence: typo "hypervisity", define buoyancy, what does
"kinematic pressure" mean?}
......@@ -162,4 +394,14 @@
\itemit{p.4, section II, first sentence: typo "hypervisity", define buoyancy, what does
"kinematic pressure" mean?}
We add this definition in the method section:
\addtoman{\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 kinematic pressure is the pressure divided by fluid density.
\itemit{Ambiguous notation between real part and Reynolds}
......@@ -164,4 +406,6 @@
\itemit{Ambiguous notation between real part and Reynolds}
We replace the notation for the real part by $\Re$ to avoid ambiguous notation.
\end{itemize}
......@@ -166,3 +410,5 @@
\end{itemize}
\bibliography{../../input/main}
\end{document}
......@@ -5,11 +5,9 @@
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{natbib}
\usepackage[english]{babel}
\usepackage{amssymb, amsmath}
\usepackage[top=0.8in,bottom=0.8in,left=2cm,right=2cm,a4paper]{geometry}
\usepackage{graphicx}
......@@ -10,9 +8,12 @@
\usepackage[english]{babel}
\usepackage{amssymb, amsmath}
\usepackage[top=0.8in,bottom=0.8in,left=2cm,right=2cm,a4paper]{geometry}
\usepackage{graphicx}
\usepackage{natbib}
\bibliographystyle{rusnat}
\usepackage[usenames,dvipsnames]{color}
\usepackage[normalem]{ulem}
......@@ -20,7 +21,7 @@
\usepackage{soul}
\title{Reply to referee 2}
\title{\bf Reply to referee 2}
\author{}
\date{}
......@@ -24,8 +25,18 @@
\author{}
\date{}
\newcommand{\Add}[1]{{\color{blue}#1}}
% \newcommand{\Add}[1]{#1}
\newcommand{\Remove}[1]{{\color{red}\st{#1}}}
% \newcommand{\Remove}[1]{}
\newcommand{\diff}{\text{d}}
\newcommand{\dxdydz}{\diff x \diff y \diff z}
\newcommand{\R}{\mathcal{R}}
\newcommand{\kmax}{k_{\rm max}}
\newcommand{\eez}{\boldsymbol{e}_z}
\newcommand{\vv}{\boldsymbol{v}}
\newcommand{\kk}{\boldsymbol{k}}
\newcommand{\bnabla}{\boldsymbol{\nabla}}
\newcommand{\bomega}{\boldsymbol{\omega}}
\newcommand{\bOmega}{\boldsymbol{\Omega}}
\newcommand{\ok}{\omega_{\kk}}
\newcommand{\bv}{Brunt-V\"ais\"al\"a }
\newcommand{\eep}{\boldsymbol{e}_{p\kk}}
\newcommand{\thk}{\theta_{\kk}}
......@@ -31,2 +42,12 @@
\newcommand{\hatf}{\hat{f}}
\newcommand{\hatff}{\hat{\boldsymbol{f}}}
\newcommand{\hatvt}{\hat{v}_{t}}
\newcommand{\epsK}{{\varepsilon_{\!\scriptscriptstyle K}}}
\newcommand{\epsKK}{{\varepsilon_{\!\scriptscriptstyle K 2}}}
\newcommand{\epsKKKK}{{\varepsilon_{\!\scriptscriptstyle K 4}}}
\newcommand{\Add}[1]{{\color{blue}#1}}
\newcommand{\Remove}[1]{{\color{red}\st{#1}}}
\newcommand{\Comment}[1]{{\color{green}#1}}
......@@ -32,8 +53,9 @@
\newcommand{\Comment}[1]{{\color{green}#1}}
\newcommand{\itemit}[1]{\item\referee{ #1}}
\newcommand{\referee}[1]{\noindent{\it#1 \vspace{3mm}}}
\newcommand{\authors}[1]{\noindent{\color{blue} #1 \color{black}}}
\newcommand{\itemit}[1]{\item{\bf #1}}
\newcommand{\addtoman}[1]{\hspace{3mm} \begin{minipage}{150mm} ``{\it #1}'' \end{minipage}}
\begin{document}
\maketitle
......@@ -36,13 +58,21 @@
\begin{document}
\maketitle
\noindent The authors thank the referee for his/her useful and constructive comments
that helped us to improve the paper. Below we have responded to all questions.
Corresponding corrections are made in blue in the new draft.
\noindent The authors thank the referee for useful and constructive comments that
helped us to improve the manuscript. We realized that our Methods section was not
completely comprehensive. It is partly due to the fact that this paper was intended to
cite another article describing, from another point of view, the first dataset used in
this study (without projection). However, we submitted this manuscript first and
therefore we need to detail and complete the Methods section of the present manuscript.
We have now corrected the manuscript by presenting our methods better, and the
corresponding section has been deeply reorganized and strengthened.
Below we have responded to all questions. Corresponding corrections are made in blue in
the new draft.
\subsection*{Major comments}
\begin{enumerate}
\itemit{The methods section is vague about the choice of vertical domain size and
......@@ -43,9 +73,9 @@
\subsection*{Major comments}
\begin{enumerate}
\itemit{The methods section is vague about the choice of vertical domain size and
vertical resolution. It should be stated clearly here how $L_z$ is varied with $N$ and
vertical resolution. It should be stated clearly here how $L_z$ is varied with $N$ and
why, and how $n_z$ is chosen.}
......@@ -50,4 +80,4 @@
why, and how $n_z$ is chosen.}
TODO: better describe in the method section.
We add the following explanations in the methods section:
......@@ -53,4 +83,16 @@
\addtoman{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 Brunt-V\"ais\"al\"a 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 [27]. In that way, we simulate few layers (of
height $L_b = U/N$) for all our simulations.}}
\itemit{The poloidal forcing is meant to excite only waves but you do not discuss its
impact on the potential vorticity (PV), which governs the vortical mode. In fact I was
......@@ -58,6 +100,6 @@
a concept it is in geophysical fluid mechanics.}
PV is known to be much less dynamically important in stratified flows than in
stratified and rotating flows. The Ertel PV $\bomega \cdot \bnabla (N^2 z + b) =
\omega_z (N^2 + \partial_z b) + \bomega_h \cdot \bnabla_h b$ is not quadratic and is
stratified and strongly rotating flows. The Ertel PV $\bOmega \cdot \bnabla (N^2 z + b)
= \Omega_z (N^2 + \partial_z b) + \bOmega_h \cdot \bnabla_h b$ is not quadratic and is
not equal to the Charney PV. There is no PV cascade like in quasi-geostrophic flows.
......@@ -63,2 +105,8 @@
not equal to the Charney PV. There is no PV cascade like in quasi-geostrophic flows.
%
The forcing in poloidal velocity produces and removes Ertel PV but we do not know what
can be deduced from that.
%
We add some facts concerning Potential Vorticity (PV) and Potential Enstrophy (PE) in
the method section:
......@@ -64,4 +112,12 @@
The forcing in poloidal velocity produces and removes PV but we do not know what can be
deduced from that.
\addtoman{\Add{Without dissipation and forcing, equations (7-9) 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 [69]. 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 (7-9) in absence of
dissipation and forcing. For a flow without vertical vorticity $V_2 = V_3 =0$.}}
......@@ -67,6 +123,21 @@
We also give the relation between vortical modes and vertical vorticity in the
following text,
\addtoman{\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.}}
We also refer to the study of \cite{waite_potential_2013} in the discussion section:
\addtoman{\Add{We observe that [74] 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 ~ \diff x \diff y \diff z$
increases with $\R$ in their simulations. It suggests that vortical modes energy
increases with $\R$ when $\R \lesssim 1$, as explained by [42]}}
\itemit{I felt overwhelmed by the great number of non-dimensional parameters introduced
here; even with all these definitions one could still invent more, ie parameters based
on the hyperviscosities. Basic physical insight is lost for me here, in particular as
I would like to see parameters based on controllable parameters such as the energy
......@@ -68,8 +139,8 @@
\itemit{I felt overwhelmed by the great number of non-dimensional parameters introduced
here; even with all these definitions one could still invent more, ie parameters based
on the hyperviscosities. Basic physical insight is lost for me here, in particular as
I would like to see parameters based on controllable parameters such as the energy
input. Its a personal choice/failing but I lost interest in the detailed numerical
input. It's a personal choice/failing but I lost interest in the detailed numerical
diagnostics once this parameter zoo unfolded.}
......@@ -74,4 +145,9 @@
diagnostics once this parameter zoo unfolded.}
- Improve eq (17)
As already said, we have completely reorganized and strengthened the section on our
numerical methods. In particular, we now explain better how hyper-viscosity is used and
which non-dimensional numbers are important. More generally, we have simplified the
equations by using simpler notations. We have also removed the definition of the
Reynolds number from equation (17). Regarding the introduction of the non-dimensional
numbers, we now write:
......@@ -77,3 +153,17 @@
- Move end of page 7 later...
\addtoman{\Add{We simulate forced-dissipated flows} with the pseudo-spectral solver
\texttt{ns3d.strat} from the FluidSim software [61] (an open-source Python package of
the FluidDyn project [62] using Fluidfft [63] to compute the Fast Fourier Transforms).
\Add{The forcing, which will be described in details at the end of this section and in
Appendix~A, 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 [31] 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} \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$.}}
......@@ -79,7 +169,20 @@
- No non-dimensional numbers based on hyper-viscosity ...
We hope that it is clearer that the simulations are characterized by two input
parameters ($N,\,\R_i$) and two output turbulent non-dimensional numbers ($F_h,\,\R$),
which are commonly used in other studies.
Only few of our simulations remain (weakly) affected by hyperviscosity. They correspond
to $0.45< \kmax \eta \lesssim 1$. We checked that these simulations do not change the
results presented in this study (see our answers to reviewer 1) so the relevant
dimensionless numbers are only the horizontal Froude and the buoyancy Reynolds numbers
defined in equation (17).
We introduce many physical quantities in equations (21-32). It constitutes a technical
part that is rather difficult to read. Yet, all the presented quantities are useful
(and used in the manuscript) to discuss the spectral energy budget. In our opinion,
removing some of this diagnostic would make the manuscript unclear and less precise.
\itemit{You talk of “removing vortical modes”. How is that done numerically? Is it a
similar process as in Holmes-Cerfon et al. in JFM 2013?}
......@@ -81,7 +184,10 @@
\itemit{You talk of “removing vortical modes”. How is that done numerically? Is it a
similar process as in Holmes-Cerfon et al. in JFM 2013?}
TODO: improve the method section.
The mentioned paper accounts for rotation (Coriolis parameter $f \neq 0$) and employ a
damping of geostrophic modes. Here, we project the nonlinear terms in the velocity
equation on the poloidal manifold, forbidding energy transfer to vortical modes. Shear
modes are removed in the same way. We modified the text as follows:
......@@ -87,3 +193,6 @@
\addtoman{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}.}
\itemit{In the discussion session you say that the energy conversion rate does not
......@@ -88,5 +197,5 @@
\itemit{In the discussion session you say that the energy conversion rate does not
fluctuate around zero. As only the kinetic energy is forced, shouldnt the KE->PE
fluctuate around zero. As only the kinetic energy is forced, shouldn't the KE->PE
conversion rate be nonzero a priori?}
......@@ -91,4 +200,9 @@
conversion rate be nonzero a priori?}
For Vincent...
The reviewer is right: the \ul{spatially integrated} KE->PE conversion rate is nonzero
because the energy is injected in the form of kinetic energy. Yet, we refer here to the
KE->PE conversion spectra, shown in Figure 10. If WWT apply, we expect a range of
$(k_h,k_z)$ for which the KE->PE conversion is zero in average, even if the spatially
integrated KE->PE conversion rate is not. We have modify this sentence in order to be
clarify this point:
......@@ -94,4 +208,8 @@
\addtoman{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.}
\end{enumerate}
......@@ -103,5 +221,16 @@
conditions is $k U_h/N << 1$, which is a standard criterion for horizontal phase
speeds, not scale separation as stated here.}
The buoyancy scale $L_{\rm b} = U_h/N$ and its inverse, the buoyancy wave vector
$k_{\rm b} = N/U_h$, are well established concepts in the study of stratified
turbulence (see e.g.
\cite{billant_self-similarity_2001,kimura_energy_2012,maffioli_vertical_2017,yokoyama_energy-based_2019}).
$L_{\rm b}$ corresponds physically to the typical vertical displacement of fluid
particles with respect to their floatability level, which is also the size of the
layers observed in stratified turbulent flows \cite{waite_stratified_2011}.
Consequently, the condition $k U_h/N = k / k_{\rm b}\ll 1$ can be seen as a
length-scale separation.
\itemit{(3) maybe it could be stated how these are derived from each other? Also, the
folklore in oceanography is that the internal wave energy flows downscale in wavenumber
......@@ -106,4 +235,11 @@
\itemit{(3) maybe it could be stated how these are derived from each other? Also, the
folklore in oceanography is that the internal wave energy flows downscale in wavenumber
but upscale in frequency. Do the quoted WWT theories agree with that?}
but upscale in frequency. Do the quoted WWT theories agree with that?}
We explain how the change of coordinates $(k_h, k_z) \rightarrow (\omega, k_z)$ is done
after equation (3) by adding:
\addtoman{\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}$.}}
......@@ -109,4 +245,12 @@
- oceans: forced waves (inertial waves, M2 and spontaneous generation from vortices)
$\omega/N$ small.
The question of energy transfers in anisotropic wave systems is a subtle issue. For
example, the direction of the energy transfer depends on the considered triad for
inertial wave turbulence \cite[]{david_locality_2023}. Generally speaking, the
transfers also depend on the exponents of the energy spectrum. In the case of
stratified flows, \cite{dematteis_origins_2022} argued that the global energy flux is
direct in both $k_z$ and $\omega$ for some spectra due to the dominance of Induced
Diffusion (ID) contribution. Yet, the Parametric Subharmonic Instability (PSI)
mechanism is responsible for upscale transfer in $\omega$ as explained in section III.D
(see Figure 15). To our opinion, a complete prediction for energy transfers (based on
WWT or a more general theory) remains to be found.
......@@ -112,3 +256,6 @@
- our results also transfers towards slow waves
Note also that a lot of forcing mechanisms known to be important (internal tide,
inertial waves, spontaneous generation from slow vortices) force rather slow waves. It
would be surprising if the $\omega^{-2}$ spectrum down to $\omega = N$ could be
explained only with an upscale-in-frequency energy cascade.
......@@ -114,5 +261,4 @@
- open question in ocean and in WWT theories
\itemit{typo p4 hyper viscosity}
......@@ -116,8 +262,19 @@
\itemit{typo p4 hyper viscosity}
\itemit{(20) is an interesting definition. But I don’t understand (20b)}
This typo is corrected.
\itemit{(20) is an interesting definition. But I don't understand (20b)}
(20a) is relevant because we remove one over two degree of freedom of the horizontal
velocity when we removing vortical modes. However, this remark make us to realize that
(20b) is wrong. Indeed, the dissipation still occurs in the three spatial directions if
we remove vortical modes, so definition (19) does not need to be adapted. We have
deleted (20b) and corresponding text, and corrected Figure 2. It changes $I_{\rm diss}$
by factor 4/3 in Figure 2~b, so the conclusions remain the same.
\itemit{Figure 4: I find it surprising that there is no “hump” in the spectrum at the
injection frequencies, as is typical for turbulent spectra. Why is that?}
......@@ -120,7 +277,13 @@
\itemit{Figure 4: I find it surprising that there is no “hump” in the spectrum at the
injection frequencies, as is typical for turbulent spectra. Why is that?}
The energy tends to be accumulated at small $k_h/k$ (see 2-dimensional spectra on
Figure 8, and Figure 14), corresponding to slow internal gravity waves and/or vortical
modes. It follows that small frequencies have more energy than forced frequencies such
that no ``hump'' is observed on the spectra shown in Figure 4 (now Figure 5).
\itemit{The forcing renewal time $T_c$ is chosen as a wave period; why is that? Why not
force with white noise in time?}
......@@ -124,5 +287,13 @@
\itemit{The forcing renewal time $T_c$ is chosen as a wave period; why is that? Why not
force with white noise in time?}
We chose $T_c$ to be equal to the wave period to excite frequencies of the same order
than the linear internal gravity $\ok = N k_h/k$. Indeed, a white noise in time forcing
could also be a good choice, provided that it is supported in a narrow sector in
wave-vector space. We expect that the results are independent of the particularities of
the forcing. Furthermore, dealing with stochastic forcing is slightly more delicate in
terms of numerical integration.
\end{enumerate}
......@@ -127,3 +298,5 @@
\end{enumerate}
\bibliography{../../input/main}
\end{document}
2022strat_polo_proj/review0/input/vt_filter.png

1.09 MiB

......@@ -8,6 +8,4 @@
import matplotlib.pyplot as plt
import matplotlib.cm
import numpy as np
from pathlib import Path
import glob
import h5py
......@@ -13,5 +11,2 @@
import h5py
import os
from matplotlib.collections import LineCollection
import re
......@@ -17,6 +12,5 @@
from fluiddyn.util import modification_date
from fluidsim.util import times_start_last_from_path, load_params_simul
from fluidsim import load
from util import (
......@@ -19,8 +13,7 @@
from fluidsim.util import times_start_last_from_path, load_params_simul
from fluidsim import load
from util import (
get_paths,
get_path_finer_resol,
save_fig,
pos_closest_value,
......@@ -135,7 +128,7 @@
proj = params.projection
if proj == "poloidal":
projtxt = "Projection"
elif proj == None:
elif proj is None:
projtxt = '"Standard"'
......@@ -139,7 +132,7 @@
projtxt = '"Standard"'
path_spec = sorted(path.glob(f"spatiotemporal/periodogram_[0-9]*.h5"))
path_spec = sorted(path.glob("spatiotemporal/periodogram_[0-9]*.h5"))
assert len(path_spec) == 1, f"Not only 1 periodogram in {path} \n"
......
......@@ -8,6 +8,5 @@
import matplotlib.pyplot as plt
import matplotlib.cm
import numpy as np
from pathlib import Path
import glob
import h5py
......@@ -13,5 +12,2 @@
import h5py
import os
from matplotlib.collections import LineCollection
import re
......@@ -17,6 +13,5 @@
from fluiddyn.util import modification_date
from fluidsim.util import times_start_last_from_path, load_params_simul
from fluidsim import load
from util import (
......@@ -19,8 +14,7 @@
from fluidsim.util import times_start_last_from_path, load_params_simul
from fluidsim import load
from util import (
get_paths,
get_path_finer_resol,
save_fig,
pos_closest_value,
......
import matplotlib.pyplot as plt
import numpy as np
from pathlib import Path
import glob
import h5py
......@@ -5,6 +4,3 @@
import h5py
import os
from matplotlib.collections import LineCollection
import re
from fluidsim.util import load_params_simul
......@@ -9,4 +5,3 @@
from fluidsim.util import load_params_simul
from fluidsim import load
......@@ -12,6 +7,6 @@
from util import get_paths, get_path_finer_resol
from util import get_path_finer_resol, save_fig
# (3, 900), (40,20), (80,10)
N = 40
Rb = 20
......@@ -14,6 +9,5 @@
# (3, 900), (40,20), (80,10)
N = 40
Rb = 20
nh = 1280
......@@ -19,6 +13,4 @@
path = get_paths(N, Rb, nh)
path = get_path_finer_resol(N, Rb)
print(path)
......@@ -26,7 +18,7 @@
nh = nx = params.oper.nx
projection = params.projection
path_spec = sorted(path.glob(f"spatiotemporal/periodogram_temporal_*urud.h5"))
path_spec = sorted(path.glob("spatiotemporal/periodogram_temporal_*urud.h5"))
assert len(path_spec) == 1, f"Not only 1 temporal periodogram in {path} \n"
......@@ -38,12 +30,6 @@
a_group_key = list(f.keys())[0]
omegas = f["omegas"][:]
ylabel = r"$E(\omega) \omega^{5/3}$"
fig, ax = plt.subplots()
ax.set_ylabel(ylabel)
ax.set_xscale("log")
ax.set_yscale("log")
omegas = omegas / N
# kinetic an potential energy
......@@ -55,5 +41,10 @@
EKp = f["spectrum_Khd"][:] + 0.5 * f["spectrum_vz"][:]
EKhr = f["spectrum_Khr"][:]
ax.plot(omegas, EA * omegas ** (5 / 3), linewidth=2, label="Potential")
ylabel = r"$E(\omega) \omega^{5/3}$"
fig, ax = plt.subplots()
ax.set_ylabel(ylabel)
ax.set_xscale("log")
ax.set_yscale("log")
......@@ -59,9 +50,11 @@
# if projection != "poloidal":
ax.plot(
omegas,
EKhr * omegas ** (5 / 3),
linewidth=1,
label="Toroidal",
)
ax.plot(omegas, EA * omegas ** (5 / 3), linewidth=2, label="Potential")
# if projection != "poloidal":
ax.plot(
omegas,
EKhr * omegas ** (5 / 3),
linewidth=1,
label="Toroidal",
)
......@@ -67,9 +60,9 @@
# if projection != "toroidal":
ax.plot(
omegas,
EKp * omegas ** (5 / 3),
linewidth=1,
label="Poloidal",
)
# if projection != "toroidal":
ax.plot(
omegas,
EKp * omegas ** (5 / 3),
linewidth=1,
label="Poloidal",
)
......@@ -75,6 +68,6 @@
# omega^-2 scaling
omegas_scaling = np.arange(0.4, 1 + 1e-15, 0.01)
scaling_y = EK_N * omegas_scaling ** (-2 + 5 / 3)
ax.plot(omegas_scaling, scaling_y, "k--", label=r"$\propto \omega^{-2}$")
# omega^-2 scaling
omegas_scaling = np.arange(0.4, 1 + 1e-15, 0.01)
scaling_y = EK_N * omegas_scaling ** (-2 + 5 / 3)
ax.plot(omegas_scaling, scaling_y, "k--", label=r"$\propto \omega^{-2}$")
......@@ -80,11 +73,6 @@
# omega^-3/2 scaling
omegas_scaling = np.arange(0.4, 1 + 1e-15, 0.01)
scaling_y = EK_N * omegas_scaling ** (-3 / 2 + 5 / 3)
ax.plot(omegas_scaling, scaling_y, "k:", label=r"$\propto \omega^{-3/2}$")
# eye guide at N
ax.axvline(1, linestyle="dotted")
# eye guide at omega_f (specific to some forcing types)
# omega^-3/2 scaling
omegas_scaling = np.arange(0.4, 1 + 1e-15, 0.01)
scaling_y = EK_N * omegas_scaling ** (-3 / 2 + 5 / 3)
ax.plot(omegas_scaling, scaling_y, "k:", label=r"$\propto \omega^{-3/2}$")
......@@ -90,7 +78,6 @@
ymin = 2e-5
ymax = 1e-2
factor = 2
angle = params.forcing.tcrandom_anisotropic.angle
delta_angle = params.forcing.tcrandom_anisotropic.delta_angle
# eye guide at N
ax.axvline(1, linestyle="dotted")
# eye guide at omega_f (specific to some forcing types)
......@@ -96,10 +83,16 @@
omega_fmin = N * np.sin(angle - 0.5 * delta_angle)
omega_fmax = N * np.sin(angle + 0.5 * delta_angle)
omegas_f = N * np.logspace(-3, 3, 1000)
where = (omegas_f > omega_fmin) & (omegas_f < omega_fmax)
ax.fill_between(
omegas_f / N, ymin, ymax, where=where, alpha=0.5, color="gray"
)
omega_tmp = 0.5 * (omega_fmin + omega_fmax) / N
ymin = 2e-5
ymax = 1e-2
factor = 2
angle = params.forcing.tcrandom_anisotropic.angle
delta_angle = params.forcing.tcrandom_anisotropic.delta_angle
omega_fmin = N * np.sin(angle - 0.5 * delta_angle)
omega_fmax = N * np.sin(angle + 0.5 * delta_angle)
omegas_f = N * np.logspace(-3, 3, 1000)
where = (omegas_f > omega_fmin) & (omegas_f < omega_fmax)
ax.fill_between(
omegas_f / N, ymin, ymax, where=where, alpha=0.5, color="gray"
)
omega_tmp = 0.5 * (omega_fmin + omega_fmax) / N
......@@ -105,10 +98,10 @@
ax.text(
omega_tmp,
factor * ymin,
r"$\omega_{f}/N$",
ha="center",
va="center",
size=10,
)
ax.text(
omega_tmp,
factor * ymin,
r"$\omega_{f}/N$",
ha="center",
va="center",
size=10,
)
......@@ -114,5 +107,5 @@
ax.set_ylim(bottom=ymin, top=ymax)
ax.set_xlabel(r"$\omega/N$")
ax.legend(loc="lower right")
ax.set_ylim(bottom=ymin, top=ymax)
ax.set_xlabel(r"$\omega/N$")
ax.legend(loc="lower right")
......@@ -118,9 +111,10 @@
fig.tight_layout()
fig.savefig(
f"../tmp/fig_spectra_temporal_proj{projection}_N{N}_Rb{Rb}_nh{nh}.png",
dpi=100,
)
fig.tight_layout()
save_fig(
fig,
f"fig_spectra_temporal_proj{projection}_N{N}_Rb{Rb}_nh{nh}.png",
dpi=100,
)
if __name__ == "__main__":
plt.show()
......@@ -112,6 +112,6 @@
plt.show = lambda: None
def save_fig(fig, name):
def save_fig(fig, name, dpi=300, **kwargs):
if has_to_save:
print(f"save {name}")
......@@ -116,6 +116,6 @@
if has_to_save:
print(f"save {name}")
fig.savefig(tmp_dir / name, dpi=300)
fig.savefig(tmp_dir / name, dpi=dpi, **kwargs)
def customize(result, sim):
......