Question-and-Answer Resource for the Building Energy Modeling Community
Get started with the Help page
Ask Your Question
4

EMS for custom output variable

asked 2018-08-14 14:27:07 -0600

feilongdang's avatar

updated 2018-08-14 21:12:24 -0600

I am trying to set up some custom output variables, so that I can use the custom data to be analysis directly. But I checked the custom output variables by handling the original output variables, I found some problems, which are:

A.When I use the original output variables to calculate 'Temperature Efficiency' and 'AC Consumption' with the same formulas in EMS program, the results does not match with the EMS custom output results, even through I change the reporting frequency from hourly to timestep.

B. The AC system operates from 8:00 AM to 5:00 PM. For calculating the AC Consumption, the result from original output variables is smaller than the EMS result, but usually after a shorter period such as from 8:30 AM, the former result equals with the EMS result.

C. I checked the example files of EMSCustomOutputVariable.idf, and set a simple EMS program to let the T1 plus T2. I found that when the output variable style is 'Zone mean air temperature', the result from original output variables equals the EMS result. But when I change the output variable style to 'Zone air temperature', the two results differ a lot.

The blow is the idf scripts:

!-   ===========  ALL OBJECTS IN CLASS: ENERGYMANAGEMENTSYSTEM:SENSOR ===========

EnergyManagementSystem:Sensor,
    Tout,                    !- Name
    1W,                      !- Output:Variable or Output:Meter Index Key Name
    Zone Air Temperature ;   !- Output:Variable or Output:Meter Name

EnergyManagementSystem:Sensor,
    Tin,                     !- Name
    1W,                      !- Output:Variable or Output:Meter Index Key Name
    Zone Ventilation Air Inlet Temperature ;  !- Output:Variable or Output:Meter Name

EnergyManagementSystem:Sensor,
    Ts1,                     !- Name
    1W_N_Floor,              !- Output:Variable or Output:Meter Index Key Name
    Surface Inside Face Temperature ;  !- Output:Variable or Output:Meter Name

EnergyManagementSystem:Sensor,
    Ts2,                     !- Name
    1W_N_Ceiling,            !- Output:Variable or Output:Meter Index Key Name
    Surface Inside Face Temperature;  !- Output:Variable or Output:Meter Name

EnergyManagementSystem:Sensor,
    Ts3,                     !- Name
    1W_S,                    !- Output:Variable or Output:Meter Index Key Name
    Surface Inside Face Temperature;  !- Output:Variable or Output:Meter Name

EnergyManagementSystem:Sensor,
    Ts4,                     !- Name
    1W_E_S_Wall,             !- Output:Variable or Output:Meter Index Key Name
    Surface Inside Face Temperature;  !- Output:Variable or Output:Meter Name

EnergyManagementSystem:Sensor,
    Ts5,                     !- Name
    1W_N,                    !- Output:Variable or Output:Meter Index Key Name
    Surface Inside Face Temperature;  !- Output:Variable or Output:Meter Name

EnergyManagementSystem:Sensor,
    Ts6,                     !- Name
    1W_W,                    !- Output:Variable or Output:Meter Index Key Name
    Surface Inside Face Temperature;  !- Output:Variable or Output:Meter Name

EnergyManagementSystem:Sensor,
    Ts7,                     !- Name
    1W_C_Ceiling,            !- Output:Variable or Output:Meter Index Key Name
    Surface Inside Face Temperature;  !- Output:Variable or Output:Meter Name

EnergyManagementSystem:Sensor,
    Ts8,                     !- Name
    1W_S_Ceiling,            !- Output:Variable or Output:Meter Index Key Name
    Surface Inside Face Temperature;  !- Output:Variable or Output:Meter Name

EnergyManagementSystem:Sensor,
    Ts9,                     !- Name
    1W_S_Floor,              !- Output:Variable or Output:Meter Index Key Name
    Surface Inside Face Temperature;  !- Output:Variable or Output:Meter Name

EnergyManagementSystem:Sensor,
    Ts10,                    !- Name
    1W_C_Floor,              !- Output:Variable or Output:Meter Index Key Name
    Surface Inside Face Temperature;  !- Output:Variable or Output:Meter Name

EnergyManagementSystem:Sensor,
    Ts11,                    !- Name
    1W_E_N_Wall,             !- Output:Variable or Output:Meter Index Key Name
    Surface Inside ...
(more)
edit retag flag offensive close merge delete

Comments

@feilongdang could you include a screen shot or link to the CSV file showing these EMS custom output variables issues? Also, have you added Output:Variable objects for the 'TemperatureEfficiency' and 'ACConsumption' EMS:OutputVariable objects?

Aaron Boranian's avatar Aaron Boranian  ( 2018-08-14 14:39:32 -0600 )edit

Dear Aaron, Thanks a lot for your response. I added the output:variable objects for the two custom variables, so that I can get the two EMS variables. I don't know how to upload the shot image in this comment, so I just upload the image on my own answer which I hope you can see it

feilongdang's avatar feilongdang  ( 2018-08-14 16:36:23 -0600 )edit

It seems that I can not answer my own question in 2 days, because I am a new comer. I just tried to transfer the image to the info@bigladdersoftware.com, I wonder whether you can receive it.

feilongdang's avatar feilongdang  ( 2018-08-14 16:44:00 -0600 )edit

@feilongdang to add an image, edit your original question post, then click on the "Add image" button that's blue and green at the top. Or, you can save any files to a Dropbox folder or something similar and include a link to the folder by editing your original question post. Check out the help page for general processes on Unmet Hours.

Aaron Boranian's avatar Aaron Boranian  ( 2018-08-14 16:45:55 -0600 )edit

Dear Aaron,

Thanks a lot for your advice. I just revised my post.

feilongdang's avatar feilongdang  ( 2018-08-14 16:49:57 -0600 )edit

1 Answer

Sort by ยป oldest newest most voted
2

answered 2018-08-20 15:18:58 -0600

EnergyPlus output variables are updated at two time scales, zone timestep and HVAC timestep. Within EMS programs, one must be careful to use the proper calling point in order to update values at the correct timestep, and with custom output variables, these must align with the underlying values that are feeding into it.

In this case, the sensor variables for ACConsumption are "Air System Electric Energy" and "Zone Packaged Terminal Heat Pump Electric Energy". These values both change at the HVAC timestep. You can check any output variable's update frequency by consulting the rdd output:

HVAC,Sum,Zone Packaged Terminal Heat Pump Electric Energy [J]
HVAC,Sum,Air System Electric Energy [J]

In the EMS program, the calling point is EndOfZoneTimestepBeforeZoneReporting and the new output variables are specified as ZoneTimestep. That's why you got good agreement with "Zone Mean Air Temperature" which is a zone timestep variable, but not with "Zone Air Temperature" which is a system timstep variable.

So, for this to work:

  1. For EnergyManagementSystem:OutputVariable, ACConsumption, change the "Update Frequency" to SystemTimestep.
  2. For EnergyManagementSystem:ProgramCallingManager, ACconsumptionProgram, change the "EnergyPlus Model Calling Point" to EndOfSystemTimestepAfterHVACReporting.
edit flag offensive delete link more

Comments

Thank you very much! It does works by your guidance. So for the "Zone Mean Air temperature", should I also change the "EnergyPlus Model Calling Point" to EndOfSystemTimestepAfterHVACReporting? But the question is when the AC turns down, the zone air temperature seems to have nothing with the HVAC reporting?

feilongdang's avatar feilongdang  ( 2018-08-21 05:24:20 -0600 )edit
1

If all of the values in the calculation are at the zone timestep, then calling point EndOfSystemTimestepAfterHVACReporting should give the same result; it will just repeat the same calculation multiple times. If I am following your intent here, then you should use "Zone Air Temperature" which varies at the system timestep and change the calling point to EndOfSystemTimestepAfterHVACReporting (and change the update frequency for TemperatureEfficiency.

MJWitte's avatar MJWitte  ( 2018-08-21 07:02:59 -0600 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Training Workshops

Careers

Question Tools

1 follower

Stats

Asked: 2018-08-14 14:24:22 -0600

Seen: 640 times

Last updated: Aug 20 '18