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