module DrawworksMain
    implicit none
    public
    contains
    
    ! subroutine Drawworks_Setup()
    !     use CSimulationVariables
    !     implicit none
    !     call OnSimulationInitialization%Add(Drawworks_Init)
    !     call OnSimulationStop%Add(Drawworks_Init)
    !     call OnDrawworksStep%Add(Drawworks_Step)
    !     call OnDrawworksOutput%Add(Drawworks_Output)
    !     call OnDrawworksMain%Add(DrawworksMainBody)
    ! end subroutine
    
    subroutine Drawworks_Init
        call Drawworks_StartUp
    end subroutine Drawworks_Init
    
    subroutine Drawworks_Step
        call Drawworks_MainSolver
    end subroutine Drawworks_Step
        
    subroutine DrawworksMainBody   
        use SimulationVariables !@
        implicit none
        Call Drawworks_StartUp
        loopdrawsim : do
            Call Drawworks_MainSolver
        end do loopdrawsim
    end subroutine DrawworksMainBody
end module DrawworksMain