1 |
C $Header: /u/gcmpack/models/MITgcmUV/pkg/obcs/Attic/OBCS.h,v 1.1.2.1 2001/01/30 21:03:00 adcroft Exp $ |
2 |
C $Name: branch-atmos-merge-freeze $ |
3 |
|
4 |
#ifdef ALLOW_OBCS |
5 |
|
6 |
C-- Private logical flag to record active status of package |
7 |
LOGICAL OBCSisON |
8 |
COMMON /OBCS_PACKAGE/ OBCSisON |
9 |
|
10 |
C These are input arrays (of integers) that contain the *absolute* |
11 |
C computational index of an open-boundary (OB) point. |
12 |
C A zero (0) element means there is no corresponding OB in that column/row. |
13 |
C The computational coordinate refers to "tracer" cells. |
14 |
C For a northern/southern OB, the OB V point is to the south/north. |
15 |
C For an eastern/western OB, the OB U point is to the west/east. |
16 |
C eg. |
17 |
C OB_Jnorth(3)=34 means that: |
18 |
C T( 3 ,34) is a an OB point |
19 |
C U(3:4,34) is a an OB point |
20 |
C V( 4 ,34) is a an OB point |
21 |
C while |
22 |
C OB_Jsouth(3)=1 means that: |
23 |
C T( 3 ,1) is a an OB point |
24 |
C U(3:4,1) is a an OB point |
25 |
C V( 4 ,2) is a an OB point |
26 |
C |
27 |
C For convenience, negative values for Jnorth/Ieast refer to |
28 |
C points relative to the Northern/Eastern edges of the model |
29 |
C eg. OB_Jnorth(3)=-1 means that the point (3,Ny) is a northern O-B. |
30 |
C |
31 |
COMMON /PARM_OB/ |
32 |
& OB_Jnorth,OB_Jsouth,OB_Ieast,OB_Iwest, |
33 |
& useOrlanskiNorth,useOrlanskiSouth, |
34 |
& useOrlanskiEast,useOrlanskiWest |
35 |
INTEGER OB_Jnorth(Nx) |
36 |
INTEGER OB_Jsouth(Nx) |
37 |
INTEGER OB_Ieast(Ny) |
38 |
INTEGER OB_Iwest(Ny) |
39 |
LOGICAL useOrlanskiNorth |
40 |
LOGICAL useOrlanskiSouth |
41 |
LOGICAL useOrlanskiEast |
42 |
LOGICAL useOrlanskiWest |
43 |
|
44 |
C-- COMMON /GRID_OB/ Open boudary related stuff |
45 |
C OBNu is the U value imposed at the Northern OB |
46 |
C OBNv is the V value imposed at the Northern OB |
47 |
C OBNt is the T value imposed at the Northern OB |
48 |
C OBNu is the S value imposed at the Northern OB |
49 |
C etc |
50 |
C |
51 |
COMMON /GRID_OB/ |
52 |
& OBNu,OBNv,OBNt,OBNs, |
53 |
& OBSu,OBSv,OBSt,OBSs, |
54 |
& OBEu,OBEv,OBEt,OBEs, |
55 |
& OBWu,OBWv,OBWt,OBWs, |
56 |
& OB_Jn,OB_Js,OB_Ie,OB_Iw |
57 |
_RS OBNu (1-Olx:sNx+Olx,Nr,nSx,nSy) |
58 |
_RS OBNv (1-Olx:sNx+Olx,Nr,nSx,nSy) |
59 |
_RS OBNt (1-Olx:sNx+Olx,Nr,nSx,nSy) |
60 |
_RS OBNs (1-Olx:sNx+Olx,Nr,nSx,nSy) |
61 |
_RS OBSu (1-Olx:sNx+Olx,Nr,nSx,nSy) |
62 |
_RS OBSv (1-Olx:sNx+Olx,Nr,nSx,nSy) |
63 |
_RS OBSt (1-Olx:sNx+Olx,Nr,nSx,nSy) |
64 |
_RS OBSs (1-Olx:sNx+Olx,Nr,nSx,nSy) |
65 |
_RS OBEu (1-Oly:sNy+Oly,Nr,nSx,nSy) |
66 |
_RS OBEv (1-Oly:sNy+Oly,Nr,nSx,nSy) |
67 |
_RS OBEt (1-Oly:sNy+Oly,Nr,nSx,nSy) |
68 |
_RS OBEs (1-Oly:sNy+Oly,Nr,nSx,nSy) |
69 |
_RS OBWu (1-Oly:sNy+Oly,Nr,nSx,nSy) |
70 |
_RS OBWv (1-Oly:sNy+Oly,Nr,nSx,nSy) |
71 |
_RS OBWt (1-Oly:sNy+Oly,Nr,nSx,nSy) |
72 |
_RS OBWs (1-Oly:sNy+Oly,Nr,nSx,nSy) |
73 |
INTEGER OB_Jn(1-Olx:sNx+Olx,nSx,nSy) |
74 |
INTEGER OB_Js(1-Olx:sNx+Olx,nSx,nSy) |
75 |
INTEGER OB_Ie(1-Oly:sNy+Oly,nSx,nSy) |
76 |
INTEGER OB_Iw(1-Oly:sNy+Oly,nSx,nSy) |
77 |
|
78 |
#ifdef ALLOW_NONHYDROSTATIC |
79 |
COMMON /GRID_OBNH/ |
80 |
& OBNw,OBSw,OBEw,OBWw |
81 |
_RS OBNw (1-Olx:sNx+Olx,Nr,nSx,nSy) |
82 |
_RS OBSw (1-Olx:sNx+Olx,Nr,nSx,nSy) |
83 |
_RS OBEw (1-Oly:sNy+Oly,Nr,nSx,nSy) |
84 |
_RS OBWw (1-Oly:sNy+Oly,Nr,nSx,nSy) |
85 |
#endif /* ALLOW_NONHYDROSTATIC */ |
86 |
|
87 |
#endif /* ALLOW_OBCS */ |