mom_pointaccel module reference¶
Debug accelerations at a given point.
Data Types¶
The control structure for the MOM_PointAccel module. |
Functions/Subroutines¶
This subroutine writes to an output file all of the accelerations that have been applied to a column of zonal velocities over the previous timestep. |
|
This subroutine writes to an output file all of the accelerations that have been applied to a column of meridional velocities over the previous timestep. |
|
This subroutine initializes the parameters regulating how truncations are logged. |
Detailed Description¶
The two subroutines in this file write out all of the terms in the u- or v-momentum balance at a given point. Usually these subroutines are called after the velocities exceed some threshold, in order to determine which term is culpable. often this is done for debugging purposes.
Type Documentation¶
-
type
mom_pointaccel/pointaccel_cs¶ The control structure for the MOM_PointAccel module.
- Type fields:
%u_trunc_file[character (len=200)] :: The complete path to the file in which a column’s worth of u-accelerations are written if u-velocity truncations occur.%v_trunc_file[character (len=200)] :: The complete path to the file in which a column’s worth of v-accelerations are written if v-velocity truncations occur.%u_file[integer] :: The unit number for an opened u-truncation files, or -1 if it has not yet been opened.%v_file[integer] :: The unit number for an opened v-truncation files, or -1 if it has not yet been opened.%cols_written[integer] :: The number of columns whose output has been written by this PE during the current run.%max_writes[integer] :: The maximum number of times any PE can write out a column’s worth of accelerations during a run.%full_column[logical] :: If true, write out the accelerations in all massive layers, otherwise just document the ones with large velocities.%time[type(time_type),pointer] :: A pointer to the ocean model’s clock.%diag[type( diag_ctrl ),pointer] :: A structure that is used to regulate the timing of diagnostic output.%u_av[real(:,:,:),pointer] :: Time average u-velocity [L T-1 ~> m s-1].%v_av[real(:,:,:),pointer] :: Time average velocity [L T-1 ~> m s-1].%u_prev[real(:,:,:),pointer] :: Previous u-velocity [L T-1 ~> m s-1].%v_prev[real(:,:,:),pointer] :: Previous v-velocity [L T-1 ~> m s-1].%t[real(:,:,:),pointer] :: Temperature [C ~> degC].%s[real(:,:,:),pointer] :: Salinity [S ~> ppt].%u_accel_bt[real(:,:,:),pointer] :: Barotropic u-accelerations [L T-2 ~> m s-2].%v_accel_bt[real(:,:,:),pointer] :: Barotropic v-accelerations [L T-2 ~> m s-2].
Function/Subroutine Documentation¶
-
subroutine
mom_pointaccel/write_u_accel(I, j, um, hin, ADp, CDp, dt, G, GV, US, CS, vel_rpt, str, a, hv)¶ This subroutine writes to an output file all of the accelerations that have been applied to a column of zonal velocities over the previous timestep. This subroutine is called from vertvisc.
- Parameters:
i :: [in] The zonal index of the column to be documented.
j :: [in] The meridional index of the column to be documented.
g :: [in] The ocean’s grid structure.
gv :: [in] The ocean’s vertical grid structure.
us :: [in] A dimensional unit scaling type
um :: [in] The new zonal velocity [L T-1 ~> m s-1].
hin :: [in] The layer thickness [H ~> m or kg m-2].
adp :: [in] A structure pointing to the various accelerations in the momentum equations.
cdp :: [in] A structure with pointers to various terms in the continuity equations.
dt :: [in] The ocean dynamics time step [T ~> s].
cs :: The control structure returned by a previous call to PointAccel_init.
vel_rpt :: [in] The velocity magnitude that triggers a report [L T-1 ~> m s-1]
str :: [in] The surface wind stress [R L Z T-2 ~> Pa]
a :: [in] The layer coupling coefficients from vertvisc
hv :: [in] The layer thicknesses at velocity grid points,
- Call to:
-
subroutine
mom_pointaccel/write_v_accel(i, J, vm, hin, ADp, CDp, dt, G, GV, US, CS, vel_rpt, str, a, hv)¶ This subroutine writes to an output file all of the accelerations that have been applied to a column of meridional velocities over the previous timestep. This subroutine is called from vertvisc.
- Parameters:
i :: [in] The zonal index of the column to be documented.
j :: [in] The meridional index of the column to be documented.
g :: [in] The ocean’s grid structure.
gv :: [in] The ocean’s vertical grid structure.
us :: [in] A dimensional unit scaling type
vm :: [in] The new meridional velocity [L T-1 ~> m s-1].
hin :: [in] The layer thickness [H ~> m or kg m-2].
adp :: [in] A structure pointing to the various accelerations in the momentum equations.
cdp :: [in] A structure with pointers to various terms in the continuity equations.
dt :: [in] The ocean dynamics time step [T ~> s].
cs :: The control structure returned by a previous call to PointAccel_init.
vel_rpt :: [in] The velocity magnitude that triggers a report [L T-1 ~> m s-1]
str :: [in] The surface wind stress [R L Z T-2 ~> Pa]
a :: [in] The layer coupling coefficients from vertvisc
hv :: [in] The layer thicknesses at velocity grid points,
- Call to:
-
subroutine
mom_pointaccel/pointaccel_init(MIS, Time, G, param_file, diag, dirs, CS)¶ This subroutine initializes the parameters regulating how truncations are logged.
- Parameters:
mis :: [in] For “MOM Internal State” a set of pointers
time :: [in] The current model time.
g :: [in] The ocean’s grid structure.
param_file :: [in] A structure to parse for run-time parameters.
diag :: [inout] A structure that is used to regulate diagnostic output.
dirs :: [in] A structure containing several relevant directory paths.
cs :: A pointer that is set to point to the control structure for this module.