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 branches/DEV_r2460_v3_3beta_NOL/DOC/TexFiles/Chapters – NEMO

source: branches/DEV_r2460_v3_3beta_NOL/DOC/TexFiles/Chapters/Chap_ASM.tex @ 2461

Last change on this file since 2461 was 2349, checked in by gm, 14 years ago

v3.3beta: #658 phasing of the doc - key check + many minor changes

File size: 5.2 KB
Line 
1% ================================================================
2% Chapter Assimilation increments (ASM)
3% ================================================================
4\chapter{Apply assimilation increments (ASM)}
5\label{ASM}
6
7Authors: D. Lea, K. Mogensen, A. Weaver, M. Martin ...
8
9\minitoc
10
11
12\newpage
13$\ $\newline    % force a new line
14
15The ASM branch adds the functionality to apply increments to model variables,
16temperature, salinity, sea surface height, velocity and sea ice concentration.
17These are read into the model from a file which may be produced by data assimilation.
18This code is controlled by the namelist \textit{nam\_asminc}.
19There is a brief description of all the namelist options provided.
20To build the ASM code \key{asminc} must be set.
21
22%===============================================================
23
24\section{Direct initialization}
25\label{ASM_DI}
26
27Direct initialization (DI) refers to the instantaneous correction
28of the model background state using the analysis increment.
29DI is used when \np{ln\_asmdin} is set to true.
30
31\section{Incremental Analysis Updates}
32\label{ASM_IAU}
33
34Rather than updating the model state directly with the analysis increment,
35it may be preferable to introduce the increment gradually into the ocean
36model in order to minimize spurious adjustment processes. This technique
37is referred to as Incremental Analysis Updates (IAU) \citep{Bloom_al_MWR96}.
38IAU is a common technique used with 3D assimilation methods such as 3D-Var or OI.
39IAU is used when \np{ln\_asmiau} is set to true.
40
41With IAU, the model state trajectory in the assimilation window
42($t_{0} \leq t_{i} \leq t_{N}$)
43is corrected by adding the analysis increments for
44for temperature, salinity, horizontal velocity and SSH
45as additional tendency terms to the prognostic equations:
46\begin{eqnarray}     \label{eq:wa_traj_iau}
47{\bf x}^{a}(t_{i}) = M(t_{i}, t_{0})[{\bf x}^{b}(t_{0})]
48\; + \; F_{i} \delta \tilde{\bf x}^{a} 
49\end{eqnarray}
50where $F_{i}$ is a weighting function defined such that $\sum_{i=1}^{N} F_{i}=1$.
51To control the adjustment time of the model to the increment,
52the increment can be applied over an arbitrary sub-window,
53$t_{m} \leq t_{i} \leq t_{n}$, of the main assimilation window,
54where $t_{0} \leq t_{m} \leq t_{i}$ and $t_{i} \leq t_{n} \leq t_{N}$,
55Typically the increments are spread evenly over the full window.
56In addition, two different weighting functions have been implemented.
57The first function employs constant weights,
58\begin{eqnarray}    \label{eq:F1_i}
59F^{(1)}_{i}
60=\left\{ \begin{array}{ll}
61   0     &    {\rm if} \; \; \; t_{i} < t_{m}                \\
62   1/M &    {\rm if} \; \; \; t_{m} < t_{i} \leq t_{n} \\
63   0     &    {\rm if} \; \; \; t_{i} > t_{n}
64  \end{array} \right.
65\end{eqnarray}
66where $M = m-n$.
67The second function employs peaked hat-like weights in order to give maximum
68weight in the centre of the sub-window, with the weighting reduced
69linearly to a small value at the window end-points.
70\begin{eqnarray}     \label{eq:F2_i}
71F^{(2)}_{i}
72=\left\{ \begin{array}{ll}
73   0                           &    {\rm if} \; \; \; t_{i}       <     t_{m}                        \\
74   \alpha \, i               &    {\rm if} \; \; \; t_{m}    \leq t_{i}    \leq   t_{M/2}   \\
75   \alpha \, (M - i +1) &    {\rm if} \; \; \; t_{M/2}  <    t_{i}    \leq   t_{n}       \\
76   0                            &   {\rm if} \; \; \; t_{i}        >    t_{n}
77  \end{array} \right.
78\end{eqnarray}
79where $\alpha^{-1} = \sum_{i=1}^{M/2} 2i$ and $M$ is assumed to be even.
80The weights described by \eqref{eq:F2_i} provide a
81smoother transition of the analysis trajectory from one assimilation cycle
82to the next than that described by \eqref{eq:F1_i}.
83
84%==========================================================================
85
86\section{Implementation details}
87\label{ASM_details}
88
89Here we show an example namelist and the header of an example assimilation
90increments file on the ORCA2 grid.
91
92%------------------------------------------namasm-----------------------------------------------------
93\namdisplay{namasm}
94%-------------------------------------------------------------------------------------------------------------
95
96The header of an assimilation increments file produced using \textit{ncdump~-h} is shown below
97
98\begin{alltt}
99\tiny
100\begin{verbatim}
101netcdf assim_background_increments {
102dimensions:
103        x = 182 ;
104        y = 149 ;
105        z = 31 ;
106        t = UNLIMITED ; // (1 currently)
107variables:
108        float nav_lon(y, x) ;
109        float nav_lat(y, x) ;
110        float nav_lev(z) ;
111        double time_counter(t) ;
112        double time ;
113        double z_inc_dateb ;
114        double z_inc_datef ;
115        double bckint(t, z, y, x) ;
116        double bckins(t, z, y, x) ;
117        double bckinu(t, z, y, x) ;
118        double bckinv(t, z, y, x) ;
119        double bckineta(t, y, x) ;
120
121// global attributes:
122                :DOMAIN_number_total = 1 ;
123                :DOMAIN_number = 0 ;
124                :DOMAIN_dimensions_ids = 1, 2 ;
125                :DOMAIN_size_global = 182, 149 ;
126                :DOMAIN_size_local = 182, 149 ;
127                :DOMAIN_position_first = 1, 1 ;
128                :DOMAIN_position_last = 182, 149 ;
129                :DOMAIN_halo_size_start = 0, 0 ;
130                :DOMAIN_halo_size_end = 0, 0 ;
131                :DOMAIN_type = "BOX" ;
132}
133\end{verbatim}
134\end{alltt}
Note: See TracBrowser for help on using the repository browser.