3*******************************************************************************
4** copyright(c) 2002-2025 the roms group **
5** licensed under a mit/x style license **
6** see license_roms.md **
7*******************************************************************************
9** options for 4dvar
Data assimilation toy.
11** application flag: double_gyre
12** input script: roms_double_gyre.in
15** available driver options: choose only one and activate it in the
16** build.sh script(my_cpp_flags definition)
18** ad_sensitivity adjoint sensitivity
19** aft_eigenmodes adjoint finite time eigenmodes
20** correlation background-error correlation check
21** gradient_check tlm/adm gradient check
22** forcing_sv forcing singular vectors
23** ft_eigenmodes finite time eigenmodes
24** i4dvar incremental, strong constraint 4d-var
25** nlm_driver nonlinear basic state trajectory
26** opt_perturbation optimal perturbations
27** picard_test picard iterations tes
28** rbl4dvar strong/weak constraint rbl4d-var
29** r4dvar strong/weak constraint r4d-var
30** r_symmetry representer matrix symmetry tes
31** sanity_check sanity check
32** so_semi stochastic optimals: semi-norm
33** tlm_check tangent linear model check
39**-----------------------------------------------------------------------------
40** nonlinear basic state tracjectory.
41**-----------------------------------------------------------------------------
45# if defined SOLVE3D /* 3D Application */
67# if defined MY25_MIXING
85# else /* 2D Application */
102**-----------------------------------------------------------------------------
103** picard iteration test.
104**-----------------------------------------------------------------------------
107#if defined PICARD_TEST
108# if defined SOLVE3D /* 3D Application */
109# undef UV_C2ADVECTION
118# define SPLINES_VDIFF
119# define SPLINES_VVISC
136# define FORWARD_WRITE
139# else /* 2D Application */
140# undef UV_C2ADVECTION
151# define FORWARD_WRITE
157**-----------------------------------------------------------------------------
158** generalized stability theory analysis.
159**-----------------------------------------------------------------------------
162#if defined AFT_EIGENMODES || defined FT_EIGENMODES || \
163 defined forcing_sv || defined opt_perturbation || \
165# if defined SOLVE3D /* 3D Application */
183# else /* 2D Application */
196**-----------------------------------------------------------------------------
197** variational
Data assimilation.
198**-----------------------------------------------------------------------------
201#if defined CORRELATION || defined I4DVAR || \
202 defined rbl4dvar || defined r4dvar || \
203 defined r_symmetry || defined tlm_check
204# if defined SOLVE3D /* 3D Application */
205# undef UV_C2ADVECTION
206# undef UV_C4ADVECTION
216# define SPLINES_VDIFF
217# define SPLINES_VVISC
232# define FORWARD_WRITE
237# define IMPLICIT_VCONV
239# define RPM_RELAXATION
241# else /* 2D Application */
242# undef UV_C2ADVECTION
252# define FORWARD_WRITE
259**-----------------------------------------------------------------------------
261**-----------------------------------------------------------------------------
264#if defined SANITY_CHECK
265# if defined SOLVE3D /* 3D Application */
266# undef UV_C2ADVECTION
267# define UV_C4ADVECTION
279# define SPLINES_VDIFF
280# define SPLINES_VVISC
297# else /* 2D Application */
312**-----------------------------------------------------------------------------
313** 3d double-gyre adjoint sensitivity.
314**-----------------------------------------------------------------------------
317#if defined AD_SENSITIVITY
318# if defined SOLVE3D /* 3D Application */
319# undef UV_C2ADVECTION
320# undef UV_C4ADVECTION
330# define SPLINES_VDIFF
331# define SPLINES_VVISC
344# define AD_SENSITIVITY