Sample the BT substep’s 2D in/out fields at the fold seam:
the fold delta is bt_ubt_end - ubt_at_n - dt*F_bt_u, so these
four (+ eta) name which INPUT went non-finite when the fold’s
loud count fires — the “what fed it” the nan-catch cannot see.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(hgrid_t), | intent(in) | :: | grid | |||
| type(barotropic_workstate_t), | intent(in) | :: | bt_work | |||
| type(chksum_probe_t), | intent(inout) | :: | probe | |||
| character(len=*), | intent(in) | :: | label | |||
| integer, | intent(in) | :: | stage | |||
| integer, | intent(in) | :: | step |
subroutine chksum_bt(grid, bt_work, probe, label, stage, step) !! Sample the BT substep's 2D in/out fields at the fold seam: !! the fold delta is `bt_ubt_end - ubt_at_n - dt*F_bt_u`, so these !! four (+ eta) name which INPUT went non-finite when the fold's !! loud count fires — the "what fed it" the nan-catch cannot see. type(hgrid_t), intent(in) :: grid type(barotropic_workstate_t), intent(in) :: bt_work type(chksum_probe_t), intent(inout) :: probe character(len=*), intent(in) :: label integer, intent(in) :: stage, step if (.not. chksum_active(probe, step)) return !$acc wait call rdb_debug_chksum(grid, bt_work%bt_eta, label, "bt_eta", stage, step, probe, LOC_H) call rdb_debug_chksum(grid, bt_work%bt_ubt_end, label, "bt_ubt_end", stage, step, & probe, LOC_U) call rdb_debug_chksum(grid, bt_work%bt_vbt_end, label, "bt_vbt_end", stage, step, & probe, LOC_V) call rdb_debug_chksum(grid, bt_work%ubt_at_n, label, "ubt_at_n", stage, step, & probe, LOC_U) call rdb_debug_chksum(grid, bt_work%F_bt_u, label, "F_bt_u", stage, step, probe, LOC_U) call rdb_debug_chksum(grid, bt_work%F_bt_v, label, "F_bt_v", stage, step, probe, LOC_V) end subroutine chksum_bt