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.
Changeset 12178 for NEMO/branches/2019/dev_r11078_OSMOSIS_IMMERSE_Nurser/doc/latex/NEMO/subfiles/chap_STO.tex – NEMO

Ignore:
Timestamp:
2019-12-11T12:02:38+01:00 (4 years ago)
Author:
agn
Message:

updated trunk to v 11653

Location:
NEMO/branches/2019/dev_r11078_OSMOSIS_IMMERSE_Nurser/doc
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2019/dev_r11078_OSMOSIS_IMMERSE_Nurser/doc

    • Property svn:ignore deleted
    • Property svn:externals set to
      ^/utils/badges badges
      ^/utils/logos logos
  • NEMO/branches/2019/dev_r11078_OSMOSIS_IMMERSE_Nurser/doc/latex

    • Property svn:ignore deleted
  • NEMO/branches/2019/dev_r11078_OSMOSIS_IMMERSE_Nurser/doc/latex/NEMO

    • Property svn:externals set to
      ^/utils/figures/NEMO figures
  • NEMO/branches/2019/dev_r11078_OSMOSIS_IMMERSE_Nurser/doc/latex/NEMO/subfiles

    • Property svn:ignore set to
      *.ind
      *.ilg
  • NEMO/branches/2019/dev_r11078_OSMOSIS_IMMERSE_Nurser/doc/latex/NEMO/subfiles/chap_STO.tex

    r11123 r12178  
    22 
    33\begin{document} 
    4 % ================================================================ 
    5 % Chapter stochastic parametrization of EOS (STO) 
    6 % ================================================================ 
     4 
    75\chapter{Stochastic Parametrization of EOS (STO)} 
    86\label{chap:STO} 
    97 
    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 
     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: 
    2441\begin{equation} 
    25   \label{eq:eos_sto} 
     42  \label{eq:STO_eos_sto} 
    2643  \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)] \} 
    2744\end{equation} 
    2845where $p_o(z)$ is the reference pressure depending on the depth and, 
    29 $\Delta T_i$ and $\Delta S_i$ are a set of T/S perturbations defined as 
     46$\Delta T_i$ and $\Delta S_i$ (i=1,m) is a set of T/S perturbations defined as 
    3047the scalar product of the respective local T/S gradients with random walks $\mathbf{\xi}$: 
    3148\begin{equation} 
    32   \label{eq:sto_pert} 
     49  \label{eq:STO_sto_pert} 
    3350  \Delta T_i = \mathbf{\xi}_i \cdot \nabla T \qquad \hbox{and} \qquad \Delta S_i = \mathbf{\xi}_i \cdot \nabla S 
    3451\end{equation} 
    35 $\mathbf{\xi}_i$ are produced by a first-order autoregressive processes (AR-1) with 
     52$\mathbf{\xi}_i$ are produced by a first-order autoregressive process (AR-1) with 
    3653a parametrized decorrelation time scale, and horizontal and vertical standard deviations $\sigma_s$. 
    3754$\mathbf{\xi}$ are uncorrelated over the horizontal and fully correlated along the vertical. 
    3855 
    39  
     56%% ================================================================================================= 
    4057\section{Stochastic processes} 
    4158\label{sec:STO_the_details} 
    4259 
    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, 
     60There are many existing parameterizations based on autoregressive processes, 
    4561which 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 uncertainty in the model 
     62The generic approach here is to a new STO module, 
     63generating processes features with appropriate statistics to simulate these uncertainties in the model 
    4864(see \cite{brankart.candille.ea_GMD15} for more details). 
    4965 
    50 In practice, at every model grid point, 
     66In practice, at each model grid point, 
    5167independent Gaussian autoregressive processes~$\xi^{(i)},\,i=1,\ldots,m$ are first generated using 
    5268the same basic equation: 
    5369 
    5470\begin{equation} 
    55   \label{eq:autoreg} 
     71  \label{eq:STO_autoreg} 
    5672  \xi^{(i)}_{k+1} = a^{(i)} \xi^{(i)}_k + b^{(i)} w^{(i)} + c^{(i)} 
    5773\end{equation} 
     
    6379 
    6480\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, 
    6782  and the parameters $a^{(i)}$, $b^{(i)}$, $c^{(i)}$ are given by: 
    6883 
    6984  \[ 
    70     % \label{eq:ord1} 
     85    % \label{eq:STO_ord1} 
    7186    \left\{ 
    7287      \begin{array}{l} 
     
    7893  \] 
    7994 
    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, 
    8296  standard deviation equal to~$\sigma^{(i)}$; 
    8397  correlation timescale equal to~$\tau^{(i)}$; 
     
    8599 
    86100  \begin{equation} 
    87     \label{eq:ord2} 
     101    \label{eq:STO_ord2} 
    88102    \left\{ 
    89103      \begin{array}{l} 
     
    101115\noindent 
    102116In this way, higher order processes can be easily generated recursively using the same piece of code implementing 
    103 (\autoref{eq:autoreg}), and using succesively processes from order $0$ to~$n-1$ as~$w^{(i)}$. 
    104 The parameters in (\autoref{eq:ord2}) are computed so that this recursive application of 
    105 (\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)}$. 
     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, 
    106120with 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$ is increased. 
     121zero at~$t=0$, so that the resulting processes become smoother and smoother as $n$ increases. 
    108122 
    109123Overall, this method provides quite a simple and generic way of generating a wide class of stochastic processes. 
    110124However, 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 new parameters using 
     125As in any parameterization, the main issue is to tune the parameters using 
    112126either first principles, model simulations, or real-world observations. 
    113  
     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%% ================================================================================================= 
    114133\section{Implementation details} 
    115134\label{sec:STO_thech_details} 
    116135 
    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}), 
     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}, 
    140152applied at each model grid point (in 2D or 3D), and called at each model time step ($k$) to 
    141153update every autoregressive process ($i=1,\ldots,m$). 
     
    143155to introduce a spatial correlation between the stochastic processes. 
    144156 
    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 
     158the values $a^{(i)}, b^{(i)}, c^{(i)}$ for each autoregressive process, 
    147159as 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). 
    160161This routine also includes the initialization (seeding) of the random number generator. 
    161162 
    162 The third routine (\rou{sto\_rst\_write}) writes a restart file 
    163 (which suffix name is given by \np{cn\_storst\_out} namelist parameter) containing the current value of 
    164 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 by 
     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 
    168169the initialization routine (\rou{sto\_par\_init}). 
    169170The 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 
     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}} 
    176208 
    177209\end{document} 
Note: See TracChangeset for help on using the changeset viewer.