1 |
C $Header: /u/gcmpack/MITgcm/pkg/obcs/OBCS_FIELDS.h,v 1.1 2011/05/24 14:22:40 jmc Exp $ |
2 |
C $Name: $ |
3 |
|
4 |
#ifdef ALLOW_OBCS |
5 |
|
6 |
CBOP |
7 |
C !ROUTINE: OBCS_FIELDS.h |
8 |
C !INTERFACE: |
9 |
C #include "OBCS_FIELDS.h" |
10 |
|
11 |
C !DESCRIPTION: |
12 |
C *==========================================================* |
13 |
C | OBCS_FIELDS.h |
14 |
C | o Header file containing OB values of model fields |
15 |
C *==========================================================* |
16 |
CEOP |
17 |
|
18 |
#ifdef ALLOW_OBCS_PRESCRIBE |
19 |
C OBCS_ldRec :: time-record currently loaded (in temp arrays *[1]) |
20 |
COMMON /OBCS_LOAD_I/ OBCS_ldRec |
21 |
INTEGER OBCS_ldRec(nSx,nSy) |
22 |
#endif /* ALLOW_OBCS_PRESCRIBE */ |
23 |
|
24 |
C OB[N,S,E,W][u,v,t,s,a,h,sn,sl,uice,vice]File :: Files with boundary conditions, |
25 |
C the letter combinations mean: |
26 |
C N/S/E/W :: northern/southern/eastern/western boundary |
27 |
C u/v/t/s :: ocean u/v velocities, temperature/salinity |
28 |
C a/h :: sea ice concentration/effective thickness |
29 |
C sn/sl :: effective snow thickness/sea ice salinity |
30 |
C uice/vice :: sea ice u/v drift velocities |
31 |
|
32 |
C-- COMMON /OBCS_FIELDS/ Open boundary related stuff |
33 |
C OBNu is the U value imposed at the Northern OB |
34 |
C OBNv is the V value imposed at the Northern OB |
35 |
C OBNt is the T value imposed at the Northern OB |
36 |
C OBNs is the S value imposed at the Northern OB |
37 |
C OBNa is the ice AREA value imposed at the Northern OB |
38 |
C OBNh is the ice HEFF value imposed at the Northern OB |
39 |
C OBNsl is the ice HSALT value imposed at the Northern OB |
40 |
C OBNsn is the ice HSNOW value imposed at the Northern OB |
41 |
C OBNuice is the uice value imposed at the Northern OB |
42 |
C OBNvice is the vice value imposed at the Northern OB |
43 |
C etc |
44 |
|
45 |
#ifdef ALLOW_OBCS_NORTH |
46 |
COMMON /OBCS_FIELDS_N/ |
47 |
& OBNu,OBNv,OBNt,OBNs |
48 |
_RL OBNu (1-Olx:sNx+Olx,Nr,nSx,nSy) |
49 |
_RL OBNv (1-Olx:sNx+Olx,Nr,nSx,nSy) |
50 |
_RL OBNt (1-Olx:sNx+Olx,Nr,nSx,nSy) |
51 |
_RL OBNs (1-Olx:sNx+Olx,Nr,nSx,nSy) |
52 |
#ifdef ALLOW_OBCS_PRESCRIBE |
53 |
COMMON /OBCS_FIELDS_AUX_N/ |
54 |
& OBNu0,OBNv0,OBNt0,OBNs0, |
55 |
& OBNu1,OBNv1,OBNt1,OBNs1 |
56 |
_RL OBNu0 (1-Olx:sNx+Olx,Nr,nSx,nSy) |
57 |
_RL OBNv0 (1-Olx:sNx+Olx,Nr,nSx,nSy) |
58 |
_RL OBNt0 (1-Olx:sNx+Olx,Nr,nSx,nSy) |
59 |
_RL OBNs0 (1-Olx:sNx+Olx,Nr,nSx,nSy) |
60 |
_RL OBNu1 (1-Olx:sNx+Olx,Nr,nSx,nSy) |
61 |
_RL OBNv1 (1-Olx:sNx+Olx,Nr,nSx,nSy) |
62 |
_RL OBNt1 (1-Olx:sNx+Olx,Nr,nSx,nSy) |
63 |
_RL OBNs1 (1-Olx:sNx+Olx,Nr,nSx,nSy) |
64 |
#endif /* ALLOW_OBCS_PRESCRIBE */ |
65 |
#ifdef ALLOW_OBCS_STEVENS |
66 |
COMMON /OBCS_FIELDS_STEVENS_N/ OBNvStevens |
67 |
_RL OBNvStevens (1-Olx:sNx+Olx,Nr,nSx,nSy) |
68 |
#endif /* ALLOW_OBCS_STEVENS */ |
69 |
#endif /* ALLOW_OBCS_NORTH */ |
70 |
|
71 |
#ifdef ALLOW_OBCS_SOUTH |
72 |
COMMON /OBCS_FIELDS_S/ |
73 |
& OBSu,OBSv,OBSt,OBSs |
74 |
_RL OBSu (1-Olx:sNx+Olx,Nr,nSx,nSy) |
75 |
_RL OBSv (1-Olx:sNx+Olx,Nr,nSx,nSy) |
76 |
_RL OBSt (1-Olx:sNx+Olx,Nr,nSx,nSy) |
77 |
_RL OBSs (1-Olx:sNx+Olx,Nr,nSx,nSy) |
78 |
#ifdef ALLOW_OBCS_PRESCRIBE |
79 |
COMMON /OBCS_FIELDS_AUX_S/ |
80 |
& OBSu0,OBSv0,OBSt0,OBSs0, |
81 |
& OBSu1,OBSv1,OBSt1,OBSs1 |
82 |
_RL OBSu0 (1-Olx:sNx+Olx,Nr,nSx,nSy) |
83 |
_RL OBSv0 (1-Olx:sNx+Olx,Nr,nSx,nSy) |
84 |
_RL OBSt0 (1-Olx:sNx+Olx,Nr,nSx,nSy) |
85 |
_RL OBSs0 (1-Olx:sNx+Olx,Nr,nSx,nSy) |
86 |
_RL OBSu1 (1-Olx:sNx+Olx,Nr,nSx,nSy) |
87 |
_RL OBSv1 (1-Olx:sNx+Olx,Nr,nSx,nSy) |
88 |
_RL OBSt1 (1-Olx:sNx+Olx,Nr,nSx,nSy) |
89 |
_RL OBSs1 (1-Olx:sNx+Olx,Nr,nSx,nSy) |
90 |
#endif /* ALLOW_OBCS_PRESCRIBE */ |
91 |
#ifdef ALLOW_OBCS_STEVENS |
92 |
COMMON /OBCS_FIELDS_STEVENS_S/ OBSvStevens |
93 |
_RL OBSvStevens (1-Olx:sNx+Olx,Nr,nSx,nSy) |
94 |
#endif /* ALLOW_OBCS_STEVENS */ |
95 |
#endif /* ALLOW_OBCS_SOUTH */ |
96 |
|
97 |
#ifdef ALLOW_OBCS_EAST |
98 |
COMMON /OBCS_FIELDS_E/ |
99 |
& OBEu,OBEv,OBEt,OBEs |
100 |
_RL OBEu (1-Oly:sNy+Oly,Nr,nSx,nSy) |
101 |
_RL OBEv (1-Oly:sNy+Oly,Nr,nSx,nSy) |
102 |
_RL OBEt (1-Oly:sNy+Oly,Nr,nSx,nSy) |
103 |
_RL OBEs (1-Oly:sNy+Oly,Nr,nSx,nSy) |
104 |
#ifdef ALLOW_OBCS_PRESCRIBE |
105 |
COMMON /OBCS_FIELDS_AUX_E/ |
106 |
& OBEu0,OBEv0,OBEt0,OBEs0, |
107 |
& OBEu1,OBEv1,OBEt1,OBEs1 |
108 |
_RL OBEu0 (1-Oly:sNy+Oly,Nr,nSx,nSy) |
109 |
_RL OBEv0 (1-Oly:sNy+Oly,Nr,nSx,nSy) |
110 |
_RL OBEt0 (1-Oly:sNy+Oly,Nr,nSx,nSy) |
111 |
_RL OBEs0 (1-Oly:sNy+Oly,Nr,nSx,nSy) |
112 |
_RL OBEu1 (1-Oly:sNy+Oly,Nr,nSx,nSy) |
113 |
_RL OBEv1 (1-Oly:sNy+Oly,Nr,nSx,nSy) |
114 |
_RL OBEt1 (1-Oly:sNy+Oly,Nr,nSx,nSy) |
115 |
_RL OBEs1 (1-Oly:sNy+Oly,Nr,nSx,nSy) |
116 |
#endif /* ALLOW_OBCS_PRESCRIBE */ |
117 |
#ifdef ALLOW_OBCS_STEVENS |
118 |
COMMON /OBCS_FIELDS_STEVENS_E/ OBEuStevens |
119 |
_RL OBEuStevens (1-Oly:sNy+Oly,Nr,nSx,nSy) |
120 |
#endif /* ALLOW_OBCS_STEVENS */ |
121 |
#endif /* ALLOW_OBCS_EAST */ |
122 |
|
123 |
#ifdef ALLOW_OBCS_WEST |
124 |
COMMON /OBCS_FIELDS_W/ |
125 |
& OBWu,OBWv,OBWt,OBWs |
126 |
_RL OBWu (1-Oly:sNy+Oly,Nr,nSx,nSy) |
127 |
_RL OBWv (1-Oly:sNy+Oly,Nr,nSx,nSy) |
128 |
_RL OBWt (1-Oly:sNy+Oly,Nr,nSx,nSy) |
129 |
_RL OBWs (1-Oly:sNy+Oly,Nr,nSx,nSy) |
130 |
#ifdef ALLOW_OBCS_PRESCRIBE |
131 |
COMMON /OBCS_FIELDS_AUX_W/ |
132 |
& OBWu0,OBWv0,OBWt0,OBWs0, |
133 |
& OBWu1,OBWv1,OBWt1,OBWs1 |
134 |
_RL OBWu0 (1-Oly:sNy+Oly,Nr,nSx,nSy) |
135 |
_RL OBWv0 (1-Oly:sNy+Oly,Nr,nSx,nSy) |
136 |
_RL OBWt0 (1-Oly:sNy+Oly,Nr,nSx,nSy) |
137 |
_RL OBWs0 (1-Oly:sNy+Oly,Nr,nSx,nSy) |
138 |
_RL OBWu1 (1-Oly:sNy+Oly,Nr,nSx,nSy) |
139 |
_RL OBWv1 (1-Oly:sNy+Oly,Nr,nSx,nSy) |
140 |
_RL OBWt1 (1-Oly:sNy+Oly,Nr,nSx,nSy) |
141 |
_RL OBWs1 (1-Oly:sNy+Oly,Nr,nSx,nSy) |
142 |
#endif /* ALLOW_OBCS_PRESCRIBE */ |
143 |
#ifdef ALLOW_OBCS_STEVENS |
144 |
COMMON /OBCS_FIELDS_STEVENS_W/ OBWuStevens |
145 |
_RL OBWuStevens (1-Oly:sNy+Oly,Nr,nSx,nSy) |
146 |
#endif /* ALLOW_OBCS_STEVENS */ |
147 |
#endif /* ALLOW_OBCS_WEST */ |
148 |
|
149 |
#ifdef ALLOW_NONHYDROSTATIC |
150 |
COMMON /OBCS_NH_FIELDS/ |
151 |
& OBNw, OBSw, OBEw, OBWw |
152 |
_RL OBNw (1-Olx:sNx+Olx,Nr,nSx,nSy) |
153 |
_RL OBSw (1-Olx:sNx+Olx,Nr,nSx,nSy) |
154 |
_RL OBEw (1-Oly:sNy+Oly,Nr,nSx,nSy) |
155 |
_RL OBWw (1-Oly:sNy+Oly,Nr,nSx,nSy) |
156 |
#ifdef ALLOW_OBCS_PRESCRIBE |
157 |
COMMON /OBCS_NH_FIELDS_AUX/ |
158 |
& OBNw0, OBSw0, OBEw0, OBWw0, |
159 |
& OBNw1, OBSw1, OBEw1, OBWw1 |
160 |
_RL OBNw0(1-Olx:sNx+Olx,Nr,nSx,nSy) |
161 |
_RL OBSw0(1-Olx:sNx+Olx,Nr,nSx,nSy) |
162 |
_RL OBEw0(1-Oly:sNy+Oly,Nr,nSx,nSy) |
163 |
_RL OBWw0(1-Oly:sNy+Oly,Nr,nSx,nSy) |
164 |
_RL OBNw1(1-Olx:sNx+Olx,Nr,nSx,nSy) |
165 |
_RL OBSw1(1-Olx:sNx+Olx,Nr,nSx,nSy) |
166 |
_RL OBEw1(1-Oly:sNy+Oly,Nr,nSx,nSy) |
167 |
_RL OBWw1(1-Oly:sNy+Oly,Nr,nSx,nSy) |
168 |
#endif /* ALLOW_OBCS_PRESCRIBE */ |
169 |
#endif /* ALLOW_NONHYDROSTATIC */ |
170 |
|
171 |
#ifdef NONLIN_FRSURF |
172 |
COMMON /OBCS_NLFS_FIELDS/ |
173 |
& OBNeta, OBSeta, OBEeta, OBWeta |
174 |
_RL OBNeta (1-Olx:sNx+Olx,nSx,nSy) |
175 |
_RL OBSeta (1-Olx:sNx+Olx,nSx,nSy) |
176 |
_RL OBEeta (1-Oly:sNy+Oly,nSx,nSy) |
177 |
_RL OBWeta (1-Oly:sNy+Oly,nSx,nSy) |
178 |
#ifdef ALLOW_OBCS_PRESCRIBE |
179 |
COMMON /OBCS_NLFS_FIELDS_AUX/ |
180 |
& OBNeta0,OBSeta0,OBEeta0,OBWeta0, |
181 |
& OBNeta1,OBSeta1,OBEeta1,OBWeta1 |
182 |
_RL OBNeta0(1-Olx:sNx+Olx,nSx,nSy) |
183 |
_RL OBSeta0(1-Olx:sNx+Olx,nSx,nSy) |
184 |
_RL OBEeta0(1-Oly:sNy+Oly,nSx,nSy) |
185 |
_RL OBWeta0(1-Oly:sNy+Oly,nSx,nSy) |
186 |
_RL OBNeta1(1-Olx:sNx+Olx,nSx,nSy) |
187 |
_RL OBSeta1(1-Olx:sNx+Olx,nSx,nSy) |
188 |
_RL OBEeta1(1-Oly:sNy+Oly,nSx,nSy) |
189 |
_RL OBWeta1(1-Oly:sNy+Oly,nSx,nSy) |
190 |
#endif /* ALLOW_OBCS_PRESCRIBE */ |
191 |
#endif /* NONLIN_FRSURF */ |
192 |
|
193 |
#endif /* ALLOW_OBCS */ |