Opened 15 years ago
Closed 15 years ago
#466 closed bug (Fixed)
IMPORTANT: horizontal viscosity and MIX_GEO_UV
Reported by: | arango | Owned by: | arango |
---|---|---|---|
Priority: | major | Milestone: | Release ROMS/TOMS 3.4 |
Component: | Nonlinear | Version: | 3.4 |
Keywords: | Cc: |
Description
Checking the horizontal viscosity along geopotentials (MIX_GEO_UV) has been in my to-do list for very long time. We have some complains about this in the past about the model blowing-up in parallel applications and arrays out-of-range in couple of DO-loops. I checked this problem and I was able to reproduce the reported problems.
I corrected the parallel bugs for uv3dmix2_geo.h and uv3dmix4_geo.h. Also corrected a missing dt factor in the biharmonic mixing.
I did an analysis for each do loop and reworked all the DO-loop ranges and eliminated specifying them with local CPP directives. I wrote then in such a way that eliminated special treatment in nesting applications.
I also revised and tested the tangent linear, representer, and adjoint version of these routines. I also added the new code for time-evolving, 3D viscosity coefficients. However, this time evolving capability is not yet available in adjoint-based applications. It is coded for completeness and availability in the future.
Many thanks to Xinyou Lin for bringing this to my attention.
Although the MIX_GEO_UV option is rarely used for momentum. I highly recommend everybody to update because this is an important correction and this bug has been in ROMS for long time.