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

Revision history [back]

Hi @Amirhossein and @Aaron Borian Thanks for this post. I am trying to test thermochromic paints with only two options (darker and lighter color), under 28 dergres and over 28 degrees. I followed @Aaron Borian script, but there is a sever error running the simulation.

Do you know how can I fix it?

This is the script that I am using:

<forallexternalsurfaces> EnergyManagementSystem:Sensor, Surface_Outside_Face_Temperature_<loopsurfacevariablename>, <loopsurfaceidfname>, Surface Outside Face Temperature; <loopnextsurface>

<forallexternalsurfaces> EnergyManagementSystem:Actuator, Surface_Cons_State_<loopsurfacevariablename>, <loopsurfaceidfname>, Surface, Construction State; <loopnextsurface>

EnergyManagementSystem:ConstructionIndexVariable, EMS_Cons_High_Abs, !- Name High Absorptance Construction; !- Material, 3_1_10061

EnergyManagementSystem:ConstructionIndexVariable, EMS_Cons_Low_Abs, !- Name Low Absorptance Construction; !- Material, 19_1_10062

EnergyManagementSystem:ProgramCallingManager, Thermo, BeginTimestepBeforePredictor, Thermo;

EnergyManagementSystem:Program, Thermo, <forallexternalsurfaces> if Surface_Outside_Face_Temperature_<loopsurfacevariablename> < 28, set Surface_Cons_State_<loopsurfacevariablename> = Material, 3_1_10061 elseif Surface_Outside_Face_Temperature_<loopsurfacevariablename> > 28, set Surface_Cons_State_<loopsurfacevariablename> = Material, 19_1_10062, endif, <loopnextsurface> ;

And this is the error message:

* Severe * GetRuntimeLanguageUserInput: EnergyManagementSystem:ConstructionIndexVariable="EMS_CONS_HIGH_ABS invalid field. * ~~~ * Invalid Construction Object Name=HIGH ABSORPTANCE CONSTRUCTION * ~~~ * Construction was not found. * Severe * GetRuntimeLanguageUserInput: EnergyManagementSystem:ConstructionIndexVariable="EMS_CONS_LOW_ABS invalid field. * ~~~ * Invalid Construction Object Name=LOW ABSORPTANCE CONSTRUCTION * ~~~ * Construction was not found. * Fatal * Errors found in getting EMS Runtime Language input. Preceding condition causes termination.

Thanks! Camila

Hi @Amirhossein and @Aaron Borian Thanks for this post. I am trying to test thermochromic paints with only two options (darker and lighter color), under 28 dergres and over 28 degrees. I followed @Aaron Borian script, but there is a sever error running the simulation.

Do you know how can I fix it?

This is the script that I am using:

<forallexternalsurfaces>

 <ForAllExternalSurfaces>
 EnergyManagementSystem:Sensor,
  Surface_Outside_Face_Temperature_<loopsurfacevariablename>,
  <loopsurfaceidfname>,
 Surface_Outside_Face_Temperature_<LoopSurfaceVariableName>,
   <LoopSurfaceIDFName>,
   Surface Outside Face Temperature;
<loopnextsurface>

<forallexternalsurfaces> <LoopNextSurface> <ForAllExternalSurfaces> EnergyManagementSystem:Actuator, Surface_Cons_State_<loopsurfacevariablename>, <loopsurfaceidfname>, Surface_Cons_State_<LoopSurfaceVariableName>, <LoopSurfaceIDFName>, Surface, Construction State; <loopnextsurface>

<LoopNextSurface> EnergyManagementSystem:ConstructionIndexVariable, EMS_Cons_High_Abs, !- Name High Absorptance Construction; !- Material, 3_1_10061

3_1_10061 EnergyManagementSystem:ConstructionIndexVariable, EMS_Cons_Low_Abs, !- Name Low Absorptance Construction; !- Material, 19_1_10062

19_1_10062 EnergyManagementSystem:ProgramCallingManager, Thermo, BeginTimestepBeforePredictor, Thermo;

Thermo; EnergyManagementSystem:Program, Thermo, <forallexternalsurfaces> <ForAllExternalSurfaces> if Surface_Outside_Face_Temperature_<loopsurfacevariablename> Surface_Outside_Face_Temperature_<LoopSurfaceVariableName> < 28, set Surface_Cons_State_<loopsurfacevariablename> Surface_Cons_State_<LoopSurfaceVariableName> = Material, 3_1_10061 elseif Surface_Outside_Face_Temperature_<loopsurfacevariablename> Surface_Outside_Face_Temperature_<LoopSurfaceVariableName> > 28, set Surface_Cons_State_<loopsurfacevariablename> Surface_Cons_State_<LoopSurfaceVariableName> = Material, 19_1_10062, endif, <loopnextsurface> ;

<LoopNextSurface> ;

And this is the error message:

*

** Severe  * ** GetRuntimeLanguageUserInput: EnergyManagementSystem:ConstructionIndexVariable="EMS_CONS_HIGH_ABS invalid field.
 * **   ~~~   * ** Invalid Construction Object Name=HIGH ABSORPTANCE CONSTRUCTION
 * **   ~~~   * ** Construction was not found.
 * ** Severe  * ** GetRuntimeLanguageUserInput: EnergyManagementSystem:ConstructionIndexVariable="EMS_CONS_LOW_ABS invalid field.
 * **   ~~~   * ** Invalid Construction Object Name=LOW ABSORPTANCE CONSTRUCTION
 * **   ~~~   * ** Construction was not found.
 * **  Fatal  * ** Errors found in getting EMS Runtime Language input. Preceding condition causes termination.

termination.

Thanks! Camila