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

Revision history [back]

misleading hourly output values

This is to serve as a warning for users as well as a request to the EnergyPlus development team (and potentially also for OpenStudio developers) for some re-programming:

As I found out, EnergyPlus does not necessarily distinguish between values that are not defined and the numeric value zero (0). This leads to incorrect output values e.g. when calculating hourly averages. I have tested this with outputs for PLR and COP values for a Chiller (EIR). As an example see following results:

HourlyValuesCalculation

On the left you see how EnergyPlus calculates hourly averages for PLR and COP (results are in red). Results are incorrect because when Chiller is switched off, COP is undefined. Therefore averages should only be taken only from times when Chiller is actually running. The right hand side shows how to calculate hourly averages correctly (results in green).

My proposal therefore would be to introduce distinctions for numbers in source code, perhaps similar to conventions in the CRAN R language:

NA =  not available
NaN =  not a number    (0/0 = NaN)
Inf   = infinity       (1/0 = Inf)

Calculating averages then would usually be done by excluding all values which are NA.

ResultsViewer also would have to be adapted to handle correctly time series with missing values.

This could help to avoid potential sources of dangerous errors that may be difficult to identify, and of misinterpretations of output data.

Dear developers, what's your opinion ?

misleading hourly output values

This is to serve as a warning for users as well as a request to the EnergyPlus development team (and potentially also for OpenStudio developers) for some re-programming:

As I found out, EnergyPlus does not necessarily distinguish between values that are not defined and the numeric value zero (0). This leads to incorrect output values e.g. when calculating hourly averages. I have tested this with outputs for PLR and COP values for a Chiller (EIR). As an example see following results:

HourlyValuesCalculation

On the left you see how EnergyPlus calculates hourly averages for PLR and COP (results are in red). Results are incorrect because when Chiller is switched off, COP is undefined. Therefore averages should only be taken only from times when Chiller is actually running. The right hand side shows how to calculate hourly averages correctly could be calculated, taking into account missing or undefined values (results in green).

My proposal therefore would be to introduce distinctions for numbers in source code, perhaps similar to conventions in the CRAN R language:

NA =  not available
NaN =  not a number    (0/0 = NaN)
Inf   = infinity       (1/0 = Inf)

Calculating averages then would usually be done by excluding all values which are NA.

ResultsViewer also would have to be adapted to handle correctly time series with missing values.

This could help to avoid potential sources of dangerous errors that may be difficult to identify, and of misinterpretations of output data.

Dear developers, what's your opinion ?

misleading hourly output values

This is to serve as a warning for users as well as a request to the EnergyPlus development team (and potentially also for OpenStudio developers) for some re-programming:

As I found out, EnergyPlus does not necessarily distinguish between values that are not defined and the numeric value zero (0). This leads to incorrect output values e.g. when calculating hourly averages. I have tested this with outputs for PLR and COP values for a Chiller (EIR). As an example see following results:

HourlyValuesCalculation

On the left you see how EnergyPlus calculates hourly averages for PLR and COP (results are in red). Results are incorrect because when Chiller is switched off, COP is undefined. Therefore averages should only be taken only from times when Chiller is actually running. The right hand side shows how hourly averages could be calculated, taking into account missing or undefined values (results in green).

My proposal therefore would be to introduce distinctions for numbers in source code, perhaps similar to conventions in the CRAN R language:

NA =  not available
NaN =  not a number    (0/0 = NaN)
Inf   = infinity       (1/0 = Inf)

Calculating averages then would usually be done by excluding all values which are NA.

ResultsViewer also would have to be adapted to handle correctly time series with missing values.

This could help to avoid potential sources of dangerous errors that may be difficult to identify, and of misinterpretations of output data.

Dear developers, what's your opinion ?

misleading hourly output values

This is to serve as a warning for users as well as a request to the EnergyPlus development team (and potentially also for OpenStudio developers) for some re-programming:

As I found out, EnergyPlus does not necessarily distinguish between values that are not defined and the numeric value zero (0). This leads to incorrect output values e.g. when calculating hourly averages. I have tested this with outputs for PLR and COP values for a Chiller (EIR). As an example see following results:

HourlyValuesCalculation

On the left you see how EnergyPlus calculates hourly averages for PLR and COP (results are in red). Results are incorrect because when Chiller is switched off, COP is undefined. Therefore averages should only be taken only from times when Chiller is actually running. The right hand side shows how hourly averages could be calculated, taking into account missing or undefined values (results in green).

My proposal therefore would be to introduce distinctions for numbers in source code, perhaps similar to conventions in the CRAN R language:

NA =  not available
NaN =  not a number    (0/0 = NaN)
Inf   = infinity       (1/0 = Inf)

Calculating averages then would usually be done by excluding all values which are NA.

ResultsViewer also would have to be adapted to handle correctly time series with missing values.

This could help to avoid potential sources of dangerous errors that may be difficult to identify, and of misinterpretations of output data.

Dear developers, what's your opinion ?

misleading hourly output values

This is to serve as a warning for users as well as a request to the EnergyPlus development team (and potentially also for OpenStudio developers) for some re-programming:

As I found out, EnergyPlus does not necessarily distinguish between values that are not defined and the numeric value zero (0). This leads to incorrect output values e.g. when calculating hourly averages. I have tested this with outputs for PLR and COP values for a Chiller (EIR). As an example see following results:

HourlyValuesCalculation

On the left you see how EnergyPlus calculates hourly averages for PLR and COP (results are in red). Results are incorrect because when Chiller is switched off, COP is undefined. Therefore averages should only be taken only from times when Chiller is actually running. The right hand side shows how hourly averages could be calculated, taking into account missing or undefined values (results in green).

My proposal therefore would be to introduce distinctions for numbers in source code, perhaps similar to conventions in the CRAN R language:

NA =  not available
NaN =  not a number    (0/0 = NaN)
Inf   = infinity       (1/0 = Inf)

Calculating averages then would usually be done by excluding all values which are NA.

ResultsViewer also would have to be adapted to handle correctly time series with missing values.

This could help to avoid potential sources of dangerous errors that may be difficult to identify, and of misinterpretations of output data.

Dear developers, what's your opinion ?