subroutine ocean_data_input_register_segment_3d(this, file, var, grid, edge, nz_src, &
dest_n1, dest_n2, dest_n3, id, time_mode, &
cycle_period, t_offset, t_scale, &
scale, add_offset, oor, ierr)
!! 3-D twin of `register_segment_2d` (PR-22 OBC segment files).
class(ocean_data_input_t), intent(inout) :: this
character(len=*), intent(in) :: file, var
type(hgrid_t), intent(in) :: grid
integer, intent(in) :: edge, nz_src, dest_n1, dest_n2, dest_n3
integer, intent(out) :: id
character(len=*), intent(in), optional :: time_mode
real(wp), intent(in), optional :: cycle_period, t_offset, t_scale, scale, add_offset
integer, intent(in), optional :: oor
integer, intent(out), optional :: ierr
integer :: i0, j0, nx, ny, di0, dj0
call segment_geometry(grid, edge, i0, j0, nx, ny, di0, dj0, ierr=ierr)
if (present(ierr)) then
if (ierr /= OCEAN_STATUS_OK) return
end if
call register_common(this, file, var, .true., i0, j0, nx, ny, nz_src, &
di0, dj0, dest_n1, dest_n2, dest_n3, &
time_mode, cycle_period, t_offset, t_scale, scale, add_offset, oor, id, &
edge=edge, ierr=ierr)
end subroutine ocean_data_input_register_segment_3d