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_ASM.tex in NEMO/trunk/doc/latex/NEMO/subfiles – NEMO

source: NEMO/trunk/doc/latex/NEMO/subfiles/chap_ASM.tex @ 11582

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

New LaTeX commands \nam and \np to mention namelist content (step 2)
Finally convert \forcode{...} following \np{}{} into optional arg of the new command \np[]{}{}

File size: 8.5 KB
Line 
1\documentclass[../main/NEMO_manual]{subfiles}
2
3\onlyinsubfile{\makeindex}
4
5\begin{document}
6% ================================================================
7% Chapter Assimilation increments (ASM)
8% ================================================================
9\chapter{Apply Assimilation Increments (ASM)}
10\label{chap:ASM}
11
12\chaptertoc
13
14\vfill
15\begin{figure}[b]
16\subsubsection*{Changes record}
17\begin{tabular}{l||l|m{0.65\linewidth}}
18    Release   & Author        & Modifications \\
19    {\em 4.0} & {\em D. J. Lea} & {\em \NEMO\ 4.0 updates}  \\
20    {\em 3.4} & {\em D. J. Lea, M. Martin, K. Mogensen, A. Weaver} & {\em Initial version}  \\
21\end{tabular}
22\end{figure}
23
24\newpage
25
26The ASM code adds the functionality to apply increments to the model variables: temperature, salinity,
27sea surface height, velocity and sea ice concentration.
28These are read into the model from a NetCDF file which may be produced by separate data assimilation code.
29The code can also output model background fields which are used as an input to data assimilation code.
30This is all controlled by the namelist \nam{_asminc}{\_asminc}.
31There is a brief description of all the namelist options provided.
32To build the ASM code \key{asminc} must be set.
33
34%===============================================================
35
36\section{Direct initialization}
37\label{sec:ASM_DI}
38
39Direct initialization (DI) refers to the instantaneous correction of the model background state using
40the analysis increment.
41DI is used when \np{ln_asmdin}{ln\_asmdin} is set to true.
42
43\section{Incremental analysis updates}
44\label{sec:ASM_IAU}
45
46Rather than updating the model state directly with the analysis increment,
47it may be preferable to introduce the increment gradually into the ocean model in order to
48minimize spurious adjustment processes.
49This technique is referred to as Incremental Analysis Updates (IAU) \citep{bloom.takacs.ea_MWR96}.
50IAU is a common technique used with 3D assimilation methods such as 3D-Var or OI.
51IAU is used when \np{ln_asmiau}{ln\_asmiau} is set to true.
52
53With IAU, the model state trajectory ${\mathbf x}$ in the assimilation window ($t_{0} \leq t_{i} \leq t_{N}$)
54is corrected by adding the analysis increments for temperature, salinity, horizontal velocity and SSH as
55additional tendency terms to the prognostic equations:
56\begin{align*}
57  % \label{eq:ASM_wa_traj_iau}
58  {\mathbf x}^{a}(t_{i}) = M(t_{i}, t_{0})[{\mathbf x}^{b}(t_{0})] \; + \; F_{i} \delta \tilde{\mathbf x}^{a}
59\end{align*}
60where $F_{i}$ is a weighting function for applying the increments $\delta\tilde{\mathbf x}^{a}$ defined such that
61$\sum_{i=1}^{N} F_{i}=1$.
62${\mathbf x}^b$ denotes the model initial state and ${\mathbf x}^a$ is the model state after the increments are applied.
63To control the adjustment time of the model to the increment,
64the increment can be applied over an arbitrary sub-window, $t_{m} \leq t_{i} \leq t_{n}$,
65of the main assimilation window, where $t_{0} \leq t_{m} \leq t_{i}$ and $t_{i} \leq t_{n} \leq t_{N}$.
66Typically the increments are spread evenly over the full window.
67In addition, two different weighting functions have been implemented.
68The first function (namelist option \np{niaufn}{niaufn}=0) employs constant weights,
69\begin{align}
70  \label{eq:ASM_F1_i}
71  F^{(1)}_{i}
72  =\left\{
73  \begin{array}{ll}
74    0     &    {\mathrm if} \; \; \; t_{i} < t_{m}                \\
75    1/M &    {\mathrm if} \; \; \; t_{m} < t_{i} \leq t_{n} \\
76    0     &    {\mathrm if} \; \; \; t_{i} > t_{n}
77  \end{array}
78            \right.
79\end{align}
80where $M = m-n$.
81The second function (namelist option \np{niaufn}{niaufn}=1) employs peaked hat-like weights in order to give maximum weight in the centre of the sub-window,
82with the weighting reduced linearly to a small value at the window end-points:
83\begin{align}
84  \label{eq:ASM_F2_i}
85  F^{(2)}_{i}
86  =\left\{
87  \begin{array}{ll}
88    0                           &    {\mathrm if} \; \; \; t_{i}       <     t_{m}                        \\
89    \alpha \, i               &    {\mathrm if} \; \; \; t_{m}    \leq t_{i}    \leq   t_{M/2}   \\
90    \alpha \, (M - i +1) &    {\mathrm if} \; \; \; t_{M/2}  <    t_{i}    \leq   t_{n}       \\
91    0                            &   {\mathrm if} \; \; \; t_{i}        >    t_{n}
92  \end{array}
93                                   \right.
94\end{align}
95where $\alpha^{-1} = \sum_{i=1}^{M/2} 2i$ and $M$ is assumed to be even.
96The weights described by \autoref{eq:ASM_F2_i} provide a smoother transition of the analysis trajectory from
97one assimilation cycle to the next than that described by \autoref{eq:ASM_F1_i}.
98
99%==========================================================================
100% Divergence damping description %%%
101\section{Divergence damping initialisation}
102\label{sec:ASM_div_dmp}
103
104It is quite challenging for data assimilation systems to provide non-divergent velocity increments.
105Applying divergent velocity increments will likely cause spurious vertical velocities in the model. This section describes a method to take velocity increments provided to \NEMO\ ($u^0_I$ and $v^0_I$) and adjust them by the iterative application of a divergence damping operator. The method is also described in \citet{dobricic.pinardi.ea_OS07}.
106
107In iteration step $n$ (starting at $n=1$) new estimates of velocity increments $u^{n}_I$ and $v^{n}_I$ are updated by:
108
109\begin{equation}
110  \label{eq:ASM_dmp}
111  \left\{
112    \begin{aligned}
113      u^{n}_I = u^{n-1}_I + \frac{1}{e_{1u} } \delta_{i+1/2} \left( {A_D
114          \;\chi^{n-1}_I } \right) \\ \\
115      v^{n}_I = v^{n-1}_I + \frac{1}{e_{2v} } \delta_{j+1/2} \left( {A_D
116          \;\chi^{n-1}_I } \right) \\
117    \end{aligned}
118  \right.,
119\end{equation}
120
121where the divergence is defined as
122
123\[
124  % \label{eq:ASM_div}
125  \chi^{n-1}_I = \frac{1}{e_{1t}\,e_{2t}\,e_{3t} }
126  \left( {\delta_i \left[ {e_{2u}\,e_{3u}\,u^{n-1}_I} \right]
127      +\delta_j \left[ {e_{1v}\,e_{3v}\,v^{n-1}_I} \right]} \right).
128\]
129
130By the application of \autoref{eq:ASM_dmp} the divergence is filtered in each iteration,
131and the vorticity is left unchanged.
132In the presence of coastal boundaries with zero velocity increments perpendicular to the coast
133the divergence is strongly damped.
134This type of the initialisation reduces the vertical velocity magnitude and
135alleviates the problem of the excessive unphysical vertical mixing in the first steps of the model integration
136\citep{talagrand_JAS72, dobricic.pinardi.ea_OS07}.
137Diffusion coefficients are defined as $A_D = \alpha e_{1t} e_{2t}$, where $\alpha = 0.2$.
138The divergence damping is activated by assigning to \np{nn_divdmp}{nn\_divdmp} in the \nam{_asminc}{\_asminc} namelist
139a value greater than zero.
140This specifies the number of iterations of the divergence damping. Setting a value of the order of 100 will result in a significant reduction in the vertical velocity induced by the increments.
141
142
143%==========================================================================
144
145\section{Implementation details}
146\label{sec:ASM_details}
147
148Here we show an example \nam{_asminc}{\_asminc} namelist and the header of an example assimilation increments file on
149the ORCA2 grid.
150
151%------------------------------------------nam_asminc-----------------------------------------------------
152%
153\begin{listing}
154  \nlst{nam_asminc}
155  \caption{\forcode{&nam_asminc}}
156  \label{lst:nam_asminc}
157\end{listing}
158%-------------------------------------------------------------------------------------------------------------
159
160The header of an assimilation increments file produced using the NetCDF tool
161\mbox{\textit{ncdump~-h}} is shown below
162
163\begin{clines}
164netcdf assim_background_increments {
165dimensions:
166        x = 182 ;
167        y = 149 ;
168        z = 31 ;
169        t = UNLIMITED ; // (1 currently)
170variables:
171        float nav_lon(y, x) ;
172        float nav_lat(y, x) ;
173        float nav_lev(z) ;
174        double time_counter(t) ;
175        double time ;
176        double z_inc_dateb ;
177        double z_inc_datef ;
178        double bckint(t, z, y, x) ;
179        double bckins(t, z, y, x) ;
180        double bckinu(t, z, y, x) ;
181        double bckinv(t, z, y, x) ;
182        double bckineta(t, y, x) ;
183
184// global attributes:
185                :DOMAIN_number_total = 1 ;
186                :DOMAIN_number = 0 ;
187                :DOMAIN_dimensions_ids = 1, 2 ;
188                :DOMAIN_size_global = 182, 149 ;
189                :DOMAIN_size_local = 182, 149 ;
190                :DOMAIN_position_first = 1, 1 ;
191                :DOMAIN_position_last = 182, 149 ;
192                :DOMAIN_halo_size_start = 0, 0 ;
193                :DOMAIN_halo_size_end = 0, 0 ;
194                :DOMAIN_type = "BOX" ;
195}
196\end{clines}
197
198\onlyinsubfile{\bibliography{../main/bibliography}}
199
200\onlyinsubfile{\printindex}
201
202\end{document}
Note: See TracBrowser for help on using the repository browser.