Back to home page

darwin3

 
 

    


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!