namespace mom_boundary_update

Overview

Controls where open boundary conditions are applied. More…

namespace mom_boundary_update {

// global variables

integer id_clock_pass;

// global functions

subroutine, public call_obc_register(param_file param_file, CS CS, OBC OBC);
subroutine, public update_obc_data(OBC OBC, G G, GV GV, US US, tv tv, h h, CS CS, Time Time);
subroutine, public obc_register_end(CS CS);

} // namespace mom_boundary_update

Detailed Documentation

Controls where open boundary conditions are applied.

This module updates the open boundary arrays when time-varying. It caused a circular dependency with the tidal_bay setup when MOM_open_boundary.

A small fragment of the grid is shown below:

j+1 x ^ x ^ x At x: q, CoriolisBu j+1 > o > o > At ^: v, tauy j x ^ x ^ x At >: u, taux j > o > o > At o: h, bathyT, buoy, tr, T, S, Rml, ustar j-1 x ^ x ^ x i-1 i i+1 At x & ^: i i+1 At > & o:

The boundaries always run through q grid points (x).

Global Variables

integer id_clock_pass

A CPU time clock ID.

Global Functions

subroutine, public call_obc_register(param_file param_file, CS CS, OBC OBC)

The following subroutines and associated definitions provide the machinery to register and call the subroutines that initialize open boundary conditions.

Parameters:

param_file

Parameter file to parse

cs

Control structure for OBCs

obc

Open boundary structure

subroutine, public update_obc_data(
    OBC OBC,
    G G,
    GV GV,
    US US,
    tv tv,
    h h,
    CS CS,
    Time Time
    )

Calls appropriate routine to update the open boundary conditions.

Parameters:

g

Ocean grid structure

gv

Ocean vertical grid structure

us

A dimensional unit scaling type

tv

Thermodynamics structure

h

layer thicknesses [H ~> m or kg m-2]

obc

Open boundary structure

cs

Control structure for OBCs

time

Model time

subroutine, public obc_register_end(CS CS)

Clean up the OBC registry.

Parameters:

cs

Control structure for OBCs