Opened 15 years ago

Closed 15 years ago

#318 closed upgrade (Done)

Updated 4DVAR adjustment of open boundaries

Reported by: arango Owned by: arango
Priority: major Milestone: Adjoint Based Algorithms
Component: Adjoint Version: 3.3
Keywords: Cc:

Description (last modified by arango)

This is a big update to the 4DVAR adjustment of open boundaries, ADJUST_BOUNDARY. Several bugs were corrected. Also, the adjustment of 2D momentum at the open boundaries was revisited. This adjustment is now computed by integrating the 3D momentum increments. This is consistent with other adjoint-based algorithms. Many thanks to Andy Moore for his great help in debugging and testing this algorithm.

The following changes were coded:

  • The logical switches Lobc that controls the adjustment of each state variable at each open boundary edge are now specified in input script s4dvar.in. These parameters are now read in inp_par.F and written to output NetCDF files. Internally, we make sure that both momentum components are activated for processing. If adjusting 2D momentum boundaries in 3D applications, we make sure that the free-surface and 3D momentum switches are also activated. This is because the 2D momentum open boundary adjustments are computed from the vertical integral of the 3D momentum increments.
  • The vertical integration of 3D momentum at the open boundaries required and special level thickness Hz_bry that includes the values of the free-surface specified in the open boundary conditions. These thicknesses are computed in a new routine set_depth_bry which is appended at the bottom of set_depth.F. This logic is also incorporated in the tangent linear, representer, and adjoint models.
  • A new switch Lstflux is also introduced to facilitate the surface tracer fluxes adjustments. This parameter is also specified in input script s4dvar.in. This will allow us to choose which tracer variable to adjust when ADJUST_STFLUX is activated. It will be very convenient when processing passive tracer like biology.
  • The input parameters Hgamma and Vgamma that controls the stability and accuracy of the horizontall and vertical error covariance convolutions are now a 4 element array in s4dvar.in. Each element corresponds to error covariance modeling for initial conditions (1), model (2), open boundary conditions (3), and surface forcing (4).
  • Several corrections to the observation sensitivities to the 4DVAR systems are included. Many thanks to Andy Moore for testing this algorithms.
  • Added routines in mod_netcdf.F to write logical variables into output NetCDF files as integers. Here, .FALSE. is interpreted as zero and .TRUE. is interpreted as one. This is more convenient than writing character arrays.

I also corrected couple of bugs reported by Gregoire Broquet and Jerome Fiechter.

Change History (1)

comment:1 by arango, 15 years ago

Description: modified (diff)
Resolution: Done
Status: newclosed
Note: See TracTickets for help on using tickets.