New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
chap_STO.tex in NEMO/trunk/doc/latex/NEMO/subfiles – NEMO

source: NEMO/trunk/doc/latex/NEMO/subfiles/chap_STO.tex @ 11598

Last change on this file since 11598 was 11598, checked in by nicolasmartin, 5 years ago

Add template of versioning record at the beginning of chapters

File size: 9.9 KB
Line 
1\documentclass[../main/NEMO_manual]{subfiles}
2
3\begin{document}
4
5\chapter{Stochastic Parametrization of EOS (STO)}
6\label{chap:STO}
7
8\thispagestyle{plain}
9
10\chaptertoc
11
12\paragraph{Changes record} ~\\
13
14{\footnotesize
15  \begin{tabularx}{\textwidth}{l||X|X}
16    Release & Author(s) & Modifications \\
17    \hline
18    {\em   4.0} & {\em ...} & {\em ...} \\
19    {\em   3.6} & {\em ...} & {\em ...} \\
20    {\em   3.4} & {\em ...} & {\em ...} \\
21    {\em <=3.4} & {\em ...} & {\em ...}
22  \end{tabularx}
23}
24
25% \vfill
26% \begin{figure}[b]
27%% =================================================================================================
28% \subsubsection*{Changes record}
29% \begin{tabular}{l||l|m{0.65\linewidth}}
30%    Release   & Author        & Modifications \\
31%    {\em 4.0.1} & {\em C. Levy} & {\em 4.0.1 update}  \\
32%    {\em 3.6} & {\em P.-A. Bouttier} & {\em initial version}  \\
33% \end{tabular}
34% \end{figure}
35
36\clearpage
37
38As a result of the nonlinearity of the seawater equation of state, unresolved scales represent a major source of uncertainties in the computation of the large-scale horizontal density gradient from the large-scale temperature and salinity fields. Following  \cite{brankart_OM13}, the impact of these uncertainties can be simulated by random processes representing unresolved T/S fluctuations. The Stochastic Parametrization of EOS (STO) module implements this parametrization.
39
40As detailed in \cite{brankart_OM13}, the stochastic formulation of the equation of state can be written as:
41\begin{equation}
42  \label{eq:STO_eos_sto}
43  \rho = \frac{1}{2} \sum_{i=1}^m\{ \rho[T+\Delta T_i,S+\Delta S_i,p_o(z)] + \rho[T-\Delta T_i,S-\Delta S_i,p_o(z)] \}
44\end{equation}
45where $p_o(z)$ is the reference pressure depending on the depth and,
46$\Delta T_i$ and $\Delta S_i$ (i=1,m) is a set of T/S perturbations defined as
47the scalar product of the respective local T/S gradients with random walks $\mathbf{\xi}$:
48\begin{equation}
49  \label{eq:STO_sto_pert}
50  \Delta T_i = \mathbf{\xi}_i \cdot \nabla T \qquad \hbox{and} \qquad \Delta S_i = \mathbf{\xi}_i \cdot \nabla S
51\end{equation}
52$\mathbf{\xi}_i$ are produced by a first-order autoregressive process (AR-1) with
53a parametrized decorrelation time scale, and horizontal and vertical standard deviations $\sigma_s$.
54$\mathbf{\xi}$ are uncorrelated over the horizontal and fully correlated along the vertical.
55
56%% =================================================================================================
57\section{Stochastic processes}
58\label{sec:STO_the_details}
59
60There are many existing parameterizations based on autoregressive processes,
61which are used as a basic source of randomness to transform a deterministic model into a probabilistic model.
62The generic approach here is to a new STO module,
63generating processes features with appropriate statistics to simulate these uncertainties in the model
64(see \cite{brankart.candille.ea_GMD15} for more details).
65
66In practice, at each model grid point,
67independent Gaussian autoregressive processes~$\xi^{(i)},\,i=1,\ldots,m$ are first generated using
68the same basic equation:
69
70\begin{equation}
71  \label{eq:STO_autoreg}
72  \xi^{(i)}_{k+1} = a^{(i)} \xi^{(i)}_k + b^{(i)} w^{(i)} + c^{(i)}
73\end{equation}
74
75\noindent
76where $k$ is the index of the model timestep and
77$a^{(i)}$, $b^{(i)}$, $c^{(i)}$ are parameters defining the mean ($\mu^{(i)}$) standard deviation ($\sigma^{(i)}$) and
78correlation timescale ($\tau^{(i)}$) of each process:
79
80\begin{itemize}
81\item for order~1 processes, $w^{(i)}$ is a Gaussian white noise, with zero mean and standard deviation equal to~1,
82  and the parameters $a^{(i)}$, $b^{(i)}$, $c^{(i)}$ are given by:
83
84  \[
85    % \label{eq:STO_ord1}
86    \left\{
87      \begin{array}{l}
88        a^{(i)} = \varphi \\
89        b^{(i)} = \sigma^{(i)} \sqrt{ 1 - \varphi^2 }        \qquad\qquad\mbox{with}\qquad\qquad \varphi = \exp \left( - 1 / \tau^{(i)} \right) \\
90        c^{(i)} = \mu^{(i)} \left( 1 - \varphi \right) \\
91      \end{array}
92    \right.
93  \]
94
95\item for order~$n>1$ processes, $w^{(i)}$ is an order~$n-1$ autoregressive process, with zero mean,
96  standard deviation equal to~$\sigma^{(i)}$;
97  correlation timescale equal to~$\tau^{(i)}$;
98  and the parameters $a^{(i)}$, $b^{(i)}$, $c^{(i)}$ are given by:
99
100  \begin{equation}
101    \label{eq:STO_ord2}
102    \left\{
103      \begin{array}{l}
104        a^{(i)} = \varphi \\
105        b^{(i)} = \frac{n-1}{2(4n-3)} \sqrt{ 1 - \varphi^2 }
106        \qquad\qquad\mbox{with}\qquad\qquad
107        \varphi = \exp \left( - 1 / \tau^{(i)} \right) \\
108        c^{(i)} = \mu^{(i)} \left( 1 - \varphi \right) \\
109      \end{array}
110    \right.
111  \end{equation}
112
113\end{itemize}
114
115\noindent
116In this way, higher order processes can be easily generated recursively using the same piece of code implementing
117\autoref{eq:STO_autoreg}, and using successive processes from order $0$ to~$n-1$ as~$w^{(i)}$.
118The parameters in \autoref{eq:STO_ord2} are computed so that this recursive application of
119\autoref{eq:STO_autoreg} leads to processes with the required standard deviation and correlation timescale,
120with the additional condition that the $n-1$ first derivatives of the autocorrelation function are equal to
121zero at~$t=0$, so that the resulting processes become smoother and smoother as $n$ increases.
122
123Overall, this method provides quite a simple and generic way of generating a wide class of stochastic processes.
124However, this also means that new model parameters are needed to specify each of these stochastic processes.
125As in any parameterization, the main issue is to tune the parameters using
126either first principles, model simulations, or real-world observations.
127The parameters are set by default as described in \cite{brankart_OM13}, which has been shown in the paper
128to give good results for a global low resolution (2°) \NEMO\ configuration. where this parametrization produces a major effect on the average large-scale circulation, especilally in regions of intense mesoscale activity.
129The set of parameters will need further investigation to find appropriate values
130for any other configuration or resolution of the model.
131
132%% =================================================================================================
133\section{Implementation details}
134\label{sec:STO_thech_details}
135
136The code implementing stochastic parametrisation is located in the src/OCE/STO directory.
137It contains three modules :
138% \begin{description}
139
140\mdl{stopar} : define the Stochastic parameters and their time evolution
141
142\mdl{storng} : random number generator based on and including the 64-bit KISS (Keep It Simple Stupid) random number generator distributed by George Marsaglia
143
144\mdl{stopts} : stochastic parametrisation associated with the non-linearity of the equation of
145 seawater, implementing \autoref{eq:STO_sto_pert} so as specifics in the equation of state
146 implementing \autoref{eq:STO_eos_sto}.
147% \end{description}
148
149The \mdl{stopar} module includes three public routines called in the model:
150
151(\rou{sto\_par}) is a direct implementation of \autoref{eq:STO_autoreg},
152applied at each model grid point (in 2D or 3D), and called at each model time step ($k$) to
153update every autoregressive process ($i=1,\ldots,m$).
154This routine also includes a filtering operator, applied to $w^{(i)}$,
155to introduce a spatial correlation between the stochastic processes.
156
157(\rou{sto\_par\_init}) is the initialization routine computing
158the values $a^{(i)}, b^{(i)}, c^{(i)}$ for each autoregressive process,
159as a function of the statistical properties required by the model user
160(mean, standard deviation, time correlation, order of the process,\ldots).
161This routine also includes the initialization (seeding) of the random number generator.
162
163(\rou{sto\_rst\_write}) writes a restart file
164(which suffix name is given by \np{cn_storst_out}{cn\_storst\_out} namelist parameter) containing the current value of
165all autoregressive processes to allow creating the file needed for a restart.
166This restart file also contains the current state of the random number generator.
167When \np{ln_rststo}{ln\_rststo} is set to \forcode{.true.}),
168the restart file (which suffix name is given by \np{cn_storst_in}{cn\_storst\_in} namelist parameter) is read by
169the initialization routine (\rou{sto\_par\_init}).
170The simulation will continue exactly as if it was not interrupted only
171when \np{ln_rstseed}{ln\_rstseed} is set to \forcode{.true.},
172\ie\ when the state of the random number generator is read in the restart file.\\
173
174The implementation includes the basics for a few possible stochastic parametrisations including equation of state,
175lateral diffusion, horizontal pressure gradient, ice strength, trend, tracers dynamics.
176As for this release, only the stochastic parametrisation of equation of state is fully available and tested. \\
177
178Options and parameters \\
179
180The \np{ln_sto_eos}{ln\_sto\_eos} namelist variable activates stochastic parametrisation of equation of state.
181By default it set to \forcode{.false.}) and not active.
182The set of parameters is available in \nam{sto}{sto} namelist
183(only the subset for equation of state stochastic parametrisation is listed below):
184
185\begin{listing}
186  \nlst{namsto}
187  \caption{\forcode{&namsto}}
188  \label{lst:namsto}
189\end{listing}
190
191The variables of stochastic paramtetrisation itself (based on the global 2° experiments as in \cite{brankart_OM13} are:
192
193\begin{description}
194\item [{\np{nn_sto_eos}{nn\_sto\_eos}:}]     number of independent random walks
195\item [{\np{rn_eos_stdxy}{rn\_eos\_stdxy}:}] random walk horizontal standard deviation
196  (in grid points)
197\item [{\np{rn_eos_stdz}{rn\_eos\_stdz}:}]   random walk vertical standard deviation
198  (in grid points)
199\item [{\np{rn_eos_tcor}{rn\_eos\_tcor}:}]   random walk time correlation (in timesteps)
200\item [{\np{nn_eos_ord}{nn\_eos\_ord}:}]     order of autoregressive processes
201\item [{\np{nn_eos_flt}{nn\_eos\_flt}:}]     passes of Laplacian filter
202\item [{\np{rn_eos_lim}{rn\_eos\_lim}:}]     limitation factor (default = 3.0)
203\end{description}
204
205The first four parameters define the stochastic part of equation of state.
206
207\onlyinsubfile{\input{../../global/epilogue}}
208
209\end{document}
Note: See TracBrowser for help on using the repository browser.