MOM6
mom_checksums::bchksum_pair Interface Reference

Detailed Description

Definition at line 52 of file MOM_checksums.F90.

Private functions

subroutine chksum_pair_b_2d (mesg, arrayA, arrayB, HI, haloshift, symmetric, omit_corners, scale)
 
subroutine chksum_pair_b_3d (mesg, arrayA, arrayB, HI, haloshift, symmetric, omit_corners, scale)
 

Functions and subroutines

◆ chksum_pair_b_2d()

subroutine mom_checksums::bchksum_pair::chksum_pair_b_2d ( character(len=*), intent(in)  mesg,
real, dimension(hi%isd:,hi%jsd:), intent(in)  arrayA,
real, dimension(hi%isd:,hi%jsd:), intent(in)  arrayB,
type(hor_index_type), intent(in)  HI,
integer, intent(in), optional  haloshift,
logical, intent(in), optional  symmetric,
logical, intent(in), optional  omit_corners,
real, intent(in), optional  scale 
)
private
Parameters
[in]mesgIdentifying messages
[in]hiA horizontal index type
[in]arraybThe arrays to be checksummed
[in]symmetricIf true, do the checksums on the full symmetric computational domain.
[in]haloshiftThe width of halos to check (default 0)
[in]omit_cornersIf true, avoid checking diagonal shifts
[in]scaleA scaling factor for this array.

Definition at line 236 of file MOM_checksums.F90.

236  character(len=*), intent(in) :: mesg !< Identifying messages
237  type(hor_index_type), intent(in) :: hi !< A horizontal index type
238  real, dimension(HI%isd:,HI%jsd:), intent(in) :: arraya, arrayb !< The arrays to be checksummed
239  logical, optional, intent(in) :: symmetric !< If true, do the checksums on the full symmetric computational domain.
240  integer, optional, intent(in) :: haloshift !< The width of halos to check (default 0)
241  logical, optional, intent(in) :: omit_corners !< If true, avoid checking diagonal shifts
242  real, optional, intent(in) :: scale !< A scaling factor for this array.
243 
244  logical :: sym
245 
246  sym = .false. ; if (present(symmetric)) sym = symmetric
247 
248  if (present(haloshift)) then
249  call chksum_b_2d(arraya, 'x '//mesg, hi, haloshift, symmetric=sym, &
250  omit_corners=omit_corners, scale=scale)
251  call chksum_b_2d(arrayb, 'y '//mesg, hi, haloshift, symmetric=sym, &
252  omit_corners=omit_corners, scale=scale)
253  else
254  call chksum_b_2d(arraya, 'x '//mesg, hi, symmetric=sym, scale=scale)
255  call chksum_b_2d(arrayb, 'y '//mesg, hi, symmetric=sym, scale=scale)
256  endif
257 

◆ chksum_pair_b_3d()

subroutine mom_checksums::bchksum_pair::chksum_pair_b_3d ( character(len=*), intent(in)  mesg,
real, dimension(hi%isdb:,hi%jsdb:, :), intent(in)  arrayA,
real, dimension(hi%isdb:,hi%jsdb:, :), intent(in)  arrayB,
type(hor_index_type), intent(in)  HI,
integer, intent(in), optional  haloshift,
logical, intent(in), optional  symmetric,
logical, intent(in), optional  omit_corners,
real, intent(in), optional  scale 
)
private
Parameters
[in]mesgIdentifying messages
[in]hiA horizontal index type
[in]arraybThe arrays to be checksummed
[in]haloshiftThe width of halos to check (default 0)
[in]symmetricIf true, do the checksums on the full symmetric computational domain.
[in]omit_cornersIf true, avoid checking diagonal shifts
[in]scaleA scaling factor for this array.

Definition at line 261 of file MOM_checksums.F90.

261  character(len=*), intent(in) :: mesg !< Identifying messages
262  type(hor_index_type), intent(in) :: hi !< A horizontal index type
263  real, dimension(HI%IsdB:,HI%JsdB:, :), intent(in) :: arraya, arrayb !< The arrays to be checksummed
264  integer, optional, intent(in) :: haloshift !< The width of halos to check (default 0)
265  logical, optional, intent(in) :: symmetric !< If true, do the checksums on the full symmetric computational domain.
266  logical, optional, intent(in) :: omit_corners !< If true, avoid checking diagonal shifts
267  real, optional, intent(in) :: scale !< A scaling factor for this array.
268 
269  logical :: sym
270 
271  if (present(haloshift)) then
272  call chksum_b_3d(arraya, 'x '//mesg, hi, haloshift, symmetric, &
273  omit_corners, scale=scale)
274  call chksum_b_3d(arrayb, 'y '//mesg, hi, haloshift, symmetric, &
275  omit_corners, scale=scale)
276  else
277  call chksum_b_3d(arraya, 'x '//mesg, hi, symmetric=symmetric, scale=scale)
278  call chksum_b_3d(arrayb, 'y '//mesg, hi, symmetric=symmetric, scale=scale)
279  endif
280 

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