subroutine ocean_data_input_register_segment_2d(this, file, var, grid, edge, &
dest_n1, dest_n2, id, time_mode, &
cycle_period, t_offset, t_scale, &
scale, add_offset, oor, ierr)
!! Register a 2-D OBC-segment field. The degenerate horizontal
!! axis (x for west/east, y for south/north) reads as `start=1,
!! count=1`; the along-edge axis slices from the global index
!! range exactly as `register_2d` does. `dest_i0`/`dest_j0` are
!! implied by `edge` (degenerate axis -> index 1; along-edge axis
!! -> `grid%nghost + 1`) — not arguments (see module docstring).
class(ocean_data_input_t), intent(inout) :: this
character(len=*), intent(in) :: file, var
type(hgrid_t), intent(in) :: grid
integer, intent(in) :: edge, dest_n1, dest_n2
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, .false., i0, j0, nx, ny, 1, &
di0, dj0, dest_n1, dest_n2, 1, &
time_mode, cycle_period, t_offset, t_scale, scale, add_offset, oor, id, &
edge=edge, ierr=ierr)
end subroutine ocean_data_input_register_segment_2d