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: Select all
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)
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 IS4DVAR 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.
Notice that the following directory structure is recommended to set-up your application. For example,
Code: Select all
Projects/ Root Application directory
/double_gyre/ Double gyre application
/Data Input NetCDF files
/Forward Nonlinear model solution
/IS4DVAR Is4DVAR estimation
/OBS Data assimilation observations