Idealized Double Gyre, 4DVar Twin Experiments
We use the idealized double gyre application (

DOUBLE_GYRE) to test all the adjoint-based algorithms. The double gyre is set-up in a 1000x2000 km2 rectangular basin with a constant depth of 500 m. The basic configuration parameters are:

**Code:**

grid = 54 x 108 x 4

dx = 18.5185 km

dy = 18.5185 km

dt = 3600 s (24 timesteps per day)

depth = 500 m

visc2 = 1280 m2/s (steady solution)

A high viscosity value is used to suppress eddy activity and achieve a steady state solution. The model is spun-up for 20 years. Then, the viscosity is lowered to 160 m2/s and run for another 10 years to compute the unsteady solution which is used to compute the background error correlation standard deviations. This is used to dimensionalize the background error covariance used in the

IS4DVAR spatial convolutions. The model is further run for one day to get the

true ocean state used in the one-day data assimilation twin experiments. The observations to assimilate are extracted at day 1 and at every grid point for SSH, u, v, temperture and salinity from this one-day run.

The first guess (backgound) for the assimilation experiments (basic state initial conditions) is the average of the 10-year unsteady solution.

All the NetCDF files needed to run the I

S4DVAR algorithm are provided

here See tar file

double_gyre.tar.gz containing the following files:

- Data/gyre3d_bck.nc: Background state computed as the 10-year time average of the unsteady solution. It is used as first guess initial conditions for the nonlinear model. In operational prediction, the first guess is usually the previous forecast.

- Data/gyre3d_hss.nc: Eigenpairs used to approximate the Hessian matrix during preconditioning. These eigenvalues and eigenvectors are computed from the Lanczos/conjugate gradient algorithm when IS4DVAR and LANCZOS CPP options are activated. For more information, please visit the following link.

- Data/gyre3d_ini_unsteady.nc: Unsteady initial conditions for the nonlinear model to compute the true state used to extract twin experiment observations. The nonlinear model is run for just one day. The observations are extracted from the day one history record.

- Data/gyre3d_ini_zero.nc: Generic zero fields initial conditions used to initialize the tangent linear and adjoint models. The adjoint model is always initialized from rest. The tangent linear model is intialized from rest at the start of the inner loop.

- Data/gyre3d_nrm_100k100i.nc: Background error covariance normalization coefficients. They only need to be computed once for a particular set of decorrelation scales. Please check the following link for detailed information.

- Data/gyre3d_std.nc: Background error covariance standard deviation computed from the 10-year unsteady solution. It is used to dimensionalize the Background error correlations during the spatial convolutions.

- OBS/gyre3d_zSST_obs.nc: Sea surface height and sea surface temperature observations at every grid point, day 1.

- OBS/gyre3d_zuvTS_obs.nc: Sea surface height, 3D momentum, temperature, and salinity observations at every grid point, day 1.

- IS4DVAR/job_is4dvar.sh: IS4DVAR file configuration script. It needs to be excuted every time before running the IS4DVAR algorithm. See its contents for more information.

The following developers

link provides information about the IS4DVAR algorithm that uses the conjugate gradient without the Lanczos algorithm. The advantage of this algorithm is that reports the value of the cost function at every iteration. The Lanczos algorithm only can compute the value of the cost function at the last inner loop. Both algorithms produces similar solutions. The Lanczos algorithm is more expensive due to the additional IO. It only needs to be run once to estimate the eigenpairs used during preconditioning.

Notice that the following directory structure is recommended to set-up your application. For example,

**Code:**

Projects/ Root Application directory

/double_gyre/ Double gyre application

/Data Input NetCDF files

/Forward Nonlinear model solution

/IS4DVAR Is4DVAR estimation

/OBS Data assimilation observations

Several subdirectories may be added for other adjoint-based applications.