Next: 20.5 Data Preparation Routines
Up: 20. Stevens Open Boundary
Previous: 20.3 New Files
To keep the structure of the model clear substantial changes to the
code are contained in include files (*.inc) which are included
when obc options are enabled.
- baroclinic.F (baroclinic_obc.inc)
- Linearize velocity components at open boundaries (which simply
means to omit the advective terms).
- loadmw.F (loadmw_obc.inc)
- Set velocity values at jrow=1 and
jrow=jmt-1 to prevent diffusion over
the boundaries:
ui,k,1,n=ui,k,2,n,
ui,k,jmt,n=ui,k,jmt-1,n=ui,k,jmt-2,n (for
and
).
Set rho values at jrow=jmt to prevent errors in the calculation
of the hydrostatic pressure gradients at the northern boundary:
.
- mom.F (mom_obc.inc)
- first memory window (example for options obc_south
and obc_north, for options obc_west and obc_east
changes are in the routines itself):
- cobc for jrow=2
- tracer for the rest of the
memory window
- call baroclinic as without obc
(changes are
in the subroutine itself)
- last memory window:
- tracer for the first part
of the window
- cobc for
jrow=jmt-1
- call baroclinic as without obc
- setocn.F (setocn_obc.inc)
- Initialization of several quantities
and reading of the open boundary data (only active open boundaries)
- topog.F
- Potentially, open boundaries can reside at latitudinal
rows jrow=2 and
jrow=jmt-1 and at longitudinal columns i=2 and
i=imt-1. In support of the open boundaries, virtual points are needed
at latiudinal rows jrow=1 and jrow=jmt and at longitudinal
columns i=1 and i=imt. The topography on the virtual rows/columns
must be identical to the topography on the corresponding open boundary
row/column and module topog insures this. However, on the two
rows/columns interior to the open boundary, the topography must not slope
upwards toward the interior of the domain. Otherwise the calculation
of phase velocities at the open boundary row would deliver wrong values
at the bottom cells (example for a southern open boundary:
.
E.g., if
kmt(i,3)=4, kmt(i,4)=3, then the calculation at k=4would be point into bottom by
). Refer to Figure
20.1. Actually a minimum depth is chosen for
option obc_south as in Figure 20.1d (e.g.
),
but the rearcher is free to change this.
- tracer.F
- Before (in the case of an western open boundary) and after (eastern obc)
the calculation of new tracer values subroutine cobc2.F is called.
- barotropic.F (barotropic1_obc.inc, barotropic2_obc.inc)
- For the Orlanski (1976) radiation condition, new stream function
values at the open boundary are calculated using (20.2).
For active open boundaries, values for
are prescribed by calling
subroutine addobcpsi.F.
Next: 20.5 Data Preparation Routines
Up: 20. Stevens Open Boundary
Previous: 20.3 New Files
RC Pacanowski and SM Griffies, GFDL, Jan 2000