next up previous contents
Next: 20.5 Data Preparation Routines Up: 20. Stevens Open Boundary Previous: 20.3 New Files

20.4 Important changes to existing subroutines

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 $\tau $ and $\tau -1$). Set rho values at jrow=jmt to prevent errors in the calculation of the hydrostatic pressure gradients at the northern boundary: ${\rho}_{i,k,jmt,n}={\rho}_{i,k,jmt-1,n}$.

mom.F (mom_obc.inc)

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: $c_T \propto (t_{i,4,k}-t_{i,3,k})^{-1}$. E.g., if kmt(i,3)=4, kmt(i,4)=3, then the calculation at k=4would be point into bottom by $c_T \propto 1/(0-t_{i,3,4})^{-1}$). Refer to Figure 20.1. Actually a minimum depth is chosen for option obc_south as in Figure 20.1d (e.g. $kmt_{i,2}=kmt_{i,3}= kmt_{i,4}=\min (kmt_{i,2},kmt_{i,3},kmt_{i,4}$), 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 $\psi$ are prescribed by calling subroutine addobcpsi.F.


next up previous contents
Next: 20.5 Data Preparation Routines Up: 20. Stevens Open Boundary Previous: 20.3 New Files
RC Pacanowski and SM Griffies, GFDL, Jan 2000