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

Contents 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 - (show 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 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