nc_put_var_4d_slice Subroutine

public subroutine nc_put_var_4d_slice(ncid, varid, data, time_index, ierr)

Write a 3D slice into a 4D variable at a given time index

Arguments

Type IntentOptional 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 (error stop).


Calls

proc~~nc_put_var_4d_slice~~CallsGraph proc~nc_put_var_4d_slice nc_put_var_4d_slice nf90_put_var nf90_put_var proc~nc_put_var_4d_slice->nf90_put_var proc~nc_check nc_check proc~nc_put_var_4d_slice->proc~nc_check nf90_strerror nf90_strerror proc~nc_check->nf90_strerror proc~fail fail proc~nc_check->proc~fail error error proc~fail->error proc~error_ring_push error_ring_push proc~fail->proc~error_ring_push

Called by

proc~~nc_put_var_4d_slice~~CalledByGraph proc~nc_put_var_4d_slice nc_put_var_4d_slice proc~nc_emit_post_fire nc_emit_post_fire proc~nc_emit_post_fire->proc~nc_put_var_4d_slice

Source Code

   subroutine nc_put_var_4d_slice(ncid, varid, data, time_index, ierr)
      !! Write a 3D slice into a 4D 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, 1, time_index], &
                                 count=[size(data, 1), size(data, 2), size(data, 3), 1]), &
                    "writing 4D slice", ierr)

   end subroutine nc_put_var_4d_slice