- Timestamp:
- 2019-12-10T12:57:49+01:00 (4 years ago)
- Location:
- NEMO/branches/2019/ENHANCE-02_ISF_nemo/doc
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/ENHANCE-02_ISF_nemo/doc
-
Property
svn:externals
set to
^/utils/badges badges
^/utils/logos logos
-
Property
svn:externals
set to
-
NEMO/branches/2019/ENHANCE-02_ISF_nemo/doc/latex
- Property svn:ignore deleted
-
NEMO/branches/2019/ENHANCE-02_ISF_nemo/doc/latex/NEMO
-
Property
svn:externals
set to
^/utils/figures/NEMO figures
-
Property
svn:externals
set to
-
NEMO/branches/2019/ENHANCE-02_ISF_nemo/doc/latex/NEMO/subfiles
- Property svn:ignore
-
old new 1 *.aux 2 *.bbl 3 *.blg 4 *.dvi 5 *.fdb* 6 *.fls 7 *.idx 1 *.ind 8 2 *.ilg 9 *.ind10 *.log11 *.maf12 *.mtc*13 *.out14 *.pdf15 *.toc16 _minted-*
-
- Property svn:ignore
-
NEMO/branches/2019/ENHANCE-02_ISF_nemo/doc/latex/NEMO/subfiles/chap_STO.tex
r11123 r12143 2 2 3 3 \begin{document} 4 % ================================================================ 5 % Chapter stochastic parametrization of EOS (STO) 6 % ================================================================ 4 7 5 \chapter{Stochastic Parametrization of EOS (STO)} 8 6 \label{chap:STO} 9 7 10 Authors: P.-A. Bouttier 11 12 \minitoc 13 14 \newpage 15 16 The stochastic parametrization module aims to explicitly simulate uncertainties in the model. 17 More particularly, \cite{brankart_OM13} has shown that, 18 because of the nonlinearity of the seawater equation of state, unresolved scales represent a major source of 19 uncertainties in the computation of the large scale horizontal density gradient (from T/S large scale fields), 20 and that the impact of these uncertainties can be simulated by 21 random processes representing unresolved T/S fluctuations. 22 23 The stochastic formulation of the equation of state can be written as: 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 38 As 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 40 As detailed in \cite{brankart_OM13}, the stochastic formulation of the equation of state can be written as: 24 41 \begin{equation} 25 \label{eq: eos_sto}42 \label{eq:STO_eos_sto} 26 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)] \} 27 44 \end{equation} 28 45 where $p_o(z)$ is the reference pressure depending on the depth and, 29 $\Delta T_i$ and $\Delta S_i$ area set of T/S perturbations defined as46 $\Delta T_i$ and $\Delta S_i$ (i=1,m) is a set of T/S perturbations defined as 30 47 the scalar product of the respective local T/S gradients with random walks $\mathbf{\xi}$: 31 48 \begin{equation} 32 \label{eq: sto_pert}49 \label{eq:STO_sto_pert} 33 50 \Delta T_i = \mathbf{\xi}_i \cdot \nabla T \qquad \hbox{and} \qquad \Delta S_i = \mathbf{\xi}_i \cdot \nabla S 34 51 \end{equation} 35 $\mathbf{\xi}_i$ are produced by a first-order autoregressive process es(AR-1) with52 $\mathbf{\xi}_i$ are produced by a first-order autoregressive process (AR-1) with 36 53 a parametrized decorrelation time scale, and horizontal and vertical standard deviations $\sigma_s$. 37 54 $\mathbf{\xi}$ are uncorrelated over the horizontal and fully correlated along the vertical. 38 55 39 56 %% ================================================================================================= 40 57 \section{Stochastic processes} 41 58 \label{sec:STO_the_details} 42 59 43 The starting point of our implementation of stochastic parameterizations in NEMO is to observe that 44 many existing parameterizations are based on autoregressive processes, 60 There are many existing parameterizations based on autoregressive processes, 45 61 which are used as a basic source of randomness to transform a deterministic model into a probabilistic model. 46 A generic approach is thus to add one single new module in NEMO,47 generating processes with appropriate statistics to simulate each kind of uncertaintyin the model62 The generic approach here is to a new STO module, 63 generating processes features with appropriate statistics to simulate these uncertainties in the model 48 64 (see \cite{brankart.candille.ea_GMD15} for more details). 49 65 50 In practice, at e verymodel grid point,66 In practice, at each model grid point, 51 67 independent Gaussian autoregressive processes~$\xi^{(i)},\,i=1,\ldots,m$ are first generated using 52 68 the same basic equation: 53 69 54 70 \begin{equation} 55 \label{eq: autoreg}71 \label{eq:STO_autoreg} 56 72 \xi^{(i)}_{k+1} = a^{(i)} \xi^{(i)}_k + b^{(i)} w^{(i)} + c^{(i)} 57 73 \end{equation} … … 63 79 64 80 \begin{itemize} 65 \item 66 for order~1 processes, $w^{(i)}$ is a Gaussian white noise, with zero mean and standard deviation equal to~1, 81 \item for order~1 processes, $w^{(i)}$ is a Gaussian white noise, with zero mean and standard deviation equal to~1, 67 82 and the parameters $a^{(i)}$, $b^{(i)}$, $c^{(i)}$ are given by: 68 83 69 84 \[ 70 % \label{eq: ord1}85 % \label{eq:STO_ord1} 71 86 \left\{ 72 87 \begin{array}{l} … … 78 93 \] 79 94 80 \item 81 for order~$n>1$ processes, $w^{(i)}$ is an order~$n-1$ autoregressive process, with zero mean, 95 \item for order~$n>1$ processes, $w^{(i)}$ is an order~$n-1$ autoregressive process, with zero mean, 82 96 standard deviation equal to~$\sigma^{(i)}$; 83 97 correlation timescale equal to~$\tau^{(i)}$; … … 85 99 86 100 \begin{equation} 87 \label{eq: ord2}101 \label{eq:STO_ord2} 88 102 \left\{ 89 103 \begin{array}{l} … … 101 115 \noindent 102 116 In this way, higher order processes can be easily generated recursively using the same piece of code implementing 103 (\autoref{eq:autoreg}), and using succesivelyprocesses from order $0$ to~$n-1$ as~$w^{(i)}$.104 The parameters in (\autoref{eq:ord2})are computed so that this recursive application of105 (\autoref{eq:autoreg})leads to processes with the required standard deviation and correlation timescale,117 \autoref{eq:STO_autoreg}, and using successive processes from order $0$ to~$n-1$ as~$w^{(i)}$. 118 The 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, 106 120 with the additional condition that the $n-1$ first derivatives of the autocorrelation function are equal to 107 zero at~$t=0$, so that the resulting processes become smoother and smoother as $n$ i s increased.121 zero at~$t=0$, so that the resulting processes become smoother and smoother as $n$ increases. 108 122 109 123 Overall, this method provides quite a simple and generic way of generating a wide class of stochastic processes. 110 124 However, this also means that new model parameters are needed to specify each of these stochastic processes. 111 As in any parameterization of lacking physics, a very important issues then to tune these newparameters using125 As in any parameterization, the main issue is to tune the parameters using 112 126 either first principles, model simulations, or real-world observations. 113 127 The parameters are set by default as described in \cite{brankart_OM13}, which has been shown in the paper 128 to 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. 129 The set of parameters will need further investigation to find appropriate values 130 for any other configuration or resolution of the model. 131 132 %% ================================================================================================= 114 133 \section{Implementation details} 115 134 \label{sec:STO_thech_details} 116 135 117 %---------------------------------------namsbc-------------------------------------------------- 118 119 \nlst{namsto} 120 %-------------------------------------------------------------------------------------------------------------- 121 122 The computer code implementing stochastic parametrisations can be found in the STO directory. 123 It involves three modules : 124 \begin{description} 125 \item[\mdl{stopar}:] 126 define the Stochastic parameters and their time evolution. 127 \item[\mdl{storng}:] 128 a random number generator based on (and includes) the 64-bit KISS (Keep It Simple Stupid) random number generator 129 distributed by George Marsaglia 130 (see \href{https://groups.google.com/forum/#!searchin/comp.lang.fortran/64-bit$20KISS$20RNGs}{here}) 131 \item[\mdl{stopts}:] 132 stochastic parametrisation associated with the non-linearity of the equation of seawater, 133 implementing \autoref{eq:sto_pert} and specific piece of code in 134 the equation of state implementing \autoref{eq:eos_sto}. 135 \end{description} 136 137 The \mdl{stopar} module has 3 public routines to be called by the model (in our case, NEMO): 138 139 The first routine (\rou{sto\_par}) is a direct implementation of (\autoref{eq:autoreg}), 136 The code implementing stochastic parametrisation is located in the src/OCE/STO directory. 137 It 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 149 The \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}, 140 152 applied at each model grid point (in 2D or 3D), and called at each model time step ($k$) to 141 153 update every autoregressive process ($i=1,\ldots,m$). … … 143 155 to introduce a spatial correlation between the stochastic processes. 144 156 145 The second routine (\rou{sto\_par\_init}) is an initialization routine mainly dedicated to 146 the computation of parameters $a^{(i)}, b^{(i)}, c^{(i)}$ for each autoregressive process,157 (\rou{sto\_par\_init}) is the initialization routine computing 158 the values $a^{(i)}, b^{(i)}, c^{(i)}$ for each autoregressive process, 147 159 as a function of the statistical properties required by the model user 148 (mean, standard deviation, time correlation, order of the process,\ldots). 149 150 Parameters for the processes can be specified through the following \ngn{namsto} namelist parameters: 151 \begin{description} 152 \item[\np{nn\_sto\_eos}:] number of independent random walks 153 \item[\np{rn\_eos\_stdxy}:] random walk horz. standard deviation (in grid points) 154 \item[\np{rn\_eos\_stdz}:] random walk vert. standard deviation (in grid points) 155 \item[\np{rn\_eos\_tcor}:] random walk time correlation (in timesteps) 156 \item[\np{nn\_eos\_ord}:] order of autoregressive processes 157 \item[\np{nn\_eos\_flt}:] passes of Laplacian filter 158 \item[\np{rn\_eos\_lim}:] limitation factor (default = 3.0) 159 \end{description} 160 (mean, standard deviation, time correlation, order of the process,\ldots). 160 161 This routine also includes the initialization (seeding) of the random number generator. 161 162 162 The third routine(\rou{sto\_rst\_write}) writes a restart file163 (which suffix name is given by \np{cn \_storst\_out} namelist parameter) containing the current value of164 all autoregressive processes to allow restarting a simulation from where it has been interrupted.165 This file also contains the current state of the random number generator.166 When \np{ln \_rststo} is set to \forcode{.true.}),167 the restart file (which suffix name is given by \np{cn \_storst\_in} namelist parameter) is read by163 (\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 165 all autoregressive processes to allow creating the file needed for a restart. 166 This restart file also contains the current state of the random number generator. 167 When \np{ln_rststo}{ln\_rststo} is set to \forcode{.true.}), 168 the restart file (which suffix name is given by \np{cn_storst_in}{cn\_storst\_in} namelist parameter) is read by 168 169 the initialization routine (\rou{sto\_par\_init}). 169 170 The simulation will continue exactly as if it was not interrupted only 170 when \np{ln\_rstseed} is set to \forcode{.true.}, 171 \ie when the state of the random number generator is read in the restart file. 172 173 \biblio 174 175 \pindex 171 when \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 174 The implementation includes the basics for a few possible stochastic parametrisations including equation of state, 175 lateral diffusion, horizontal pressure gradient, ice strength, trend, tracers dynamics. 176 As for this release, only the stochastic parametrisation of equation of state is fully available and tested. \\ 177 178 Options and parameters \\ 179 180 The \np{ln_sto_eos}{ln\_sto\_eos} namelist variable activates stochastic parametrisation of equation of state. 181 By default it set to \forcode{.false.}) and not active. 182 The 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 191 The 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 205 The first four parameters define the stochastic part of equation of state. 206 207 \subinc{\input{../../global/epilogue}} 176 208 177 209 \end{document}
Note: See TracChangeset
for help on using the changeset viewer.