tem_opVar_getParams Subroutine

public recursive subroutine tem_opVar_getParams(fun, varSys, instring, outstring)

This subroutine call get_params of input_variable

the interface has to comply to the abstract interface tem_varsys_module#tem_varsys_proc_setParams.

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.

character(len=*), intent(in) :: instring

Input string with parameter to set in method_data

character(len=*), intent(out) :: outstring

Output string with requested parameter value from method_data


Source Code

  recursive subroutine tem_opVar_getParams( fun, varSys, instring, outstring )
    ! ---------------------------------------------------------------------- !
    !> 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

    !> Input string with parameter to set in method_data
    character(len=*), intent(in) :: instring

    !> Output string with requested parameter value from method_data
    character(len=*), intent(out) :: outstring
    ! ---------------------------------------------------------------------- !
    integer :: iDep, posDepVar
    ! ---------------------------------------------------------------------- !
    do iDep = 1, fun%nInputs
      ! get position of dependent var in varSys
      posDepVar = fun%input_varPos(iDep)

      ! get params from dependent variable
      call varSys%method%val(posDepVar)%get_params( varSys    = varSys,   &
        &                                           inString  = inString, &
        &                                           outString = outString )

      ! if outString is filled by any dependent variable then exit loop
      if (len(trim(outString)) > 0) then
        outString = trim(outString)//'_oper'
        exit
      end if
    end do

  end subroutine tem_opVar_getParams