Opened 4 years ago

Closed 4 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!

Change History (1)

comment:1 Changed 4 years ago by arango

  • Resolution set to Fixed
  • Status changed from new to closed
Note: See TracTickets for help on using tickets.