init_level_change_level Function

private function init_level_change_level(self, current, going_up) result(new_level)

Uses

General wrapper to the init_level instance's specific change level method.

Type Bound

init_level_type

Arguments

Type IntentOptional Attributes Name
class(init_level_type), intent(inout) :: self
type(init_type), intent(in) :: current
logical, intent(in) :: going_up

Return Value integer


Contents


Source Code

  integer function init_level_change_level(self, current, going_up) result(new_level)
    use job_manage, only: time_message
    implicit none
    class(init_level_type), intent(in out) :: self
    type(init_type), intent(in) :: current
    logical, intent(in) :: going_up
    call self%generate_debug_message(going_up)
    call time_message(.false., self%time_init, 'Init')
    call self%change_level_specific(current, going_up)
    call time_message(.false., self%time_init, 'Init')
    if (going_up) then
       new_level = self%level
    else
       new_level = self%level - 1
    end if
  end function init_level_change_level