mom_pointaccel module reference

Debug accelerations at a given point.

More…

Data Types

pointaccel_cs

The control structure for the MOM_PointAccel module.

Functions/Subroutines

write_u_accel()

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.

write_v_accel()

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.

pointaccel_init()

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:

mom_error_handler::mom_error

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:

mom_error_handler::mom_error

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.