MOM6
|
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).
Data Types | |
type | update_obc_cs |
The control structure for the MOM_boundary_update module. More... | |
integer | id_clock_pass |
A CPU time clock ID. More... | |
subroutine, public | call_obc_register (param_file, CS, OBC) |
The following subroutines and associated definitions provide the machinery to register and call the subroutines that initialize open boundary conditions. More... | |
subroutine, public | update_obc_data (OBC, G, GV, US, tv, h, CS, Time) |
Calls appropriate routine to update the open boundary conditions. More... | |
subroutine, public | obc_register_end (CS) |
Clean up the OBC registry. More... | |
subroutine, public mom_boundary_update::call_obc_register | ( | type(param_file_type), intent(in) | param_file, |
type(update_obc_cs), pointer | CS, | ||
type(ocean_obc_type), pointer | OBC | ||
) |
The following subroutines and associated definitions provide the machinery to register and call the subroutines that initialize open boundary conditions.
[in] | param_file | Parameter file to parse |
cs | Control structure for OBCs | |
obc | Open boundary structure |
Definition at line 62 of file MOM_boundary_update.F90.
References mom_error_handler::mom_error(), and mom_open_boundary::register_file_obc().
Referenced by mom::initialize_mom().
subroutine, public mom_boundary_update::obc_register_end | ( | type(update_obc_cs), pointer | CS | ) |
Clean up the OBC registry.
cs | Control structure for OBCs |
Definition at line 155 of file MOM_boundary_update.F90.
References mom_open_boundary::file_obc_end(), kelvin_initialization::kelvin_obc_end(), and tidal_bay_initialization::tidal_bay_obc_end().
Referenced by mom::mom_end().
subroutine, public mom_boundary_update::update_obc_data | ( | type(ocean_obc_type), pointer | OBC, |
type(ocean_grid_type), intent(in) | G, | ||
type(verticalgrid_type), intent(in) | GV, | ||
type(unit_scale_type), intent(in) | US, | ||
type(thermo_var_ptrs), intent(in) | tv, | ||
real, dimension( g %isd: g %ied, g %jsd: g %jed, g %ke), intent(inout) | h, | ||
type(update_obc_cs), pointer | CS, | ||
type(time_type), intent(in) | Time | ||
) |
Calls appropriate routine to update the open boundary conditions.
[in] | g | Ocean grid structure |
[in] | gv | Ocean vertical grid structure |
[in] | us | A dimensional unit scaling type |
[in] | tv | Thermodynamics structure |
[in,out] | h | layer thicknesses [H ~> m or kg m-2] |
obc | Open boundary structure | |
cs | Control structure for OBCs | |
[in] | time | Model time |
Definition at line 114 of file MOM_boundary_update.F90.
Referenced by mom_dynamics_split_rk2::step_mom_dyn_split_rk2(), mom_dynamics_unsplit::step_mom_dyn_unsplit(), and mom_dynamics_unsplit_rk2::step_mom_dyn_unsplit_rk2().
integer mom_boundary_update::id_clock_pass |
A CPU time clock ID.
Definition at line 52 of file MOM_boundary_update.F90.