Opened 10 years ago
Closed 10 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.