module CBopProblems
    use CBopProblemsVariables
	implicit none    
	public 
    contains   
    
    ! Input routines
    
    subroutine SetAnnularWash(v)
    !DEC$ ATTRIBUTES DLLEXPORT :: SetAnnularWash
    !DEC$ ATTRIBUTES ALIAS: 'SetAnnularWash' :: SetAnnularWash
	    implicit none
	    type(CProblem), intent(in) :: v
	    BopProblems%AnnularWash = SetDue(v, ChangeAnnularWash)
#ifdef deb
	    print*, 'AnnularWash%ProblemType=', BopProblems%AnnularWash%ProblemType
	    print*, 'AnnularWash%StatusType=', BopProblems%AnnularWash%StatusType
	    print*, 'AnnularWash%Value=', BopProblems%AnnularWash%Value
#endif
    end subroutine
    
    subroutine SetAnnularFail(v)
    !DEC$ ATTRIBUTES DLLEXPORT :: SetAnnularFail
    !DEC$ ATTRIBUTES ALIAS: 'SetAnnularFail' :: SetAnnularFail
	    implicit none
	    type(CProblem), intent(in) :: v
	    BopProblems%AnnularFail = SetDue(v, ChangeAnnularFail)
#ifdef deb
	    print*, 'AnnularFail%ProblemType=', BopProblems%AnnularFail%ProblemType
	    print*, 'AnnularFail%StatusType=', BopProblems%AnnularFail%StatusType
	    print*, 'AnnularFail%Value=', BopProblems%AnnularFail%Value
#endif
    end subroutine

    subroutine SetAnnularLeak(v)
    !DEC$ ATTRIBUTES DLLEXPORT :: SetAnnularLeak
    !DEC$ ATTRIBUTES ALIAS: 'SetAnnularLeak' :: SetAnnularLeak
	    implicit none
	    type(CProblem), intent(in) :: v
	    BopProblems%AnnularLeak = SetDue(v, ChangeAnnularLeak)
#ifdef deb
	    print*, 'AnnularLeak%ProblemType=', BopProblems%AnnularLeak%ProblemType
	    print*, 'AnnularLeak%StatusType=', BopProblems%AnnularLeak%StatusType
	    print*, 'AnnularLeak%Value=', BopProblems%AnnularLeak%Value
#endif
    end subroutine

    subroutine SetUpperRamWash(v)
    !DEC$ ATTRIBUTES DLLEXPORT :: SetUpperRamWash
    !DEC$ ATTRIBUTES ALIAS: 'SetUpperRamWash' :: SetUpperRamWash
	    implicit none
	    type(CProblem), intent(in) :: v
	    BopProblems%UpperRamWash = SetDue(v, ChangeUpperRamWash)
#ifdef deb
	    print*, 'UpperRamWash%ProblemType=', BopProblems%UpperRamWash%ProblemType
	    print*, 'UpperRamWash%StatusType=', BopProblems%UpperRamWash%StatusType
	    print*, 'UpperRamWash%Value=', BopProblems%UpperRamWash%Value
#endif
    end subroutine
    
    subroutine SetUpperRamFail(v)
    !DEC$ ATTRIBUTES DLLEXPORT :: SetUpperRamFail
    !DEC$ ATTRIBUTES ALIAS: 'SetUpperRamFail' :: SetUpperRamFail
	    implicit none
	    type(CProblem), intent(in) :: v
	    BopProblems%UpperRamFail = SetDue(v, ChangeUpperRamFail)
#ifdef deb
	    print*, 'UpperRamFail%ProblemType=', BopProblems%UpperRamFail%ProblemType
	    print*, 'UpperRamFail%StatusType=', BopProblems%UpperRamFail%StatusType
	    print*, 'UpperRamFail%Value=', BopProblems%UpperRamFail%Value
#endif
    end subroutine

    subroutine SetUpperRamLeak(v)
    !DEC$ ATTRIBUTES DLLEXPORT :: SetUpperRamLeak
    !DEC$ ATTRIBUTES ALIAS: 'SetUpperRamLeak' :: SetUpperRamLeak
	    implicit none
	    type(CProblem), intent(in) :: v
	    BopProblems%UpperRamLeak = SetDue(v, ChangeUpperRamLeak)
#ifdef deb
	    print*, 'UpperRamLeak%ProblemType=', BopProblems%UpperRamLeak%ProblemType
	    print*, 'UpperRamLeak%StatusType=', BopProblems%UpperRamLeak%StatusType
	    print*, 'UpperRamLeak%Value=', BopProblems%UpperRamLeak%Value
#endif
    end subroutine

    subroutine SetMiddleRamWash(v)
    !DEC$ ATTRIBUTES DLLEXPORT :: SetMiddleRamWash
    !DEC$ ATTRIBUTES ALIAS: 'SetMiddleRamWash' :: SetMiddleRamWash
	    implicit none
	    type(CProblem), intent(in) :: v
	    BopProblems%MiddleRamWash = SetDue(v, ChangeMiddleRamWash)
#ifdef deb
	    print*, 'MiddleRamWash%ProblemType=', BopProblems%MiddleRamWash%ProblemType
	    print*, 'MiddleRamWash%StatusType=', BopProblems%MiddleRamWash%StatusType
	    print*, 'MiddleRamWash%Value=', BopProblems%MiddleRamWash%Value
#endif
    end subroutine
    
    subroutine SetMiddleRamFail(v)
    !DEC$ ATTRIBUTES DLLEXPORT :: SetMiddleRamFail
    !DEC$ ATTRIBUTES ALIAS: 'SetMiddleRamFail' :: SetMiddleRamFail
	    implicit none
	    type(CProblem), intent(in) :: v
	    BopProblems%MiddleRamFail = SetDue(v, ChangeMiddleRamFail)
#ifdef deb
	    print*, 'MiddleRamFail%ProblemType=', BopProblems%MiddleRamFail%ProblemType
	    print*, 'MiddleRamFail%StatusType=', BopProblems%MiddleRamFail%StatusType
	    print*, 'MiddleRamFail%Value=', BopProblems%MiddleRamFail%Value
#endif
    end subroutine

    subroutine SetMiddleRamLeak(v)
    !DEC$ ATTRIBUTES DLLEXPORT :: SetMiddleRamLeak
    !DEC$ ATTRIBUTES ALIAS: 'SetMiddleRamLeak' :: SetMiddleRamLeak
	    implicit none
	    type(CProblem), intent(in) :: v
	    BopProblems%MiddleRamLeak = SetDue(v, ChangeMiddleRamLeak)
#ifdef deb
	    print*, 'MiddleRamLeak%ProblemType=', BopProblems%MiddleRamLeak%ProblemType
	    print*, 'MiddleRamLeak%StatusType=', BopProblems%MiddleRamLeak%StatusType
	    print*, 'MiddleRamLeak%Value=', BopProblems%MiddleRamLeak%Value
#endif
    end subroutine

    subroutine SetLowerRamWash(v)
    !DEC$ ATTRIBUTES DLLEXPORT :: SetLowerRamWash
    !DEC$ ATTRIBUTES ALIAS: 'SetLowerRamWash' :: SetLowerRamWash
	    implicit none
	    type(CProblem), intent(in) :: v
	    BopProblems%LowerRamWash = SetDue(v, ChangeLowerRamWash)
#ifdef deb
	    print*, 'LowerRamWash%ProblemType=', BopProblems%LowerRamWash%ProblemType
	    print*, 'LowerRamWash%StatusType=', BopProblems%LowerRamWash%StatusType
	    print*, 'LowerRamWash%Value=', BopProblems%LowerRamWash%Value
#endif
    end subroutine
    
    subroutine SetLowerRamFail(v)
    !DEC$ ATTRIBUTES DLLEXPORT :: SetLowerRamFail
    !DEC$ ATTRIBUTES ALIAS: 'SetLowerRamFail' :: SetLowerRamFail
	    implicit none
	    type(CProblem), intent(in) :: v
	    BopProblems%LowerRamFail = SetDue(v, ChangeLowerRamFail)
#ifdef deb
	    print*, 'LowerRamFail%ProblemType=', BopProblems%LowerRamFail%ProblemType
	    print*, 'LowerRamFail%StatusType=', BopProblems%LowerRamFail%StatusType
	    print*, 'LowerRamFail%Value=', BopProblems%LowerRamFail%Value
#endif
    end subroutine

    subroutine SetLowerRamLeak(v)
    !DEC$ ATTRIBUTES DLLEXPORT :: SetLowerRamLeak
    !DEC$ ATTRIBUTES ALIAS: 'SetLowerRamLeak' :: SetLowerRamLeak
	    implicit none
	    type(CProblem), intent(in) :: v
	    BopProblems%LowerRamLeak = SetDue(v, ChangeLowerRamLeak)
#ifdef deb
	    print*, 'LowerRamLeak%ProblemType=', BopProblems%LowerRamLeak%ProblemType
	    print*, 'LowerRamLeak%StatusType=', BopProblems%LowerRamLeak%StatusType
	    print*, 'LowerRamLeak%Value=', BopProblems%LowerRamLeak%Value
#endif
    end subroutine

    subroutine SetAccumulatorPumpFail(v)
    !DEC$ ATTRIBUTES DLLEXPORT :: SetAccumulatorPumpFail
    !DEC$ ATTRIBUTES ALIAS: 'SetAccumulatorPumpFail' :: SetAccumulatorPumpFail
	    implicit none
	    type(CProblem), intent(in) :: v
	    BopProblems%AccumulatorPumpFail = SetDue(v, ChangeAccumulatorPumpFail)
#ifdef deb
	    print*, 'AccumulatorPumpFail%ProblemType=', BopProblems%AccumulatorPumpFail%ProblemType
	    print*, 'AccumulatorPumpFail%StatusType=', BopProblems%AccumulatorPumpFail%StatusType
	    print*, 'AccumulatorPumpFail%Value=', BopProblems%AccumulatorPumpFail%Value
#endif
    end subroutine

    subroutine SetAccumulatorPumpLeak(v)
    !DEC$ ATTRIBUTES DLLEXPORT :: SetAccumulatorPumpLeak
    !DEC$ ATTRIBUTES ALIAS: 'SetAccumulatorPumpLeak' :: SetAccumulatorPumpLeak
	    implicit none
	    type(CProblem), intent(in) :: v
	    BopProblems%AccumulatorPumpLeak = SetDue(v, ChangeAccumulatorPumpLeak)
#ifdef deb
	    print*, 'AccumulatorPumpLeak%ProblemType=', BopProblems%AccumulatorPumpLeak%ProblemType
	    print*, 'AccumulatorPumpLeak%StatusType=', BopProblems%AccumulatorPumpLeak%StatusType
	    print*, 'AccumulatorPumpLeak%Value=', BopProblems%AccumulatorPumpLeak%Value
#endif
    end subroutine

    subroutine SetAccumulatorSystemFail(v)
    !DEC$ ATTRIBUTES DLLEXPORT :: SetAccumulatorSystemFail
    !DEC$ ATTRIBUTES ALIAS: 'SetAccumulatorSystemFail' :: SetAccumulatorSystemFail
	    implicit none
	    type(CProblem), intent(in) :: v
	    BopProblems%AccumulatorSystemFail = SetDue(v, ChangeAccumulatorSystemFail)
#ifdef deb
	    print*, 'AccumulatorSystemFail%ProblemType=', BopProblems%AccumulatorSystemFail%ProblemType
	    print*, 'AccumulatorSystemFail%StatusType=', BopProblems%AccumulatorSystemFail%StatusType
	    print*, 'AccumulatorSystemFail%Value=', BopProblems%AccumulatorSystemFail%Value
#endif
    end subroutine

    subroutine SetAccumulatorSystemLeak(v)
    !DEC$ ATTRIBUTES DLLEXPORT :: SetAccumulatorSystemLeak
    !DEC$ ATTRIBUTES ALIAS: 'SetAccumulatorSystemLeak' :: SetAccumulatorSystemLeak
	    implicit none
	    type(CProblem), intent(in) :: v
	    BopProblems%AccumulatorSystemLeak = SetDue(v, ChangeAccumulatorSystemLeak)
#ifdef deb
	    print*, 'AccumulatorSystemLeak%ProblemType=', BopProblems%AccumulatorSystemLeak%ProblemType
	    print*, 'AccumulatorSystemLeak%StatusType=', BopProblems%AccumulatorSystemLeak%StatusType
	    print*, 'AccumulatorSystemLeak%Value=', BopProblems%AccumulatorSystemLeak%Value
#endif
    end subroutine

end module CBopProblems