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

Annotation of /MITgcm_contrib/submesoscale/code/obcs_check_grid.F

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


Revision 1.1 - (hide annotations) (download)
Fri Mar 19 19:28:27 2010 UTC (15 years, 3 months ago) by jmc
Branch: MAIN
CVS Tags: HEAD
take S/R OBCS_CHECK_GRID  out of obcs_check.F and put it in a separated file
(can now use use standard obcs_check.F file)

1 jmc 1.1 C $Header: /u/gcmpack/MITgcm_contrib/submesoscale/code/obcs_check.F,v 1.2 2008/05/31 00:47:06 dimitri Exp $
2     C $Name: $
3    
4     #include "OBCS_OPTIONS.h"
5    
6     SUBROUTINE OBCS_CHECK_GRID( myThid )
7     C *==========================================================*
8     C | SUBROUTINE OBCS_CHECK_GRID |
9     C | o Fix overlap regions to avoid discontinuities |
10     C | in dxc, dyc, etc. |
11     C *==========================================================*
12     C *==========================================================*
13     IMPLICIT NONE
14    
15     C === Global variables ===
16     #include "SIZE.h"
17     #include "EEPARAMS.h"
18     #include "PARAMS.h"
19     #include "GRID.h"
20     #include "OBCS.h"
21    
22     C === Routine arguments ===
23     C myThid - Number of this instances
24     INTEGER myThid
25    
26     #ifdef ALLOW_OBCS
27     C === Local variables ===
28     C msgBuf - Informational/error meesage buffer
29     INTEGER bi, bj, I, J, I_obc, J_obc
30    
31     C-- Modify dxC and dyC in the OBCS overlap regions to avoid
32     C discontinuities in horizontal gradients
33     DO bj = myByLo(myThid), myByHi(myThid)
34     DO bi = myBxLo(myThid), myBxHi(myThid)
35    
36     #ifdef ALLOW_OBCS_NORTH
37     DO I=1-Olx,sNx+Olx
38     J_obc = OB_Jn(I,bi,bj)
39     IF (J_obc.NE.0) THEN
40     DO J = J_obc+1, J_obc+Oly
41     dxC(I,J,bi,bj) = dxC(I,J_obc,bi,bj)
42     dyC(I,J,bi,bj) = dyC(I,J_obc,bi,bj)
43     ENDDO
44     ENDIF
45     ENDDO
46     #endif
47    
48     #ifdef ALLOW_OBCS_SOUTH
49     DO I=1-Olx,sNx+Olx
50     J_obc = OB_Js(I,bi,bj)
51     IF (J_obc.NE.0) THEN
52     DO J = J_obc-Oly, J_obc-1
53     dxC(I,J,bi,bj) = dxC(I,J_obc,bi,bj)
54     dyC(I,J,bi,bj) = dyC(I,J_obc,bi,bj)
55     ENDDO
56     ENDIF
57     ENDDO
58     #endif
59    
60     #ifdef ALLOW_OBCS_EAST
61     DO J=1-Oly,sNy+Oly
62     I_obc = OB_Ie(J,bi,bj)
63     IF (I_obc.NE.0) THEN
64     DO I = I_obc+1, I_obc+Olx
65     dxC(I,J,bi,bj) = dxC(I_obc,J,bi,bj)
66     dyC(I,J,bi,bj) = dyC(I_obc,J,bi,bj)
67     ENDDO
68     ENDIF
69     ENDDO
70     #endif
71    
72     #ifdef ALLOW_OBCS_WEST
73     DO J=1-Oly,sNy+Oly
74     I_obc=OB_Iw(J,bi,bj)
75     IF (I_obc.NE.0) THEN
76     DO I = I_obc-Olx, I_obc-1
77     dxC(I,J,bi,bj) = dxC(I_obc,J,bi,bj)
78     dyC(I,J,bi,bj) = dyC(I_obc,J,bi,bj)
79     ENDDO
80     ENDIF
81     ENDDO
82     #endif
83    
84     ENDDO
85     ENDDO
86    
87     #endif /* ALLOW_OBCS */
88    
89     RETURN
90     END

  ViewVC Help
Powered by ViewVC 1.1.22