module GeoMain
    use CLog4
    implicit none
    
    public
    
    integer :: SampleValue, TestValue
    
    contains
    ! subroutine Setup()
    !     use CPathChangeEvents
    !     implicit none
        
    !     call BeforeTraverse%Add(InitialVarsBeforePathsChanges)
    !     call OnPathOpen%Add(WhenPathOpen)
    !     !call OnPathClose%Add(WhenPathClose)
        
    ! end subroutine
    
!     subroutine InitialVarsBeforePathsChanges()
!         implicit none
        
! #ifdef deb
!         print*, "ValveOne: FALSE (init)"
! #endif
        
!     end subroutine
    
!     subroutine WhenPathOpen(valves)
!         implicit none
!         integer, allocatable, intent (in) :: valves(:)
        
! !        if ( any(valves == 1)) then
! !#ifdef deb
! !            print*, "ValveOne: TRUE"
! !#endif
! !        endif
        
!     end subroutine
    
!     subroutine Geo_Setup()
!         ! use CSimulationVariables
!         implicit none
!         !call OnSimulationInitialization%Add(Geo_Init)
!         call OnSimulationStop%Add(Geo_Stop)
!         call OnGeoStart%Add(Geo_Start)
!         call OnGeoStep%Add(Geo_Step)
!         !call OnGeoOutput%Add(Geo_Output)
!         call OnGeoMain%Add(GeoMainBody)
!     end subroutine
    
    subroutine Geo_Stop
        implicit none
        !print*, 'Geo_Stop'
    end subroutine Geo_Stop
    
    ! subroutine Geo_Start
    !     implicit none
    !     !print*, '****************Geo_Start****************'  
    ! end subroutine Geo_Start
    
    subroutine Geo_Step
        implicit none
    end subroutine Geo_Step
    
    ! !subroutine Geo_Output
    ! !    implicit none
    ! !    !print*, 'Geo_Output'
    ! !end subroutine Geo_Output
    
    ! subroutine GeoMainBody   
    !     implicit none  
    ! end subroutine GeoMainBody
    
end module GeoMain