Custom Query (964 matches)

Filters
 
Or
 
  
 
Columns

Show under each result:


Results (307 - 309 of 964)

Ticket Owner Reporter Resolution Summary
#405 arango arango Done Momentun and tracer equations diagnostic terms revisited
Description

The time-averaged, diagnostic terms for the momentum (DIAGNOSTICS_UV) and tracer (DIAGNOSTICS_TS) equations were expanded to include components in the ξ- and η-directions for horizontal advection and horizontal viscosity/diffusion.

  • The momentum advection output variables are:
    ubar_hadv, vbar_hadv     2D momentum horizontal   advection
    ubar_xadv, vbar_xadv     2D momentum horizontal ξ-advection
    ubar_yadv, vbar_yadv     2D momentum horizontal η-advection
    
    u_hadv,    v_hadv        3D momentum horizontal   advection
    u_xadv,    v_xadv        3D momentum horizontal ξ-advection
    u_yadv,    v_yadv        3D momentum horizontal η-advection
    u_vadv,    v_vadv        3D momentum vertical     advection
    
  • The momentum viscosity (stress tensor) output variables are:
    ubar_hvisc, vbar_hvisc   2D momentum horizontal   viscosity
    ubar_xvisc, vbar_xvisc   2D momentum horizontal ξ-viscosity
    ubar_yvisc, vbar_yvisc   2D momentum horizontal η-viscosity
    
    u_hvisc,    v_hvisc      3D momentum horizontal   viscosity
    u_xvisc,    v_xvisc      3D momentum horizontal ξ-viscosity
    u_yvisc,    v_yvisc      3D momentum horizontal η-viscosity
    u_vvisc,    v_vvisc      3D momentum vertical     viscosity
    
  • The tracer advection output variables are: (Tname is typically, temp, salt, ...)
    Tname_hadv               tracer horizontal   advection
    Tname_xadv               tracer horizontal ξ-advection
    Tname_yadv               tracer horizontal η-advection
    Tname_vadv               tracer vertical     advection
    
  • The tracer diffusion output variables are: (Tname is typically, temp, salt, ...)
    Tname_hdiff              tracer horizontal   diffusion
    Tname_xdiff              tracer horizontal ξ-diffusion
    Tname_ydiff              tracer horizontal η-diffusion
    Tname_sdiff              tracer horizontal s-diffusion (rotated tensor)
    Tname_vdiff              tracer vertical     diffusion
    
  • Vorticity diagnostics output variables (new fields computed in new routine vorticity.F):
    rvorticity_bar           2D relative  vorticity
    pvorticity_bar           2D potential vorticity
    
    rvorticity               3D relative  vorticity
    pvorticity               3D potential vorticity
    


Implementation notes:

  • In order to split the momentum horizontal advection component, the nonlinear model code was modify a little to facilitate the computation of each term. The Coriolis term is separated from the curvilinear advection term.
  • The rotated component of the momentum stress tensor (MIX_GEO_UV) cannot be split because of the coupling between 2D and 3D momentum equations. However, they are added to the ξ- and η-components of the tensor, so it can be used to force the vertically integrated diagnostic equations. See uv3dmix2_geo.h or uv3dmix4_geo.h for details.
  • The momentum diagnostic array indices in mod_scalar.F are tricky and need to be assigned in a specific order to allow compact DO-loop structure which improves flexibility.
# ifdef DIAGNOSTICS_UV
!
!  Indices for 2D momentum diagnostic variables.  In some places in
!  the code a compact DO-loop (idiag=1:M2pgrd) is used to improve
!  flexibility. Therefore, the order of indices is very important.
!  Only those fields that require special treatment are set below
!  the M2pgrd index.
!
      ic=0
#  if defined UV_COR
      M2fcor=ic+1
      ic=ic+1
#  endif
#  if defined UV_ADV
      M2hadv=ic+1
      M2xadv=ic+2
      M2yadv=ic+3
      ic=ic+3
#  endif
#  if defined NEARSHORE_MELLOR
      M2hrad=ic+1
      ic=ic+1
#  endif
#  if defined UV_VIS2 || defined UV_VIS4
      M2hvis=ic+1
      M2xvis=ic+2
      M2yvis=ic+3
      ic=ic+3
#  endif
      M2pgrd=ic+1
      M2sstr=ic+2             ! These indices need to be
      M2bstr=ic+3             ! specified last to allow a
      M2rate=NDM2d            ! compact DO-loop structure
#  ifdef SOLVE3D
!
!  Indices for 3D momentum diagnostic variables.  In some places in
!  the code a compact DO-loop (idiag=1:M3pgrd) is used to improve
!  flexibility. Therefore, the order of indices is very important.
!  Only those fields that require special treatment are set below
!  the M3pgrd index.
!
      ic=0
#   if defined UV_COR
      M3fcor=ic+1
      ic=ic+1
#   endif
#   if defined UV_ADV
      M3vadv=ic+1
      M3hadv=ic+2
      M3xadv=ic+3
      M3yadv=ic+4
      ic=ic+4
#   endif
#   if defined NEARSHORE_MELLOR
      M3hrad=ic+1
      M3vrad=ic+2
      ic=ic+2
#   endif
      M3pgrd=ic+1             ! needs to be here, indices below
      M3vvis=ic+2             ! require special treatment
#   if defined UV_VIS2 || defined UV_VIS4
      M3hvis=ic+3
      M3xvis=ic+4
      M3yvis=ic+5
#   endif
      M3rate=NDM3d
#  endif
# endif
  • WARNING: The order between multiplication, addition, and subtraction changed in the horizontal advection and viscosity/diffusion terms to allow the split of horizontal diagnostic terms. This implies that you will not get identical solutions with previous versions of ROMS due to roundoff. The differences may range between 1E-09 to 1E-17 or smaller.
  • The total horizontal term does not add exactly to the ξ- and η-components due to roundoff and accumulated roundoff in the time averages. In some simple application, I get identical numbers. In realistic applications the roundoff if of the order of 1E-17 or smaller.
  • The changes in the nonlinear code were not propagated to the tangent linear, representer, and adjoint models for convenience. However, these operators are still self consistent to the linearization and hava the same symmetry properties.
#406 arango jcwarner Fixed radiation_stress.F angle incorrecly adjusted !!!!!
Description

Ticket 404 (src:ticket:404) incorrectly modified the wave angle in radiation_stress.F.

The angle in radiation_stress.F needs to be changed back to the correct form that I have used for the past 5 years:

       cff=1.5_r8*pi-Dwave(i,j)-angler(i,j)
#407 arango arango Fixed Subscript of range for DiaU2rhs and DiaV2rhs
Description

Corrected a bug in step2d_LF_AM3.h with subscript out range for local arrays DiaU2rhs and DiaV2rhs. This bug was introduced recently in src:ticket:403.

Many thanks to Joe Jurisa and Carlos Teixeira for reporting this problem.

NOTICE: The file varinfo.dat was changed in src:ticket:403 to include the new definitions for the additional diagnostics variables. Make sure that you use the latest version of varinfo.dat when DIAGNOSTICS_TS and/or DIAGNOSTICE_UV are activated.

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