MOM6
mom_open_boundary::ocean_obc_type Type Reference

Detailed Description

Open-boundary data.

Definition at line 195 of file MOM_open_boundary.F90.

Collaboration diagram for mom_open_boundary::ocean_obc_type:
[legend]

Public variables and constants

integer number_of_segments = 0
 The number of open-boundary segments. More...
 
integer ke = 0
 The number of model layers. More...
 
logical open_u_bcs_exist_globally = .false.
 True if any zonal velocity points in the global domain use open BCs. More...
 
logical open_v_bcs_exist_globally = .false.
 True if any meridional velocity points in the global domain use open BCs. More...
 
logical flather_u_bcs_exist_globally = .false.
 True if any zonal velocity points in the global domain use Flather BCs. More...
 
logical flather_v_bcs_exist_globally = .false.
 True if any meridional velocity points in the global domain use Flather BCs. More...
 
logical oblique_bcs_exist_globally = .false.
 True if any velocity points in the global domain use oblique BCs. More...
 
logical nudged_u_bcs_exist_globally = .false.
 True if any velocity points in the global domain use nudged BCs. More...
 
logical nudged_v_bcs_exist_globally = .false.
 True if any velocity points in the global domain use nudged BCs. More...
 
logical specified_u_bcs_exist_globally = .false.
 True if any zonal velocity points in the global domain use specified BCs. More...
 
logical specified_v_bcs_exist_globally = .false.
 True if any meridional velocity points in the global domain use specified BCs. More...
 
logical radiation_bcs_exist_globally = .false.
 True if radiations BCs are in use anywhere. More...
 
logical user_bcs_set_globally = .false.
 True if any OBC_USER_CONFIG is set for input from user directory. More...
 
logical update_obc = .false.
 Is OBC data time-dependent. More...
 
logical needs_io_for_data = .false.
 Is any i/o needed for OBCs. More...
 
logical zero_vorticity = .false.
 If True, sets relative vorticity to zero on open boundaries. More...
 
logical freeslip_vorticity = .false.
 If True, sets normal gradient of tangential velocity to zero in the relative vorticity on open boundaries. More...
 
logical computed_vorticity = .false.
 If True, uses external data for tangential velocity in the relative vorticity on open boundaries. More...
 
logical specified_vorticity = .false.
 If True, uses external data for tangential velocity gradients in the relative vorticity on open boundaries. More...
 
logical zero_strain = .false.
 If True, sets strain to zero on open boundaries. More...
 
logical freeslip_strain = .false.
 If True, sets normal gradient of tangential velocity to zero in the strain on open boundaries. More...
 
logical computed_strain = .false.
 If True, uses external data for tangential velocity to compute normal gradient in the strain on open boundaries. More...
 
logical specified_strain = .false.
 If True, uses external data for tangential velocity gradients to compute strain on open boundaries. More...
 
logical zero_biharmonic = .false.
 If True, zeros the Laplacian of flow on open boundaries for use in the biharmonic viscosity term. More...
 
logical brushcutter_mode = .false.
 If True, read data on supergrid. More...
 
real g_earth
 The gravitational acceleration [m s-2]. More...
 
logical, dimension(:), pointer tracer_x_reservoirs_used => NULL()
 Dimensioned by the number of tracers, set globally,. More...
 
logical, dimension(:), pointer tracer_y_reservoirs_used => NULL()
 Dimensioned by the number of tracers, set globally,. More...
 
integer ntr = 0
 number of tracers More...
 
type(obc_segment_type), dimension(:), pointer segment => NULL()
 List of segment objects. More...
 
integer, dimension(:,:), pointer segnum_u => NULL()
 Segment number of u-points. More...
 
integer, dimension(:,:), pointer segnum_v => NULL()
 Segment number of v-points. More...
 
real gamma_uv
 The relative weighting for the baroclinic radiation velocities (or speed of characteristics) at the new time level (1) or the running mean (0) for velocities. Valid values range from 0 to 1, with a default of 0.3. More...
 
real rx_max
 The maximum magnitude of the baroclinic radiation velocity (or speed of characteristics) [m s-1]. The default value is 10 m s-1. More...
 
logical obc_pe
 Is there an open boundary on this tile? More...
 
type(remapping_cs), pointer remap_cs
 ALE remapping control structure for segments only. More...
 
type(obc_registry_type), pointer obc_reg => NULL()
 Registry type for boundaries. More...
 
real, dimension(:,:,:), pointer rx_normal => NULL()
 Array storage for normal phase speed for EW radiation OBCs in units of. More...
 
real, dimension(:,:,:), pointer ry_normal => NULL()
 Array storage for normal phase speed for NS radiation OBCs in units of. More...
 
real, dimension(:,:,:), pointer rx_oblique => NULL()
 Array storage for oblique boundary condition restarts [L2 T-2 ~> m2 s-2]. More...
 
real, dimension(:,:,:), pointer ry_oblique => NULL()
 Array storage for oblique boundary condition restarts [L2 T-2 ~> m2 s-2]. More...
 
real, dimension(:,:,:), pointer cff_normal => NULL()
 Array storage for oblique boundary condition restarts [L2 T-2 ~> m2 s-2]. More...
 
real, dimension(:,:,:,:), pointer tres_x => NULL()
 Array storage of tracer reservoirs for restarts [conc L ~> conc m]. More...
 
real, dimension(:,:,:,:), pointer tres_y => NULL()
 Array storage of tracer reservoirs for restarts [conc L ~> conc m]. More...
 
real silly_h
 A silly value of thickness outside of the domain that can be used to test the independence of the OBCs to this external data [H ~> m or kg m-2]. More...
 
real silly_u
 A silly value of velocity outside of the domain that can be used to test the independence of the OBCs to this external data [L T-1 ~> m s-1]. More...
 

Variables and constants

◆ brushcutter_mode

logical mom_open_boundary::ocean_obc_type::brushcutter_mode = .false.

If True, read data on supergrid.

Definition at line 237 of file MOM_open_boundary.F90.

237  logical :: brushcutter_mode = .false. !< If True, read data on supergrid.

◆ cff_normal

real, dimension(:,:,:), pointer mom_open_boundary::ocean_obc_type::cff_normal => NULL()

Array storage for oblique boundary condition restarts [L2 T-2 ~> m2 s-2].

Definition at line 265 of file MOM_open_boundary.F90.

◆ computed_strain

logical mom_open_boundary::ocean_obc_type::computed_strain = .false.

If True, uses external data for tangential velocity to compute normal gradient in the strain on open boundaries.

Definition at line 231 of file MOM_open_boundary.F90.

231  logical :: computed_strain = .false. !< If True, uses external data for tangential velocity to compute

◆ computed_vorticity

logical mom_open_boundary::ocean_obc_type::computed_vorticity = .false.

If True, uses external data for tangential velocity in the relative vorticity on open boundaries.

Definition at line 224 of file MOM_open_boundary.F90.

224  logical :: computed_vorticity = .false. !< If True, uses external data for tangential velocity

◆ flather_u_bcs_exist_globally

logical mom_open_boundary::ocean_obc_type::flather_u_bcs_exist_globally = .false.

True if any zonal velocity points in the global domain use Flather BCs.

Definition at line 202 of file MOM_open_boundary.F90.

202  logical :: Flather_u_BCs_exist_globally = .false. !< True if any zonal velocity points

◆ flather_v_bcs_exist_globally

logical mom_open_boundary::ocean_obc_type::flather_v_bcs_exist_globally = .false.

True if any meridional velocity points in the global domain use Flather BCs.

Definition at line 204 of file MOM_open_boundary.F90.

204  logical :: Flather_v_BCs_exist_globally = .false. !< True if any meridional velocity points

◆ freeslip_strain

logical mom_open_boundary::ocean_obc_type::freeslip_strain = .false.

If True, sets normal gradient of tangential velocity to zero in the strain on open boundaries.

Definition at line 229 of file MOM_open_boundary.F90.

229  logical :: freeslip_strain = .false. !< If True, sets normal gradient of tangential velocity to zero

◆ freeslip_vorticity

logical mom_open_boundary::ocean_obc_type::freeslip_vorticity = .false.

If True, sets normal gradient of tangential velocity to zero in the relative vorticity on open boundaries.

Definition at line 222 of file MOM_open_boundary.F90.

222  logical :: freeslip_vorticity = .false. !< If True, sets normal gradient of tangential velocity to zero

◆ g_earth

real mom_open_boundary::ocean_obc_type::g_earth

The gravitational acceleration [m s-2].

Definition at line 238 of file MOM_open_boundary.F90.

238  real :: g_Earth !< The gravitational acceleration [m s-2].

◆ gamma_uv

real mom_open_boundary::ocean_obc_type::gamma_uv

The relative weighting for the baroclinic radiation velocities (or speed of characteristics) at the new time level (1) or the running mean (0) for velocities. Valid values range from 0 to 1, with a default of 0.3.

Definition at line 255 of file MOM_open_boundary.F90.

255  real :: gamma_uv !< The relative weighting for the baroclinic radiation

◆ ke

integer mom_open_boundary::ocean_obc_type::ke = 0

The number of model layers.

Definition at line 197 of file MOM_open_boundary.F90.

197  integer :: ke = 0 !< The number of model layers

◆ needs_io_for_data

logical mom_open_boundary::ocean_obc_type::needs_io_for_data = .false.

Is any i/o needed for OBCs.

Definition at line 220 of file MOM_open_boundary.F90.

220  logical :: needs_IO_for_data = .false. !< Is any i/o needed for OBCs

◆ ntr

integer mom_open_boundary::ocean_obc_type::ntr = 0

number of tracers

Definition at line 245 of file MOM_open_boundary.F90.

245  integer :: ntr = 0 !< number of tracers

◆ nudged_u_bcs_exist_globally

logical mom_open_boundary::ocean_obc_type::nudged_u_bcs_exist_globally = .false.

True if any velocity points in the global domain use nudged BCs.

Definition at line 208 of file MOM_open_boundary.F90.

208  logical :: nudged_u_BCs_exist_globally = .false. !< True if any velocity points in the

◆ nudged_v_bcs_exist_globally

logical mom_open_boundary::ocean_obc_type::nudged_v_bcs_exist_globally = .false.

True if any velocity points in the global domain use nudged BCs.

Definition at line 210 of file MOM_open_boundary.F90.

210  logical :: nudged_v_BCs_exist_globally = .false. !< True if any velocity points in the

◆ number_of_segments

integer mom_open_boundary::ocean_obc_type::number_of_segments = 0

The number of open-boundary segments.

Definition at line 196 of file MOM_open_boundary.F90.

196  integer :: number_of_segments = 0 !< The number of open-boundary segments.

◆ obc_pe

logical mom_open_boundary::ocean_obc_type::obc_pe

Is there an open boundary on this tile?

Definition at line 262 of file MOM_open_boundary.F90.

262  logical :: OBC_pe !< Is there an open boundary on this tile?

◆ obc_reg

type(obc_registry_type), pointer mom_open_boundary::ocean_obc_type::obc_reg => NULL()

Registry type for boundaries.

Definition at line 264 of file MOM_open_boundary.F90.

264  type(OBC_registry_type), pointer :: OBC_Reg => null() !< Registry type for boundaries

◆ oblique_bcs_exist_globally

logical mom_open_boundary::ocean_obc_type::oblique_bcs_exist_globally = .false.

True if any velocity points in the global domain use oblique BCs.

Definition at line 206 of file MOM_open_boundary.F90.

206  logical :: oblique_BCs_exist_globally = .false. !< True if any velocity points

◆ open_u_bcs_exist_globally

logical mom_open_boundary::ocean_obc_type::open_u_bcs_exist_globally = .false.

True if any zonal velocity points in the global domain use open BCs.

Definition at line 198 of file MOM_open_boundary.F90.

198  logical :: open_u_BCs_exist_globally = .false. !< True if any zonal velocity points

◆ open_v_bcs_exist_globally

logical mom_open_boundary::ocean_obc_type::open_v_bcs_exist_globally = .false.

True if any meridional velocity points in the global domain use open BCs.

Definition at line 200 of file MOM_open_boundary.F90.

200  logical :: open_v_BCs_exist_globally = .false. !< True if any meridional velocity points

◆ radiation_bcs_exist_globally

logical mom_open_boundary::ocean_obc_type::radiation_bcs_exist_globally = .false.

True if radiations BCs are in use anywhere.

Definition at line 216 of file MOM_open_boundary.F90.

216  logical :: radiation_BCs_exist_globally = .false. !< True if radiations BCs are in use anywhere.

◆ remap_cs

type(remapping_cs), pointer mom_open_boundary::ocean_obc_type::remap_cs

ALE remapping control structure for segments only.

Definition at line 263 of file MOM_open_boundary.F90.

263  type(remapping_CS), pointer :: remap_CS !< ALE remapping control structure for segments only

◆ rx_max

real mom_open_boundary::ocean_obc_type::rx_max

The maximum magnitude of the baroclinic radiation velocity (or speed of characteristics) [m s-1]. The default value is 10 m s-1.

Definition at line 259 of file MOM_open_boundary.F90.

259  real :: rx_max !< The maximum magnitude of the baroclinic radiation

◆ rx_normal

real, dimension(:,:,:), pointer mom_open_boundary::ocean_obc_type::rx_normal => NULL()

Array storage for normal phase speed for EW radiation OBCs in units of.

Definition at line 265 of file MOM_open_boundary.F90.

265  real, pointer, dimension(:,:,:) :: &
266  rx_normal => null(), & !< Array storage for normal phase speed for EW radiation OBCs in units of
267  !! grid points per timestep [nondim]
268  ry_normal => null(), & !< Array storage for normal phase speed for NS radiation OBCs in units of
269  !! grid points per timestep [nondim]
270  rx_oblique => null(), & !< Array storage for oblique boundary condition restarts [L2 T-2 ~> m2 s-2]
271  ry_oblique => null(), & !< Array storage for oblique boundary condition restarts [L2 T-2 ~> m2 s-2]
272  cff_normal => null() !< Array storage for oblique boundary condition restarts [L2 T-2 ~> m2 s-2]

◆ rx_oblique

real, dimension(:,:,:), pointer mom_open_boundary::ocean_obc_type::rx_oblique => NULL()

Array storage for oblique boundary condition restarts [L2 T-2 ~> m2 s-2].

Definition at line 265 of file MOM_open_boundary.F90.

◆ ry_normal

real, dimension(:,:,:), pointer mom_open_boundary::ocean_obc_type::ry_normal => NULL()

Array storage for normal phase speed for NS radiation OBCs in units of.

Definition at line 265 of file MOM_open_boundary.F90.

◆ ry_oblique

real, dimension(:,:,:), pointer mom_open_boundary::ocean_obc_type::ry_oblique => NULL()

Array storage for oblique boundary condition restarts [L2 T-2 ~> m2 s-2].

Definition at line 265 of file MOM_open_boundary.F90.

◆ segment

type(obc_segment_type), dimension(:), pointer mom_open_boundary::ocean_obc_type::segment => NULL()

List of segment objects.

Definition at line 247 of file MOM_open_boundary.F90.

247  type(OBC_segment_type), pointer, dimension(:) :: &
248  segment => null() !< List of segment objects.

◆ segnum_u

integer, dimension(:,:), pointer mom_open_boundary::ocean_obc_type::segnum_u => NULL()

Segment number of u-points.

Definition at line 250 of file MOM_open_boundary.F90.

250  integer, pointer, dimension(:,:) :: &
251  segnum_u => null(), & !< Segment number of u-points.
252  segnum_v => null() !< Segment number of v-points.

◆ segnum_v

integer, dimension(:,:), pointer mom_open_boundary::ocean_obc_type::segnum_v => NULL()

Segment number of v-points.

Definition at line 250 of file MOM_open_boundary.F90.

◆ silly_h

real mom_open_boundary::ocean_obc_type::silly_h

A silly value of thickness outside of the domain that can be used to test the independence of the OBCs to this external data [H ~> m or kg m-2].

Definition at line 276 of file MOM_open_boundary.F90.

276  real :: silly_h !< A silly value of thickness outside of the domain that can be used to test

◆ silly_u

real mom_open_boundary::ocean_obc_type::silly_u

A silly value of velocity outside of the domain that can be used to test the independence of the OBCs to this external data [L T-1 ~> m s-1].

Definition at line 278 of file MOM_open_boundary.F90.

278  real :: silly_u !< A silly value of velocity outside of the domain that can be used to test

◆ specified_strain

logical mom_open_boundary::ocean_obc_type::specified_strain = .false.

If True, uses external data for tangential velocity gradients to compute strain on open boundaries.

Definition at line 233 of file MOM_open_boundary.F90.

233  logical :: specified_strain = .false. !< If True, uses external data for tangential velocity gradients

◆ specified_u_bcs_exist_globally

logical mom_open_boundary::ocean_obc_type::specified_u_bcs_exist_globally = .false.

True if any zonal velocity points in the global domain use specified BCs.

Definition at line 212 of file MOM_open_boundary.F90.

212  logical :: specified_u_BCs_exist_globally = .false. !< True if any zonal velocity points

◆ specified_v_bcs_exist_globally

logical mom_open_boundary::ocean_obc_type::specified_v_bcs_exist_globally = .false.

True if any meridional velocity points in the global domain use specified BCs.

Definition at line 214 of file MOM_open_boundary.F90.

214  logical :: specified_v_BCs_exist_globally = .false. !< True if any meridional velocity points

◆ specified_vorticity

logical mom_open_boundary::ocean_obc_type::specified_vorticity = .false.

If True, uses external data for tangential velocity gradients in the relative vorticity on open boundaries.

Definition at line 226 of file MOM_open_boundary.F90.

226  logical :: specified_vorticity = .false. !< If True, uses external data for tangential velocity

◆ tracer_x_reservoirs_used

logical, dimension(:), pointer mom_open_boundary::ocean_obc_type::tracer_x_reservoirs_used => NULL()

Dimensioned by the number of tracers, set globally,.

Definition at line 239 of file MOM_open_boundary.F90.

239  logical, pointer, dimension(:) :: &
240  tracer_x_reservoirs_used => null() !< Dimensioned by the number of tracers, set globally,

◆ tracer_y_reservoirs_used

logical, dimension(:), pointer mom_open_boundary::ocean_obc_type::tracer_y_reservoirs_used => NULL()

Dimensioned by the number of tracers, set globally,.

Definition at line 242 of file MOM_open_boundary.F90.

242  logical, pointer, dimension(:) :: &
243  tracer_y_reservoirs_used => null() !< Dimensioned by the number of tracers, set globally,

◆ tres_x

real, dimension(:,:,:,:), pointer mom_open_boundary::ocean_obc_type::tres_x => NULL()

Array storage of tracer reservoirs for restarts [conc L ~> conc m].

Definition at line 273 of file MOM_open_boundary.F90.

273  real, pointer, dimension(:,:,:,:) :: &
274  tres_x => null(), & !< Array storage of tracer reservoirs for restarts [conc L ~> conc m]
275  tres_y => null() !< Array storage of tracer reservoirs for restarts [conc L ~> conc m]

◆ tres_y

real, dimension(:,:,:,:), pointer mom_open_boundary::ocean_obc_type::tres_y => NULL()

Array storage of tracer reservoirs for restarts [conc L ~> conc m].

Definition at line 273 of file MOM_open_boundary.F90.

◆ update_obc

logical mom_open_boundary::ocean_obc_type::update_obc = .false.

Is OBC data time-dependent.

Definition at line 219 of file MOM_open_boundary.F90.

219  logical :: update_OBC = .false. !< Is OBC data time-dependent

◆ user_bcs_set_globally

logical mom_open_boundary::ocean_obc_type::user_bcs_set_globally = .false.

True if any OBC_USER_CONFIG is set for input from user directory.

Definition at line 217 of file MOM_open_boundary.F90.

217  logical :: user_BCs_set_globally = .false. !< True if any OBC_USER_CONFIG is set

◆ zero_biharmonic

logical mom_open_boundary::ocean_obc_type::zero_biharmonic = .false.

If True, zeros the Laplacian of flow on open boundaries for use in the biharmonic viscosity term.

Definition at line 235 of file MOM_open_boundary.F90.

235  logical :: zero_biharmonic = .false. !< If True, zeros the Laplacian of flow on open boundaries for

◆ zero_strain

logical mom_open_boundary::ocean_obc_type::zero_strain = .false.

If True, sets strain to zero on open boundaries.

Definition at line 228 of file MOM_open_boundary.F90.

228  logical :: zero_strain = .false. !< If True, sets strain to zero on open boundaries.

◆ zero_vorticity

logical mom_open_boundary::ocean_obc_type::zero_vorticity = .false.

If True, sets relative vorticity to zero on open boundaries.

Definition at line 221 of file MOM_open_boundary.F90.

221  logical :: zero_vorticity = .false. !< If True, sets relative vorticity to zero on open boundaries.

The documentation for this type was generated from the following file: