/[MITgcm]/manual/s_ecco/text/ctrl.tex
ViewVC logotype

Contents of /manual/s_ecco/text/ctrl.tex

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.1 - (show annotations) (download) (as text)
Fri Sep 16 18:52:26 2016 UTC (8 years, 10 months ago) by gforget
Branch: MAIN
CVS Tags: checkpoint01, HEAD
File MIME type: application/x-tex
Error occurred while calculating annotation data.
- add gencost and genctrl documentation (with major contributions from C. Wolfe)

1 \section{CTRL: Model Parameter Adjustment Capability}
2 \label{sec:pkg:ctrl}
3 \begin{rawhtml}
4 <!-- CMIREDIR:package_ctrl: -->
5 \end{rawhtml}
6
7 \def\mitgcmCheckpointVersion{65x}
8
9 The parameters available for configuring generic cost terms in \texttt{data.ctrl} are given in table~\ref{tbl:gencost_ctrl_params}.
10
11 \begin{table}[!ht]
12 \centering
13 \begin{tabular}{lll}
14 parameter & type & function \\ \hline
15 \texttt{xx\_gen*\_file} & character(*) & Name of control. Prefix from table~\ref{tbl:gencost_ctrl_files} + suffix. \\
16 \texttt{xx\_gen*\_weight} & character(*) & Weights in the form of $\sigma_{\vec{u}_j}^{-2}$ \\
17 \texttt{xx\_gen*\_bounds} & real(5) & Apply bounds \\
18 \texttt{xx\_gen*\_preproc} & character(*) & Control preprocessor(s) (see table~\ref{tbl:gencost_ctrl_preproc}) \\
19 \texttt{xx\_gen*\_preproc\_c} & character(*) & Preprocessor character arguments \\
20 \texttt{xx\_gen*\_preproc\_i} & integer(*) & Preprocessor integer arguments \\
21 \texttt{xx\_gen*\_preproc\_r} & real(*) & Preprocessor real arguments \\
22 \texttt{gen*Precond} & real & Preconditioning factor ($=1$ by default) \\
23 \texttt{mult\_gen*} & real & Cost function multiplier $\beta_j$ ($= 1$ by default) \\
24 \texttt{xx\_gentim2d\_period} & real & Frequency of adjustments (in seconds) \\
25 \texttt{xx\_gentim2d\_startdate1} & integer & Adjustment start date \\
26 \texttt{xx\_gentim2d\_startdate2} & integer & Default: model start date \\
27 \texttt{xx\_gentim2d\_cumsum} & logical & Accumulate control adjustments \\
28 \texttt{xx\_gentim2d\_glosum} & logical & Global sum of adjustment (output is still 2D) \\
29 \end{tabular}
30 \caption{Parameters in \texttt{ctrl\_nml\_genarr} namelist in \texttt{data.ctrl}. The \texttt{*} can be replaced by \texttt{arr2d}, \texttt{arr3d}, or \texttt{tim2d} for time-invariant two and three dimensional controls and time-varying 2D controls, respectively. Parameters for \texttt{genarr2d}, \texttt{genarr3d}, and \texttt{gentime2d} are arrays of length \texttt{maxCtrlArr2D}, \texttt{maxCtrlArr3D}, and \texttt{maxCtrlTim2D}, respectively, with one entry per term in the cost function.}
31 \label{tbl:gencost_ctrl_params}
32 \end{table}
33
34 \begin{table}[!ht]
35 \centering
36 \begin{tabular}{lll}
37 & name & description \\ \hline \hline
38 2D, time-invariant controls & \texttt{genarr2d} \\
39 & \texttt{xx\_etan} & initial sea surface height \\
40 & \texttt{xx\_bottomdrag} & bottom drag \\
41 & \texttt{xx\_geothermal} & geothermal heat flux \\ \hline
42 3D, time-invariant controls & \texttt{genarr3d} \\
43 & \texttt{xx\_theta} & initial potential temperature \\
44 & \texttt{xx\_salt} & initial salinity \\
45 & \texttt{xx\_kapgm} & GM coefficient \\
46 & \texttt{xx\_kapredi} & isopycnal diffusivity \\
47 & \texttt{xx\_diffkr} & diapycnal diffusivity \\ \hline
48 2D, time-varying controls & \texttt{gentim2D} \\
49 & \texttt{xx\_atemp} & atmospheric temperature \\
50 & \texttt{xx\_aqh} & atmospheric specific humidity \\
51 & \texttt{xx\_swdown} & downward shortwave \\
52 & \texttt{xx\_lwdown} & downward longwave \\
53 & \texttt{xx\_precip} & precipitation \\
54 & \texttt{xx\_uwind} & zonal wind \\
55 & \texttt{xx\_vwind} & meridional wind \\
56 & \texttt{xx\_tauu} & zonal wind stress \\
57 & \texttt{xx\_tauv} & meridional wind stress \\
58 & \texttt{xx\_gen\_precip} & globally averaged precipitation? \\
59 \end{tabular}
60 \caption{Generic control prefixes implemented as of checkpoint \mitgcmCheckpointVersion.}
61 \label{tbl:gencost_ctrl_files}
62 \end{table}
63
64 \begin{table}[!ht]
65 \centering
66 \begin{tabular}{lll}
67 name & description & arguments \\ \hline\hline
68 \texttt{WC01} & Correlation modeling & integer: operator type (default: 1) \\
69 \texttt{smooth} & Smoothing without normalization & integer: operator type (default: 1) \\
70 \texttt{docycle} & Average period replication & integer: cycle length \\
71 \texttt{replicate} & Alias for \texttt{docycle} & \ \ \ \ (units of \texttt{xx\_gentim2d\_period}) \\
72 \texttt{rmcycle} & Periodic average subtraction & integer: cycle length \\
73 \texttt{variaweight} & Use time-varying weight & --- \\
74 \texttt{noscaling}$^{a}$ & Do not scale with \texttt{xx\_gen*\_weight} & --- \\
75 \texttt{documul} & Sets \texttt{xx\_gentim2d\_cumsum} & ---\\
76 \texttt{doglomean} & Sets \texttt{xx\_gentim2d\_glosum} & --- \\
77 \end{tabular}
78 \caption{\texttt{xx\_gen????d\_preproc} options implemented as of checkpoint \mitgcmCheckpointVersion. Notes: $^a$: If \texttt{noscaling} is false, the control adjustment is scaled by one on the square root of the weight before being added to the base control variable; if \texttt{noscaling} is true, the control is multiplied by the weight in the cost function itself.}
79 \label{tbl:gencost_ctrl_preproc}
80 \end{table}
81
82 The control problem is non-dimensional by default, as reflected in the omission of weights in control penalties [($\vec{u}_j^T\vec{u}_j$ in \eqref{eq:Jtotal}]. Non-dimensional controls ($\vec{u}_j$) are scaled to physical units ($\vec{v}_j$) through multiplication by the respective uncertainty fields ($\sigma_{\vec{u}_j}$), as part of the generic preprocessor $\mathcal{Q}$ in \eqref{eq:Upreproc}. Besides the scaling of $\vec{u}_j$ to physical units, the preprocessor $\mathcal{Q}$ can include, for example, spatial correlation modeling (using an implementation of Weaver and Coutier, 2001) by setting \texttt{xx\_gen*\_preproc = 'WC01'}. Alternatively, setting \texttt{xx\_gen*\_preproc = 'smooth'} activates the smoothing part of \texttt{WC01}, but omits the normalization. Additionally, bounds for the controls can be specified by setting \texttt{xx\_gen*\_bounds}. In forward mode, adjustments to the $i^\text{th}$ control are clipped so that they remain between \texttt{xx\_gen*\_bounds(i,1)} and \texttt{xx\_gen*\_bounds(i,4)}. If \texttt{xx\_gen*\_bounds(i,1)} $<$ \texttt{xx\_gen*\_bounds(i+1,1)} for $i = 1, 2, 3$, then the bounds will ``emulate a local minimum;''\footnote{Not sure what this means.} otherwise, the bounds have no effect in adjoint mode.
83
84 For the case of time-varying controls, the frequency is specified by \texttt{xx\_gentim2d\_period}. The generic control package interprets special values of \texttt{xx\_gentim2d\_period} in the same way as the \texttt{exf} package: a value of $-12$ implies cycling monthly fields while a value of $0$ means that the field is steady. Time varying weights can be provided by specifying the preprocessor \texttt{variaweight}, in which case the \texttt{xx\_gentim2d\_weight} file must contain as many records as the control parameter time series itself (approximately the run length divided by \texttt{xx\_gentim2d\_period}).
85
86 The parameter \texttt{mult\_gen*} sets the multiplier for the corresponding cost function penalty [$\beta_j$ in \eqref{eq:Jtotal}; $\beta_j = 1$ by default). The preconditioner, $\cal{R}$, does not directly appear in the estimation problem, but only serves to push the optimization process in a certain direction in control space; this operator is specified by \texttt{gen*Precond} ($=1$ by default).
87
88
89

  ViewVC Help
Powered by ViewVC 1.1.22