Custom Query (964 matches)

Filters
 
Or
 
  
 
Columns

Show under each result:


Results (382 - 384 of 964)

Ticket Owner Reporter Resolution Summary
#318 arango arango Done Updated 4DVAR adjustment of open boundaries
Description

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.

#320 arango arango Fixed More corrections to the 4DVAR adjustment of open boundaries
Description

Additional changes were made to the 4DVAR adjustment of open boundaries, ADJUST_BOUNDARY. We need to separate the adjustment of 2D momentum in 3D applications. The modules tl_obc_adjust.F, rp_obc_adjust.F, and ad_obc_adjust.F now have an additional routine to compute the vertical integral of 3D momentum increments used in the 2D momentum adjustments. These are now computed in tl_obc2d_adjust, rp_obc2d_adjust, and ad_obc2d_adjust, respectively.

Also corrected rp_set_depth_bry. This routine is special and now is equivalent to tl_set_depth_bry. The additional terms that are added during the representer (finite amplitude tangent linear) model transformation are not needed here because of the way that the adjustments to the boundary are computed.

As always, many thanks to Andy Moore for his help in debugging and testing this algorithm.

#322 arango arango Fixed Missing index in 4DVAR boundary adjustments
Description

The ib index was not assigned in ad_variability.F and tl_variability.F. This was giving the incorrect error covariance at the boundaries. Also corrected ana_perturb.h for boundary forcing with delta functions.

A bug was also corrected in cgradient_lanczos.h when the ADJUST_WSTRESS option was activated. The variable ad_vstr was passed as argument to state_dotprod instead of tl_vstr during preconditioning.

Many thanks to Andy Moore and Gregorie Broquet for reporting these bugs.

Batch Modify
Note: See TracBatchModify for help on using batch modify.
Note: See TracQuery for help on using queries.