Opened 12 years ago

Closed 12 years ago

#554 closed upgrade (Done)

Added capability for partial lateral boundaries

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

Description (last modified by arango)

Updated the lateral boundary conditions routines to allow partial boundary conditions in nesting applications. The switch LBC_apply is introduced to specify which boundary point is set in the lateral boundary routines. It is declared in mod_boundary.F:

        TYPE T_APPLY
          logical, pointer :: west(:)
          logical, pointer :: east(:)
          logical, pointer :: south(:)
          logical, pointer :: north(:)
        END TYPE

        TYPE (T_APPLY), allocatable :: LBC_apply(:)

These switches are set to TRUE by default. However in composite grids, the points processed by nesting are set to FALSE to allow mixed boundary conditions along the grid edges.

For example, in zetabc.F, we now have:

!
!  Western edge, gradient boundary condition.
!
        ELSE IF (LBC(iwest,isFsur,ng)%gradient) THEN
          DO j=Jstr,Jend
            IF (LBC_apply(ng)%west(j)) THEN
              zeta(Istr-1,j,kout)=zeta(Istr,j,kout)
#ifdef MASKING
              zeta(Istr-1,j,kout)=zeta(Istr-1,j,kout)*                  &
     &                            GRID(ng)%rmask(Istr-1,j)
#endif
            END IF
          END DO

Updated distribute.F to allow mp_collect to process integer data. Now we have the following interface:

      INTERFACE mp_collect
        MODULE PROCEDURE mp_collect_f
        MODULE PROCEDURE mp_collect_i
      END INTERFACE mp_collect

where mp_collect_f is for floating-point data and mp_collect_i is for integer data. However, we still use mp_collect globally. The interface selects the appropriate internal routine according to the dummy arguments.

I reorganized the indices of the code profiling regions in mp_exchange.F to include the regions for nesting computations. See mod_strings.F for details. Notice that the documentation in mod_strings.F was improved to easily see the profiling regions numbers and associated text.

Change History (2)

comment:1 by arango, 12 years ago

Description: modified (diff)

comment:2 by arango, 12 years ago

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