Opened 9 years ago

Closed 9 years ago

#685 closed defect (Fixed)

IMPORTANT: Corrected two-way nesting in layers with more than one grid

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

Description

In applications with more than one refined grid in a nested layer (GridsInLayer(ng) > 1), the two-way nesting was applied only to the first grid in that layer. The other grid(s) interactions in such layer were just one-way.

This was corrected by just changing function do_twoway (in nesting.F) and changing main2d.F and main3d.F from:

            DO il=NestLayers,1,-1
              IF (do_twoway(nl,il,istep,ng)) THEN
                CALL nesting (ng, iNLM, n2way)
              END IF
            END DO

to

            DO il=NestLayers,1,-1
              DO ig=1,GridsInLayer(il)
                ng=GridNumber(ig,il)
                IF (do_twoway(nl,il,ng,istep)) THEN
                  CALL nesting (ng, iNLM, n2way)
                END IF
              END DO
            END DO

Notice that the loop DO ig=1,1GridsInLayer(il) was removed from function do_twoway and put it in main2d.F and main3d.F instead.

This is not fatal for a particular application. It is just that all grids interactions is not two-way. It only affect application with more than one refinement grid in a particular nested layer, GridsInLayer(ng) > 1.

Many thanks to Francisco López for bringing this to my attention.

Change History (1)

comment:1 by arango, 9 years ago

Resolution: Fixed
Status: newclosed
Note: See TracTickets for help on using tickets.