ice_halo_centre_flat Subroutine

private subroutine ice_halo_centre_flat(fld, nxt, nyt, nz, device_resident)

Explicit-shape seam: a contiguous ice array of any rank (0:ncat third bound, rank-4 category x layer) is handed in by sequence association and exchanged as one (nxt, nyt, nz) centre field. The generic ocean_halo_centre resolves on the DUMMY’s rank, so the rank-4 actuals cannot call it directly.

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(inout) :: fld(nxt,nyt,nz)
integer, intent(in) :: nxt
integer, intent(in) :: nyt
integer, intent(in) :: nz
logical, intent(in), optional :: device_resident

Calls

proc~~ice_halo_centre_flat~~CallsGraph proc~ice_halo_centre_flat ice_halo_centre_flat interface~ocean_halo_centre ocean_halo_centre proc~ice_halo_centre_flat->interface~ocean_halo_centre proc~ocean_halo_centre_2d ocean_halo_centre_2d interface~ocean_halo_centre->proc~ocean_halo_centre_2d proc~ocean_halo_centre_3d ocean_halo_centre_3d interface~ocean_halo_centre->proc~ocean_halo_centre_3d proc~ocean_halo_centre_2d_impl ocean_halo_centre_2d_impl proc~ocean_halo_centre_2d->proc~ocean_halo_centre_2d_impl proc~oh_count_centre_2d oh_count_centre_2d proc~ocean_halo_centre_2d->proc~oh_count_centre_2d comm_irecv_real_sp_array_n comm_irecv_real_sp_array_n proc~ocean_halo_centre_3d->comm_irecv_real_sp_array_n comm_isend_real_sp_array_n comm_isend_real_sp_array_n proc~ocean_halo_centre_3d->comm_isend_real_sp_array_n proc~comm_env_compute_comm comm_env_compute_comm proc~ocean_halo_centre_3d->proc~comm_env_compute_comm proc~ew_rank_east ew_rank_east proc~ocean_halo_centre_3d->proc~ew_rank_east proc~ew_rank_west ew_rank_west proc~ocean_halo_centre_3d->proc~ew_rank_west proc~needs_flags needs_flags proc~ocean_halo_centre_3d->proc~needs_flags proc~ns_rank_north ns_rank_north proc~ocean_halo_centre_3d->proc~ns_rank_north proc~ns_rank_south ns_rank_south proc~ocean_halo_centre_3d->proc~ns_rank_south proc~ocean_halo_buffers_ensure_nz ocean_halo_buffers_ensure_nz proc~ocean_halo_centre_3d->proc~ocean_halo_buffers_ensure_nz proc~ocean_periodic_wrap_centre_3d ocean_periodic_wrap_centre_3d proc~ocean_halo_centre_3d->proc~ocean_periodic_wrap_centre_3d proc~oh_count_centre_3d oh_count_centre_3d proc~ocean_halo_centre_3d->proc~oh_count_centre_3d proc~oh_count_msgs oh_count_msgs proc~ocean_halo_centre_3d->proc~oh_count_msgs waitall waitall proc~ocean_halo_centre_3d->waitall comm_world comm_world proc~comm_env_compute_comm->comm_world proc~decomp_rank_from_coords decomp_rank_from_coords proc~ew_rank_east->proc~decomp_rank_from_coords proc~ew_rank_west->proc~decomp_rank_from_coords proc~ns_rank_north->proc~decomp_rank_from_coords proc~ns_rank_south->proc~decomp_rank_from_coords to_string to_string proc~ocean_halo_buffers_ensure_nz->to_string warning warning proc~ocean_halo_buffers_ensure_nz->warning proc~ocean_halo_centre_2d_impl->comm_irecv_real_sp_array_n proc~ocean_halo_centre_2d_impl->comm_isend_real_sp_array_n proc~ocean_halo_centre_2d_impl->proc~comm_env_compute_comm proc~ocean_halo_centre_2d_impl->proc~ew_rank_east proc~ocean_halo_centre_2d_impl->proc~ew_rank_west proc~ocean_halo_centre_2d_impl->proc~needs_flags proc~ocean_halo_centre_2d_impl->proc~ns_rank_north proc~ocean_halo_centre_2d_impl->proc~ns_rank_south proc~ocean_halo_centre_2d_impl->proc~oh_count_msgs proc~ocean_halo_centre_2d_impl->waitall proc~ocean_periodic_wrap_centre_2d ocean_periodic_wrap_centre_2d proc~ocean_halo_centre_2d_impl->proc~ocean_periodic_wrap_centre_2d

Called by

proc~~ice_halo_centre_flat~~CalledByGraph proc~ice_halo_centre_flat ice_halo_centre_flat proc~ocean_halo_exchange_ice_state ocean_halo_exchange_ice_state proc~ocean_halo_exchange_ice_state->proc~ice_halo_centre_flat proc~ocean_halo_exchange_ice_transport ocean_halo_exchange_ice_transport proc~ocean_halo_exchange_ice_transport->proc~ice_halo_centre_flat proc~engine_setup engine_setup proc~engine_setup->proc~ocean_halo_exchange_ice_state proc~engine_step_ice engine_step_ice proc~engine_step_ice->proc~ocean_halo_exchange_ice_state proc~ice_transport_step ice_transport_step proc~engine_step_ice->proc~ice_transport_step proc~ice_transport_step->proc~ocean_halo_exchange_ice_transport proc~complete_ocean_create complete_ocean_create proc~complete_ocean_create->proc~engine_setup proc~driver_run_ocean driver_run_ocean proc~driver_run_ocean->proc~engine_setup proc~driver_run_ocean->proc~engine_step_ice proc~driver_validate driver_validate proc~driver_validate->proc~engine_setup proc~rdb_ocean_step rdb_ocean_step proc~rdb_ocean_step->proc~engine_step_ice proc~driver_run driver_run proc~driver_run->proc~driver_run_ocean proc~rdb_ocean_create_finalize rdb_ocean_create_finalize proc~rdb_ocean_create_finalize->proc~complete_ocean_create proc~rdb_ocean_create_from_string rdb_ocean_create_from_string proc~rdb_ocean_create_from_string->proc~complete_ocean_create

Source Code

   subroutine ice_halo_centre_flat(fld, nxt, nyt, nz, device_resident)
      !! Explicit-shape seam: a contiguous ice array of any rank (`0:ncat`
      !! third bound, rank-4 category x layer) is handed in by sequence
      !! association and exchanged as one `(nxt, nyt, nz)` centre field.
      !! The generic `ocean_halo_centre` resolves on the DUMMY's rank, so
      !! the rank-4 actuals cannot call it directly.
      integer, intent(in) :: nxt, nyt, nz
      real(wp), intent(inout) :: fld(nxt, nyt, nz)
      logical, intent(in), optional :: device_resident

      call ocean_halo_centre(fld, nz, device_resident)
   end subroutine ice_halo_centre_flat