| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer(kind=int64), | private, | save | :: | oh_cnt_bt_group | = | 0_int64 |
ocean_halo_bt_group_2d grouped exchange calls |
| integer(kind=int64), | private, | save | :: | oh_cnt_bt_u_mid | = | 0_int64 |
Mid-substep bt_ubt face_x exchange calls (BT Pass-2b→2c u seam) |
| integer(kind=int64), | private, | save | :: | oh_cnt_centre_2d | = | 0_int64 |
Standalone centre_2d primitive calls |
| integer(kind=int64), | private, | save | :: | oh_cnt_centre_3d | = | 0_int64 |
Standalone centre_3d primitive calls |
| integer(kind=int64), | private, | save | :: | oh_cnt_face_x_2d | = | 0_int64 |
Standalone face_x_2d primitive calls |
| integer(kind=int64), | private, | save | :: | oh_cnt_face_x_3d | = | 0_int64 |
Standalone face_x_3d primitive calls |
| integer(kind=int64), | private, | save | :: | oh_cnt_face_y_2d | = | 0_int64 |
Standalone face_y_2d primitive calls |
| integer(kind=int64), | private, | save | :: | oh_cnt_face_y_3d | = | 0_int64 |
Standalone face_y_3d primitive calls |
| integer(kind=int64), | private, | save | :: | oh_cnt_ml_state | = | 0_int64 |
ocean_halo_exchange_ml_state whole-ML-state exchange calls |
| integer(kind=int64), | private, | save | :: | oh_cnt_msgs | = | 0_int64 |
Total MPI ISENDs posted by the ocean halo MPI backend. NOT subject to the suppress depth — messages are physical MPI operations regardless of semantic grouping, so suppression does not apply. Zero on single-process builds (no messages posted). |
| integer, | private, | save | :: | oh_suppress_depth | = | 0 |
When > 0 all oh_count_* increment calls (except oh_count_msgs) are no-ops. |
Return .true. if suppress depth > 0 (any suppress scope is active).
Return a one-line counter summary string.
One-line summary (at most 240 chars; remainder is blank-padded).
Return the total MPI ISEND post count. NOT included in oh_counters_total (separate physical counter).
Return the sum of all 9 semantic counters.
Increment the bt_group counter. Called once in ocean_halo_bt_group_2d bodies.
Increment the bt_u_mid counter. Called at the mid-substep bt_ubt face_x exchange site.
Increment the centre_2d standalone counter. Called at the top of each ocean_halo_centre_2d body.
Increment the centre_3d standalone counter. Called once in ocean_halo_centre_3d (after suppressing inner 2d bumps).
Increment the face_x_2d standalone counter. Called at the top of each ocean_halo_face_x_2d body.
Increment the face_x_3d standalone counter. Called once in ocean_halo_face_x_3d (after suppressing inner 2d bumps).
Increment the face_y_2d standalone counter. Called at the top of each ocean_halo_face_y_2d body.
Increment the face_y_3d standalone counter. Called once in ocean_halo_face_y_3d (batched, no per-layer 2d loop).
Increment the ml_state counter. Called once in ocean_halo_exchange_ml_state.
Increment the MPI isend post counter by n.
NOT subject to the suppress depth: messages are physical MPI
operations regardless of semantic grouping. Called in the MPI
rdb_ocean_halo once per exchange after each set of
HALO_ISEND_N calls; n is the number of ISENDs just posted.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | n |
Decrement suppress depth (floored at 0) after a wrapper completes.
Increment suppress depth so inner primitive increments are no-ops. Nesting-safe: each on/off pair increments/decrements a counter so nested suppress pairs (ml_state wrapping 3d wrappers) work correctly.
Return all 9 semantic counters in one call.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int64), | intent(out) | :: | bt_group |
bt_group_2d call count |
||
| integer(kind=int64), | intent(out) | :: | bt_u_mid |
mid-substep bt_ubt face_x call count |
||
| integer(kind=int64), | intent(out) | :: | ml_state |
ml_state exchange call count |
||
| integer(kind=int64), | intent(out) | :: | centre_2d |
standalone centre_2d call count |
||
| integer(kind=int64), | intent(out) | :: | centre_3d |
standalone centre_3d call count |
||
| integer(kind=int64), | intent(out) | :: | face_x_2d |
standalone face_x_2d call count |
||
| integer(kind=int64), | intent(out) | :: | face_x_3d |
standalone face_x_3d call count |
||
| integer(kind=int64), | intent(out) | :: | face_y_2d |
standalone face_y_2d call count |
||
| integer(kind=int64), | intent(out) | :: | face_y_3d |
standalone face_y_3d call count |
Reset all 9 semantic counters and the message counter to zero. Does NOT reset the suppress flag.