module COperationScenariosVariables    
    implicit none
    public
    type::OperationScenarioType
        ! Apparently Constants
        real :: HKL = 63.76     ! Hook And Kelly Length
        real :: HL  = 17.81     ! Hook Length
        real :: PL  = 30.0      ! Pipe Length
        real :: SL  = 90.0      ! Stand Length
        real :: LG  = 8.0       ! Limit Gap
        real :: SG  = 3.0       ! Slips Gap
        real :: TG  = 4.0       ! Tong Gap
        real :: RE  = 3.0       ! Release
        real :: ECG = 2.3       ! Elevator Connection Gap

        !Apparently Variables
        integer :: ElevatorConnection = 0
        integer :: StringUpdate = 0
        integer :: KellyConnection = 0
        
    end type OperationScenarioType
    
    enum, bind(c)
        enumerator STRING_UPDATE_NEUTRAL
        enumerator STRING_UPDATE_ADD_SINGLE
        enumerator STRING_UPDATE_ADD_STAND
        enumerator STRING_UPDATE_REMOVE_SINGLE
        enumerator STRING_UPDATE_REMOVE_STAND

        enumerator KELLY_CONNECTION_NOTHING
        enumerator KELLY_CONNECTION_STRING
        enumerator KELLY_CONNECTION_SINGLE

        enumerator ELEVATOR_CONNECTION_NOTHING
        enumerator ELEVATOR_CONNECTION_STRING
        enumerator ELEVATOR_CONNECTION_STAND
        enumerator ELEVATOR_CONNECTION_SINGLE
        enumerator ELEVATOR_LATCH_STRING
        enumerator ELEVATOR_LATCH_SINGLE
        enumerator ELEVATOR_LATCH_STAND
    end enum
    contains
end module COperationScenariosVariables