Skip to content

Commit 0a34d19

Browse files
committed
sync model
2 parents 812b8f7 + af14207 commit 0a34d19

File tree

139 files changed

+9570
-2565
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

139 files changed

+9570
-2565
lines changed

.github/workflows/intel.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ concurrency:
1313

1414
# Set I_MPI_CC/F90 so Intel MPI wrapper uses icc/ifort instead of gcc/gfortran
1515
env:
16-
cache_key: intel12
16+
cache_key: intel10-3
1717
CC: icc
1818
FC: ifort
1919
CXX: icpc

.github/workflows/io_gnu_yml.old

Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
1+
name: io_gnu
2+
on: [push, pull_request, workflow_dispatch]
3+
4+
# Cancel in-progress workflows when pushing to a branch
5+
concurrency:
6+
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
7+
cancel-in-progress: true
8+
9+
env:
10+
cache_key: gnu11-1
11+
CC: gcc-10
12+
FC: gfortran-10
13+
CXX: g++-10
14+
15+
16+
# Split into a steup step, and a WW3 build step which
17+
# builds multiple switches in a matrix. The setup is run once and
18+
# the environment is cached so each build of WW3 can share the dependencies.
19+
20+
jobs:
21+
setup:
22+
runs-on: ubuntu-latest
23+
24+
steps:
25+
- name: checkout-ww3
26+
if: steps.cache-env.outputs.cache-hit != 'true'
27+
uses: actions/checkout@v3
28+
with:
29+
path: ww3
30+
# Cache spack, OASIS, and compiler
31+
# No way to flush Action cache, so key may have # appended
32+
- name: cache-env
33+
id: cache-env
34+
uses: actions/cache@v3
35+
with:
36+
path: |
37+
spack
38+
~/.spack
39+
work_oasis3-mct
40+
key: spack-${{ runner.os }}-${{ env.cache_key }}-${{ hashFiles('ww3/model/ci/spack_gnu.yaml') }}
41+
42+
# Build WW3 spack environment
43+
- name: install-dependencies-with-spack
44+
if: steps.cache-env.outputs.cache-hit != 'true'
45+
run: |
46+
# Install NetCDF, ESMF, g2, etc using Spack
47+
sudo apt install cmake
48+
git clone -c feature.manyFiles=true https://github.com/JCSDA/spack.git
49+
source spack/share/spack/setup-env.sh
50+
spack env create ww3-gnu ww3/model/ci/spack_gnu.yaml
51+
spack env activate ww3-gnu
52+
spack compiler find
53+
spack external find cmake
54+
55+
spack concretize
56+
spack install --dirty -v
57+
58+
- name: build-oasis
59+
if: steps.cache-env.outputs.cache-hit != 'true'
60+
run: |
61+
source spack/share/spack/setup-env.sh
62+
spack env activate ww3-gnu
63+
export WWATCH3_DIR=${GITHUB_WORKSPACE}/ww3/model
64+
export OASIS_INPUT_PATH=${GITHUB_WORKSPACE}/ww3/regtests/ww3_tp2.14/input/oasis3-mct
65+
export OASIS_WORK_PATH=${GITHUB_WORKSPACE}/ww3/regtests/ww3_tp2.14/input/work_oasis3-mct
66+
cd ww3/regtests/ww3_tp2.14/input/oasis3-mct/util/make_dir
67+
cmake .
68+
make VERBOSE=1
69+
cp -r ${GITHUB_WORKSPACE}/ww3/regtests/ww3_tp2.14/input/work_oasis3-mct ${GITHUB_WORKSPACE}
70+
71+
io_gnu:
72+
needs: setup
73+
runs-on: ubuntu-latest
74+
75+
steps:
76+
- name: install-dependencies
77+
run: |
78+
sudo apt-get update
79+
sudo apt-get install doxygen gcovr valgrind
80+
81+
- name: checkout-ww3
82+
uses: actions/checkout@v3
83+
with:
84+
path: ww3
85+
86+
- name: cache-env
87+
id: cache-env
88+
uses: actions/cache@v3
89+
with:
90+
path: |
91+
spack
92+
~/.spack
93+
work_oasis3-mct
94+
key: spack-${{ runner.os }}-${{ env.cache_key }}-${{ hashFiles('ww3/model/ci/spack_gnu.yaml') }}
95+
96+
- name: build-ww3
97+
run: |
98+
source spack/share/spack/setup-env.sh
99+
spack env activate ww3-gnu
100+
set -x
101+
cd ww3
102+
export CC=mpicc
103+
export FC=mpif90
104+
export OASISDIR=${GITHUB_WORKSPACE}/work_oasis3-mct
105+
mkdir build && cd build
106+
export LD_LIBRARY_PATH="/home/runner/work/WW3/WW3/spack/var/spack/environments/ww3-gnu/.spack-env/view/:$LD_LIBRARY_PATH"
107+
cmake -DSWITCH=${GITHUB_WORKSPACE}/ww3/regtests/unittests/data/switch.io -DCMAKE_BUILD_TYPE=Debug -DCMAKE_Fortran_FLAGS="-g -fprofile-abs-path -fprofile-arcs -ftest-coverage -O0 -Wall -fno-omit-frame-pointer -fsanitize=address" -DCMAKE_C_FLAGS="-g -fprofile-abs-path -fprofile-arcs -ftest-coverage -O0 -Wall -fno-omit-frame-pointer -fsanitize=address" ..
108+
make -j2 VERBOSE=1
109+
./bin/ww3_grid
110+
mv mod_def.ww3 regtests/unittests
111+
ctest --verbose --output-on-failure --rerun-failed
112+
gcovr --root .. -v --html-details --exclude ../regtests/unittests --exclude CMakeFiles --print-summary -o test-coverage.html &> /dev/null
113+
114+
- name: upload-test-coverage
115+
uses: actions/upload-artifact@v3
116+
with:
117+
name: ww3-test-coverage
118+
path: |
119+
ww3/build/*.html
120+
ww3/build/*.css
121+
122+

CMakeLists.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,3 +67,9 @@ if(NOT CMAKE_BUILD_TYPE MATCHES "^(Debug|Release|RelWithDebInfo|MinSizeRel)$")
6767
endif()
6868

6969
add_subdirectory(model)
70+
71+
# Turn on unit testing.
72+
include(CTest)
73+
if(BUILD_TESTING)
74+
add_subdirectory(regtests/unittests)
75+
endif()

manual/defs.tex

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,9 @@
9494
\newcommand{\cR}{{\cal R}}
9595
\newcommand{\cS}{{\cal S}}
9696

97+
\newcommand{\rd}{{\mathrm d}}
98+
99+
97100
\newcommand{\marbox}[1]{\marginpar{\fbox{{\small #1}}}}
98101

99102
\newcommand{\proddefH}[3]{

manual/eqs/NL1.tex

Lines changed: 102 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,65 +1,92 @@
1-
\vsssub
2-
\subsubsection{~$S_{nl}$: Discrete Interaction Approximation (\dia)} \label{sec:NL1}
3-
\vsssub
4-
5-
\opthead{NL1}{\wam\ model}{H. L. Tolman}
61

72
\noindent
8-
Nonlinear wave-wave interactions can be modeled using the discrete interaction
9-
approximation \citep[\dia,][]{art:Hea85b}. This parameterization was
3+
4+
5+
Resonant nonlinear interactions occur between four wave components
6+
(quadruplets) with wavenumber vector $\bk$, $\bk_1$, $\bk_2$ and $\bk_3$ are such that
7+
% eq:resonance
8+
\begin{equation} \left .
9+
\begin{array}{ccc}
10+
\bk + \bk_1 & = & \bk_2 + \bk_3 \\
11+
f_r + f_{r,1}& =& f_{r,2} + f_{r,3}
12+
\end{array} \:\:\: \right \rbrace \:\:\: , \label{eq:resonance}
13+
\end{equation}
14+
15+
Nonlinear 4-wave interaction theories were
1016
originally developed for the spectrum $F(f_r ,\theta)$. To assure the
1117
conservative nature of $S_{nl}$ for this spectrum (which can be considered as
1218
the "final product" of the model), this source term is calculated for
1319
$F(f_r,\theta)$ instead of $N(k,\theta)$, using the conversion
1420
(\ref{eq:jac_fr}).
1521

16-
Resonant nonlinear interactions occur between four wave components
17-
(quadruplets) with wavenumber vector $\bk_1$ through $\bk_4$. In the \dia, it
18-
is assumed that $\bk_1 = \bk_2$. Resonance conditions then require that
19-
%--------------------------%
20-
% Resonance conditions DIA %
21-
%--------------------------%
22+
\vsssub
23+
\subsubsection{~$S_{nl}$: Discrete Interaction Approximation (\dia)} \label{sec:NL1}
24+
\vsssub
25+
26+
\opthead{NL1}{\wam\ model}{H. L. Tolman}
27+
28+
29+
30+
In the \dia, for each component $\bk$, only 2 quadruplets configuration are
31+
used, while there should be thousands for the full integral, and the interaction caused by these 2 quadruplets
32+
is scaled so that it gives the right order of magnitude for the flux of energy towards low frequencies.
33+
34+
Both quadruplets used the DIA use
2235
% eq:resonance
2336
\begin{equation} \left .
2437
\begin{array}{ccc}
25-
\bk_1 + \bk_2 & = & \bk_3 + \bk_4 \\
26-
\sigma_2 & = & \sigma_1 \\
27-
\sigma_3 & = & (1+\lambda_{nl})\sigma_1 \\
28-
\sigma_4 & = & (1-\lambda_{nl})\sigma_1
29-
\end{array} \:\:\: \right \rbrace \:\:\: , \label{eq:resonance}
38+
\bk_1 & = & \bk\\
39+
f_{r,2} & = & (1+\lambda)f_{r} \\
40+
f_{r,3} & = & (1-\lambda)f_{r}
41+
\end{array} \:\:\: \right \rbrace \:\:\: , \label{eq:DIAchoice}
42+
\end{equation}
43+
where $\lambda$ is a constant, usually 0.25, and they only differ by the choice of the interacting angles
44+
taking either a plus sign or a minus sign in the following
45+
\begin{equation} \left .
46+
\begin{array}{ccc}
47+
\theta_{2,\pm} & = & \theta \pm \delta_{\theta,2} \\
48+
\theta_{3,\pm} & = & \theta \mp \delta_{\theta,3} \\
49+
\end{array} \:\:\: \right \rbrace \:\:\: , \label{eq:DIAangles}
3050
\end{equation}
31-
where $\lambda_{nl}$ is a constant. For these quadruplets, the contribution
32-
$\delta S_{nl}$ to the interaction for each discrete $(f_r,\theta)$
33-
combination of the spectrum corresponding to $\bk_1$ is calculated as
51+
where $\delta_{\theta,2}$ and $\delta_{\theta,3}$ are only a function of $\lambda$ given by the geometry of
52+
the interacting wavenumbers along the "figure of 8", namely
53+
\begin{eqnarray}
54+
\cos(\delta_{\theta,2})&=&(1-\lambda)^4+4-(1+\lambda)^4)/[4(1-\lambda)^2], \\
55+
\sin(\delta_{\theta,3})&=&\sin(\delta_{\theta,2}) (1-\lambda)^2/(1+\lambda)^2.
56+
\end{eqnarray}
57+
58+
Hence for any $\bk$ one quadruplet selects $\bk_{2,+}$ and $\bk_{3,+}$, and the other quadruplet selects its mirror image
59+
$\bk_{2,-}$, $\bk_{2,-}$. Because there are 3 different components interacting in the two DIA-selected quadruplets, any discrete spectral component $(f_r,\theta)$ is actually involved in 6 quadruplets and directly exchanges energy with 12 other components $(f_r',\theta')$. Because the values of $f'_r$ and $\theta'$ do not fall exacly on other discrete components, the spectral density is interpolated using a bilinear interpolation, so that each source term value
60+
$S_{nl}(\bk)$ contains the direct exchange of energy with 48 other discrete components.
61+
we compute the three contributions that correspond to the situation in which $\bk$ takes the role of $\bk$,$\bk_{2,+}$, $\bk_{2,-}$, $\bk_{3,+}$ and $\bk_{3,-}$ in the quadruplet, namely the full source term is, without making explicit that bilinear interpolation,
62+
\begin{eqnarray}
63+
S_{\mathrm{nl}}(\bk) &=& -2 \left[\delta S_{\mathrm{nl}}(\bk,\bk_{2,+},\bk_{3,+})+\delta S_{\mathrm{nl}}(\bk,\bk_{2,-},\bk_{3,-})\right] \nonumber \\
64+
& & + \delta S_{\mathrm{nl}}(\bk_4,\bk,\bk_5) + \delta S_{\mathrm{nl}}(\bk_6,\bk,\bk_7) \\
65+
& & + \delta S_{\mathrm{nl}}(\bk_8,\bk_9,\bk) + \delta S_{\mathrm{nl}}(\bk_{10},\bk_{11},\bk) . \label{eq:diasum}
66+
\end{eqnarray}
67+
where the geometry of the quadruplet $(\bk_4,\bk_4,\bk,\bk_5)$ is obtained from that of $(\bk,\bk,\bk_{2,+},\bk_{3,+})$ by a dilation by a factor $(1+\lambda)^2$ and rotation by the angle $\delta_{\theta,2}$; $(\bk_6,\bk_6,\bk,\bk_7)$ has the same dilation but the opposite rotation; $(\bk_8,\bk_8,\bk_9,\bk)$ is dilated by a factor $(1-\lambda)^2$ and rotated by the angle $-\delta_{\theta,3}$: and $(\bk_{10},\bk_{10},\bk_{11},\bk)$ is dilated by the same factor and rotated by the opposite angle.
68+
69+
70+
The elementary contributions $\delta S_{\mathrm{nl}}(\bk_l,\bk_m,\bk_n)$ are given by
3471
%----------------------------%
3572
% Nonlinear interactions DIA %
3673
%----------------------------%
3774
% eq:snl_dia
38-
\begin{eqnarray}
39-
\left ( \begin{array}{c}
40-
\delta S_{nl,1} \\ \delta S_{nl,3} \\ \delta S_{nl,4}
41-
\end{array} \right ) & = & D
42-
\left ( \begin{array}{r} -2 \\ 1 \\ 1 \end{array} \right )
43-
C g^{-4} f_{r,1}^{11} \times \nonumber \\
44-
& & \left [ F_1^2
45-
\left ( \frac{F_3}{(1+\lambda_{nl})^4} +
46-
\frac{F_4}{(1-\lambda_{nl})^4} \right ) -
47-
\frac{2 F_1 F_3 F_4}{(1-\lambda_{nl}^2)^4}
48-
\right ] \: , \label{eq:snl_dia}
49-
\end{eqnarray}
50-
where $F_1 = F(f_{r,1} ,\theta_1 )$ etc. and $\delta S_{nl,1} = \delta
51-
S_{nl}(f_{r,1} ,\theta_1 )$ etc., $C$ is a proportionality constant. The
52-
nonlinear interactions are calculated by considering a limited number of
53-
combinations $(\lambda_{nl},C)$. In practice, only one combination is
54-
used. Default values for different source term packages are presented in
55-
Table~\ref{tab:snl_par}.
75+
76+
\begin{equation}
77+
\delta S_{\mathrm{nl}}(\bk_l,\bk_m,\bk_n) = \frac{C}{g^4} f_{r,l}^{11} \left [ F_l^2 \left ( \frac{F_m}{(1+\lambda)^4} +
78+
\frac{F_n}{(1-\lambda)^4} \right ) - \frac{2 F_l F_m F_n}{(1-\lambda^2)^4} \right] ,
79+
\label{eq:snl_dia}
80+
\end{equation}
81+
where the spectral densities are $F_l = F(f_{r,l} ,\theta_l)$, etc.
82+
$C$ is a proportionality constant that was tuned to reproduce the inverse energy cascade. Default values for different source term packages are presented in Table~\ref{tab:snl_par}.
5683

5784

5885
% tab:snl_par
5986

6087
\begin{table} \begin{center}
6188
\begin{tabular}{|l|c|c|} \hline
62-
& $\lambda_{nl}$ & $C$ \\ \hline
89+
& $\lambda$ & $C$ \\ \hline
6390
ST6 & 0.25 & $3.00 \; 10^7$ \\ \hline
6491
\wam-3 & 0.25 & $2.78 \; 10^7$ \\ \hline
6592
ST4 (Ardhuin et al.)& 0.25 & $2.50 \; 10^7$ \\ \hline
@@ -68,7 +95,7 @@ \subsubsection{~$S_{nl}$: Discrete Interaction Approximation (\dia)} \label{sec:
6895
\caption{Default constants in \dia\ for input-dissipation packages.}
6996
\label{tab:snl_par} \botline \end{table}
7097

71-
This source term is developed for deep water, using the appropriate dispersion
98+
This parameterization was developed for deep water, using the appropriate dispersion
7299
relation in the resonance conditions. For shallow water the expression is
73100
scaled by the factor $D$ (still using the deep-water dispersion relation,
74101
however)
@@ -132,3 +159,37 @@ \subsubsection{~$S_{nl}$: Discrete Interaction Approximation (\dia)} \label{sec:
132159
above constants can be reset by the user in the input files of the
133160
model (see \para\ref{sub:ww3grid}).
134161

162+
\vsssub
163+
\subsubsection{~$S_{nl}$: Gaussian Quadrature Method (\dia)} \label{sec:GQM}
164+
\vsssub
165+
166+
\opthead{NL1 , but with a negative IQTYPE}{TOMAWAC model, M. Benoit}{adaptation to WW3 by S. Siadatmousavi \& F. Ardhuin}
167+
168+
\noindent
169+
Changing the namelist parameter IQTYPE to a negative value replaces the
170+
DIA parameterization with the possibility to perform an exact but fast cal-
171+
culation of $S_{\mathrm{nl}}$ using the Gaussian Quadrature Method of \cite{Lavrenov2001}.
172+
More details can be found in \cite{Gagnaire-Renou2009}.
173+
174+
175+
The quadruplet configurations that are used correspond to the three integrals over $f_1$, $f_2$ and $\theta_1$, with all other frequencies and directions given by the resonance conditions (\ref{eq:resonance}) with only one ambiguity on the angle $\theta_2$ which can be defined by a sign index $s$, as in the DIA. Starting from eq. (A4) in \cite{Lavrenov2001} as writen in (2.25) of \cite{Gagnaire-Renou2009}, the source term is
176+
\begin{equation}
177+
S_{\mathrm{nl}}(\sigma,\theta) = 8 \sum_s \int_{\sigma_1=0}^\infty \int_{\theta_1=0}^{2 \pi} \int_{\sigma_2=0}^{(\sigma+\sigma_1)/2} T \frac{F_2 F_3 (F \sigma_1^4 + F_1 \sigma^4) - F F_1 (F_2 \sigma_3^4 + F_3 \sigma_2^4)}{\sqrt{B}\sqrt{((\left| \bk+\bk_1 \right|/g- \sigma_3^2)^2-\sigma_2^4} } {\mathrm d}\sigma_1 {\mathrm d}\theta_1 {\mathrm d}\sigma_2 ,
178+
\label{eq:snl_gqm}
179+
\end{equation}
180+
where $B$ is given by eq. (A5) of Lavrenov (2001) and
181+
\begin{equation}
182+
T(\bk,\bk_1,\bk_2,\bk_3) = \frac{\pi g^2 D^2(\bk,\bk_1,\bk_2,\bk_3) }{4 \sigma \sigma_1 \sigma_2 \sigma_3}
183+
\end{equation}
184+
where $ D(\bk,\bk_1,\bk_2,\bk_3)$ is given by \cite{Webb1978} in his eq. (A1).
185+
186+
This triple integral is performed using quadrature functions to best resolve the effect of the singularities in the denominator. It is thus replaced with weighted sums over the 3 dimensions.
187+
188+
Compared to the DIA, there is no bilinear interpolation and the nearest neighbor is used in frequency and direction. Also,
189+
the source term is computed by a loop over the quadruplet configuration, which allows for filtering based on
190+
both the value of the coupling coefficient and the energy level at the frequency corresponding to $\bk$. Within
191+
that loop, the source term contribution is computed for all 4 interacting components, so that any filtering still
192+
conserves energy, action, momentum ... (One may argue that this multiplies by 4 the number of calculations, but it may have the benefit of properly dealing with the high frequency boundary... this is to be verified. The same question arises for the DIA: why have the wavenumber $\bk$ play the role of the other members of the quadruplets when this will also be computed as we loop on the spectral components?).
193+
194+
If a very aggressive filtering is performed, the source may need to be rescaled.
195+

manual/eqs/output.tex

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@ \subsection{~Output parameters} \label{sub:outpars}
1212
in \para\ref{sec:ww3shel}. That input file also provides a list of flags
1313
indicating if output parameters are available in different field
1414
output file types (ASCII, grib, igrads, NetCDF).
15-
For any details on how these parameters are computed, the user may read the code of the {\code w3iogo} routine, in the {\code w3iogomd.ftn} module.
15+
For any details on how these parameters are computed, the user may read the code of the {\code w3iogo} routine, in the {\code w3iogomd.F90} module.
1616

17-
Selection of field outputs in {\code ww3\_shel.inp} is most easily performed by providing a list of the
17+
Selection of field outputs in {\code ww3\_shel.nml} or {\code ww3\_shel.inp} is most easily performed by providing a list of the
1818
requested parameters, for example, {\textbf HS DIR SPR} will request the calculation of significant wave height, mean direction and directional spread. These will thus be stored in the {\code out\_grd.XX} file and can be post-processed, for example in NetCDF using {\code ww3\_ouf}. Examples are given in \para\ref{sec:ww3multi} and
1919
\para\ref{sec:ww3ounf}. The names for these namelists are the bold names below, for
2020
example \textbf{HS}.
@@ -26,6 +26,9 @@ \subsection{~Output parameters} \label{sub:outpars}
2626
file extensions, NetCDF variable names and namelist-based selection (see
2727
also \para\ref{sec:ww3ounf}), and the long parameter name/definition.
2828

29+
When the result is not overly sensitive to the contribution of the unresolved part of the spectrum (for $f<f_{NK}$), the contribution of the tail is parameterized assuming a power law decay of the spectrum, by default $E(f,\theta) = E(f_{NK},\theta) (f_{NK}/f)^{-5}$, for some parameters this is either unnecessary or misleading, and the integrals are computed only up to $f_{NK}$.
30+
31+
2932
Finally we note that in all definitions the frequency is the \emph{relative} frequency. Thus, in the presence of currents, these can only be compared to drifting measurement data or data obtained in wavenumber and converted to frequency. Comparison to fixed instrument data requires the use of the full spectrum and proper conversion to the fixed reference frame.
3033

3134
\begin{list}{\Roman{outgrps})\hfill}
@@ -300,8 +303,12 @@ \subsection{~Output parameters} \label{sub:outpars}
300303
\item \textbf{MSD} Direction of the maximum slope variance mss$_u$
301304
\item \textbf{MCD} Spectral tail direction
302305
\item \textbf{QP} Peakedness parameter \citep{art:G70}
303-
\begin{equation} Q_p = \frac{2}{E^2} \int_0^{2\pi} \int_0^\infty
304-
\sigma\:F(\sigma,\theta)^2\:d\sigma\:d\theta \: \label{eq:qp}
306+
\begin{equation} Q_p = \frac{2}{E^2} \int_0^{f_{NK}} f \left( \int_0^{2\pi}
307+
F(f,\theta) \:\rd \theta \right)^2 \: \rd f \: \label{eq:qp}
308+
\end{equation}
309+
\item \textbf{QKK} wavenumber peakedness \citep{art:DC23}
310+
\begin{equation} Q_{kk} = \frac{1}{E^2} \int_0^{f_{NK}} \int_0^{2\pi}
311+
0.5 \left[ A(k,\theta)+ A(k,\theta+\pi)\right]^2 \frac{\sigma^2}{k C_g} \:\rd \theta \: \rd \sigma \: \label{eq:qkk}
305312
\end{equation}
306313
\end{list}
307314

manual/impl/switch.tex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ \subsubsection{~Mandatory switches} \label{sub:man_switch}
9494
Selection of nonlinear interactions:
9595
\begin{slist}
9696
\sit{nl0} {No nonlinear interactions used.}
97-
\sit{nl1} {Discrete interaction approximation (\dia).}
97+
\sit{nl1} {Discrete interaction approximation (\dia) or Gaussian Quadrature Method (GQM).}
9898
\sit{nl2} {Exact interaction approximation (\xnl).}
9999
\sit{nl3} {Generalized Multiple \dia\ (\gmd).}
100100
\sit{nl4} {Two-scale approximation (TSA).}

0 commit comments

Comments
 (0)