Along-coordinate tracer Laplacian coefficient (&ocean_hdiff_nml
kappa_h). Scalar copy onto ocean_state%hdiff_tracer, mapped
with its parent slot at ocean_state_enter_data — no explicit
!$acc update needed as long as this runs before that (it does;
see rdb_driver.F90). Default kappa_h = 0.0 leaves the
kernel’s short-circuit intact ⇒ bit-identical.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(config_t), | intent(in) | :: | cfg | |||
| type(ocean_state_t), | intent(inout) | :: | ocean_state | |||
| integer, | intent(in) | :: | compute_rank |
subroutine configure_ocean_hdiff(cfg, ocean_state, compute_rank) !! Along-coordinate tracer Laplacian coefficient (`&ocean_hdiff_nml !! kappa_h`). Scalar copy onto `ocean_state%hdiff_tracer`, mapped !! with its parent slot at `ocean_state_enter_data` — no explicit !! `!$acc update` needed as long as this runs before that (it does; !! see `rdb_driver.F90`). Default `kappa_h = 0.0` leaves the !! kernel's short-circuit intact ⇒ bit-identical. type(config_t), intent(in) :: cfg type(ocean_state_t), intent(inout) :: ocean_state integer, intent(in) :: compute_rank ocean_state%hdiff_tracer%kappa_h = cfg%ocean%hdiff%kappa_h if (compute_rank == 0 .and. cfg%ocean%hdiff%kappa_h > 0.0_wp) then call logger%info("Tracer hdiff: along-coordinate kappa_h = "// & to_string(cfg%ocean%hdiff%kappa_h)//" m^2/s") end if end subroutine configure_ocean_hdiff