1 |
adcroft |
1.4 |
C $Header: /u/gcmpack/models/MITgcmUV/pkg/obcs/OBCS.h,v 1.3 2001/05/14 21:36:45 heimbach Exp $ |
2 |
heimbach |
1.3 |
C $Name: $ |
3 |
adcroft |
1.2 |
|
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 |
adcroft |
1.4 |
C T(3,34) is a an OB point |
19 |
|
|
C U(3,34) is a an OB point |
20 |
|
|
C V(3,34) is a an OB point |
21 |
adcroft |
1.2 |
C while |
22 |
|
|
C OB_Jsouth(3)=1 means that: |
23 |
adcroft |
1.4 |
C T(3,1) is a an OB point |
24 |
|
|
C U(3,1) is a an OB point |
25 |
|
|
C V(3,2) is a an OB point |
26 |
adcroft |
1.2 |
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 |
heimbach |
1.3 |
|
78 |
|
|
COMMON /OB_FILES/ |
79 |
|
|
& OBNuFile,OBNvFile,OBNtFile,OBNsFile, |
80 |
|
|
& OBSuFile,OBSvFile,OBStFile,OBSsFile, |
81 |
|
|
& OBEuFile,OBEvFile,OBEtFile,OBEsFile, |
82 |
|
|
& OBWuFile,OBWvFile,OBWtFile,OBWsFile |
83 |
|
|
CHARACTER*(MAX_LEN_FNAM) |
84 |
|
|
& OBNuFile,OBNvFile,OBNtFile,OBNsFile |
85 |
|
|
CHARACTER*(MAX_LEN_FNAM) |
86 |
|
|
& OBSuFile,OBSvFile,OBStFile,OBSsFile |
87 |
|
|
CHARACTER*(MAX_LEN_FNAM) |
88 |
|
|
& OBEuFile,OBEvFile,OBEtFile,OBEsFile |
89 |
|
|
CHARACTER*(MAX_LEN_FNAM) |
90 |
|
|
& OBWuFile,OBWvFile,OBWtFile,OBWsFile |
91 |
adcroft |
1.2 |
|
92 |
|
|
#ifdef ALLOW_NONHYDROSTATIC |
93 |
|
|
COMMON /GRID_OBNH/ |
94 |
|
|
& OBNw,OBSw,OBEw,OBWw |
95 |
|
|
_RS OBNw (1-Olx:sNx+Olx,Nr,nSx,nSy) |
96 |
|
|
_RS OBSw (1-Olx:sNx+Olx,Nr,nSx,nSy) |
97 |
|
|
_RS OBEw (1-Oly:sNy+Oly,Nr,nSx,nSy) |
98 |
|
|
_RS OBWw (1-Oly:sNy+Oly,Nr,nSx,nSy) |
99 |
|
|
#endif /* ALLOW_NONHYDROSTATIC */ |
100 |
|
|
|
101 |
|
|
#endif /* ALLOW_OBCS */ |