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

Called by

proc~~tem_varsys_check_inargs~~CalledByGraph proc~tem_varsys_check_inargs tem_varSys_check_inArgs proc~combine_fromindex combine_fromIndex proc~combine_fromindex->proc~tem_varsys_check_inargs proc~evalreldiff_fromindex evalRelDiff_fromIndex proc~evalreldiff_fromindex->proc~tem_varsys_check_inargs proc~extract_fromindex extract_fromIndex proc~extract_fromindex->proc~tem_varsys_check_inargs proc~get_valofindex_add_scalar_spacetime get_valOfIndex_add_scalar_spacetime proc~get_valofindex_add_scalar_spacetime->proc~tem_varsys_check_inargs proc~get_valofindex_add_vector_spacetime get_valOfIndex_add_vector_spacetime proc~get_valofindex_add_vector_spacetime->proc~tem_varsys_check_inargs proc~get_valofindex_first_scalar_spacetime get_valOfIndex_first_scalar_spacetime proc~get_valofindex_first_scalar_spacetime->proc~tem_varsys_check_inargs proc~get_valofindex_first_vector_spacetime get_valOfIndex_first_vector_spacetime proc~get_valofindex_first_vector_spacetime->proc~tem_varsys_check_inargs proc~get_valofindex_foag_scalar_spacetime get_valOfIndex_FOAG_scalar_spacetime proc~get_valofindex_foag_scalar_spacetime->proc~tem_varsys_check_inargs proc~get_valofindex_foag_vector_spacetime get_valOfIndex_FOAG_vector_spacetime proc~get_valofindex_foag_vector_spacetime->proc~tem_varsys_check_inargs proc~reductiontransient_fromindex reductionTransient_fromIndex proc~reductiontransient_fromindex->proc~tem_varsys_check_inargs proc~tem_dividevecbyscal_fromindex tem_divideVecByScal_fromIndex proc~tem_dividevecbyscal_fromindex->proc~tem_varsys_check_inargs proc~tem_division_fromindex tem_division_fromIndex proc~tem_division_fromindex->proc~tem_varsys_check_inargs proc~tem_evaladd_fromindex tem_evalAdd_fromIndex proc~tem_evaladd_fromindex->proc~tem_varsys_check_inargs proc~tem_evaldiff_fromindex tem_evalDiff_fromIndex proc~tem_evaldiff_fromindex->proc~tem_varsys_check_inargs proc~tem_evalmag_fromindex tem_evalMag_fromIndex proc~tem_evalmag_fromindex->proc~tem_varsys_check_inargs proc~tem_evalmultiply_fromindex tem_evalMultiply_fromIndex proc~tem_evalmultiply_fromindex->proc~tem_varsys_check_inargs proc~tem_multiplyscaltimesvec_fromindex tem_multiplyScalTimesVec_fromIndex proc~tem_multiplyscaltimesvec_fromindex->proc~tem_varsys_check_inargs

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