Running EMS right before post-processing

asked 2023-02-06 22:35:14 -0500

Selma Inger's avatar

updated 2023-04-10 10:40:27 -0500

Hi. I am making EMS code running right before post-processing.

I just want to calculate the comfort violation per occupied period. but the results seem to be very strange.

In ESO file, CV_Ease = 159.80 and Occ_East = 8629.01 Then RelCV_East should be 1.85 %, BUT IT IS SHOWN TO BE 0.000008%..

Also, I made EMS code for calculating CV and occupied period the following: However, Although they should be integer numbers, They seem to be double in eso files..


> EnergyManagementSystem:Program,
>     4FE_CVCalc,              !- Name
>     IF WeekType >1 && WeekType <7,  !- Program Line 1
>     IF Time >= 8 && Time < 19,  !- Program Line 2
>     IF Tin_4FE > 28 || Tin_4FE < 20,  !- A4
>     SET CV_East = CV_East + 1,  !- A5
>     ENDIF,                   !- A6
>     ENDIF,                   !- A7
>     ENDIF;                   !- A8
> 
> EnergyManagementSystem:Program,
>     4FE_OccCalc,             !- Name
>     IF WeekType >1 && WeekType <7,  !- Program Line 1
>     IF Time >= 8 && Time < 19,  !- Program Line 2
>     IF NumPeople_4FE > 0,    !- A4
>     SET Occ_East = Occ_East + 1,  !- A5
>     ENDIF,                   !- A6
>     ENDIF,                   !- A7
>     ENDIF;                   !- A8

The below code is for calculating relative comfort violation codes.

> EnergyManagementSystem:Program,
>     TotalComfort,            !- Name
>     IF Mon == 12 && DayMon == 31 && Time == 23 && Min == 0,  !- Program
> Line 1
>     SET RelCV_East = (CV_East / Occ_East) * 100,  !- Program Line 2
>     SET RelCV_West = (CV_West / Occ_West) * 100,  !- A4
>     SET RelCV_South = (CV_South / Occ_South) * 100,  !- A5
>     SET RelCV_North = (CV_North / Occ_North) * 100,  !- A6
>     SET Average_CV = (RelCV_East+RelCV_West+RelCV_South+RelCV_North)/4,
> !- A7
>     SET CVhr_East = (CV_East*10) / 6,  !- A8
>     SET CVhr_West = (CV_West*10) / 6,  !- A9
>     SET CVhr_South = (CV_South*10) / 6,  !- A10
>     SET CVhr_North = (CV_North*10) / 6,  !- A11
>     SET Average_CVhr = (CVhr_East+CVhr_West+CVhr_South+CVhr_North)/4,
> !- A12
>     SET Occhr_East = (Occ_East*10) / 6,  !- A13
>     SET Occhr_West = (Occ_West*10) / 6,  !- A14
>     SET Occhr_South = (Occ_South*10) / 6,  !- A15
>     SET Occhr_North = (Occ_North*10) / 6,  !- A16
>     ENDIF;                   !- A17

If you can teach me what is the problem, I will be very thankful to you.

thank you.

edit retag flag offensive close merge delete

Comments

1

@Selma Inger where are CV_East and Occ_East initialized, or first set to a certain value? It looks like you mean to initialize these both to zero, then increment them (add 1) for certain conditions each timestep or hour. Is that correct?

Aaron Boranian's avatar Aaron Boranian  ( 2023-02-09 09:36:05 -0500 )edit

@AaronBoranian I solved problem.The solution was changing type of EMS output object! Thank you.

Selma Inger's avatar Selma Inger  ( 2023-04-09 03:11:22 -0500 )edit