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

Annotation of /MITgcm/doc/OpenBound.html

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


Revision 1.1 - (hide annotations) (download) (as text)
Tue Dec 8 19:44:28 1998 UTC (25 years, 4 months 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 adcroft 1.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