MOM6
mom_barotropic::barotropic_cs Type Reference

Detailed Description

The barotropic stepping control stucture.

Definition at line 100 of file MOM_barotropic.F90.

Collaboration diagram for mom_barotropic::barotropic_cs:
[legend]

Public variables and constants

real, dimension(:, :, :), allocatable frhatu
 The fraction of the total column thickness interpolated to u grid points in each layer [nondim].
 
real, dimension(:, :, :), allocatable frhatv
 The fraction of the total column thickness interpolated to v grid points in each layer [nondim].
 
real, dimension(:, :), allocatable idatu
 Inverse of the basin depth at u grid points [Z-1 ~> m-1].
 
real, dimension(:, :), allocatable lin_drag_u
 A spatially varying linear drag coefficient acting on the zonal barotropic flow [H T-1 ~> m s-1 or kg m-2 s-1].
 
real, dimension(:, :), allocatable uhbt_ic
 The barotropic solvers estimate of the zonal transport as the initial condition for the next call to btstep [H L2 T-1 ~> m3 s-1 or kg s-1].
 
real, dimension(:, :), allocatable ubt_ic
 The barotropic solvers estimate of the zonal velocity that will be the initial condition for the next call to btstep [L T-1 ~> m s-1].
 
real, dimension(:, :), allocatable ubtav
 The barotropic zonal velocity averaged over the baroclinic time step [L T-1 ~> m s-1].
 
real, dimension(:, :), allocatable idatv
 Inverse of the basin depth at v grid points [Z-1 ~> m-1].
 
real, dimension(:, :), allocatable lin_drag_v
 A spatially varying linear drag coefficient acting on the zonal barotropic flow [H T-1 ~> m s-1 or kg m-2 s-1].
 
real, dimension(:, :), allocatable vhbt_ic
 The barotropic solvers estimate of the zonal transport as the initial condition for the next call to btstep [H L2 T-1 ~> m3 s-1 or kg s-1].
 
real, dimension(:, :), allocatable vbt_ic
 The barotropic solvers estimate of the zonal velocity that will be the initial condition for the next call to btstep [L T-1 ~> m s-1].
 
real, dimension(:, :), allocatable vbtav
 The barotropic meridional velocity averaged over the baroclinic time step [L T-1 ~> m s-1].
 
real, dimension(:, :), allocatable eta_cor
 The difference between the free surface height from the barotropic calculation and the sum of the layer thicknesses. This difference is imposed as a forcing term in the barotropic calculation over a baroclinic timestep [H ~> m or kg m-2].
 
real, dimension(:, :), allocatable eta_cor_bound
 A limit on the rate at which eta_cor can be applied while avoiding instability [H T-1 ~> m s-1 or kg m-2 s-1]. This is only used if CSbound_BT_corr is true.
 
real, dimension(:, :), allocatable ua_polarity
 Test vector components for checking grid polarity.
 
real, dimension(:, :), allocatable va_polarity
 Test vector components for checking grid polarity.
 
real, dimension(:, :), allocatable bathyt
 A copy of bathyT (ocean bottom depth) with wide halos [Z ~> m].
 
real, dimension(:, :), allocatable iareat
 This is a copy of GIareaT with wide halos, but will still utilize the macro IareaT when referenced, [L-2 ~> m-2].
 
real, dimension(:, :), allocatable d_u_cor
 A simply averaged depth at u points [Z ~> m].
 
real, dimension(:, :), allocatable dy_cu
 A copy of Gdy_Cu with wide halos [L ~> m].
 
real, dimension(:, :), allocatable idxcu
 A copy of GIdxCu with wide halos [L-1 ~> m-1].
 
real, dimension(:, :), allocatable d_v_cor
 A simply averaged depth at v points [Z ~> m].
 
real, dimension(:, :), allocatable dx_cv
 A copy of Gdx_Cv with wide halos [L ~> m].
 
real, dimension(:, :), allocatable idycv
 A copy of GIdyCv with wide halos [L-1 ~> m-1].
 
real, dimension(:, :), allocatable q_d
 f / D at PV points [Z-1 T-1 ~> m-1 s-1].
 
real, dimension(:,:,:), pointer frhatu1 => NULL()
 Predictor step values of frhatu stored for diagnostics.
 
real, dimension(:,:,:), pointer frhatv1 => NULL()
 Predictor step values of frhatv stored for diagnostics.
 
type(bt_obc_typebt_obc
 A structure with all of this modules fields for applying open boundary conditions.
 
real rho0
 The density used in the Boussinesq approximation [kg m-3].
 
real dtbt
 The barotropic time step [s].
 
real dtbt_fraction
 The fraction of the maximum time-step that should used. The default is 0.98.
 
real dtbt_max
 The maximum stable barotropic time step [s].
 
real dt_bt_filter
 The time-scale over which the barotropic mode solutions are filtered [T ~> s] if positive, or as a fraction of DT if negative [nondim]. This can never be taken to be longer than 2*dt. Set this to 0 to apply no filtering.
 
integer nstep_last = 0
 The number of barotropic timesteps per baroclinic time step the last time btstep was called.
 
real bebt
 A nondimensional number, from 0 to 1, that determines the gravity wave time stepping scheme. 0.0 gives a forward-backward scheme, while 1.0 give backward Euler. In practice, bebt should be of order 0.2 or greater.
 
logical split
 If true, use the split time stepping scheme.
 
logical bound_bt_corr
 If true, the magnitude of the fake mass source in the barotropic equation that drives the two estimates of the free surface height toward each other is bounded to avoid driving corrective velocities that exceed MAXCFL_BT_CONT.
 
logical gradual_bt_ics
 If true, adjust the initial conditions for the barotropic solver to the values from the layered solution over a whole timestep instead of instantly. This is a decent approximation to the inclusion of sum(u dh_dt) while also correcting for truncation errors.
 
logical sadourny
 If true, the Coriolis terms are discretized with Sadourny's energy conserving scheme, otherwise the Arakawa & Hsu scheme is used. If the deformation radius is not resolved Sadourny's scheme should probably be used.
 
logical nonlinear_continuity
 If true, the barotropic continuity equation uses the full ocean thickness for transport.
 
integer nonlin_cont_update_period
 The number of barotropic time steps between updates to the face area, or 0 only to update at the start of a call to btstep. The default is 1.
 
logical bt_project_velocity
 If true, step the barotropic velocity first and project out the velocity tendency by 1+BEBT when calculating the transport. The default (false) is to use a predictor continuity step to find the pressure field, and then do a corrector continuity step using a weighted average of the old and new velocities, with weights of (1-BEBT) and BEBT.
 
logical dynamic_psurf
 If true, add a dynamic pressure due to a viscous ice shelf, for instance.
 
real dmin_dyn_psurf
 The minimum depth to use in limiting the size of the dynamic surface pressure for stability [Z ~> m].
 
real ice_strength_length
 The length scale at which the damping rate due to the ice strength should be the same as if a Laplacian were applied [L ~> m].
 
real const_dyn_psurf
 The constant that scales the dynamic surface pressure [nondim]. Stable values are < ~1.0. The default is 0.9.
 
logical tides
 If true, apply tidal momentum forcing.
 
real g_extra
 A nondimensional factor by which gtot is enhanced.
 
integer hvel_scheme
 An integer indicating how the thicknesses at velocity points are calculated. Valid values are given by the parameters defined below: HARMONIC, ARITHMETIC, HYBRID, and FROM_BT_CONT.
 
logical strong_drag
 If true, use a stronger estimate of the retarding effects of strong bottom drag.
 
logical linear_wave_drag
 If true, apply a linear drag to the barotropic velocities, using rates set by lin_drag_u & _v divided by the depth of the ocean.
 
logical linearized_bt_pv
 If true, the PV and interface thicknesses used in the barotropic Coriolis calculation is time invariant and linearized.
 
logical use_wide_halos
 If true, use wide halos and march in during the barotropic time stepping for efficiency.
 
logical clip_velocity
 If true, limit any velocity components that are are large enough for a CFL number to exceed CFL_trunc. This should only be used as a desperate debugging measure.
 
logical debug
 If true, write verbose checksums for debugging purposes.
 
logical debug_bt
 If true, write verbose checksums for debugging purposes.
 
real vel_underflow
 Velocity components smaller than vel_underflow are set to 0 [L T-1 ~> m s-1].
 
real maxvel
 Velocity components greater than maxvel are truncated to maxvel [m s-1].
 
real cfl_trunc
 If clip_velocity is true, velocity components will be truncated when they are large enough that the corresponding CFL number exceeds this value, nondim.
 
real maxcfl_bt_cont
 The maximum permitted CFL number associated with the barotropic accelerations from the summed velocities times the time-derivatives of thicknesses. The default is 0.1, and there will probably be real problems if this were set close to 1.
 
logical bt_cont_bounds
 If true, use the BT_cont_type variables to set limits on the magnitude of the corrective mass fluxes.
 
logical visc_rem_u_uh0
 If true, use the viscous remnants when estimating the barotropic velocities that were used to calculate uh0 and vh0. False is probably the better choice.
 
logical adjust_bt_cont
 If true, adjust the curve fit to the BT_cont type that is used by the barotropic solver to match the transport about which the flow is being linearized.
 
logical use_old_coriolis_bracket_bug
 If True, use an order of operations that is not bitwise rotationally symmetric in the meridional Coriolis term of the barotropic solver.
 
type(time_type), pointer time => NULL()
 A pointer to the ocean models clock.
 
type(diag_ctrl), pointer diag => NULL()
 A structure that is used to regulate the timing of diagnostic output.
 
type(mom_domain_type), pointer bt_domain => NULL()
 The fraction of the total column thickness interpolated to u grid points in each layer [nondim].
 
type(hor_index_type), pointer debug_bt_hi => NULL()
 debugging copy of horizontal index_type
 
type(tidal_forcing_cs), pointer tides_csp => NULL()
 The fraction of the total column thickness interpolated to u grid points in each layer [nondim].
 
logical module_is_initialized = .false.
 The fraction of the total column thickness interpolated to u grid points in each layer [nondim].
 
integer isdw
 The lower i-memory limit for the wide halo arrays.
 
integer iedw
 The upper i-memory limit for the wide halo arrays.
 
integer jsdw
 The lower j-memory limit for the wide halo arrays.
 
integer jedw
 The upper j-memory limit for the wide halo arrays.
 
type(group_pass_type) pass_q_dcor
 Handle for a group halo pass.
 
type(group_pass_type) pass_gtot
 Handle for a group halo pass.
 
type(group_pass_type) pass_tmp_uv
 Handle for a group halo pass.
 
type(group_pass_type) pass_eta_bt_rem
 Handle for a group halo pass.
 
type(group_pass_type) pass_force_hbt0_cor_ref
 Handle for a group halo pass.
 
type(group_pass_type) pass_dat_uv
 Handle for a group halo pass.
 
type(group_pass_type) pass_eta_ubt
 Handle for a group halo pass.
 
type(group_pass_type) pass_etaav
 Handle for a group halo pass.
 
type(group_pass_type) pass_ubt_cor
 Handle for a group halo pass.
 
type(group_pass_type) pass_ubta_uhbta
 Handle for a group halo pass.
 
type(group_pass_type) pass_e_anom
 Handle for a group halo pass.
 
integer id_pfu_bt = -1
 Diagnostic IDs.
 
integer id_pfv_bt = -1
 The fraction of the total column thickness interpolated to u grid points in each layer [nondim].
 
integer id_coru_bt = -1
 The fraction of the total column thickness interpolated to u grid points in each layer [nondim].
 
integer id_corv_bt = -1
 The fraction of the total column thickness interpolated to u grid points in each layer [nondim].
 
integer id_ubtforce = -1
 The fraction of the total column thickness interpolated to u grid points in each layer [nondim].
 
integer id_vbtforce = -1
 The fraction of the total column thickness interpolated to u grid points in each layer [nondim].
 
integer id_uaccel = -1
 The fraction of the total column thickness interpolated to u grid points in each layer [nondim].
 
integer id_vaccel = -1
 The fraction of the total column thickness interpolated to u grid points in each layer [nondim].
 
integer id_visc_rem_u = -1
 The fraction of the total column thickness interpolated to u grid points in each layer [nondim].
 
integer id_visc_rem_v = -1
 The fraction of the total column thickness interpolated to u grid points in each layer [nondim].
 
integer id_eta_cor = -1
 The fraction of the total column thickness interpolated to u grid points in each layer [nondim].
 
integer id_ubt = -1
 The fraction of the total column thickness interpolated to u grid points in each layer [nondim].
 
integer id_vbt = -1
 The fraction of the total column thickness interpolated to u grid points in each layer [nondim].
 
integer id_eta_bt = -1
 The fraction of the total column thickness interpolated to u grid points in each layer [nondim].
 
integer id_ubtav = -1
 The fraction of the total column thickness interpolated to u grid points in each layer [nondim].
 
integer id_vbtav = -1
 The fraction of the total column thickness interpolated to u grid points in each layer [nondim].
 
integer id_ubt_st = -1
 The fraction of the total column thickness interpolated to u grid points in each layer [nondim].
 
integer id_vbt_st = -1
 The fraction of the total column thickness interpolated to u grid points in each layer [nondim].
 
integer id_eta_st = -1
 The fraction of the total column thickness interpolated to u grid points in each layer [nondim].
 
integer id_ubt_hifreq = -1
 The fraction of the total column thickness interpolated to u grid points in each layer [nondim].
 
integer id_vbt_hifreq = -1
 The fraction of the total column thickness interpolated to u grid points in each layer [nondim].
 
integer id_eta_hifreq = -1
 The fraction of the total column thickness interpolated to u grid points in each layer [nondim].
 
integer id_uhbt_hifreq = -1
 The fraction of the total column thickness interpolated to u grid points in each layer [nondim].
 
integer id_vhbt_hifreq = -1
 The fraction of the total column thickness interpolated to u grid points in each layer [nondim].
 
integer id_eta_pred_hifreq = -1
 The fraction of the total column thickness interpolated to u grid points in each layer [nondim].
 
integer id_gtotn = -1
 The fraction of the total column thickness interpolated to u grid points in each layer [nondim].
 
integer id_gtots = -1
 The fraction of the total column thickness interpolated to u grid points in each layer [nondim].
 
integer id_gtote = -1
 The fraction of the total column thickness interpolated to u grid points in each layer [nondim].
 
integer id_gtotw = -1
 The fraction of the total column thickness interpolated to u grid points in each layer [nondim].
 
integer id_uhbt = -1
 The fraction of the total column thickness interpolated to u grid points in each layer [nondim].
 
integer id_frhatu = -1
 The fraction of the total column thickness interpolated to u grid points in each layer [nondim].
 
integer id_vhbt = -1
 The fraction of the total column thickness interpolated to u grid points in each layer [nondim].
 
integer id_frhatv = -1
 The fraction of the total column thickness interpolated to u grid points in each layer [nondim].
 
integer id_frhatu1 = -1
 The fraction of the total column thickness interpolated to u grid points in each layer [nondim].
 
integer id_frhatv1 = -1
 The fraction of the total column thickness interpolated to u grid points in each layer [nondim].
 
integer id_btc_fa_u_ee = -1
 The fraction of the total column thickness interpolated to u grid points in each layer [nondim].
 
integer id_btc_fa_u_e0 = -1
 The fraction of the total column thickness interpolated to u grid points in each layer [nondim].
 
integer id_btc_fa_u_w0 = -1
 The fraction of the total column thickness interpolated to u grid points in each layer [nondim].
 
integer id_btc_fa_u_ww = -1
 The fraction of the total column thickness interpolated to u grid points in each layer [nondim].
 
integer id_btc_ubt_ee = -1
 The fraction of the total column thickness interpolated to u grid points in each layer [nondim].
 
integer id_btc_ubt_ww = -1
 The fraction of the total column thickness interpolated to u grid points in each layer [nondim].
 
integer id_btc_fa_v_nn = -1
 The fraction of the total column thickness interpolated to u grid points in each layer [nondim].
 
integer id_btc_fa_v_n0 = -1
 The fraction of the total column thickness interpolated to u grid points in each layer [nondim].
 
integer id_btc_fa_v_s0 = -1
 The fraction of the total column thickness interpolated to u grid points in each layer [nondim].
 
integer id_btc_fa_v_ss = -1
 The fraction of the total column thickness interpolated to u grid points in each layer [nondim].
 
integer id_btc_vbt_nn = -1
 The fraction of the total column thickness interpolated to u grid points in each layer [nondim].
 
integer id_btc_vbt_ss = -1
 The fraction of the total column thickness interpolated to u grid points in each layer [nondim].
 
integer id_uhbt0 = -1
 The fraction of the total column thickness interpolated to u grid points in each layer [nondim].
 
integer id_vhbt0 = -1
 The fraction of the total column thickness interpolated to u grid points in each layer [nondim].
 

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