Hi Everyone,
How does one add reported EMS outputs to facility meter totals using EMS objects?
I am doing some simplified modelling of DHW systems using WaterUse:Equipment and am scaling reported DistrictHeating values using EMS programs. The intention is to quickly compare DHW systems (ex. boilers vs heatpumps) without using plant loops. For the meanwhile, I am intentionally ignoring heat-gains/losses from DHW equipment in the mechanical room.
Here is what I have accomplished:
1) defined end-use WaterUse:Equipment objects in relevant zones
2) Used EMS to write scaled values of WaterSystems:DistrictHeating output to customed metered output
This properly outputs scaled valuels as a separate Meter. But I am not able to Zero the WaterSystems:DistrictHeating value or override FacilityMeters or EUI value.
Here is what I still need to work through:
1) Zero reported WaterSystems:DistrictHeating values
2) Add scaled values from EMS to facility totals
I am under the impression that I need to use EMS Actuators/InternalVariables to override EnergyPlus reported values. But, I can't find relevant objects in the EDD file. Has anyone implemented scaling of report values from district systems and properly modified facility metering?
I know this is easily done using post-process scripts. But I want this integrated into my E+ models.
Attached is a mock-up IDF.
Many Thanks,
Scott
Relevant Objects for DHW HeatPump:
-------------------------------------------------------
EnergyManagementSystem:Sensor,
Q_WH, !- Name
EMS, !- Output:Variable or Output:Meter Index Key Name
WaterSystems:DistrictHeating; !- Output:Variable or Output:Meter Index Key Name
Meter:Custom,
WaterHeating:Elec_, !- Name
Electricity, !- Fuel Type
, !- Key Name 1
Water Heating Electricity; !- Output Variable or Meter Name 1
EnergyManagementSystem:Program,
WaterHeatingFuelConversionProgram, !- Name
Set Q_WH_HP= Q_WH/2.0, !- avg annual COP of DHW HeatPump
Set Q_Facility_elec = Q_WH_HP;
EnergyManagementSystem:OutputVariable,
Water Heating Electricity, !- Name
Q_Facility_elec, !- EMS Variable Name
Summed, !- Type of Data in Variable
SystemTimestep, !- Update Frequency
WaterHeatingFuelConversionProgram, !- EMS Program or Subroutine Name
kWh; !- Units
EnergyManagementSystem:ProgramCallingManager,
HVACOutputReporting, !- Name
EndOfSystemTimestepBeforeHVACReporting, !- EnergyPlus Model Calling Point
WaterHeatingFuelConversionProgram, !- Program Name 3
ZeroMeterProgram; !- Program Name 4
EnergyManagementSystem:OutputVariable,
ZeroMeter, !- Name
ZeroMeter, !- EMS Variable Name
Summed, !- Type of Data in Variable
SystemTimestep, !- Update Frequency
ZeroMeterProgram, !- EMS Program or Subroutine Name
kWh; !- Units
EnergyManagementSystem:Program,
ZeroMeterProgram, !- Name
Set ZeroMeter = 0;
Output:EnergyManagementSystem,
Verbose, !- Actuator Availability Dictionary Reporting
Verbose, !- Internal Variable Availability Dictionary Reporting
ErrorsOnly; !- EMS Runtime Language Debug Output Level