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.