module CReservoir
    use CReservoirVariables
    implicit none    
    public    
    contains    
    
    subroutine SetReservoirFormationNo(v)
    !DEC$ ATTRIBUTES DLLEXPORT :: SetReservoirFormationNo
    !DEC$ ATTRIBUTES ALIAS: 'SetReservoirFormationNo' :: SetReservoirFormationNo
        implicit none
        integer, intent(in) :: v
        Reservoir%FormationNo = v
    end subroutine
        
    subroutine SetFormationTop(v)
    !DEC$ ATTRIBUTES DLLEXPORT :: SetFormationTop
    !DEC$ ATTRIBUTES ALIAS: 'SetFormationTop' :: SetFormationTop
        implicit none
        real*8, intent(in) :: v
        Reservoir%FormationTop = v
    end subroutine
    
    subroutine SetPressureGradient(v)
    !DEC$ ATTRIBUTES DLLEXPORT :: SetPressureGradient
    !DEC$ ATTRIBUTES ALIAS: 'SetPressureGradient' :: SetPressureGradient
        implicit none
        real*8, intent(in) :: v
        Reservoir%PressureGradient = v
    end subroutine
    
    subroutine SetFormationPermeability(v)
    !DEC$ ATTRIBUTES DLLEXPORT :: SetFormationPermeability
    !DEC$ ATTRIBUTES ALIAS: 'SetFormationPermeability' :: SetFormationPermeability
        implicit none
        real*8, intent(in) :: v
        Reservoir%FormationPermeability = v
    end subroutine
    
    subroutine SetGeothermalGradient(v)
    !DEC$ ATTRIBUTES DLLEXPORT :: SetGeothermalGradient
    !DEC$ ATTRIBUTES ALIAS: 'SetGeothermalGradient' :: SetGeothermalGradient
        implicit none
        real*8, intent(in) :: v
        Reservoir%GeothermalGradient = v
    end subroutine
    
    subroutine SetFluidType(v)
    !DEC$ ATTRIBUTES DLLEXPORT :: SetFluidType
    !DEC$ ATTRIBUTES ALIAS: 'SetFluidType' :: SetFluidType
        implicit none
        integer, intent(in) :: v
        Reservoir%FluidType = v
    end subroutine
    
    subroutine SetFluidGradient(v)
    !DEC$ ATTRIBUTES DLLEXPORT :: SetFluidGradient
    !DEC$ ATTRIBUTES ALIAS: 'SetFluidGradient' :: SetFluidGradient
        implicit none
        real*8, intent(in) :: v
        Reservoir%FluidGradient = v
    end subroutine
    
    subroutine SetFluidViscosity(v)
    !DEC$ ATTRIBUTES DLLEXPORT :: SetFluidViscosity
    !DEC$ ATTRIBUTES ALIAS: 'SetFluidViscosity' :: SetFluidViscosity
        implicit none
        real*8, intent(in) :: v
        Reservoir%FluidViscosity = v
    end subroutine
    
    subroutine SetInactiveInflux(v)
    !DEC$ ATTRIBUTES DLLEXPORT :: SetInactiveInflux
    !DEC$ ATTRIBUTES ALIAS: 'SetInactiveInflux' :: SetInactiveInflux
        implicit none
        logical, intent(in) :: v
        Reservoir%InactiveInflux = v
    end subroutine
    
    subroutine SetMakeKickSinglePacket(v)
    !DEC$ ATTRIBUTES DLLEXPORT :: SetMakeKickSinglePacket
    !DEC$ ATTRIBUTES ALIAS: 'SetMakeKickSinglePacket' :: SetMakeKickSinglePacket
	    implicit none
	    logical, intent(in) :: v
	    Reservoir%MakeKickSinglePacket = v
#ifdef deb
	    print*, 'MakeKickSinglePacket=', Reservoir%MakeKickSinglePacket
#endif
    end subroutine
    
    subroutine SetIsAutoMigrationRateSelected(v)
    !DEC$ ATTRIBUTES DLLEXPORT :: SetIsAutoMigrationRateSelected
    !DEC$ ATTRIBUTES ALIAS: 'SetIsAutoMigrationRateSelected' :: SetIsAutoMigrationRateSelected
	    implicit none
	    logical, intent(in) :: v
	    Reservoir%IsAutoMigrationRateSelected = v
#ifdef deb
	    print*, 'IsAutoMigrationRateSelected=', Reservoir%IsAutoMigrationRateSelected
#endif
    end subroutine

    subroutine SetAutoMigrationRate(v)
    !DEC$ ATTRIBUTES DLLEXPORT :: SetAutoMigrationRate
    !DEC$ ATTRIBUTES ALIAS: 'SetAutoMigrationRate' :: SetAutoMigrationRate
	    implicit none
	    real*8, intent(in) :: v
	    Reservoir%AutoMigrationRate = v
#ifdef deb
	    print*, 'AutoMigrationRate=', Reservoir%AutoMigrationRate
#endif
    end subroutine
    
    
    
end module CReservoir