MOM6
mom_internal_tides::int_tide_cs Type Reference

Detailed Description

This control structure has parameters for the MOM_internal_tides module.

Definition at line 38 of file MOM_internal_tides.F90.

Collaboration diagram for mom_internal_tides::int_tide_cs:
[legend]

Public variables and constants

logical do_int_tides
 If true, use the internal tide code. More...
 
integer nfreq = 0
 The number of internal tide frequency bands. More...
 
integer nmode = 1
 The number of internal tide vertical modes. More...
 
integer nangle = 24
 The number of internal tide angular orientations. More...
 
integer energized_angle = -1
 If positive, only this angular band is energized for debugging purposes. More...
 
logical corner_adv
 If true, use a corner advection rather than PPM. More...
 
logical upwind_1st
 If true, use a first-order upwind scheme. More...
 
logical simple_2nd
 If true, use a simple second order (arithmetic mean) interpolation of the edge values instead of the higher order interpolation. More...
 
logical vol_cfl
 If true, use the ratio of the open face lengths to the tracer cell areas when estimating CFL numbers. Without aggress_adjust, the default is false; it is always true with aggress_adjust. More...
 
logical use_ppmang
 If true, use PPM for advection of energy in angular space. More...
 
real, dimension(:,:), allocatable refl_angle
 local coastline/ridge/shelf angles read from file More...
 
real nullangle = -999.9
 placeholder value in cells with no reflection More...
 
real, dimension(:,:), allocatable refl_pref
 partial reflection coeff for each "coast cell" More...
 
logical, dimension(:,:), allocatable refl_pref_logical
 true if reflecting cell with partial reflection More...
 
logical, dimension(:,:), allocatable refl_dbl
 identifies reflection cells where double reflection is possible (i.e. ridge cells) More...
 
real, dimension(:,:,:,:), allocatable cp
 horizontal phase speed [L T-1 ~> m s-1] More...
 
real, dimension(:,:,:,:,:), allocatable tke_leak_loss
 energy lost due to misc background processes [R Z3 T-3 ~> W m-2] More...
 
real, dimension(:,:,:,:,:), allocatable tke_quad_loss
 energy lost due to quadratic bottom drag [R Z3 T-3 ~> W m-2] More...
 
real, dimension(:,:,:,:,:), allocatable tke_froude_loss
 energy lost due to wave breaking [R Z3 T-3 ~> W m-2] More...
 
real, dimension(:,:), allocatable tke_itidal_loss_fixed
 Fixed part of the energy lost due to small-scale drag [R L-2 Z3 ~> kg m-2] here; This will be multiplied by N and the squared near-bottom velocity to get the energy losses in [R Z3 T-3 ~> W m-2]. More...
 
real, dimension(:,:,:,:,:), allocatable tke_itidal_loss
 energy lost due to small-scale wave drag [R Z3 T-3 ~> W m-2] More...
 
real, dimension(:,:), allocatable tot_leak_loss
 Energy loss rates due to misc bakground processes, summed over angle, frequency and mode [R Z3 T-3 ~> W m-2]. More...
 
real, dimension(:,:), allocatable tot_quad_loss
 Energy loss rates due to quadratic bottom drag, summed over angle, frequency and mode [R Z3 T-3 ~> W m-2]. More...
 
real, dimension(:,:), allocatable tot_itidal_loss
 Energy loss rates due to small-scale drag, summed over angle, frequency and mode [R Z3 T-3 ~> W m-2]. More...
 
real, dimension(:,:), allocatable tot_froude_loss
 Energy loss rates due to wave breaking, summed over angle, frequency and mode [R Z3 T-3 ~> W m-2]. More...
 
real, dimension(:,:), allocatable tot_allprocesses_loss
 Energy loss rates due to all processes, summed over angle, frequency and mode [R Z3 T-3 ~> W m-2]. More...
 
real q_itides
 fraction of local dissipation [nondim] More...
 
real en_sum
 global sum of energy for use in debugging [R Z3 T-2 ~> J m-2] More...
 
type(time_type), pointer time => NULL()
 A pointer to the model's clock. More...
 
character(len=200) inputdir
 directory to look for coastline angle file More...
 
real decay_rate
 A constant rate at which internal tide energy is lost to the interior ocean internal wave field. More...
 
real cdrag
 The bottom drag coefficient [nondim]. More...
 
logical apply_background_drag
 If true, apply a drag due to background processes as a sink. More...
 
logical apply_bottom_drag
 If true, apply a quadratic bottom drag as a sink. More...
 
logical apply_wave_drag
 If true, apply scattering due to small-scale roughness as a sink. More...
 
logical apply_froude_drag
 If true, apply wave breaking as a sink. More...
 
real, dimension(:,:,:,:,:), pointer en => NULL()
 The internal wave energy density as a function of (i,j,angle,frequency,mode) integrated within an angular and frequency band [R Z3 T-2 ~> J m-2]. More...
 
real, dimension(:,:,:), pointer en_restart => NULL()
 The internal wave energy density as a function of (i,j,angle); temporary for restart. More...
 
real, dimension(:), allocatable frequency
 The frequency of each band [T-1 ~> s-1]. More...
 
type(diag_ctrl), pointer diag => NULL()
 A structure that is used to regulate the timing of diagnostic output. More...
 
type(wave_structure_cs), pointer wave_structure_csp => NULL()
 A pointer to the wave_structure module control structure. More...
 
integer id_tot_en = -1
 Diag handles. More...
 
integer id_tke_itidal_input = -1
 Diag handles. More...
 
integer id_itide_drag = -1
 Diag handles. More...
 
integer id_refl_pref = -1
 Diag handles. More...
 
integer id_refl_ang = -1
 Diag handles. More...
 
integer id_land_mask = -1
 Diag handles. More...
 
integer id_dx_cv = -1
 Diag handles. More...
 
integer id_dy_cu = -1
 Diag handles. More...
 
integer id_tot_leak_loss = -1
 Diag handles. More...
 
integer id_tot_quad_loss = -1
 Diag handles. More...
 
integer id_tot_itidal_loss = -1
 Diag handles. More...
 
integer id_tot_froude_loss = -1
 Diag handles. More...
 
integer id_tot_allprocesses_loss = -1
 Diag handles. More...
 
integer, dimension(:,:), allocatable id_en_mode
 Diag handles. More...
 
integer, dimension(:,:), allocatable id_itidal_loss_mode
 Diag handles. More...
 
integer, dimension(:,:), allocatable id_allprocesses_loss_mode
 Diag handles. More...
 
integer, dimension(:,:), allocatable id_ub_mode
 Diag handles. More...
 
integer, dimension(:,:), allocatable id_cp_mode
 Diag handles. More...
 
integer, dimension(:,:), allocatable id_en_ang_mode
 Diag handles. More...
 
integer, dimension(:,:), allocatable id_itidal_loss_ang_mode
 Diag handles. More...
 

Variables and constants

◆ apply_background_drag

logical mom_internal_tides::int_tide_cs::apply_background_drag

If true, apply a drag due to background processes as a sink.

Definition at line 98 of file MOM_internal_tides.F90.

98  logical :: apply_background_drag

◆ apply_bottom_drag

logical mom_internal_tides::int_tide_cs::apply_bottom_drag

If true, apply a quadratic bottom drag as a sink.

Definition at line 100 of file MOM_internal_tides.F90.

100  logical :: apply_bottom_drag

◆ apply_froude_drag

logical mom_internal_tides::int_tide_cs::apply_froude_drag

If true, apply wave breaking as a sink.

Definition at line 104 of file MOM_internal_tides.F90.

104  logical :: apply_Froude_drag

◆ apply_wave_drag

logical mom_internal_tides::int_tide_cs::apply_wave_drag

If true, apply scattering due to small-scale roughness as a sink.

Definition at line 102 of file MOM_internal_tides.F90.

102  logical :: apply_wave_drag

◆ cdrag

real mom_internal_tides::int_tide_cs::cdrag

The bottom drag coefficient [nondim].

Definition at line 97 of file MOM_internal_tides.F90.

97  real :: cdrag !< The bottom drag coefficient [nondim].

◆ corner_adv

logical mom_internal_tides::int_tide_cs::corner_adv

If true, use a corner advection rather than PPM.

Definition at line 44 of file MOM_internal_tides.F90.

44  logical :: corner_adv !< If true, use a corner advection rather than PPM.

◆ cp

real, dimension(:,:,:,:), allocatable mom_internal_tides::int_tide_cs::cp

horizontal phase speed [L T-1 ~> m s-1]

Definition at line 67 of file MOM_internal_tides.F90.

67  real, allocatable, dimension(:,:,:,:) :: cp

◆ decay_rate

real mom_internal_tides::int_tide_cs::decay_rate

A constant rate at which internal tide energy is lost to the interior ocean internal wave field.

Definition at line 95 of file MOM_internal_tides.F90.

95  real :: decay_rate !< A constant rate at which internal tide energy is

◆ diag

type(diag_ctrl), pointer mom_internal_tides::int_tide_cs::diag => NULL()

A structure that is used to regulate the timing of diagnostic output.

Definition at line 113 of file MOM_internal_tides.F90.

113  type(diag_ctrl), pointer :: diag => null() !< A structure that is used to regulate the

◆ do_int_tides

logical mom_internal_tides::int_tide_cs::do_int_tides

If true, use the internal tide code.

Definition at line 39 of file MOM_internal_tides.F90.

39  logical :: do_int_tides !< If true, use the internal tide code.

◆ en

real, dimension(:,:,:,:,:), pointer mom_internal_tides::int_tide_cs::en => NULL()

The internal wave energy density as a function of (i,j,angle,frequency,mode) integrated within an angular and frequency band [R Z3 T-2 ~> J m-2].

Definition at line 106 of file MOM_internal_tides.F90.

106  real, dimension(:,:,:,:,:), pointer :: En => null()

◆ en_restart

real, dimension(:,:,:), pointer mom_internal_tides::int_tide_cs::en_restart => NULL()

The internal wave energy density as a function of (i,j,angle); temporary for restart.

Definition at line 109 of file MOM_internal_tides.F90.

109  real, dimension(:,:,:), pointer :: En_restart => null()

◆ en_sum

real mom_internal_tides::int_tide_cs::en_sum

global sum of energy for use in debugging [R Z3 T-2 ~> J m-2]

Definition at line 92 of file MOM_internal_tides.F90.

92  real :: En_sum !< global sum of energy for use in debugging [R Z3 T-2 ~> J m-2]

◆ energized_angle

integer mom_internal_tides::int_tide_cs::energized_angle = -1

If positive, only this angular band is energized for debugging purposes.

Definition at line 43 of file MOM_internal_tides.F90.

43  integer :: energized_angle = -1 !< If positive, only this angular band is energized for debugging purposes

◆ frequency

real, dimension(:), allocatable mom_internal_tides::int_tide_cs::frequency

The frequency of each band [T-1 ~> s-1].

Definition at line 111 of file MOM_internal_tides.F90.

111  real, allocatable, dimension(:) :: frequency !< The frequency of each band [T-1 ~> s-1].

◆ id_allprocesses_loss_mode

integer, dimension(:,:), allocatable mom_internal_tides::int_tide_cs::id_allprocesses_loss_mode

Diag handles.

Definition at line 127 of file MOM_internal_tides.F90.

◆ id_cp_mode

integer, dimension(:,:), allocatable mom_internal_tides::int_tide_cs::id_cp_mode

Diag handles.

Definition at line 127 of file MOM_internal_tides.F90.

◆ id_dx_cv

integer mom_internal_tides::int_tide_cs::id_dx_cv = -1

Diag handles.

Definition at line 122 of file MOM_internal_tides.F90.

122  integer :: id_dx_Cv = -1, id_dy_cu = -1

◆ id_dy_cu

integer mom_internal_tides::int_tide_cs::id_dy_cu = -1

Diag handles.

Definition at line 122 of file MOM_internal_tides.F90.

◆ id_en_ang_mode

integer, dimension(:,:), allocatable mom_internal_tides::int_tide_cs::id_en_ang_mode

Diag handles.

Definition at line 134 of file MOM_internal_tides.F90.

134  integer, allocatable, dimension(:,:) :: &
135  id_En_ang_mode, &
136  id_itidal_loss_ang_mode

◆ id_en_mode

integer, dimension(:,:), allocatable mom_internal_tides::int_tide_cs::id_en_mode

Diag handles.

Definition at line 127 of file MOM_internal_tides.F90.

127  integer, allocatable, dimension(:,:) :: &
128  id_En_mode, &
129  id_itidal_loss_mode, &
130  id_allprocesses_loss_mode, &
131  id_Ub_mode, &
132  id_cp_mode

◆ id_itidal_loss_ang_mode

integer, dimension(:,:), allocatable mom_internal_tides::int_tide_cs::id_itidal_loss_ang_mode

Diag handles.

Definition at line 134 of file MOM_internal_tides.F90.

◆ id_itidal_loss_mode

integer, dimension(:,:), allocatable mom_internal_tides::int_tide_cs::id_itidal_loss_mode

Diag handles.

Definition at line 127 of file MOM_internal_tides.F90.

◆ id_itide_drag

integer mom_internal_tides::int_tide_cs::id_itide_drag = -1

Diag handles.

Definition at line 120 of file MOM_internal_tides.F90.

◆ id_land_mask

integer mom_internal_tides::int_tide_cs::id_land_mask = -1

Diag handles.

Definition at line 121 of file MOM_internal_tides.F90.

◆ id_refl_ang

integer mom_internal_tides::int_tide_cs::id_refl_ang = -1

Diag handles.

Definition at line 121 of file MOM_internal_tides.F90.

◆ id_refl_pref

integer mom_internal_tides::int_tide_cs::id_refl_pref = -1

Diag handles.

Definition at line 121 of file MOM_internal_tides.F90.

121  integer :: id_refl_pref = -1, id_refl_ang = -1, id_land_mask = -1

◆ id_tke_itidal_input

integer mom_internal_tides::int_tide_cs::id_tke_itidal_input = -1

Diag handles.

Definition at line 120 of file MOM_internal_tides.F90.

◆ id_tot_allprocesses_loss

integer mom_internal_tides::int_tide_cs::id_tot_allprocesses_loss = -1

Diag handles.

Definition at line 125 of file MOM_internal_tides.F90.

◆ id_tot_en

integer mom_internal_tides::int_tide_cs::id_tot_en = -1

Diag handles.

Definition at line 120 of file MOM_internal_tides.F90.

120  integer :: id_tot_En = -1, id_tke_itidal_input = -1, id_itide_drag = -1

◆ id_tot_froude_loss

integer mom_internal_tides::int_tide_cs::id_tot_froude_loss = -1

Diag handles.

Definition at line 125 of file MOM_internal_tides.F90.

125  integer :: id_tot_Froude_loss = -1, id_tot_allprocesses_loss = -1

◆ id_tot_itidal_loss

integer mom_internal_tides::int_tide_cs::id_tot_itidal_loss = -1

Diag handles.

Definition at line 124 of file MOM_internal_tides.F90.

◆ id_tot_leak_loss

integer mom_internal_tides::int_tide_cs::id_tot_leak_loss = -1

Diag handles.

Definition at line 124 of file MOM_internal_tides.F90.

124  integer :: id_tot_leak_loss = -1, id_tot_quad_loss = -1, id_tot_itidal_loss = -1

◆ id_tot_quad_loss

integer mom_internal_tides::int_tide_cs::id_tot_quad_loss = -1

Diag handles.

Definition at line 124 of file MOM_internal_tides.F90.

◆ id_ub_mode

integer, dimension(:,:), allocatable mom_internal_tides::int_tide_cs::id_ub_mode

Diag handles.

Definition at line 127 of file MOM_internal_tides.F90.

◆ inputdir

character(len=200) mom_internal_tides::int_tide_cs::inputdir

directory to look for coastline angle file

Definition at line 94 of file MOM_internal_tides.F90.

94  character(len=200) :: inputdir !< directory to look for coastline angle file

◆ nangle

integer mom_internal_tides::int_tide_cs::nangle = 24

The number of internal tide angular orientations.

Definition at line 42 of file MOM_internal_tides.F90.

42  integer :: nAngle = 24 !< The number of internal tide angular orientations

◆ nfreq

integer mom_internal_tides::int_tide_cs::nfreq = 0

The number of internal tide frequency bands.

Definition at line 40 of file MOM_internal_tides.F90.

40  integer :: nFreq = 0 !< The number of internal tide frequency bands

◆ nmode

integer mom_internal_tides::int_tide_cs::nmode = 1

The number of internal tide vertical modes.

Definition at line 41 of file MOM_internal_tides.F90.

41  integer :: nMode = 1 !< The number of internal tide vertical modes

◆ nullangle

real mom_internal_tides::int_tide_cs::nullangle = -999.9

placeholder value in cells with no reflection

Definition at line 56 of file MOM_internal_tides.F90.

56  real :: nullangle = -999.9 !< placeholder value in cells with no reflection

◆ q_itides

real mom_internal_tides::int_tide_cs::q_itides

fraction of local dissipation [nondim]

Definition at line 91 of file MOM_internal_tides.F90.

91  real :: q_itides !< fraction of local dissipation [nondim]

◆ refl_angle

real, dimension(:,:), allocatable mom_internal_tides::int_tide_cs::refl_angle

local coastline/ridge/shelf angles read from file

Definition at line 53 of file MOM_internal_tides.F90.

53  real, allocatable, dimension(:,:) :: refl_angle

◆ refl_dbl

logical, dimension(:,:), allocatable mom_internal_tides::int_tide_cs::refl_dbl

identifies reflection cells where double reflection is possible (i.e. ridge cells)

Definition at line 63 of file MOM_internal_tides.F90.

63  logical, allocatable, dimension(:,:) :: refl_dbl

◆ refl_pref

real, dimension(:,:), allocatable mom_internal_tides::int_tide_cs::refl_pref

partial reflection coeff for each "coast cell"

Definition at line 57 of file MOM_internal_tides.F90.

57  real, allocatable, dimension(:,:) :: refl_pref

◆ refl_pref_logical

logical, dimension(:,:), allocatable mom_internal_tides::int_tide_cs::refl_pref_logical

true if reflecting cell with partial reflection

Definition at line 60 of file MOM_internal_tides.F90.

60  logical, allocatable, dimension(:,:) :: refl_pref_logical

◆ simple_2nd

logical mom_internal_tides::int_tide_cs::simple_2nd

If true, use a simple second order (arithmetic mean) interpolation of the edge values instead of the higher order interpolation.

Definition at line 46 of file MOM_internal_tides.F90.

46  logical :: simple_2nd !< If true, use a simple second order (arithmetic mean) interpolation

◆ time

type(time_type), pointer mom_internal_tides::int_tide_cs::time => NULL()

A pointer to the model's clock.

Definition at line 93 of file MOM_internal_tides.F90.

93  type(time_type), pointer :: Time => null() !< A pointer to the model's clock.

◆ tke_froude_loss

real, dimension(:,:,:,:,:), allocatable mom_internal_tides::int_tide_cs::tke_froude_loss

energy lost due to wave breaking [R Z3 T-3 ~> W m-2]

Definition at line 73 of file MOM_internal_tides.F90.

73  real, allocatable, dimension(:,:,:,:,:) :: TKE_Froude_loss

◆ tke_itidal_loss

real, dimension(:,:,:,:,:), allocatable mom_internal_tides::int_tide_cs::tke_itidal_loss

energy lost due to small-scale wave drag [R Z3 T-3 ~> W m-2]

Definition at line 79 of file MOM_internal_tides.F90.

79  real, allocatable, dimension(:,:,:,:,:) :: TKE_itidal_loss

◆ tke_itidal_loss_fixed

real, dimension(:,:), allocatable mom_internal_tides::int_tide_cs::tke_itidal_loss_fixed

Fixed part of the energy lost due to small-scale drag [R L-2 Z3 ~> kg m-2] here; This will be multiplied by N and the squared near-bottom velocity to get the energy losses in [R Z3 T-3 ~> W m-2].

Definition at line 75 of file MOM_internal_tides.F90.

75  real, allocatable, dimension(:,:) :: TKE_itidal_loss_fixed

◆ tke_leak_loss

real, dimension(:,:,:,:,:), allocatable mom_internal_tides::int_tide_cs::tke_leak_loss

energy lost due to misc background processes [R Z3 T-3 ~> W m-2]

Definition at line 69 of file MOM_internal_tides.F90.

69  real, allocatable, dimension(:,:,:,:,:) :: TKE_leak_loss

◆ tke_quad_loss

real, dimension(:,:,:,:,:), allocatable mom_internal_tides::int_tide_cs::tke_quad_loss

energy lost due to quadratic bottom drag [R Z3 T-3 ~> W m-2]

Definition at line 71 of file MOM_internal_tides.F90.

71  real, allocatable, dimension(:,:,:,:,:) :: TKE_quad_loss

◆ tot_allprocesses_loss

real, dimension(:,:), allocatable mom_internal_tides::int_tide_cs::tot_allprocesses_loss

Energy loss rates due to all processes, summed over angle, frequency and mode [R Z3 T-3 ~> W m-2].

Definition at line 89 of file MOM_internal_tides.F90.

89  real, allocatable, dimension(:,:) :: tot_allprocesses_loss !< Energy loss rates due to all processes,

◆ tot_froude_loss

real, dimension(:,:), allocatable mom_internal_tides::int_tide_cs::tot_froude_loss

Energy loss rates due to wave breaking, summed over angle, frequency and mode [R Z3 T-3 ~> W m-2].

Definition at line 87 of file MOM_internal_tides.F90.

87  real, allocatable, dimension(:,:) :: tot_Froude_loss !< Energy loss rates due to wave breaking,

◆ tot_itidal_loss

real, dimension(:,:), allocatable mom_internal_tides::int_tide_cs::tot_itidal_loss

Energy loss rates due to small-scale drag, summed over angle, frequency and mode [R Z3 T-3 ~> W m-2].

Definition at line 85 of file MOM_internal_tides.F90.

85  real, allocatable, dimension(:,:) :: tot_itidal_loss !< Energy loss rates due to small-scale drag,

◆ tot_leak_loss

real, dimension(:,:), allocatable mom_internal_tides::int_tide_cs::tot_leak_loss

Energy loss rates due to misc bakground processes, summed over angle, frequency and mode [R Z3 T-3 ~> W m-2].

Definition at line 81 of file MOM_internal_tides.F90.

81  real, allocatable, dimension(:,:) :: tot_leak_loss !< Energy loss rates due to misc bakground processes,

◆ tot_quad_loss

real, dimension(:,:), allocatable mom_internal_tides::int_tide_cs::tot_quad_loss

Energy loss rates due to quadratic bottom drag, summed over angle, frequency and mode [R Z3 T-3 ~> W m-2].

Definition at line 83 of file MOM_internal_tides.F90.

83  real, allocatable, dimension(:,:) :: tot_quad_loss !< Energy loss rates due to quadratic bottom drag,

◆ upwind_1st

logical mom_internal_tides::int_tide_cs::upwind_1st

If true, use a first-order upwind scheme.

Definition at line 45 of file MOM_internal_tides.F90.

45  logical :: upwind_1st !< If true, use a first-order upwind scheme.

◆ use_ppmang

logical mom_internal_tides::int_tide_cs::use_ppmang

If true, use PPM for advection of energy in angular space.

Definition at line 51 of file MOM_internal_tides.F90.

51  logical :: use_PPMang !< If true, use PPM for advection of energy in angular space.

◆ vol_cfl

logical mom_internal_tides::int_tide_cs::vol_cfl

If true, use the ratio of the open face lengths to the tracer cell areas when estimating CFL numbers. Without aggress_adjust, the default is false; it is always true with aggress_adjust.

Definition at line 48 of file MOM_internal_tides.F90.

48  logical :: vol_CFL !< If true, use the ratio of the open face lengths to the tracer cell

◆ wave_structure_csp

type(wave_structure_cs), pointer mom_internal_tides::int_tide_cs::wave_structure_csp => NULL()

A pointer to the wave_structure module control structure.

Definition at line 115 of file MOM_internal_tides.F90.

115  type(wave_structure_CS), pointer :: wave_structure_CSp => null()

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