# Ocean Modeling Discussion

ROMS/TOMS

Search for:
 It is currently Tue Oct 23, 2018 5:01 pm

 Page 1 of 1 [ 2 posts ]
 All times are UTC
Author Message
 Post subject: Double Gyre, 4DVar TestPosted: Tue May 08, 2007 9:35 pm

Joined: Wed Feb 26, 2003 4:41 pm
Posts: 1044
Location: IMCS, Rutgers University
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 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.
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

Top

 Post subject: Posted: Mon May 14, 2007 11:52 pm

Joined: Tue Jul 01, 2003 4:12 am
Posts: 509
Location: NIWA
I still don't get it

We have a Forward subdirectory into which we install a forward model executable? In ROMS/Include/double_gyre.h there are a whole set of #if blocks. The first is headed "#if defined NLM_DRIVER". Is this the one you use to generated the forward model? Then there's one headed #if defined PICARD_TEST" and several others with more complicated conditions. Presumably I can build each of these by setting the appropriate preprocessor macros and install the executable into its own subdirectory? So I build the ones I need then run job_is4dvar.sh to build the input scripts and submit_is4dvar.sh to run the process??

Top

 Display posts from previous: All posts1 day7 days2 weeks1 month3 months6 months1 year Sort by AuthorPost timeSubject AscendingDescending
 Page 1 of 1 [ 2 posts ]

 All times are UTC

#### Who is online

Users browsing this forum: No registered users and 1 guest

 You cannot post new topics in this forumYou cannot reply to topics in this forumYou cannot edit your posts in this forumYou cannot delete your posts in this forumYou cannot post attachments in this forum

Search for:
 Jump to:  Select a forum ------------------ News, Events & Job Opportunities    Meetings/Workshops    Job Opportunities    Ocean News ROMS/TOMS    ROMS Adjoint    ROMS Benchmarks    ROMS Bugs    ROMS Discussion    ROMS Documentation    ROMS Ecosystem    ROMS FAQ    ROMS Ice    ROMS Information    ROMS Installation    ROMS Known Problems    ROMS Messages    ROMS Problems    ROMS Releases    ROMS Results    ROMS Sediment    ROMS Source    ROMS Tips    ROMS Tools and Techniques    ROMS Trivia    ROMS Usage    ROMS Webinar    ROMS Wish List ROMS/TOMS Applications    User Applications    Adriatic Sea Ocean Modeling    Ocean Modeling FAQ