Write a 2D slice into a 3D variable at a given time index
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | ncid | |||
| integer, | intent(in) | :: | varid | |||
| real(kind=wp), | intent(in) | :: | data(:,:) | |||
| integer, | intent(in) | :: | time_index | |||
| integer, | intent(out), | optional | :: | ierr |
Non-zero on failure when present; absent behaves as today
( |
subroutine nc_put_var_3d_slice(ncid, varid, data, time_index, ierr) !! Write a 2D slice into a 3D variable at a given time index integer, intent(in) :: ncid integer, intent(in) :: varid real(wp), intent(in) :: data(:, :) integer, intent(in) :: time_index integer, intent(out), optional :: ierr !! Non-zero on failure when present; absent behaves as today !! (`error stop`). call nc_check(nf90_put_var(ncid, varid, data, & start=[1, 1, time_index], & count=[size(data, 1), size(data, 2), 1]), & "writing 3D slice", ierr) end subroutine nc_put_var_3d_slice