Checksums a pair of arrays (2d or 3d) staggered at corner points.
Definition at line 43 of file MOM_checksums.F90.
|
subroutine | chksum_pair_b_2d (mesg, arrayA, arrayB, HI, haloshift, symmetric, omit_corners, scale, logunit) |
| Checksums on a pair of 2d arrays staggered at q-points. More...
|
|
subroutine | chksum_pair_b_3d (mesg, arrayA, arrayB, HI, haloshift, symmetric, omit_corners, scale, logunit) |
| Checksums on a pair of 3d arrays staggered at q-points. More...
|
|
◆ 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, |
|
|
integer, intent(in), optional |
logunit |
|
) |
| |
|
private |
Checksums on a pair of 2d arrays staggered at q-points.
- Parameters
-
[in] | mesg | Identifying messages |
[in] | hi | A horizontal index type |
[in] | arraya | The first array to be checksummed |
[in] | arrayb | The second array to be checksummed |
[in] | symmetric | If true, do the checksums on the full symmetric computational domain. |
[in] | haloshift | The width of halos to check (default 0) |
[in] | omit_corners | If true, avoid checking diagonal shifts |
[in] | scale | A scaling factor for this array. |
[in] | logunit | IO unit for checksum logging |
Definition at line 377 of file MOM_checksums.F90.
377 character(len=*),
intent(in) :: mesg
378 type(hor_index_type),
intent(in) :: HI
379 real,
dimension(HI%isd:,HI%jsd:),
intent(in) :: arrayA
380 real,
dimension(HI%isd:,HI%jsd:),
intent(in) :: arrayB
381 logical,
optional,
intent(in) :: symmetric
383 integer,
optional,
intent(in) :: haloshift
384 logical,
optional,
intent(in) :: omit_corners
385 real,
optional,
intent(in) :: scale
386 integer,
optional,
intent(in) :: logunit
390 sym = .false. ;
if (
present(symmetric)) sym = symmetric
392 if (
present(haloshift))
then
393 call chksum_b_2d(arraya,
'x '//mesg, hi, haloshift, symmetric=sym, &
394 omit_corners=omit_corners, scale=scale, logunit=logunit)
395 call chksum_b_2d(arrayb,
'y '//mesg, hi, haloshift, symmetric=sym, &
396 omit_corners=omit_corners, scale=scale, logunit=logunit)
398 call chksum_b_2d(arraya,
'x '//mesg, hi, symmetric=sym, scale=scale, &
400 call chksum_b_2d(arrayb,
'y '//mesg, hi, symmetric=sym, scale=scale, &
◆ 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, |
|
|
integer, intent(in), optional |
logunit |
|
) |
| |
|
private |
Checksums on a pair of 3d arrays staggered at q-points.
- Parameters
-
[in] | mesg | Identifying messages |
[in] | hi | A horizontal index type |
[in] | arraya | The first array to be checksummed |
[in] | arrayb | The second array to be checksummed |
[in] | haloshift | The width of halos to check (default 0) |
[in] | symmetric | If true, do the checksums on the full symmetric computational domain. |
[in] | omit_corners | If true, avoid checking diagonal shifts |
[in] | scale | A scaling factor for this array. |
[in] | logunit | IO unit for checksum logging |
Definition at line 409 of file MOM_checksums.F90.
409 character(len=*),
intent(in) :: mesg
410 type(hor_index_type),
intent(in) :: HI
411 real,
dimension(HI%IsdB:,HI%JsdB:, :),
intent(in) :: arrayA
412 real,
dimension(HI%IsdB:,HI%JsdB:, :),
intent(in) :: arrayB
413 integer,
optional,
intent(in) :: haloshift
414 logical,
optional,
intent(in) :: symmetric
416 logical,
optional,
intent(in) :: omit_corners
417 real,
optional,
intent(in) :: scale
418 integer,
optional,
intent(in) :: logunit
422 if (
present(haloshift))
then
423 call chksum_b_3d(arraya,
'x '//mesg, hi, haloshift, symmetric, &
424 omit_corners, scale=scale, logunit=logunit)
425 call chksum_b_3d(arrayb,
'y '//mesg, hi, haloshift, symmetric, &
426 omit_corners, scale=scale, logunit=logunit)
428 call chksum_b_3d(arraya,
'x '//mesg, hi, symmetric=symmetric, scale=scale, &
430 call chksum_b_3d(arrayb,
'y '//mesg, hi, symmetric=symmetric, scale=scale, &
The documentation for this interface was generated from the following file:
- /glade/work/altuntas/cesm.sandboxes/cesm2_2_alpha_X_mom/components/mom/MOM6/src/framework/MOM_checksums.F90