module CBopProblemsVariables
    use CProblemDifinition
	implicit none
	public
    
    ! Input vars
    type::BopProblemsType
        type(CProblem) :: AnnularWash
        type(CProblem) :: AnnularFail
        type(CProblem) :: AnnularLeak
        type(CProblem) :: UpperRamWash
        type(CProblem) :: UpperRamFail
        type(CProblem) :: UpperRamLeak
        type(CProblem) :: MiddleRamWash
        type(CProblem) :: MiddleRamFail
        type(CProblem) :: MiddleRamLeak
        type(CProblem) :: LowerRamWash
        type(CProblem) :: LowerRamFail
        type(CProblem) :: LowerRamLeak
        type(CProblem) :: AccumulatorPumpFail
        type(CProblem) :: AccumulatorPumpLeak
        type(CProblem) :: AccumulatorSystemFail
        type(CProblem) :: AccumulatorSystemLeak
    end type BopProblemsType
        
    contains  
    
    
    
    
    
    
    
    
    
    
    
    
    
    ! subroutine SubscribeAnnularWash(v)
    ! !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeAnnularWash
    ! !DEC$ ATTRIBUTES ALIAS: 'SubscribeAnnularWash' :: SubscribeAnnularWash
	!     implicit none
	!     procedure (ActionInteger) :: v
	!     AnnularWashPtr => v
    ! end subroutine
    
    ! subroutine SubscribeAnnularFail(v)
    ! !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeAnnularFail
    ! !DEC$ ATTRIBUTES ALIAS: 'SubscribeAnnularFail' :: SubscribeAnnularFail
	!     implicit none
	!     procedure (ActionInteger) :: v
	!     AnnularFailPtr => v
    ! end subroutine

    ! subroutine SubscribeAnnularLeak(v)
    ! !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeAnnularLeak
    ! !DEC$ ATTRIBUTES ALIAS: 'SubscribeAnnularLeak' :: SubscribeAnnularLeak
	!     implicit none
	!     procedure (ActionInteger) :: v
	!     AnnularLeakPtr => v
    ! end subroutine

    
    ! subroutine SubscribeUpperRamWash(v)
    ! !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeUpperRamWash
    ! !DEC$ ATTRIBUTES ALIAS: 'SubscribeUpperRamWash' :: SubscribeUpperRamWash
	!     implicit none
	!     procedure (ActionInteger) :: v
	!     UpperRamWashPtr => v
    ! end subroutine
    
    ! subroutine SubscribeUpperRamFail(v)
    ! !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeUpperRamFail
    ! !DEC$ ATTRIBUTES ALIAS: 'SubscribeUpperRamFail' :: SubscribeUpperRamFail
	!     implicit none
	!     procedure (ActionInteger) :: v
	!     UpperRamFailPtr => v
    ! end subroutine

    ! subroutine SubscribeUpperRamLeak(v)
    ! !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeUpperRamLeak
    ! !DEC$ ATTRIBUTES ALIAS: 'SubscribeUpperRamLeak' :: SubscribeUpperRamLeak
	!     implicit none
	!     procedure (ActionInteger) :: v
	!     UpperRamLeakPtr => v
    ! end subroutine

    
    ! subroutine SubscribeMiddleRamWash(v)
    ! !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeMiddleRamWash
    ! !DEC$ ATTRIBUTES ALIAS: 'SubscribeMiddleRamWash' :: SubscribeMiddleRamWash
	!     implicit none
	!     procedure (ActionInteger) :: v
	!     MiddleRamWashPtr => v
    ! end subroutine
    
    ! subroutine SubscribeMiddleRamFail(v)
    ! !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeMiddleRamFail
    ! !DEC$ ATTRIBUTES ALIAS: 'SubscribeMiddleRamFail' :: SubscribeMiddleRamFail
	!     implicit none
	!     procedure (ActionInteger) :: v
	!     MiddleRamFailPtr => v
    ! end subroutine

    ! subroutine SubscribeMiddleRamLeak(v)
    ! !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeMiddleRamLeak
    ! !DEC$ ATTRIBUTES ALIAS: 'SubscribeMiddleRamLeak' :: SubscribeMiddleRamLeak
	!     implicit none
	!     procedure (ActionInteger) :: v
	!     MiddleRamLeakPtr => v
    ! end subroutine

    
    ! subroutine SubscribeLowerRamWash(v)
    ! !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeLowerRamWash
    ! !DEC$ ATTRIBUTES ALIAS: 'SubscribeLowerRamWash' :: SubscribeLowerRamWash
	!     implicit none
	!     procedure (ActionInteger) :: v
	!     LowerRamWashPtr => v
    ! end subroutine
    
    ! subroutine SubscribeLowerRamFail(v)
    ! !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeLowerRamFail
    ! !DEC$ ATTRIBUTES ALIAS: 'SubscribeLowerRamFail' :: SubscribeLowerRamFail
	!     implicit none
	!     procedure (ActionInteger) :: v
	!     LowerRamFailPtr => v
    ! end subroutine

    ! subroutine SubscribeLowerRamLeak(v)
    ! !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeLowerRamLeak
    ! !DEC$ ATTRIBUTES ALIAS: 'SubscribeLowerRamLeak' :: SubscribeLowerRamLeak
	!     implicit none
	!     procedure (ActionInteger) :: v
	!     LowerRamLeakPtr => v
    ! end subroutine

    ! subroutine SubscribeAccumulatorPumpFail(v)
    ! !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeAccumulatorPumpFail
    ! !DEC$ ATTRIBUTES ALIAS: 'SubscribeAccumulatorPumpFail' :: SubscribeAccumulatorPumpFail
	!     implicit none
	!     procedure (ActionInteger) :: v
	!     AccumulatorPumpFailPtr => v
    ! end subroutine

    ! subroutine SubscribeAccumulatorPumpLeak(v)
    ! !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeAccumulatorPumpLeak
    ! !DEC$ ATTRIBUTES ALIAS: 'SubscribeAccumulatorPumpLeak' :: SubscribeAccumulatorPumpLeak
	!     implicit none
	!     procedure (ActionInteger) :: v
	!     AccumulatorPumpLeakPtr => v
    ! end subroutine

    ! subroutine SubscribeAccumulatorSystemFail(v)
    ! !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeAccumulatorSystemFail
    ! !DEC$ ATTRIBUTES ALIAS: 'SubscribeAccumulatorSystemFail' :: SubscribeAccumulatorSystemFail
	!     implicit none
	!     procedure (ActionInteger) :: v
	!     AccumulatorSystemFailPtr => v
    ! end subroutine

    ! subroutine SubscribeAccumulatorSystemLeak(v)
    ! !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeAccumulatorSystemLeak
    ! !DEC$ ATTRIBUTES ALIAS: 'SubscribeAccumulatorSystemLeak' :: SubscribeAccumulatorSystemLeak
	!     implicit none
	!     procedure (ActionInteger) :: v
	!     AccumulatorSystemLeakPtr => v
    ! end subroutine




    
end module CBopProblemsVariables