|
|
|
Next: 8.4 SMOOTH: Smoothing And
Up: 8. Ocean State Estimation
Previous: 8.2 PROFILES: model-data comparisons
Contents
8.3 CTRL: Model Parameter Adjustment Capability
The parameters available for configuring generic cost terms in data.ctrl are given in table 8.9.
Table 8.9:
Parameters in ctrl_nml_genarr namelist in data.ctrl. The * can be replaced by arr2d, arr3d, or tim2d for time-invariant two and three dimensional controls and time-varying 2D controls, respectively. Parameters for genarr2d, genarr3d, and gentime2d are arrays of length maxCtrlArr2D, maxCtrlArr3D, and maxCtrlTim2D, respectively, with one entry per term in the cost function.
parameter |
type |
function |
xx_gen*_file |
character(*) |
Name of control. Prefix from table 8.10 + suffix. |
xx_gen*_weight |
character(*) |
Weights in the form of
|
xx_gen*_bounds |
real(5) |
Apply bounds |
xx_gen*_preproc |
character(*) |
Control preprocessor(s) (see table 8.11) |
xx_gen*_preproc_c |
character(*) |
Preprocessor character arguments |
xx_gen*_preproc_i |
integer(*) |
Preprocessor integer arguments |
xx_gen*_preproc_r |
real(*) |
Preprocessor real arguments |
gen*Precond |
real |
Preconditioning factor (
by default) |
mult_gen* |
real |
Cost function multiplier
(
by default) |
xx_gentim2d_period |
real |
Frequency of adjustments (in seconds) |
xx_gentim2d_startdate1 |
integer |
Adjustment start date |
xx_gentim2d_startdate2 |
integer |
Default: model start date |
xx_gentim2d_cumsum |
logical |
Accumulate control adjustments |
xx_gentim2d_glosum |
logical |
Global sum of adjustment (output is still 2D) |
|
Table 8.10:
Generic control prefixes implemented as of checkpoint 65x.
|
name |
description |
2D, time-invariant controls |
genarr2d |
|
|
xx_etan |
initial sea surface height |
|
xx_bottomdrag |
bottom drag |
|
xx_geothermal |
geothermal heat flux |
3D, time-invariant controls |
genarr3d |
|
|
xx_theta |
initial potential temperature |
|
xx_salt |
initial salinity |
|
xx_kapgm |
GM coefficient |
|
xx_kapredi |
isopycnal diffusivity |
|
xx_diffkr |
diapycnal diffusivity |
2D, time-varying controls |
gentim2D |
|
|
xx_atemp |
atmospheric temperature |
|
xx_aqh |
atmospheric specific humidity |
|
xx_swdown |
downward shortwave |
|
xx_lwdown |
downward longwave |
|
xx_precip |
precipitation |
|
xx_uwind |
zonal wind |
|
xx_vwind |
meridional wind |
|
xx_tauu |
zonal wind stress |
|
xx_tauv |
meridional wind stress |
|
xx_gen_precip |
globally averaged precipitation? |
|
Table 8.11:
xx_gen????d_preproc options implemented as of checkpoint 65x. Notes:
: If 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 noscaling is true, the control is multiplied by the weight in the cost function itself.
name |
description |
arguments |
WC01 |
Correlation modeling |
integer: operator type (default: 1) |
smooth |
Smoothing without normalization |
integer: operator type (default: 1) |
docycle |
Average period replication |
integer: cycle length |
replicate |
Alias for docycle |
(units of xx_gentim2d_period) |
rmcycle |
Periodic average subtraction |
integer: cycle length |
variaweight |
Use time-varying weight |
-- |
noscaling
|
Do not scale with xx_gen*_weight |
-- |
documul |
Sets xx_gentim2d_cumsum |
-- |
doglomean |
Sets xx_gentim2d_glosum |
-- |
|
The control problem is non-dimensional by default, as reflected in the omission of weights in control penalties [(
in (8.1)]. Non-dimensional controls (
) are scaled to physical units (
) through multiplication by the respective uncertainty fields (
), as part of the generic preprocessor
in (8.4). Besides the scaling of
to physical units, the preprocessor
can include, for example, spatial correlation modeling (using an implementation of Weaver and Coutier, 2001) by setting xx_gen*_preproc = 'WC01'. Alternatively, setting xx_gen*_preproc = 'smooth' activates the smoothing part of WC01, but omits the normalization. Additionally, bounds for the controls can be specified by setting xx_gen*_bounds. In forward mode, adjustments to the
th
control are clipped so that they remain between xx_gen*_bounds(i,1) and xx_gen*_bounds(i,4). If xx_gen*_bounds(i,1)
xx_gen*_bounds(i+1,1) for
, then the bounds will ``emulate a local minimum;''8.3 otherwise, the bounds have no effect in adjoint mode.
For the case of time-varying controls, the frequency is specified by xx_gentim2d_period. The generic control package interprets special values of xx_gentim2d_period in the same way as the exf package: a value of
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 variaweight, in which case the xx_gentim2d_weight file must contain as many records as the control parameter time series itself (approximately the run length divided by xx_gentim2d_period).
The parameter mult_gen* sets the multiplier for the corresponding cost function penalty [
in (8.1);
by default). The preconditioner,
, 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 gen*Precond (
by default).
Next: 8.4 SMOOTH: Smoothing And
Up: 8. Ocean State Estimation
Previous: 8.2 PROFILES: model-data comparisons
Contents
mitgcm-support@mitgcm.org
Copyright © 2006
Massachusetts Institute of Technology |
Last update 2018-01-23 |
|
|