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 ::
integerThe unit number for an opened u-truncation files, or -1 if it has not yet been opened.% v_file ::
integerThe unit number for an opened v-truncation files, or -1 if it has not yet been opened.% cols_written ::
integerThe number of columns whose output has been written by this PE during the current run.% max_writes ::
integerThe maximum number of times any PE can write out a column’s worth of accelerations during a run.% full_column ::
logicalIf true, write out the accelerations in all massive layers, otherwise just document the ones with large velocities.% time ::
type(time_type), pointerA pointer to the ocean model’s clock.% diag ::
type(diag_ctrl), pointerA structure that is used to regulate the timing of diagnostic output.% u_av ::
real, dimension(:,:,:), pointerTime average u-velocity [L T-1 ~> m s-1].% v_av ::
real, dimension(:,:,:), pointerTime average velocity [L T-1 ~> m s-1].% u_prev ::
real, dimension(:,:,:), pointerPrevious u-velocity [L T-1 ~> m s-1].% v_prev ::
real, dimension(:,:,:), pointerPrevious v-velocity [L T-1 ~> m s-1].% t ::
real, dimension(:,:,:), pointerTemperature [C ~> degC].% s ::
real, dimension(:,:,:), pointerSalinity [S ~> ppt].% u_accel_bt ::
real, dimension(:,:,:), pointerBarotropic u-accelerations [L T-2 ~> m s-2].% v_accel_bt ::
real, dimension(:,:,:), pointerBarotropic 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 ::
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 ::
um[in] The new zonal velocity [L T-1 ~> m s-1].hin ::
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 ::
dt[in] The ocean dynamics time step [T ~> s].cs :: The control structure returned by a previous call to PointAccel_init.
vel_rpt ::
vel_rpt[in] The velocity magnitude that triggers a report [L T-1 ~> m s-1]str ::
str[in] The surface wind stress [R L Z T-2 ~> Pa]a ::
a[in] The layer coupling coefficients from vertvischv ::
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 ::
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 ::
vm[in] The new meridional velocity [L T-1 ~> m s-1].hin ::
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 ::
dt[in] The ocean dynamics time step [T ~> s].cs :: The control structure returned by a previous call to PointAccel_init.
vel_rpt ::
vel_rpt[in] The velocity magnitude that triggers a report [L T-1 ~> m s-1]str ::
str[in] The surface wind stress [R L Z T-2 ~> Pa]a ::
a[in] The layer coupling coefficients from vertvischv ::
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 ::
param_file[in] A structure to parse for run-time parameters.diag ::
diag[inout] A structure that is used to regulate diagnostic output.dirs ::
dirs[in] A structure containing several relevant directory paths.cs :: A pointer that is set to point to the control structure for this module.