module TopDriveMain
    use CLog4
    implicit none
    public
    contains
    
    subroutine TopDrive_Init()
        !use CSimulationVariables
        !implicit none
        !call OnSimulationStop%Add(TopDrive_Stop)
        !call OnTopDriveStart%Add(TopDrive_Start)
        !call OnTopDriveStep%Add(TopDrive_Step)
        !call OnTopDriveMain%Add(TopDriveMainBody)
        Call TopDrive_StartUp
    end subroutine
    
    subroutine TopDrive_Stop
        implicit none
        call Log_4('TopDrive_Stop')
        ! this is a comment
        ! this is a comment
    end subroutine TopDrive_Stop
    
    subroutine TopDrive_Start
        implicit none
        ! call Log_4('TopDrive_Start')
    end subroutine TopDrive_Start
    
    subroutine TopDrive_Step
        implicit none
        ! call Log_4('TopDrive_Step')
        Call Rtable_MainSolver
    end subroutine TopDrive_Step    
    
    
    subroutine TopDriveMainBody
        ! use CSimulationVariables
        use SimulationVariables
        use SimulationVariables !@
        use CWarnings
        use CSounds
        use CTopDrivePanelVariables
    use SimulationVariables
        
        implicit none
        
        
        call Log_4('TopDriveMainBody')
        
        
        Call TopDrive_StartUp
        
        
        loopTopDrivestart : do
                
            Call TopDrive_MainSolver
            
        end do loopTopDrivestart
        
        
    end subroutine TopDriveMainBody



end module TopDriveMain