Revision history [back]
You should be able to use EnergyManagementSystem to do this:
Create an exterior equipment. I think you'll need to use
Exterior:Lights
here, because it has an actuator called "Electric Power",Exterior:FuelEquipment
doesn't look it has one. See source: ExteriorEnergyUse.cc#L316[1] . Set theExterior:Lights
End-Use Subcategory to "Water Pump" or whatever you want in order to have the right reporting in your eplustbl.htm.Add an EMS Sensor for your flow rate, probably capturing the
WaterUse:Storage
's output variableWater System Storage Tank Inlet Volume Flow Rate [m3/s]
(ref here)- Declare an EMS Actuator for your chosen Exterior equipment's Electric Power.
- Write an EMS program that will compute the power used by the pump based on the flow rate given by the EMS Sensor.
Debug, look at outputs.
I hope it helps.
[1] You could make sure: try with Exterior:FuelEquipment
, request the EMS actuator dictionary (see here), check if there is indeed an actuator for this object or not.
Here's a completely untested, written on the fly and manually (problems/typos expected), EMS snippet. I think the calling point should be about right, but you may have to change it.
Exterior:Lights,
RainWaterPump,
[...],
Rain Water Pump; !- End Use Subcategory
EnergyManagementSystem:Actuator,
RainWaterPump_ElecPower_Override, !- Name
RainWaterPump, !- Actuated Component Unique Name
Exterior:Lights, ! Actuated Component Type
Electric Power; ! Actuated Component Control Type
WaterUse:Storage,
RainWaterTank, !- Name
[....]
EnergyManagementSystem:Sensor,
RainWaterTank_OutletFlowRate_Sensor, !- Name
RainWaterTank, !- Output:Variable or Output:Meter Index Key Name
Water System Storage Tank Inlet Volume Flow Rate; !- Output:Variable or Output:Meter Name
EnergyManagementSystem:ProgramCallingManager,
Model_RainWaterPump_CallingManager, !- Name
AfterPredictorAfterHVACManagers , !- EnergyPlus Model Calling Point
Model_RainWaterPump; !- Program Name 1
EnergyManagementSystem:Program,
Model_RainWaterPump , ! Name
IF RainWaterTank_OutletFlowRate_Sensor > 0,
! ### IMPLEMENT PUMP POWER CALC HERE, assuming 30 ft of head and 0.5 total pump eff ###
SET RainWaterPump_ElecPower_Override = RainWaterTank_OutletFlowRate_Sensor * 89,672 / 0.5,
! This IF/ELSE statement is useless here (if flow is zero, power is zero), but I wanted to show the syntax
ELSE,
SET RainWaterPump_ElecPower_Override = 0.0,
ENDIF;
You should be able to use EnergyManagementSystem to do this:
Create an exterior equipment. I think you'll need to use
Exterior:Lights
here, because it has an actuator called "Electric Power",Exterior:FuelEquipment
doesn't look it has one. See source: ExteriorEnergyUse.cc#L316[1] . Set theExterior:Lights
End-Use Subcategory to "Water Pump" or whatever you want in order to have the right reporting in your eplustbl.htm.Add an EMS Sensor for your flow rate, probably capturing the
WaterUse:Storage
's output variableWater System Storage Tank Inlet Volume Flow Rate [m3/s]
(ref here)- Declare an EMS Actuator for your chosen Exterior equipment's Electric Power.
- Write an EMS program that will compute the power used by the pump based on the flow rate given by the EMS Sensor.
Debug, look at outputs.
I hope it helps.
[1] You could make sure: try with Exterior:FuelEquipment
, request the EMS actuator dictionary (see here), check if there is indeed an actuator for this object or not.
Here's a completely untested, written on the fly and manually (problems/typos expected), EMS snippet. I think the calling point should be about right, but you may have to change it.
Exterior:Lights,
RainWaterPump,
[...],
Rain Water Pump; !- End Use Subcategory
EnergyManagementSystem:Actuator,
RainWaterPump_ElecPower_Override, !- Name
RainWaterPump, !- Actuated Component Unique Name
Exterior:Lights, ! Actuated Component Type
Electric Power; ! Actuated Component Control Type
WaterUse:Storage,
RainWaterTank, !- Name
[....]
EnergyManagementSystem:Sensor,
RainWaterTank_OutletFlowRate_Sensor, !- Name
RainWaterTank, !- Output:Variable or Output:Meter Index Key Name
Water System Storage Tank Inlet Volume Flow Rate; !- Output:Variable or Output:Meter Name
EnergyManagementSystem:ProgramCallingManager,
Model_RainWaterPump_CallingManager, Initialize EMS for Run , !- Name
AfterPredictorAfterHVACManagers , !- EnergyPlus Model Calling Point
Model_RainWaterPump; !- Program Name 1
EnergyManagementSystem:Program,
Model_RainWaterPump , ! Name
IF RainWaterTank_OutletFlowRate_Sensor > 0,
! ### IMPLEMENT PUMP POWER CALC HERE, assuming 30 ft of head and 0.5 total pump eff ###
SET RainWaterPump_ElecPower_Override = RainWaterTank_OutletFlowRate_Sensor * 89,672 / 0.5,
! This IF/ELSE statement is useless here (if flow is zero, power is zero), but I wanted to show the syntax
ELSE,
SET RainWaterPump_ElecPower_Override = 0.0,
ENDIF;
You should be able to use EnergyManagementSystem to do this:
Create an exterior equipment. I think you'll need to use
Exterior:Lights
here, because it has an actuator called "Electric Power",Exterior:FuelEquipment
doesn't look it has one. See source: ExteriorEnergyUse.cc#L316[1] . Set theExterior:Lights
End-Use Subcategory to "Water Pump" or whatever you want in order to have the right reporting in your eplustbl.htm.Add an EMS Sensor for your flow rate, probably capturing the
WaterUse:Storage
's output variableWater System Storage Tank
(ref here)InletOutlet Volume Flow Rate [m3/s]- Declare an EMS Actuator for your chosen Exterior equipment's Electric Power.
- Write an EMS program that will compute the power used by the pump based on the flow rate given by the EMS Sensor.
Debug, look at outputs.
I hope it helps.
[1] You could make sure: try with Exterior:FuelEquipment
, request the EMS actuator dictionary (see here), check if there is indeed an actuator for this object or not.
Here's a completely untested, written on the fly and manually (problems/typos expected), EMS snippet. I think the calling point should be about right, but you may have to change it.
Exterior:Lights,
RainWaterPump,
[...],
Rain Water Pump; !- End Use Subcategory
EnergyManagementSystem:Actuator,
RainWaterPump_ElecPower_Override, !- Name
RainWaterPump, !- Actuated Component Unique Name
Exterior:Lights, ! Actuated Component Type
Electric Power; ! Actuated Component Control Type
WaterUse:Storage,
RainWaterTank, !- Name
[....]
EnergyManagementSystem:Sensor,
RainWaterTank_OutletFlowRate_Sensor, !- Name
RainWaterTank, !- Output:Variable or Output:Meter Index Key Name
Water System Storage Tank Inlet Outlet Volume Flow Rate; !- Output:Variable or Output:Meter Name
EnergyManagementSystem:ProgramCallingManager,
Initialize EMS for Run , !- Name
AfterPredictorAfterHVACManagers , !- EnergyPlus Model Calling Point
Model_RainWaterPump; !- Program Name 1
EnergyManagementSystem:Program,
Model_RainWaterPump , ! Name
IF RainWaterTank_OutletFlowRate_Sensor > 0,
! ### IMPLEMENT PUMP POWER CALC HERE, assuming 30 ft of head and 0.5 total pump eff ###
SET RainWaterPump_ElecPower_Override = RainWaterTank_OutletFlowRate_Sensor * 89,672 / 0.5,
! This IF/ELSE statement is useless here (if flow is zero, power is zero), but I wanted to show the syntax
ELSE,
SET RainWaterPump_ElecPower_Override = 0.0,
ENDIF;
You should be able to use EnergyManagementSystem to do this:
Create an exterior equipment. I think you'll need to use
Exterior:Lights
here, because it has an actuator called "Electric Power",Exterior:FuelEquipment
doesn't look it has one. See source: ExteriorEnergyUse.cc#L316[1] . Set theExterior:Lights
End-Use Subcategory to "Water Pump" or whatever you want in order to have the right reporting in your eplustbl.htm.Add an EMS Sensor for your flow rate, probably capturing the
WaterUse:Storage
's output variableWater System Storage Tank Outlet Volume Flow Rate [m3/s]
(ref here)- Declare an EMS Actuator for your chosen Exterior equipment's Electric Power.
- Write an EMS program that will compute the power used by the pump based on the flow rate given by the EMS Sensor.
Debug, look at outputs.
I hope it helps.
[1] You could make sure: try with Exterior:FuelEquipment
, request the EMS actuator dictionary (see here), check if there is indeed an actuator for this object or not.
Here's a completely untested, written on the fly and manually (problems/typos expected), EMS snippet. I think the calling point should be about right, but you may have to change it.
Exterior:Lights,
RainWaterPump,
[...],
Rain Water Pump; !- End Use Subcategory
EnergyManagementSystem:Actuator,
RainWaterPump_ElecPower_Override, !- Name
RainWaterPump, !- Actuated Component Unique Name
Exterior:Lights, ! Actuated Component Type
Electric Power; ! Actuated Component Control Type
WaterUse:Storage,
RainWaterTank, !- Name
[....]
EnergyManagementSystem:Sensor,
RainWaterTank_OutletFlowRate_Sensor, !- Name
RainWaterTank, !- Output:Variable or Output:Meter Index Key Name
Water System Storage Tank Outlet Volume Flow Rate; !- Output:Variable or Output:Meter Name
EnergyManagementSystem:ProgramCallingManager,
Initialize EMS for Run , !- Name
AfterPredictorAfterHVACManagers , !- EnergyPlus Model Calling Point
Model_RainWaterPump; !- Program Name 1
EnergyManagementSystem:Program,
Model_RainWaterPump , ! Name
IF RainWaterTank_OutletFlowRate_Sensor > 0,
! ### IMPLEMENT PUMP POWER CALC HERE, assuming 30 ft of head and 0.5 total pump eff ###
SET RainWaterPump_ElecPower_Override = RainWaterTank_OutletFlowRate_Sensor * 89,672 / 0.5,
! This IF/ELSE statement is useless here (if flow is zero, power is zero), but I wanted to show the syntax
ELSE,
SET RainWaterPump_ElecPower_Override = 0.0,
ENDIF;
You should be able to use EnergyManagementSystem to do this:
Create an exterior equipment. I think you'll need to use
Exterior:Lights
here, because it has an actuator called "Electric Power",Exterior:FuelEquipment
doesn't look it has one. See source: ExteriorEnergyUse.cc#L316[1] . Set theExterior:Lights
End-Use Subcategory to "Water Pump" or whatever you want in order to have the right reporting in your eplustbl.htm.Add an EMS Sensor for your flow rate, probably capturing the
WaterUse:Storage
's output variableWater System Storage Tank Outlet Volume Flow Rate [m3/s]
(ref here)- Declare an EMS Actuator for your chosen Exterior equipment's Electric Power.
- Write an EMS program that will compute the power used by the pump based on the flow rate given by the EMS Sensor.
Debug, look at outputs.
I hope it helps.
[1] You could make sure: try with Exterior:FuelEquipment
, request the EMS actuator dictionary (see here), check if there is indeed an actuator for this object or not.
Here's a completely untested, written on the fly and manually (problems/typos expected), EMS snippet. I think the calling point should be about right, but you may have to change it.
Exterior:Lights,
RainWaterPump,
[...],
Rain Water Pump; !- End Use Subcategory
EnergyManagementSystem:Actuator,
RainWaterPump_ElecPower_Override, !- Name
RainWaterPump, !- Actuated Component Unique Name
Exterior:Lights, ! Actuated Component Type
Electric Power; ! Actuated Component Control Type
WaterUse:Storage,
RainWaterTank, !- Name
[....]
EnergyManagementSystem:Sensor,
RainWaterTank_OutletFlowRate_Sensor, !- Name
RainWaterTank, !- Output:Variable or Output:Meter Index Key Name
Water System Storage Tank Outlet Volume Flow Rate; !- Output:Variable or Output:Meter Name
EnergyManagementSystem:ProgramCallingManager,
Initialize EMS for Run , !- Name
AfterPredictorAfterHVACManagers , !- EnergyPlus Model Calling Point
Model_RainWaterPump; !- Program Name 1
EnergyManagementSystem:Program,
Model_RainWaterPump , ! Name
IF RainWaterTank_OutletFlowRate_Sensor > 0,
! ### IMPLEMENT PUMP POWER CALC HERE, assuming 30 ft of head and 0.5 total pump eff ###
SET RainWaterPump_ElecPower_Override = RainWaterTank_OutletFlowRate_Sensor * 89,672 / 0.5,
! This IF/ELSE statement is useless here (if flow is zero, power is zero), but I wanted to show the syntax
ELSE,
SET RainWaterPump_ElecPower_Override = 0.0,
ENDIF;
You should be able to use EnergyManagementSystem to do this:
Create an exterior equipment. I think you'll need to use
Exterior:Lights
here, because it has an actuator called "Electric Power",Exterior:FuelEquipment
doesn't look it has one. See source: ExteriorEnergyUse.cc#L316[1] . Set theExterior:Lights
End-Use Subcategory to "Water Pump" or whatever you want in order to have the right reporting in your eplustbl.htm.Add an EMS Sensor for your flow rate, probably capturing the
WaterUse:Storage
's output variableWater System Storage Tank Outlet Volume Flow Rate [m3/s]
(ref here)- Declare an EMS Actuator for your chosen Exterior equipment's Electric Power.
- Write an EMS program that will compute the power used by the pump based on the flow rate given by the EMS Sensor.
Debug, look at outputs.
I hope it helps.
[1] You could make sure: try with Exterior:FuelEquipment
, request the EMS actuator dictionary (see here), check if there is indeed an actuator for this object or not.
Here's a completely untested, written on the fly and manually (problems/typos expected), EMS snippet. I think the calling point should be about right, but you may have to change it.
Exterior:Lights,
RainWaterPump,
[...],
Rain Water Pump; !- End Use Subcategory
EnergyManagementSystem:Actuator,
RainWaterPump_ElecPower_Override, !- Name
RainWaterPump, !- Actuated Component Unique Name
Exterior:Lights, ! Actuated Component Type
Electric Power; ! Actuated Component Control Type
WaterUse:Storage,
RainWaterTank, !- Name
[....]
EnergyManagementSystem:Sensor,
RainWaterTank_OutletFlowRate_Sensor, !- Name
!Name
RainWaterTank, !- ! Output:Variable or Output:Meter Index Key Name
Water System Storage Tank Outlet Volume Flow Rate; !- ! Output:Variable or Output:Meter Name
EnergyManagementSystem:ProgramCallingManager,
Initialize EMS for Run , !- ! Name
AfterPredictorAfterHVACManagers , !- ! EnergyPlus Model Calling Point
Model_RainWaterPump; !- ! Program Name 1
EnergyManagementSystem:Program,
Model_RainWaterPump , ! Name
IF RainWaterTank_OutletFlowRate_Sensor > 0,
! ### IMPLEMENT PUMP POWER CALC HERE, assuming 30 ft of head and 0.5 total pump eff ###
SET RainWaterPump_ElecPower_Override = RainWaterTank_OutletFlowRate_Sensor * 89,672 / 0.5,
! This IF/ELSE statement is useless here (if flow is zero, power is zero), but I wanted to show the syntax
ELSE,
SET RainWaterPump_ElecPower_Override = 0.0,
ENDIF;
You should be able to use EnergyManagementSystem to do this:
Create an exterior equipment. I think you'll need to use
Exterior:Lights
here, because it has an actuator called "Electric Power",Exterior:FuelEquipment
doesn't look it has one. See source: ExteriorEnergyUse.cc#L316[1] . Set theExterior:Lights
End-Use Subcategory to "Water Pump" or whatever you want in order to have the right reporting in your eplustbl.htm.Add an EMS Sensor for your flow rate, probably capturing the
WaterUse:Storage
's output variableWater System Storage Tank Outlet Volume Flow Rate [m3/s]
(ref here)- Declare an EMS Actuator for your chosen Exterior equipment's Electric Power.
- Write an EMS program that will compute the power used by the pump based on the flow rate given by the EMS Sensor.
Debug, look at outputs.
I hope it helps.
[1] You could make sure: try with Exterior:FuelEquipment
, request the EMS actuator dictionary (see here), check if there is indeed an actuator for this object or not.
Here's a completely untested, written on the fly and manually (problems/typos expected), EMS snippet. I think the calling point should be about right, but you may have to change it.
Exterior:Lights,
RainWaterPump,
[...],
Rain Water Pump; !- End Use Subcategory
EnergyManagementSystem:Actuator,
RainWaterPump_ElecPower_Override, !- Name
RainWaterPump, !- Actuated Component Unique Name
Exterior:Lights, ! Actuated Component Type
Electric Power; ! Actuated Component Control Type
WaterUse:Storage,
RainWaterTank, !- Name
[....]
EnergyManagementSystem:Sensor,
RainWaterTank_OutletFlowRate_Sensor, !Name
RainWaterTank, ! Output:Variable or Output:Meter Index Key Name
Water System Storage Tank Outlet Volume Flow Rate; ! Output:Variable or Output:Meter Name
EnergyManagementSystem:ProgramCallingManager,
Initialize EMS for Run , ! Name
AfterPredictorAfterHVACManagers , ! EnergyPlus Model Calling Point
Model_RainWaterPump; ! Program Name 1
EnergyManagementSystem:Program,
Model_RainWaterPump , ! Name
IF RainWaterTank_OutletFlowRate_Sensor > 0,
! ### IMPLEMENT PUMP POWER CALC HERE, assuming 30 ft of head and 0.5 total pump eff ###
SET RainWaterPump_ElecPower_Override = RainWaterTank_OutletFlowRate_Sensor * 89,672 / 0.5,
! This IF/ELSE statement is useless here (if flow is zero, power is zero), but I wanted to show the syntax
ELSE,
SET RainWaterPump_ElecPower_Override = 0.0,
ENDIF;
You should be able to use EnergyManagementSystem to do this:
Create an exterior equipment.I think you'll need to useTry withExterior:Lights
here, because it has an actuator called "Electric Power",Exterior:FuelEquipment
doesn't look it has one. See source: ExteriorEnergyUse.cc#L316, request the EMS actuator dictionary (see here[1] . Set), check if there is indeed an actuator for this object. Worst case, I am 100% certain there is an Actuator for "Exterior:Lights" called "Electric Power" (set theEnd-Use Subcategory to "Water Pump" or whatever you want in order to have the right reporting in yourExterior:Lights
eplustbl.htm.eplustbl.htm)Add an EMS Sensor for your flow rate, probably capturing theWaterUse:Storage
's output variableWater System Storage Tank Outlet Volume Flow Rate [m3/s]
(ref here)- Declare an EMS Actuator for your chosen Exterior equipment's Electric Power.
- Write an EMS program that will compute the power used by the pump based on the flow rate given by the EMS Sensor.
Debug, look at outputs.
I hope it helps.
[1] You could make sure: try with Exterior:FuelEquipment
, request the EMS actuator dictionary (see here), check if there is indeed an actuator for this object or not.