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

Can I manipulate a Material:RoofVegetation object through a python plugin?

asked 2022-02-06 22:36:10 -0500

halimgur's avatar

updated 2022-02-23 12:13:46 -0500

The "Material:RoofVegetation" has internal parameters such as Height, LAI (Leaf Area Index), RStomata, etc. Some of these parameters will change in a multi-week simulation. For example, the plants will grow in height and the leaf area will increase (or decrease by if leaves are shed). There are good relations to predict trajectories of these parameters using the solar radiance, zone temperature and humidity history.

I would like to write a plugin where I monitor and possibly change the RoofVegetation parameters at every simulation step. There are plugin examples (e.g. PythonPlugin1ZoneUncontrolledCondFD.idf) where material properties such as thermal conductivity are changed using the method.

Can I do similar with RoofVegetation parameters Height and LAI?

NOTE : I initially thought that this would be possible _if and only if_ I can access these variables as "EnergyManagementSystem:Actuator" objects. But I now do not believe this is true. The available Actuators are listed in the EDD file and, for Material objects seem to be limited to surface absorptance values. However, there are plugin examples distributed with EnergyPlus where the thermal conductivity of a material layer is changed in the plugin. So it is possible to manipulate an internal parameter even if it is not listed in the EDD file. The question remains if this can be done for the RoofVegetation object.

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2022-02-07 09:25:31 -0500

updated 2022-02-07 14:05:23 -0500

You are correct that the EDD file can write out all actuators available for the IDF. You have referred to two actuators related to material layers:

  1. Surface absorptance values - can be applied to a material assigned as inner-most or outer-most layer of a construction assembly
  2. Material thermal conductivity - ONLY is available if the IDF is using the Conduction Finite Difference heat balance algorithm (default is Conduction Transfer Function)

If you do not see actuators related to Height, LAI (Leaf Area Index), RStomata, etc. for the roof vegetation material specifically, then alas, the Python Plugin (or EMS in general) won't be able to change those parameters during a simulation. If you feel that this should be a new feature of EnergyPlus in future versions, you can make a request on the EnergyPlus Github issues list. Searching for "vegetation" and "green roof" don't turn up existing issues or requests from users, so you can add a new issue and add the "NewFeatureRequest" label (see below).

image description

An alternative is to use the EnergyPlus API in Library Mode (external file calls EnergyPlus to perform calculations) instead of Plugin Mode (EnergyPlus starts simulation and calls external file).

edit flag offensive delete link more


This makes sense. Thanks.

halimgur's avatar halimgur  ( 2022-02-07 18:05:16 -0500 )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

Question Tools

1 follower


Asked: 2022-02-06 22:36:10 -0500

Seen: 94 times

Last updated: Feb 07