MOM6
mom_debugging::vec_chksum_b Interface Reference

Detailed Description

Do checksums on the components of a B-grid vector.

Definition at line 60 of file MOM_debugging.F90.

Private functions

subroutine chksum_vec_b3d (mesg, u_comp, v_comp, G, halos, scalars)
 Do a checksum and redundant point check on a 3d B-grid vector. More...
 
subroutine chksum_vec_b2d (mesg, u_comp, v_comp, G, halos, scalars, symmetric)
 

Functions and subroutines

◆ chksum_vec_b2d()

subroutine mom_debugging::vec_chksum_b::chksum_vec_b2d ( character(len=*), intent(in)  mesg,
real, dimension(g%isdb:,g%jsdb:), intent(in)  u_comp,
real, dimension(g%isdb:,g%jsdb:), intent(in)  v_comp,
type(ocean_grid_type), intent(inout)  G,
integer, intent(in), optional  halos,
logical, intent(in), optional  scalars,
logical, intent(in), optional  symmetric 
)
private
Parameters
[in]mesgAn identifying message
[in,out]gThe ocean's grid structure
[in]u_compThe u-component of the vector
[in]v_compThe v-component of the vector
[in]halosThe width of halos to check (default 0)
[in]scalarsIf true this is a pair of scalars that are being checked.
[in]symmetricIf true, do the checksums on the full symmetric computational domain.

Definition at line 643 of file MOM_debugging.F90.

643  character(len=*), intent(in) :: mesg !< An identifying message
644  type(ocean_grid_type), intent(inout) :: G !< The ocean's grid structure
645  real, dimension(G%IsdB:,G%JsdB:), intent(in) :: u_comp !< The u-component of the vector
646  real, dimension(G%IsdB:,G%JsdB:), intent(in) :: v_comp !< The v-component of the vector
647  integer, optional, intent(in) :: halos !< The width of halos to check (default 0)
648  logical, optional, intent(in) :: scalars !< If true this is a pair of
649  !! scalars that are being checked.
650  logical, optional, intent(in) :: symmetric !< If true, do the checksums on the
651  !! full symmetric computational domain.
652  ! Local variables
653  logical :: are_scalars
654  are_scalars = .false. ; if (present(scalars)) are_scalars = scalars
655 
656  if (debug_chksums) then
657  call bchksum(u_comp, mesg//"(u)", g%HI, halos, symmetric=symmetric)
658  call bchksum(v_comp, mesg//"(v)", g%HI, halos, symmetric=symmetric)
659  endif
660  if (debug_redundant) then
661  if (are_scalars) then
662  call check_redundant_b(mesg, u_comp, v_comp, g, direction=to_all+scalar_pair)
663  else
664  call check_redundant_b(mesg, u_comp, v_comp, g)
665  endif
666  endif
667 

◆ chksum_vec_b3d()

subroutine mom_debugging::vec_chksum_b::chksum_vec_b3d ( character(len=*), intent(in)  mesg,
real, dimension(g%isdb:,g%jsdb:,:), intent(in)  u_comp,
real, dimension(g%isdb:,g%jsdb:,:), intent(in)  v_comp,
type(ocean_grid_type), intent(inout)  G,
integer, intent(in), optional  halos,
logical, intent(in), optional  scalars 
)
private

Do a checksum and redundant point check on a 3d B-grid vector.

Parameters
[in]mesgAn identifying message
[in,out]gThe ocean's grid structure
[in]u_compThe u-component of the vector
[in]v_compThe v-component of the vector
[in]halosThe width of halos to check (default 0)
[in]scalarsIf true this is a pair of scalars that are being checked.

Definition at line 616 of file MOM_debugging.F90.

616  character(len=*), intent(in) :: mesg !< An identifying message
617  type(ocean_grid_type), intent(inout) :: G !< The ocean's grid structure
618  real, dimension(G%IsdB:,G%JsdB:,:), intent(in) :: u_comp !< The u-component of the vector
619  real, dimension(G%IsdB:,G%JsdB:,:), intent(in) :: v_comp !< The v-component of the vector
620  integer, optional, intent(in) :: halos !< The width of halos to check (default 0)
621  logical, optional, intent(in) :: scalars !< If true this is a pair of
622  !! scalars that are being checked.
623  ! Local variables
624  logical :: are_scalars
625  are_scalars = .false. ; if (present(scalars)) are_scalars = scalars
626 
627  if (debug_chksums) then
628  call bchksum(u_comp, mesg//"(u)", g%HI, halos)
629  call bchksum(v_comp, mesg//"(v)", g%HI, halos)
630  endif
631  if (debug_redundant) then
632  if (are_scalars) then
633  call check_redundant_b(mesg, u_comp, v_comp, g, direction=to_all+scalar_pair)
634  else
635  call check_redundant_b(mesg, u_comp, v_comp, g)
636  endif
637  endif
638 

The documentation for this interface was generated from the following file: