First time here? Check out the Help page!
1 | initial version |
We looked into adding a feature to EnergyPlus that would disaggregate fans/pumps into heating and cooling, but like @ericmartinpe says, it's no so simple. But if you have a simple HVAC system where there is only ever heating or cooling when the fan is running, you can use a small EMS program like so:
EnergyManagementSystem:Sensor,
gshp_clg_coil_s, !- Name
gshp clg coil, !- Output:Variable or Output:Meter Index Key Name
Cooling Coil Electricity Energy; !- Output:Variable or Output:Meter Name
EnergyManagementSystem:Program,
gshp_pump_disaggregate_program, !- Name
Set gshp_pump_clg = 0, !- Program Line 1
Set gshp_pump_htg = 0, !- Program Line 2
If gshp_clg_coil_s > 0, !- Program Line 3
Set gshp_pump_clg = gshp_pump_s, !- Program Line 4
Else, !- Program Line 5
Set gshp_pump_htg = gshp_pump_s, !- Program Line 6
EndIf; !- Program Line 7
EnergyManagementSystem:OutputVariable,
gshp pump clg disaggregate, !- Name
gshp_pump_clg, !- EMS Variable Name
Summed, !- Type of Data in Variable
SystemTimestep, !- Update Frequency
gshp_pump_disaggregate_program, !- EMS Program or Subroutine Name
J; !- Units
EnergyManagementSystem:OutputVariable,
gshp pump htg disaggregate, !- Name
gshp_pump_htg, !- EMS Variable Name
Summed, !- Type of Data in Variable
SystemTimestep, !- Update Frequency
gshp_pump_disaggregate_program, !- EMS Program or Subroutine Name
J; !- Units
Output:Variable,
*, !- Key Value
gshp pump clg disaggregate, !- Variable Name
runperiod; !- Reporting Frequency
Output:Variable,
*, !- Key Value
gshp pump htg disaggregate, !- Variable Name
runperiod; !- Reporting Frequency
This will create two annual outputs -- in this example, one for ground source heat pump energy associated with heating and one for cooling.
2 | No.2 Revision |
We looked into adding a feature to EnergyPlus that would disaggregate fans/pumps into heating and cooling, but like @ericmartinpe says, it's no not so simple. But if you have a simple HVAC system where there is only ever heating or cooling when the fan is running, you can use a small EMS program like so:
EnergyManagementSystem:Sensor,
gshp_clg_coil_s, !- Name
gshp clg coil, !- Output:Variable or Output:Meter Index Key Name
Cooling Coil Electricity Energy; !- Output:Variable or Output:Meter Name
EnergyManagementSystem:Program,
gshp_pump_disaggregate_program, !- Name
Set gshp_pump_clg = 0, !- Program Line 1
Set gshp_pump_htg = 0, !- Program Line 2
If gshp_clg_coil_s > 0, !- Program Line 3
Set gshp_pump_clg = gshp_pump_s, !- Program Line 4
Else, !- Program Line 5
Set gshp_pump_htg = gshp_pump_s, !- Program Line 6
EndIf; !- Program Line 7
EnergyManagementSystem:OutputVariable,
gshp pump clg disaggregate, !- Name
gshp_pump_clg, !- EMS Variable Name
Summed, !- Type of Data in Variable
SystemTimestep, !- Update Frequency
gshp_pump_disaggregate_program, !- EMS Program or Subroutine Name
J; !- Units
EnergyManagementSystem:OutputVariable,
gshp pump htg disaggregate, !- Name
gshp_pump_htg, !- EMS Variable Name
Summed, !- Type of Data in Variable
SystemTimestep, !- Update Frequency
gshp_pump_disaggregate_program, !- EMS Program or Subroutine Name
J; !- Units
Output:Variable,
*, !- Key Value
gshp pump clg disaggregate, !- Variable Name
runperiod; !- Reporting Frequency
Output:Variable,
*, !- Key Value
gshp pump htg disaggregate, !- Variable Name
runperiod; !- Reporting Frequency
This will create two annual outputs -- in this example, one for ground source heat pump energy associated with heating and one for cooling.
3 | No.3 Revision |
We looked into adding a feature to EnergyPlus that would disaggregate fans/pumps into heating and cooling, but like @ericmartinpe says, it's not so simple. But if you have a simple HVAC system where there is only ever heating or cooling when the fan is running, you can use a small EMS program like so:
EnergyManagementSystem:Sensor,
gshp_clg_coil_s, !- Name
gshp clg coil, !- Output:Variable or Output:Meter Index Key Name
Cooling Coil Electricity Energy; !- Output:Variable or Output:Meter Name
EnergyManagementSystem:Program,
gshp_pump_disaggregate_program, !- Name
Set gshp_pump_clg = 0, !- Program Line 1
Set gshp_pump_htg = 0, !- Program Line 2
If gshp_clg_coil_s > 0, !- Program Line 3
Set gshp_pump_clg = gshp_pump_s, !- Program Line 4
Else, !- Program Line 5
Set gshp_pump_htg = gshp_pump_s, !- Program Line 6
EndIf; !- Program Line 7
EnergyManagementSystem:OutputVariable,
gshp pump clg disaggregate, !- Name
gshp_pump_clg, !- EMS Variable Name
Summed, !- Type of Data in Variable
SystemTimestep, !- Update Frequency
gshp_pump_disaggregate_program, !- EMS Program or Subroutine Name
J; !- Units
EnergyManagementSystem:OutputVariable,
gshp pump htg disaggregate, !- Name
gshp_pump_htg, !- EMS Variable Name
Summed, !- Type of Data in Variable
SystemTimestep, !- Update Frequency
gshp_pump_disaggregate_program, !- EMS Program or Subroutine Name
J; !- Units
Output:Variable,
*, !- Key Value
gshp pump clg disaggregate, !- Variable Name
runperiod; !- Reporting Frequency
Output:Variable,
*, !- Key Value
gshp pump htg disaggregate, !- Variable Name
runperiod; !- Reporting Frequency
This will create two annual outputs -- in this example, one for ground source heat GSHP pump energy associated with heating and one for pump energy associated with cooling.