mom_wave_drag module reference
Frequency-dependent linear wave drag.
Data Types
Control structure for the MOM_wave_drag module. |
Functions/Subroutines
This subroutine reads drag coefficients from file. |
|
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 ::
integerNumber of filters to be used in the simulation.% coef_u ::
real, dimension(:,:,:), allocatablefrequency-dependent drag coefficients [H T-1 ~> m s-1]% coef_v ::
real, dimension(:,:,:), allocatablefrequency-dependent drag coefficients [H T-1 ~> m s-1]% coef_uv ::
real, dimension(:,:,:), allocatablefrequency-dependent drag coefficients [H T-1 ~> m s-1]% coef_vu ::
real, dimension(:,:,:), allocatablefrequency-dependent drag coefficients [H T-1 ~> m s-1]% tensor_drag ::
logicalIf true, include the off-diagonal components of the wave drag tensor for computing the wave drag.
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 parameterswave_drag_file ::
wave_drag_file[in] The file from which to read drag coefficientsg :: [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:
- Called from:
- 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: