Home Contact Us Site Map  
 
       
    next up previous contents
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 $ \sigma_{\vec{u}_j}^{-2}$
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 ($ =1$ by default)
mult_gen* real Cost function multiplier $ \beta_j$ ($ =1$ 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: $ ^a$ : 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$ ^{a}$ 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 [( $ \vec{u}_j^T\vec{u}_j$ in (8.1)]. 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 (8.4). 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 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 $ i^$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 $ i = 1, 2, 3$ , 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 $ -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 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 [$ \beta_j$ in (8.1); $ \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 gen*Precond ($ =1$ by default).


next up previous contents
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