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, December 2024.

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.

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(:,:,:),allocatable] :: frequency-dependent drag coefficients [H T-1 ~> m s-1]

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

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 :: [in] A structure to parse for run-time parameters

  • 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

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 :: [in] Zonal velocity from the output of streaming band-pass filters [L T-1 ~> m s-1]

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

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

  • 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