MOM6
mom_checksums::hchksum_pair Interface Reference

Detailed Description

Checksums a pair of arrays (2d or 3d) staggered at tracer points.

Definition at line 23 of file MOM_checksums.F90.

Private functions

subroutine chksum_pair_h_2d (mesg, arrayA, arrayB, HI, haloshift, omit_corners, scale, logunit)
 Checksums on a pair of 2d arrays staggered at tracer points. More...
 
subroutine chksum_pair_h_3d (mesg, arrayA, arrayB, HI, haloshift, omit_corners, scale, logunit)
 Checksums on a pair of 3d arrays staggered at tracer points. More...
 

Functions and subroutines

◆ chksum_pair_h_2d()

subroutine mom_checksums::hchksum_pair::chksum_pair_h_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  omit_corners,
real, intent(in), optional  scale,
integer, intent(in), optional  logunit 
)
private

Checksums on a pair of 2d arrays staggered at tracer points.

Parameters
[in]mesgIdentifying messages
[in]hiA horizontal index type
[in]arrayaThe first array to be checksummed
[in]arraybThe second array to be checksummed
[in]haloshiftThe width of halos to check (default 0)
[in]omit_cornersIf true, avoid checking diagonal shifts
[in]scaleA scaling factor for this array.
[in]logunitIO unit for checksum logging

Definition at line 200 of file MOM_checksums.F90.

200  character(len=*), intent(in) :: mesg !< Identifying messages
201  type(hor_index_type), intent(in) :: HI !< A horizontal index type
202  real, dimension(HI%isd:,HI%jsd:), intent(in) :: arrayA !< The first array to be checksummed
203  real, dimension(HI%isd:,HI%jsd:), intent(in) :: arrayB !< The second array to be checksummed
204  integer, optional, intent(in) :: haloshift !< The width of halos to check (default 0)
205  logical, optional, intent(in) :: omit_corners !< If true, avoid checking diagonal shifts
206  real, optional, intent(in) :: scale !< A scaling factor for this array.
207  integer, optional, intent(in) :: logunit !< IO unit for checksum logging
208 
209  if (present(haloshift)) then
210  call chksum_h_2d(arraya, 'x '//mesg, hi, haloshift, omit_corners, &
211  scale=scale, logunit=logunit)
212  call chksum_h_2d(arrayb, 'y '//mesg, hi, haloshift, omit_corners, &
213  scale=scale, logunit=logunit)
214  else
215  call chksum_h_2d(arraya, 'x '//mesg, hi, scale=scale, logunit=logunit)
216  call chksum_h_2d(arrayb, 'y '//mesg, hi, scale=scale, logunit=logunit)
217  endif
218 

◆ chksum_pair_h_3d()

subroutine mom_checksums::hchksum_pair::chksum_pair_h_3d ( 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  omit_corners,
real, intent(in), optional  scale,
integer, intent(in), optional  logunit 
)
private

Checksums on a pair of 3d arrays staggered at tracer points.

Parameters
[in]mesgIdentifying messages
[in]hiA horizontal index type
[in]arrayaThe first array to be checksummed
[in]arraybThe second array to be checksummed
[in]haloshiftThe width of halos to check (default 0)
[in]omit_cornersIf true, avoid checking diagonal shifts
[in]scaleA scaling factor for this array.
[in]logunitIO unit for checksum logging

Definition at line 224 of file MOM_checksums.F90.

224  character(len=*), intent(in) :: mesg !< Identifying messages
225  type(hor_index_type), intent(in) :: HI !< A horizontal index type
226  real, dimension(HI%isd:,HI%jsd:, :), intent(in) :: arrayA !< The first array to be checksummed
227  real, dimension(HI%isd:,HI%jsd:, :), intent(in) :: arrayB !< The second array to be checksummed
228  integer, optional, intent(in) :: haloshift !< The width of halos to check (default 0)
229  logical, optional, intent(in) :: omit_corners !< If true, avoid checking diagonal shifts
230  real, optional, intent(in) :: scale !< A scaling factor for this array.
231  integer, optional, intent(in) :: logunit !< IO unit for checksum logging
232 
233  if (present(haloshift)) then
234  call chksum_h_3d(arraya, 'x '//mesg, hi, haloshift, omit_corners, &
235  scale=scale, logunit=logunit)
236  call chksum_h_3d(arrayb, 'y '//mesg, hi, haloshift, omit_corners, &
237  scale=scale, logunit=logunit)
238  else
239  call chksum_h_3d(arraya, 'x '//mesg, hi, scale=scale, logunit=logunit)
240  call chksum_h_3d(arrayb, 'y '//mesg, hi, scale=scale, logunit=logunit)
241  endif
242 

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