/[MITgcm]/MITgcm_contrib/submesoscale/code/obcs_check.F
ViewVC logotype

Diff of /MITgcm_contrib/submesoscale/code/obcs_check.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.1 by dimitri, Sat May 31 00:13:54 2008 UTC revision 1.2 by dimitri, Sat May 31 00:47:06 2008 UTC
# Line 254  C     endif (OBCSfixTopo) Line 254  C     endif (OBCSfixTopo)
254                
255        RETURN        RETURN
256        END        END
257    
258          SUBROUTINE OBCS_CHECK_GRID( myThid )
259    C     /==========================================================\
260    C     | SUBROUTINE OBCS_CHECK_GRID                               |
261    C     | o Fix overlap regions to avoid discontinuities           |
262    C     |   in dxc, dyc, etc.                                      |
263    C     |==========================================================|
264    C     \==========================================================/
265          IMPLICIT NONE
266    
267    C     === Global variables ===
268    #include "SIZE.h"
269    #include "EEPARAMS.h"
270    #include "PARAMS.h"
271    #include "GRID.h"
272    #include "OBCS.h"
273    
274    C     === Routine arguments ===
275    C     myThid -  Number of this instances
276          INTEGER myThid
277    
278    #ifdef ALLOW_OBCS
279    C     === Local variables ===
280    C     msgBuf      - Informational/error meesage buffer
281          INTEGER bi, bj, I, J, I_obc, J_obc
282    
283    C--   Modify dxC and dyC in the OBCS overlap regions to avoid
284    C     discontinuities in horizontal gradients
285          DO bj = myByLo(myThid), myByHi(myThid)
286           DO bi = myBxLo(myThid), myBxHi(myThid)
287    
288    #ifdef ALLOW_OBCS_NORTH
289            DO I=1-Olx,sNx+Olx
290             J_obc = OB_Jn(I,bi,bj)
291             IF (J_obc.NE.0) THEN
292              DO J = J_obc+1, J_obc+Oly
293               dxC(I,J,bi,bj) = dxC(I,J_obc,bi,bj)
294               dyC(I,J,bi,bj) = dyC(I,J_obc,bi,bj)
295              ENDDO
296             ENDIF
297            ENDDO
298    #endif
299    
300    #ifdef ALLOW_OBCS_SOUTH
301            DO I=1-Olx,sNx+Olx
302             J_obc = OB_Js(I,bi,bj)
303             IF (J_obc.NE.0) THEN
304              DO J = J_obc-Oly, J_obc-1
305               dxC(I,J,bi,bj) = dxC(I,J_obc,bi,bj)
306               dyC(I,J,bi,bj) = dyC(I,J_obc,bi,bj)
307              ENDDO
308             ENDIF
309            ENDDO
310    #endif
311    
312    #ifdef ALLOW_OBCS_EAST
313            DO J=1-Oly,sNy+Oly
314             I_obc = OB_Ie(J,bi,bj)
315             IF (I_obc.NE.0) THEN
316              DO I = I_obc+1, I_obc+Olx
317               dxC(I,J,bi,bj) = dxC(I_obc,J,bi,bj)
318               dyC(I,J,bi,bj) = dyC(I_obc,J,bi,bj)
319              ENDDO
320             ENDIF
321            ENDDO
322    #endif
323    
324    #ifdef ALLOW_OBCS_WEST
325            DO J=1-Oly,sNy+Oly
326             I_obc=OB_Iw(J,bi,bj)
327             IF (I_obc.NE.0) THEN
328              DO I = I_obc-Olx, I_obc-1
329               dxC(I,J,bi,bj) = dxC(I_obc,J,bi,bj)
330               dyC(I,J,bi,bj) = dyC(I_obc,J,bi,bj)
331              ENDDO
332             ENDIF
333            ENDDO
334    #endif
335            
336           ENDDO
337          ENDDO
338    
339    #endif /* ALLOW_OBCS */
340          
341          RETURN
342          END

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

  ViewVC Help
Powered by ViewVC 1.1.22