/[MITgcm]/MITgcm/doc/OpenBound.html
ViewVC logotype

Contents of /MITgcm/doc/OpenBound.html

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


Revision 1.1 - (show annotations) (download) (as text)
Tue Dec 8 19:44:28 1998 UTC (23 years, 1 month ago) by adcroft
Branch: MAIN
File MIME type: text/html
Implementation of Open Boundaries:
 o new source code: ini_obcs.F set_obcs.F apply_obcs1.F apply_obcs2.F
                    OBCS.h
 o modified code at a few points, key changes are in
    dynamcis.F the_model_main.F and ini_cg2d.F
 o documentation in OBCS.h and doc/OpenBound.*

1 <!doctype html public "-//w3c//dtd html 4.0 transitional//en">
2 <html>
3 <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
5 <meta name="GENERATOR" content="Mozilla/4.5 [en] (X11; U; Linux 2.0.34 i586) [Netscape]">
6 </head>
7 <body>
8
9 <h1>
10 Open Boundaries Implementation in MITgcmUV</h1>
11 These are some quick explanatory notes regards implementation of open boundaries
12 (OB) and the example configuration found in .../verification/exp4/
13 <br>&nbsp;
14 <h2>
15 Input and control of OBs</h2>
16
17 <ul>
18 <li>
19 The open boundaries code is used only if the LOGICAL parameter openBondaries
20 is .TRUE.</li>
21
22 <li>
23 Four 1-dimensional INTEGER arrays indicate the position of an OB: OB_Jnorth,
24 OB_Jsouth, OB_Ieast and OB_Iwest.</li>
25 </ul>
26 The values of OB_* indicate the absolute computational coordinate of an
27 open boundary. eg. OB_Jsouth(3)=4
28 <br>means that in the column I=3 there is a "southern" OB at tracer point
29 J=4. Similarly OB_Iwest(2)=1 means that
30 <br>the tracer point (2,1) is an OB&nbsp;point. This structure for specifying
31 OBs assumes that there will be only one northern and southern OB per column
32 and similar in the other direction. An entry of 0 (zero) means there is
33 now OB in that column/row.
34 <p>The reference to "tracer points" above introduces an important distinction
35 between particular boundaries due to the C-grid staggering of variables.
36 At a northern OB tracer point (i,j) the OB v-velocity point is at (i,j)&nbsp;
37 while at a southern OB tracer point (i,j) the OB v-velocity point is at
38 (i,j+1). This is all taken care of in the code but when specifying OB values
39 it is important to remember the physical coordinates of T,S,U and V are
40 not the same for a given computational index.
41 <br>&nbsp;
42 <h3>
43 Changing the type of open boundary</h3>
44 The supplied code simply specifies model variables at the appropriate points.
45 The value to be specified can (and should) be determine using a radiative
46 condition. A skeleton code is supplied set_obcs.F to illustrate how
47 <br>this might be done. This is the only routine that needs to be edited.
48 Edit others at your own peril!
49 <br>&nbsp;
50 <h3>
51 The examples</h3>
52 There are three examples in .../verification/exp4/
53 <ol>
54 <li>
55 A zonal channel (solid side walls) with open boundaries at either end:
56 data.channel</li>
57
58 <li>
59 A zonal channel with a Gaussian bump and open boundaries at either end:
60 data.bumpchannel</li>
61
62 <li>
63 An open domain (OBs on four sides) with a Gaussian bump: data.bump</li>
64 </ol>
65 Each data file has a corresponding topog.* file which is specified through
66 the variable bathyFile in data.*
67 <br>The physical problem has a flow of U=25 cm/s specified at all open
68 boundaries. The details of the experiment can be found in Adcroft's thesis
69 (Imperial College) and in Adcroft, Hill and Marshall, MWR 1997.
70 <p>The differences between the supplied data.* files also show how to turn
71 particular OBs on and off.
72 <h3>
73 Compiling and running the examples</h3>
74 The examples supplied are the barotropic zonal flow over a Gaussian bump
75 in a channel.
76 <ul>
77 <li>
78 Header files: Copy or link SIZE.h, CPP_OPTIONS.h and CP_EEOPTIONS.h from
79 .../verification/exp4/ to .../model/inc/, .../model/inc/ and .../eesupp.inc/
80 respectively</li>
81
82 <li>
83 Modified source: Copy set_obcs.F to .../model/src/</li>
84 </ul>
85 Now compile the code as usual:
86 <ul>
87 <li>
88 cd bin</li>
89
90 <li>
91 ../tools/genmake -makefile</li>
92
93 <li>
94 make depend</li>
95
96 <li>
97 make</li>
98 </ul>
99 To run the code you must first choose a data file to use:
100 <ul>
101 <li>
102 cd ../verification/exp4</li>
103
104 <li>
105 cp data.bump data</li>
106
107 <li>
108 ../../exe/mitgcmuv</li>
109 </ul>
110 Happy Open Boundarying!
111 </body>
112 </html>

  ViewVC Help
Powered by ViewVC 1.1.22