tem_varSys_check_inArgs Subroutine

public subroutine tem_varSys_check_inArgs(fun, varSys, time, iLevel, idx, idxLen, nVals, label)

Arguments

Type IntentOptional Attributes Name
class(tem_varSys_op_type), intent(in) :: fun

Description of the method to obtain the variables, here some preset values might be stored, like the space time function to use or the required variables.

type(tem_varSys_type), intent(in) :: varSys

The variable system to obtain the variable from.

type(tem_time_type), intent(in) :: time

Point in time at which to evaluate the variable.

integer, intent(in) :: iLevel

Level on which values are requested

integer, intent(in) :: idx(:)

Index of points in the growing array and variable val array to return. Size: nVals

integer, intent(in), optional :: idxLen(:)

With idx as start index in contiguous memory, idxLength defines length of each contiguous memory Size: nVals

integer, intent(in) :: nVals
character(len=*), intent(in) :: label

Contents


Source Code

  subroutine tem_varSys_check_inArgs( fun, varSys, time, iLevel, idx, idxLen, &
    &                                 nVals, label                            )
    !------------------------------------------------------------------------!
    !> Description of the method to obtain the variables, here some preset
    !! values might be stored, like the space time function to use or the
    !! required variables.
    class(tem_varSys_op_type), intent(in) :: fun

    !> The variable system to obtain the variable from.
    type(tem_varSys_type), intent(in) :: varSys

    !> Point in time at which to evaluate the variable.
    type(tem_time_type), intent(in) :: time

    !> Level on which values are requested
    integer, intent(in) :: iLevel

    !> Index of points in the growing array and variable val array to
    !! return.
    !! Size: nVals
    integer, intent(in) :: idx(:)

    !> With idx as start index in contiguous memory,
    !! idxLength defines length of each contiguous memory
    !! Size: nVals
    integer, optional, intent(in) :: idxLen(:)

    integer, intent(in) :: nVals
    character(len=*), intent(in) :: label
    !------------------------------------------------------------------------!

    if (size(idx) /= nVals) then
      write(logunit(10),*) 'in ', trim(label), ' idx length /= nVals !'
      write(logunit(10),*) '  varname:', trim(varsys%varname%val(fun%mypos))
      write(logunit(10),*) '  time%sim:', time%sim
      write(logunit(10),*) '  iLevel:', iLevel
      write(logunit(10),*) '  nVals:', nVals
      write(logunit(10),*) '  size(idx):', size(idx)
      if (present(idxLen)) write(logunit(10),*) 'idxLen provided:', idxLen(1)
    end if
  end subroutine tem_varsys_check_inArgs