File indexing completed on 2018-03-02 18:36:05 UTC
view on githubraw file Latest commit ad38444b on 2018-01-31 20:35:48 UTC
688d11fba8 Alis*0001 <!doctype html public "-//w3c//dtd html 4.0 transitional//en">
0002 <html>
0003 <head>
0004 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
0005 <meta name="GENERATOR" content="Mozilla/4.5 [en] (X11; U; Linux 2.0.34 i586) [Netscape]">
0006 </head>
0007 <body>
0008
0009 <h1>
0010 Open Boundaries Implementation in MITgcmUV</h1>
0011 These are some quick explanatory notes regards implementation of open boundaries
0012 (OB) and the example configuration found in .../verification/exp4/
0013 <br>
0014 <h2>
0015 Input and control of OBs</h2>
0016
0017 <ul>
0018 <li>
0019 The open boundaries code is used only if the LOGICAL parameter openBondaries
0020 is .TRUE.</li>
0021
0022 <li>
0023 Four 1-dimensional INTEGER arrays indicate the position of an OB: OB_Jnorth,
0024 OB_Jsouth, OB_Ieast and OB_Iwest.</li>
0025 </ul>
0026 The values of OB_* indicate the absolute computational coordinate of an
0027 open boundary. eg. OB_Jsouth(3)=4
0028 <br>means that in the column I=3 there is a "southern" OB at tracer point
0029 J=4. Similarly OB_Iwest(2)=1 means that
0030 <br>the tracer point (2,1) is an OB point. This structure for specifying
0031 OBs assumes that there will be only one northern and southern OB per column
0032 and similar in the other direction. An entry of 0 (zero) means there is
0033 now OB in that column/row.
0034 <p>The reference to "tracer points" above introduces an important distinction
0035 between particular boundaries due to the C-grid staggering of variables.
0036 At a northern OB tracer point (i,j) the OB v-velocity point is at (i,j)
0037 while at a southern OB tracer point (i,j) the OB v-velocity point is at
0038 (i,j+1). This is all taken care of in the code but when specifying OB values
0039 it is important to remember the physical coordinates of T,S,U and V are
0040 not the same for a given computational index.
0041 <br>
0042 <h3>
0043 Changing the type of open boundary</h3>
0044 The supplied code simply specifies model variables at the appropriate points.
0045 The value to be specified can (and should) be determine using a radiative
0046 condition. A skeleton code is supplied set_obcs.F to illustrate how
0047 <br>this might be done. This is the only routine that needs to be edited.
0048 Edit others at your own peril!
0049 <br>
0050 <h3>
0051 The examples</h3>
0052 There are three examples in .../verification/exp4/
0053 <ol>
0054 <li>
0055 A zonal channel (solid side walls) with open boundaries at either end:
0056 data.channel</li>
0057
0058 <li>
0059 A zonal channel with a Gaussian bump and open boundaries at either end:
0060 data.bumpchannel</li>
0061
0062 <li>
0063 An open domain (OBs on four sides) with a Gaussian bump: data.bump</li>
0064 </ol>
0065 Each data file has a corresponding topog.* file which is specified through
0066 the variable bathyFile in data.*
0067 <br>The physical problem has a flow of U=25 cm/s specified at all open
0068 boundaries. The details of the experiment can be found in Adcroft's thesis
0069 (Imperial College) and in Adcroft, Hill and Marshall, MWR 1997.
0070 <p>The differences between the supplied data.* files also show how to turn
0071 particular OBs on and off.
0072 <h3>
0073 Compiling and running the examples</h3>
0074 The examples supplied are the barotropic zonal flow over a Gaussian bump
0075 in a channel.
0076 <ul>
0077 <li>
0078 Header files: Copy or link SIZE.h, CPP_OPTIONS.h and CP_EEOPTIONS.h from
290fc955d2 Alis*0079 .../verification/exp4/code/ to .../model/inc/, .../model/inc/ and .../eesupp.inc/
688d11fba8 Alis*0080 respectively</li>
0081
0082 <li>
0083 Modified source: Copy set_obcs.F to .../model/src/</li>
0084 </ul>
0085 Now compile the code as usual:
0086 <ul>
0087 <li>
0088 cd bin</li>
0089
0090 <li>
0091 ../tools/genmake -makefile</li>
0092
0093 <li>
0094 make depend</li>
0095
0096 <li>
0097 make</li>
0098 </ul>
0099 To run the code you must first choose a data file to use:
0100 <ul>
0101 <li>
290fc955d2 Alis*0102 cd ../verification/exp4/input/</li>
688d11fba8 Alis*0103
0104 <li>
0105 cp data.bump data</li>
0106
0107 <li>
0108 ../../exe/mitgcmuv</li>
0109 </ul>
0110 Happy Open Boundarying!
0111 </body>
0112 </html>