mom_boundary_update module reference¶
Controls where open boundary conditions are applied.
Data Types¶
The control structure for the MOM_boundary_update module. |
Functions/Subroutines¶
The following subroutines and associated definitions provide the machinery to register and call the subroutines that initialize open boundary conditions. |
|
Calls appropriate routine to update the open boundary conditions. |
|
Clean up the OBC registry. |
Detailed Description¶
This module updates the open boundary arrays when time-varying. It caused a circular dependency with the tidal_bay and other setups when in 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).
Type Documentation¶
-
type
mom_boundary_update/
update_obc_cs
¶ The control structure for the MOM_boundary_update module.
- Type fields:
%
file_obc_csp
[type( file_obc_cs ),pointer] :: Pointers to the control structures for named OBC specifications.%
kelvin_obc_csp
[type( kelvin_obc_cs ),pointer] :: Pointers to the control structures for named OBC specifications.%
tidal_bay_obc
[type( tidal_bay_obc_cs )] :: Pointers to the control structures for named OBC specifications.%
shelfwave_obc_csp
[type( shelfwave_obc_cs ),pointer] :: Pointers to the control structures for named OBC specifications.%
dyed_channel_obc_csp
[type( dyed_channel_obc_cs ),pointer] :: Pointers to the control structures for named OBC specifications.%
use_files
[logical] :: If true, use external files for the open boundary.%
use_kelvin
[logical] :: If true, use the Kelvin wave open boundary.%
use_tidal_bay
[logical] :: If true, use the tidal_bay open boundary.%
use_shelfwave
[logical] :: If true, use the shelfwave open boundary.%
use_dyed_channel
[logical] :: If true, use the dyed channel open boundary.
Function/Subroutine Documentation¶
-
subroutine
mom_boundary_update/
call_obc_register
(G, GV, US, param_file, CS, OBC, tr_Reg)¶ The following subroutines and associated definitions provide the machinery to register and call the subroutines that initialize open boundary conditions.
- Parameters:
g :: [in] Ocean grid structure
gv :: [in] Ocean vertical grid structure
us :: [in] A dimensional unit scaling type
param_file :: [in] Parameter file to parse
cs :: Control structure for OBCs
obc :: Open boundary structure
tr_reg :: Tracer registry.
- Call to:
mom_error_handler::mom_error
dome_initialization::register_dome_obc
mom_open_boundary::register_file_obc
- Called from:
-
subroutine
mom_boundary_update/
update_obc_data
(OBC, G, GV, US, tv, h, CS, Time)¶ Calls appropriate routine to update the open boundary conditions.
- Parameters:
g :: [in] Ocean grid structure
gv :: [in] Ocean vertical grid structure
us :: [in] A dimensional unit scaling type
tv :: [in] Thermodynamics structure
h :: [inout] layer thicknesses [H ~> m or kg m-2]
obc :: Open boundary structure
cs :: Control structure for OBCs
time :: [in] Model time
- Called from:
mom_dynamics_split_rk2::step_mom_dyn_split_rk2
mom_dynamics_split_rk2b::step_mom_dyn_split_rk2b
mom_dynamics_unsplit::step_mom_dyn_unsplit
mom_dynamics_unsplit_rk2::step_mom_dyn_unsplit_rk2
-
subroutine
mom_boundary_update/
obc_register_end
(CS)¶ Clean up the OBC registry.
- Parameters:
cs :: Control structure for OBCs
- Call to:
mom_open_boundary::file_obc_end
kelvin_initialization::kelvin_obc_end
- Called from: