Opened 12 years ago
Closed 12 years ago
#607 closed bug (Fixed)
IMPORTANT: Corrected bug in t3dbc_im.F
Reported by: | arango | Owned by: | arango |
---|---|---|---|
Priority: | major | Milestone: | Release ROMS/TOMS 3.7 |
Component: | Nonlinear | Version: | 3.7 |
Keywords: | Cc: |
Description
A bug was corrected in t3dbc_im.F when computing the passive/active boundary conditions for tracers. In the western boundary we need to have:
IF (LBC(iwest,isTvar(itrc),ng)%nudging) THEN IF ((dTdt*dTdx).lt.0.0_r8) THEN tau=Tobc_in(itrc,ng,iwest) ELSE tau=Tobc_out(itrc,ng,iwest) END IF tau=tau*dt(ng) END IF instead of IF (LBC(iwest,isTvar(itrc),ng)%nudging) THEN tau=Tobc_out(itrc,ng,iwest) IF ((dTdt*dTdx).lt.0.0_r8) THEN tau=Tobc_in(itrc,ng,iwest) ELSE tau=tau*dt(ng) END IF END IF
Similar corrections are done for the eastern, southern, and northern boundaries.
This error implies that the inflow tracer values are not nudged as strongly as we thought by a factor of dt in days. In some applications with long time scales, this bug is not that significant. However, it effects are more noticeable when the nudging scales are comparable with the length of a single time-step (dt).
Once corrected, you will not be able to reproduce previous solutions unless that you increase the nudging time scale, tnudg(itrc), by a factor of dt in days (dt/86400). The change in that nudging scale may not be that significant and you get the save tracer behavior at the boundary.
Similar boundary conditions for other model state variables were correct.
Many thanks to Tingting ZU for bringing this to my attention!