mom_wave_drag module reference

Frequency-dependent linear wave drag.

More…

Data Types

wave_drag_cs

Control structure for the MOM_wave_drag module.

Functions/Subroutines

wave_drag_init()

This subroutine reads drag coefficients from file.

wave_drag_calc()

This subroutine calculates the sum of the products of the tidal velocities and the scaled frequency-dependent drag for each tidal constituent specified in MOM_input.

Detailed Description

By Chengzhu Xu ( chengzhu.xu@oregonstate.edu ) and Edward D. Zaron.

This module calculates the net effects of the frequency-dependent internal wave drag applied to the tidal velocities, and returns the sum of products of frequency-dependent drag coefficients and tidal velocities for each constituent to the MOM_barotropic module for further calculations. It relies on the use of MOM_streaming_filter for determining the tidal velocities. Furthermore, the number of drag coefficients cannot exceed that of the streaming filters, and the names of drag coefficients should match those of the streaming filters. The frequency-dependent drag coefficients are read from the same file for the linear drag coefficients in MOM_barotropic.

Reference: Xu, C., & Zaron, E. D. (2025). Parameterization of frequency-dependent internal wave drag. Journal of Advances in Modeling Earth Systems, 17, e2025MS005126. https://doi.org/10.1029/2025MS005126

Type Documentation

type  mom_wave_drag/wave_drag_cs

Control structure for the MOM_wave_drag module.

Type fields:
  • % nf :: integer Number of filters to be used in the simulation.

  • % coef_u :: real, dimension(:,:,:), allocatable frequency-dependent drag coefficients [H T-1 ~> m s-1]

  • % coef_v :: real, dimension(:,:,:), allocatable frequency-dependent drag coefficients [H T-1 ~> m s-1]

  • % coef_uv :: real, dimension(:,:,:), allocatable frequency-dependent drag coefficients [H T-1 ~> m s-1]

  • % coef_vu :: real, dimension(:,:,:), allocatable frequency-dependent drag coefficients [H T-1 ~> m s-1]

  • % tensor_drag :: logical If true, include the off-diagonal components of the wave drag tensor for computing the wave drag.

[source]

Function/Subroutine Documentation

subroutine mom_wave_drag/wave_drag_init(param_file, wave_drag_file, G, GV, US, CS)

This subroutine reads drag coefficients from file.

Parameters:
  • param_file :: param_file [in] A structure to parse for run-time parameters

  • wave_drag_file :: wave_drag_file [in] The file from which to read drag coefficients

  • g :: [inout] The ocean’s grid structure

  • gv :: [in] The ocean’s vertical grid structure

  • us :: [in] A dimensional unit scaling type

  • cs :: [out] Control structure of MOM_wave_drag

Call to:

mom_error_handler::mom_error

Called from:

mom_barotropic::barotropic_init

[source]

subroutine mom_wave_drag/wave_drag_calc(u, v, drag_u, drag_v, G, CS)

This subroutine calculates the sum of the products of the tidal velocities and the scaled frequency-dependent drag for each tidal constituent specified in MOM_input.

Parameters:
  • g :: [in] The ocean’s grid structure

  • cs :: [in] Control structure of MOM_wave_drag

  • u :: u [in] Zonal velocity from the output of streaming band-pass filters [L T-1 ~> m s-1]

  • v :: v [in] Meridional velocity from the output of streaming band-pass filters [L T-1 ~> m s-1]

  • drag_u :: drag_u [out] Sum of products of filtered velocities and scaled frequency-dependent drag [L2 T-2 ~> m2 s-2]

  • drag_v :: drag_v [out] Sum of products of filtered velocities and scaled frequency-dependent drag [L2 T-2 ~> m2 s-2]

Called from:

mom_barotropic::btstep

[source]

[source]