| 233 | 
 and for each meridional position $j=1,\ldots,N_y$, a zonal index | 
 and for each meridional position $j=1,\ldots,N_y$, a zonal index | 
| 234 | 
 $i$ specifies the Eastern/Western OB position. | 
 $i$ specifies the Eastern/Western OB position. | 
| 235 | 
 For Northern/Southern OB this defines an $N_x$-dimensional | 
 For Northern/Southern OB this defines an $N_x$-dimensional | 
| 236 | 
 ``row'' array $\tt OB\_Jnorth(Ny)$ / $\tt OB\_Jsouth(Ny)$, | 
 ``row'' array $\tt OB\_Jnorth(Nx)$ / $\tt OB\_Jsouth(Nx)$, | 
| 237 | 
 and an $N_y$-dimenisonal  | 
 and an $N_y$-dimenisonal  | 
| 238 | 
 ``column'' array $\tt OB\_Ieast(Nx)$ / $\tt OB\_Iwest(Nx)$. | 
 ``column'' array $\tt OB\_Ieast(Ny)$ / $\tt OB\_Iwest(Ny)$. | 
| 239 | 
 Positions determined in this way allows Northern/Southern | 
 Positions determined in this way allows Northern/Southern | 
| 240 | 
 OBs to be at variable $j$ (or $y$) positions, and Eastern/Western | 
 OBs to be at variable $j$ (or $y$) positions, and Eastern/Western | 
| 241 | 
 OBs at variable $i$ (or $x$) positions. | 
 OBs at variable $i$ (or $x$) positions. | 
| 268 | 
 eg. $\tt OB\_Jnorth(3)=-1$  means that the point $\tt (3,Ny)$  | 
 eg. $\tt OB\_Jnorth(3)=-1$  means that the point $\tt (3,Ny)$  | 
| 269 | 
 is a northern OB. | 
 is a northern OB. | 
| 270 | 
  | 
  | 
| 271 | 
  | 
 \noindent\textbf{Simple examples:} For a model grid with $ N_{x}\times | 
| 272 | 
  | 
 N_{y} = 120\times144$ horizontal grid points with four open boundaries | 
| 273 | 
  | 
 along the four egdes of the domain, the simplest way of specifying the | 
| 274 | 
  | 
 boundary points in \code{data.obcs} is: | 
| 275 | 
  | 
 \begin{verbatim} | 
| 276 | 
  | 
   OB_Ieast = 144*-1, | 
| 277 | 
  | 
 # or OB_Ieast = 144*120, | 
| 278 | 
  | 
   OB_Iwest = 144*1, | 
| 279 | 
  | 
   OB_Jnorth = 120*-1, | 
| 280 | 
  | 
 # or OB_Jnorth = 120*144, | 
| 281 | 
  | 
   OB_Jsouth = 120*1, | 
| 282 | 
  | 
 \end{verbatim} | 
| 283 | 
  | 
 If only the first $50$ grid points of the southern boundary are | 
| 284 | 
  | 
 boundary points:  | 
| 285 | 
  | 
 \begin{verbatim} | 
| 286 | 
  | 
   OB_Jsouth(1:50) = 50*1, | 
| 287 | 
  | 
 \end{verbatim} | 
| 288 | 
  | 
  | 
| 289 | 
 \noindent | 
 \noindent | 
| 290 | 
 \textsf{Add special comments for case \#define NONLIN\_FRSURF, | 
 \textsf{Add special comments for case \#define NONLIN\_FRSURF, | 
| 291 | 
 see obcs\_ini\_fixed.F} | 
 see obcs\_ini\_fixed.F} | 
| 297 | 
  | 
  | 
| 298 | 
 \paragraph{OBCS\_READPARMS:} ~ \\ | 
 \paragraph{OBCS\_READPARMS:} ~ \\ | 
| 299 | 
 Set OB positions through arrays | 
 Set OB positions through arrays | 
| 300 | 
 {\tt OB\_Jnorth(Ny), OB\_Jsouth(Ny), OB\_Ieast(Nx), OB\_Iwest(Nx)}, | 
 {\tt OB\_Jnorth(Nx), OB\_Jsouth(Nx), OB\_Ieast(Ny), OB\_Iwest(Ny)}, | 
| 301 | 
 and runtime flags (see Table \ref{tab:pkg:obcs:runtime_flags}). | 
 and runtime flags (see Table \ref{tab:pkg:obcs:runtime_flags}). | 
| 302 | 
  | 
  | 
| 303 | 
 \paragraph{OBCS\_CALC:} ~ \\ | 
 \paragraph{OBCS\_CALC:} ~ \\ |