rdb_put_var_2d_slice Subroutine

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

Write a 1D slice into a 2D 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~~rdb_put_var_2d_slice~~CallsGraph proc~rdb_put_var_2d_slice rdb_put_var_2d_slice nf90_put_var nf90_put_var proc~rdb_put_var_2d_slice->nf90_put_var proc~nc_check nc_check proc~rdb_put_var_2d_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

Source Code

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

   end subroutine rdb_put_var_2d_slice