Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
Reference manuals
Manage
Activity
Members
Labels
Plan
Issues
4
Issue boards
Milestones
Iterations
Requirements
External wiki
Code
Merge requests
0
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Test cases
Artifacts
Deploy
Releases
Model registry
Analyze
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
NEMO Workspace
Documentation
Reference manuals
Commits
d565fa8b
Commit
d565fa8b
authored
4 months ago
by
Sibylle Techene
Browse files
Options
Downloads
Patches
Plain Diff
Update section 3 of chap_DYN.tex it concerns up3 mostly
parent
34e952dc
No related branches found
Branches containing commit
No related tags found
1 merge request
!31
Resolve "Review/update DYN chapter"
Pipeline
#3301
passed with stage
Stage:
in 5 minutes and 40 seconds
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
latex/NEMO/subfiles/chap_DYN.tex
+43
-53
43 additions, 53 deletions
latex/NEMO/subfiles/chap_DYN.tex
with
43 additions
and
53 deletions
latex/NEMO/subfiles/chap_DYN.tex
+
43
−
53
View file @
d565fa8b
...
@@ -165,6 +165,10 @@ Note also that the $k$-axis is re-orientated downwards in the \fortran\ code com
...
@@ -165,6 +165,10 @@ Note also that the $k$-axis is re-orientated downwards in the \fortran\ code com
the indexing used in the semi-discrete equations such as
\autoref
{
eq:DYN
_
wzv
}
the indexing used in the semi-discrete equations such as
\autoref
{
eq:DYN
_
wzv
}
(see
\autoref
{
subsec:DOM
_
Num
_
Index
_
vertical
}
).
(see
\autoref
{
subsec:DOM
_
Num
_
Index
_
vertical
}
).
When
\np
[=.true.]
{
ln
_
zad
_
Aimp
}{
ln
\_
zad
\_
Aimp
}
,
a proportion of the vertical advection can be treated implicitly depending on the Courant number.
This option can be useful when the value of the timestep is limited by vertical advection
\citep
{
lemarie.debreu.ea
_
OM15
}
.
%% =================================================================================================
%% =================================================================================================
\section
{
Coriolis and advection: vector invariant form
}
\section
{
Coriolis and advection: vector invariant form
}
\label
{
sec:DYN
_
adv
_
cor
_
vect
}
\label
{
sec:DYN
_
adv
_
cor
_
vect
}
...
@@ -208,29 +212,6 @@ In the case of ENS, ENE or MIX schemes the land sea mask may be slightly modifie
...
@@ -208,29 +212,6 @@ In the case of ENS, ENE or MIX schemes the land sea mask may be slightly modifie
vorticity term with analytical equations (
\np
[=.true.]
{
ln
_
dynvor
_
con
}{
ln
\_
dynvor
\_
con
}
).
vorticity term with analytical equations (
\np
[=.true.]
{
ln
_
dynvor
_
con
}{
ln
\_
dynvor
\_
con
}
).
The vorticity terms are all computed in dedicated routines that can be found in the
\mdl
{
dynvor
}
module.
The vorticity terms are all computed in dedicated routines that can be found in the
\mdl
{
dynvor
}
module.
% energy conserving scheme at T-point
%% =================================================================================================
\subsubsection
[Energy conserving scheme (\forcode{ln_dynvor_enT})]
{
Energy conserving scheme (
\protect\np
{
ln
_
dynvor
_
enT
}{
ln
\_
dynvor
\_
enT
}
)
}
\label
{
subsec:DYN
_
vor
_
enT
}
The kinetic energy conserving scheme (ENT scheme) conserves the global kinetic energy but not the global enstrophy.
It is given by:
\begin{equation}
\label
{
eq:DYN
_
vor
_
enT
}
\left\{
\begin{aligned}
&
+
\frac
{
1
}{
e
_{
1u
}
\,
e
_{
2u
}
\,
e
_{
3u
}}
\,
\overline
{
\left
( f
^
T +
\overline
{
\overline
{
\zeta
}}^{
\,
i,j
}
\right
)
e
_{
1t
}
\,
e
_{
2t
}
\,
e
_{
3t
}
\,
\overline
{
v
}^{
\,
j
}}^{
\,
i+1/2
}
\\
&
-
\frac
{
1
}{
e
_{
1v
}
\,
e
_{
2v
}
\,
e
_{
3v
}}
\,
\overline
{
\left
( f
^
T +
\overline
{
\overline
{
\zeta
}}^{
\,
i,j
}
\right
)
e
_{
1t
}
\,
e
_{
2t
}
\,
e
_{
3t
}
\,
\overline
{
u
}^{
\,
i
}}^{
\,
j+1/2
}
\end{aligned}
\right
.
\end{equation}
% enstrophy conserving scheme
% enstrophy conserving scheme
%% =================================================================================================
%% =================================================================================================
\subsubsection
[Enstrophy conserving scheme (\forcode{ln_dynvor_ens})]
{
Enstrophy conserving scheme (
\protect\np
{
ln
_
dynvor
_
ens
}{
ln
\_
dynvor
\_
ens
}
)
}
\subsubsection
[Enstrophy conserving scheme (\forcode{ln_dynvor_ens})]
{
Enstrophy conserving scheme (
\protect\np
{
ln
_
dynvor
_
ens
}{
ln
\_
dynvor
\_
ens
}
)
}
...
@@ -420,12 +401,6 @@ the change of KE due to the gradient of KE (see \autoref{apdx:INVARIANTS}).
...
@@ -420,12 +401,6 @@ the change of KE due to the gradient of KE (see \autoref{apdx:INVARIANTS}).
\end
{
aligned
}
\end
{
aligned
}
\right
.
\right
.
\]
\]
When
\np
[=.true.]
{
ln
_
dynzad
_
zts
}{
ln
\_
dynzad
\_
zts
}
,
a split-explicit time stepping with 5 sub-timesteps is used on the vertical advection term.
This option can be useful when the value of the timestep is limited by vertical advection
\citep
{
lemarie.debreu.ea
_
OM15
}
.
Note that in this case,
a similar split-explicit time stepping should be used on vertical advection of tracer to ensure a better stability,
an option which is only available with a TVD scheme (see
\np
{
ln
_
traadv
_
tvd
_
zts
}{
ln
\_
traadv
\_
tvd
\_
zts
}
in
\autoref
{
subsec:TRA
_
adv
_
tvd
}
).
%% =================================================================================================
%% =================================================================================================
\section
{
Coriolis and advection: flux form
}
\section
{
Coriolis and advection: flux form
}
...
@@ -454,9 +429,31 @@ It is given by:
...
@@ -454,9 +429,31 @@ It is given by:
-
\overline
u
^{
j+1/2
}
\delta
_{
j+1/2
}
\left
[ {e_{1u} } \right]
}
\ \right
)
-
\overline
u
^{
j+1/2
}
\delta
_{
j+1/2
}
\left
[ {e_{1u} } \right]
}
\ \right
)
\end{multline*}
\end{multline*}
Any of the (
\autoref
{
eq:DYN
_
vor
_
ens
}
), (
\autoref
{
eq:DYN
_
vor
_
ene
}
) and (
\autoref
{
eq:DYN
_
vor
_
een
}
) schemes can be used to
% energy conserving scheme at T-point
%% =================================================================================================
\subsubsection
[Energy conserving scheme (\forcode{ln_dynvor_enT})]
{
Energy conserving scheme (
\protect\np
{
ln
_
dynvor
_
enT
}{
ln
\_
dynvor
\_
enT
}
)
}
\label
{
subsec:DYN
_
vor
_
enT
}
The kinetic energy conserving scheme at T-point (ENT scheme) conserves the global kinetic energy but not the global enstrophy.
It is given by:
\begin{equation}
\label
{
eq:DYN
_
vor
_
enT
}
\left\{
\begin{aligned}
&
+
\frac
{
1
}{
e
_{
1u
}
\,
e
_{
2u
}
\,
e
_{
3u
}}
\,
\overline
{
\left
( f
^
T +
\overline
{
\overline
{
\zeta
}}^{
\,
i,j
}
\right
)
e
_{
1t
}
\,
e
_{
2t
}
\,
e
_{
3t
}
\,
\overline
{
v
}^{
\,
j
}}^{
\,
i+1/2
}
\\
&
-
\frac
{
1
}{
e
_{
1v
}
\,
e
_{
2v
}
\,
e
_{
3v
}}
\,
\overline
{
\left
( f
^
T +
\overline
{
\overline
{
\zeta
}}^{
\,
i,j
}
\right
)
e
_{
1t
}
\,
e
_{
2t
}
\,
e
_{
3t
}
\,
\overline
{
u
}^{
\,
i
}}^{
\,
j+1/2
}
\end{aligned}
\right
.
\end{equation}
Any of the (
\autoref
{
eq:DYN
_
vor
_
ens
}
), (
\autoref
{
eq:DYN
_
vor
_
ene
}
), (
\autoref
{
eq:DYN
_
vor
_
enT
}
) and (
\autoref
{
eq:DYN
_
vor
_
een
}
)
schemes can be used to
compute the product of the Coriolis parameter and the vorticity.
compute the product of the Coriolis parameter and the vorticity.
However, the energy-conserving scheme (
\autoref
{
eq:DYN
_
vor
_
een
}
) has exclusively been used to date.
However, the energy-conserving schemes (
\autoref
{
eq:DYN
_
vor
_
een
}
and
\autoref
{
eq:DYN
_
vor
_
enT
}
)
have exclusively been used to date.
This term is evaluated using either a leapfrog scheme or a RK3 scheme.
This term is evaluated using either a leapfrog scheme or a RK3 scheme.
In the leapfrog case it is centred in time (
\textit
{
now
}
velocity).
In the leapfrog case it is centred in time (
\textit
{
now
}
velocity).
In the RK3 case it is forward in time (
\textit
{
before
}
velocity) at stage 1,
In the RK3 case it is forward in time (
\textit
{
before
}
velocity) at stage 1,
...
@@ -486,9 +483,9 @@ The discrete expression of the advection term is given by:
...
@@ -486,9 +483,9 @@ The discrete expression of the advection term is given by:
Two advection schemes are available:
Two advection schemes are available:
a
$
2
^{
nd
}$
order centered finite difference scheme, CEN2,
a
$
2
^{
nd
}$
order centered finite difference scheme, CEN2,
or a
$
3
^{
rd
}$
order upstream biased scheme, U
BS
.
or a
$
3
^{
rd
}$
order upstream biased scheme, U
P3
.
The latter is described in
\citet
{
shchepetkin.mcwilliams
_
OM05
}
.
The latter is described in
\citet
{
shchepetkin.mcwilliams
_
OM05
}
.
The schemes are selected using the namelist logicals
\np
{
ln
_
dynadv
_
cen2
}{
ln
\_
dynadv
\_
cen2
}
and
\np
{
ln
_
dynadv
_
u
bs
}{
ln
\_
dynadv
\_
u
bs
}
.
The schemes are selected using the namelist logicals
\np
{
ln
_
dynadv
_
cen2
}{
ln
\_
dynadv
\_
cen2
}
and
\np
{
ln
_
dynadv
_
u
p3
}{
ln
\_
dynadv
\_
u
p3
}
.
In flux form, the schemes differ by the choice of a space and time interpolation to define the value of
In flux form, the schemes differ by the choice of a space and time interpolation to define the value of
$
u
$
and
$
v
$
at the centre of each face of
$
u
$
- and
$
v
$
-cells,
\ie\
at the
$
T
$
-,
$
f
$
-,
$
u
$
and
$
v
$
at the centre of each face of
$
u
$
- and
$
v
$
-cells,
\ie\
at the
$
T
$
-,
$
f
$
-,
and
$
uw
$
-points for
$
u
$
and at the
$
f
$
-,
$
T
$
- and
$
vw
$
-points for
$
v
$
.
and
$
uw
$
-points for
$
u
$
and at the
$
f
$
-,
$
T
$
- and
$
vw
$
-points for
$
v
$
.
...
@@ -515,17 +512,17 @@ produce a sensible solution.
...
@@ -515,17 +512,17 @@ produce a sensible solution.
The associated time-stepping is performed using a leapfrog scheme in conjunction with an Asselin time-filter,
The associated time-stepping is performed using a leapfrog scheme in conjunction with an Asselin time-filter,
so
$
u
$
and
$
v
$
are the
\emph
{
now
}
velocities.
so
$
u
$
and
$
v
$
are the
\emph
{
now
}
velocities.
% U
BS
scheme
% U
P3
scheme
%% =================================================================================================
%% =================================================================================================
\subsubsection
[U
BS
: Upstream Biased Scheme (\forcode{ln_dynadv_u
bs
})]
{
U
BS
: Upstream Biased Scheme (
\protect\np
{
ln
_
dynadv
_
u
bs
}{
ln
\_
dynadv
\_
u
bs
}
)
}
\subsubsection
[U
P3
: Upstream Biased Scheme (\forcode{ln_dynadv_u
p3
})]
{
U
P3
: Upstream Biased Scheme (
\protect\np
{
ln
_
dynadv
_
u
p3
}{
ln
\_
dynadv
\_
u
p3
}
)
}
\label
{
subsec:DYN
_
adv
_
u
bs
}
\label
{
subsec:DYN
_
adv
_
u
p3
}
The U
BS
advection scheme is an upstream biased third order scheme based on
The U
P3
advection scheme is an upstream biased third order scheme based on
an upstream-biased parabolic interpolation.
an upstream-biased parabolic interpolation.
For example, the evaluation of
$
u
_
T
^{
u
bs
}
$
is done as follows:
For example, the evaluation of
$
u
_
T
^{
u
p
3
}
$
is done as follows:
\begin{equation}
\begin{equation}
\label
{
eq:DYN
_
adv
_
u
bs
}
\label
{
eq:DYN
_
adv
_
u
p3
}
u
_
T
^{
u
bs
}
=
\overline
u
^
i-
\;\frac
{
1
}{
6
}
u
_
T
^{
u
p3
}
=
\overline
u
^
i-
\;\frac
{
1
}{
6
}
\begin{cases}
\begin{cases}
u"
_{
i-1/2
}&
\text
{
if
$
\ \overline
{
e
_{
2
u
}
\,
e
_{
3
u
}
\
u
}^
i
\geqslant
0
$
}
\\
u"
_{
i-1/2
}&
\text
{
if
$
\ \overline
{
e
_{
2
u
}
\,
e
_{
3
u
}
\
u
}^
i
\geqslant
0
$
}
\\
u"
_{
i+1/2
}&
\text
{
if
$
\ \overline
{
e
_{
2
u
}
\,
e
_{
3
u
}
\
u
}^
i <
0
$
}
u"
_{
i+1/2
}&
\text
{
if
$
\ \overline
{
e
_{
2
u
}
\,
e
_{
3
u
}
\
u
}^
i <
0
$
}
...
@@ -542,28 +539,21 @@ As the scheme already includes a diffusion component, it can be used without exp
...
@@ -542,28 +539,21 @@ As the scheme already includes a diffusion component, it can be used without exp
(
\ie\ \np
[=]
{
ln
_
dynldf
_
lap
}{
ln
\_
dynldf
\_
lap
}
\np
[=.false.]
{
ln
_
dynldf
_
bilap
}{
ln
\_
dynldf
\_
bilap
}
),
(
\ie\ \np
[=]
{
ln
_
dynldf
_
lap
}{
ln
\_
dynldf
\_
lap
}
\np
[=.false.]
{
ln
_
dynldf
_
bilap
}{
ln
\_
dynldf
\_
bilap
}
),
and it is recommended to do so.
and it is recommended to do so.
The UBS scheme is not used in all directions.
The UP3 scheme is used in all directions.
In the vertical, the centred
$
2
^{
nd
}$
order evaluation of the advection is preferred,
\ie\
$
u
_{
uw
}^{
ubs
}$
and
UP3 is diffusive and is associated with vertical mixing of momentum.
\cmtgm
{
gm pursue the
$
u
_{
vw
}^{
ubs
}$
in
\autoref
{
eq:DYN
_
adv
_
cen2
}
are used.
UBS is diffusive and is associated with vertical mixing of momentum.
\cmtgm
{
gm pursue the
sentence:Since vertical mixing of momentum is a source term of the TKE equation...
}
sentence:Since vertical mixing of momentum is a source term of the TKE equation...
}
For stability reasons, the first term in (
\autoref
{
eq:DYN
_
adv
_
u
bs
}
),
For stability reasons, the first term in (
\autoref
{
eq:DYN
_
adv
_
u
p3
}
),
which corresponds to a second order centred scheme, is evaluated using the
\textit
{
now
}
velocity (centred in time),
which corresponds to a second order centred scheme, is evaluated using the
\textit
{
now
}
velocity (centred in time),
while the second term, which is the diffusion part of the scheme,
while the second term, which is the diffusion part of the scheme,
is evaluated using the
\textit
{
before
}
velocity (forward in time).
is evaluated using the
\textit
{
before
}
velocity (forward in time).
This is discussed by
\citet
{
webb.de-cuevas.ea
_
JAOT98
}
in the context of the Quick advection scheme.
This is discussed by
\citet
{
webb.de-cuevas.ea
_
JAOT98
}
in the context of the Quick advection scheme.
Note that the U
BS
and QUICK (Quadratic Upstream Interpolation for Convective Kinematics) schemes only differ by
Note that the U
P3
and QUICK (Quadratic Upstream Interpolation for Convective Kinematics) schemes only differ by
one coefficient.
one coefficient.
Replacing
$
1
/
6
$
by
$
1
/
8
$
in (
\autoref
{
eq:DYN
_
adv
_
u
bs
}
) leads to the QUICK advection scheme
\citep
{
webb.de-cuevas.ea
_
JAOT98
}
.
Replacing
$
1
/
6
$
by
$
1
/
8
$
in (
\autoref
{
eq:DYN
_
adv
_
u
p3
}
) leads to the QUICK advection scheme
\citep
{
webb.de-cuevas.ea
_
JAOT98
}
.
This option is not available through a namelist parameter, since the
$
1
/
6
$
coefficient is hard coded.
This option is not available through a namelist parameter, since the
$
1
/
6
$
coefficient is hard coded.
Nevertheless it is quite easy to make the substitution in the
\mdl
{
dynadv
\_
ubs
}
module and obtain a QUICK scheme.
Nevertheless it is quite easy to make the substitution in the
\mdl
{
dynadv
\_
up3
}
module and obtain a QUICK scheme.
Note also that in the current version of
\mdl
{
dynadv
\_
ubs
}
,
there is also the possibility of using a
$
4
^{
th
}$
order evaluation of the advective velocity as in ROMS.
This is an error and should be suppressed soon.
\cmtgm
{
action : this have to be done
}
%% =================================================================================================
%% =================================================================================================
\section
[Hydrostatic pressure gradient (\textit{dynhpg.F90})]
{
Hydrostatic pressure gradient (
\protect\mdl
{
dynhpg
}
)
}
\section
[Hydrostatic pressure gradient (\textit{dynhpg.F90})]
{
Hydrostatic pressure gradient (
\protect\mdl
{
dynhpg
}
)
}
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment