/[MITgcm]/MITgcm/pkg/obcs/OBCS_FIELDS.h
ViewVC logotype

Contents of /MITgcm/pkg/obcs/OBCS_FIELDS.h

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


Revision 1.2 - (show annotations) (download)
Tue Oct 25 15:09:18 2011 UTC (12 years, 7 months ago) by mlosch
Branch: MAIN
CVS Tags: checkpoint63e, checkpoint63f
Changes since 1.1: +17 -1 lines
File MIME type: text/plain
fix Stevens BCs by using intermediate velocities of previous
time step as "baroclinic" contribution rather velocity of one grid cell
inside the boundaries; more consistent but makes the entire treatment
more complicated, requires new pickup files and two new S/Rs:
obcs_copy_uv_n and obcs_save_uv_n
keep old version with flag OBCS_STEVENS_USE_INTERIOR_VELOCITY
(undefined by default)

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 */

  ViewVC Help
Powered by ViewVC 1.1.22