Opened 9 years ago

Closed 9 years ago

Last modified 9 years ago

#681 closed upgrade (Done)

IMPORTANT: replacing option SPLINES

Reported by: arango Owned by: arango
Priority: major Milestone: Release ROMS/TOMS 3.7
Component: Nonlinear Version: 3.7
Keywords: Cc:

Description (last modified by arango)

The C-preprocessing option SPLINES have been in ROMS since the beginning. It is used to activate conservative, parabolic splines reconstruction of vertical derivatives in the following routines:

  • gls_corstep.F: vertical velocity shear for Richardson Number (if option GLS_MIXING)
  • my25_corstep.F: vertical velocity shear for Richardson Number (if option MY25_MIXING)
  • lmd_bkpp.F: bulk Richardson Number (if options LMD_MIXING and LMD_BKPP)
  • lmd_skpp.F: bulk Richardson Number (if options LMD_MIXING and LMD_SKPP)
  • lmd_vmix.F: bulk Richardson Number (if option LMD_MIXING)
  • step3d_t.F: vertical diffusion
  • step3d_uv.F: vertical viscosity

There has been several messages in the ROMS forum discussing the problems when SPLINES is used to compute vertical viscosity and vertical diffusion. This was first brought to our attention by Evgeny Logvinov when checking the stress condition (sustr = Akv * du/dz and svstr = Akv * dv/dz). He noticed that the stress condition was not holding and he got a very sharp change in du/dz and dv/dz 1m below the surface. Everything worked fine when SPLINES was not activated. Similar behavior was discussed Chris Sherwood.

I know of several users that avoid using the SPLINES option because the of the surface and bottom stress condition needs to be preserved. However, it is nice is nice to have the parabolic splines reconstruction when computing either Richardson Number or Bulk Richardson Number. The vertical velocity shear (used as a squared quantity in the denominator) is a very noisy quantity so using parabolic splines yields a smoother values.

Therefore, the C-preprocessing option SPLINES is removed and replaced with following three options for more flexibility:

  • SPLINES_VDIFF: conservative, parabolic splines reconstruction for vertical diffusion on active and passive tracers (step3d_t.f).
  • SPLINES_VVISC: conservative, parabolic splines reconstruction for vertical diffusion on active and passive tracers (step3d_uv.f).
  • RI_SPLINES: conservative, parabolic splines reconstruction for vertical velocity shear used in the Richardson Number (gls_corstep.F and my25_corstep.F) and Bulk Richardson Number (lmd_bkpp.F, lmd_skpp.F, and lmd_vmis.F).

WARNING: ROMS will issue an error message if the option SPLINES is activated after this update. The user will need to activate the SPLINES_VVISC and SPLINES_VDIFF. Also you will need to activate RI_SPLINES if using GLS_MIXING, LMD_MIXING, MY25_MIXING. Therefore, users need to update the header file for their applications.

Several header files were updated in the trunk repository and test repositories. I highly recommend users to update their repositories.


The new options provide more flexibility while preserving legacy codes and applications. Users should get identical results if activating the new options described above.

Change History (2)

comment:1 by arango, 9 years ago

Description: modified (diff)
Resolution: Done
Status: newclosed

comment:2 by arango, 9 years ago

Description: modified (diff)
Note: See TracTickets for help on using tickets.