EnviMet EnergyPlus coupling

Hi all,

As part of a research initiative I am part of, we are working on coupling Envi_Met and Energyplus. We basically isolate the EnviMet result cells around the building in GH and use the microclimatic outputs as climatic boundary conditions for EnergyPlus. The building is divided to five zones per floor (4 perimeter and a core zone) via Honeybee. Beyond averaging the air temperature and relative humidity values and change the EPW, which is easy, we thought it would be appropriate to also account for the changing microclimatic wind conditions (in different zone surfaces across orientations and floor levels), and long-wave radiation flux. One way to do that is to use EnviMet results to calculate the convective heat transfer coefficient (for wind) and the average context surface temperature (to account for long wave radiation) and feed it to Energy plus. I was wondering if there is any way that crosses your mind to do that (without scripting) in the HB environment (perhaps through the additionalStrings_ input ?)

Thanks a lot for your help on this


cc @chris, @AntonelloDiNunzio

Hi @JonathanNatanian ,

Sorry for the late response. I think we need to understand what exactly you are trying to model (ie. indoor comfort, outdoor comfort, energy use, etc.) before we could give useful advice. EnergyPlus has built-in assumptions for wind pressure and longwave temperature which are good enough such that you likely won’t see a significant change in building energy use or indoor comfort by changing outdoor surface convective heat transfer coefficients or context surface longwave temperature. In fact, if you model surrounding buildings as actual EnergyPlus zones and not just shading surfaces, the longwave temperature calculation in E+ will likely be more accurate than Envi-Met’s just because EnergyPlus does not limit what surfaces can radiate to others by restricting you to a pixel grid.

The one way I can think of that Envi-Met might increase the accuracy of indoor EnergyPlus results is by using Envi-Met to account for wind pressure coefficients at the windows of naturally ventilated buildings. However, I don’t know how easy it is to get that type of information out of Envi-Met and I don’t know how different such results from Envi-Met would be from a CFD simulation, which is the stat-of-the-art for this type of situation.

If you are trying to arrive at a deeper understanding of outdoor comfort by combining Envi-Met and EnergyPlus, that is also a different question that would merit some different advice.

Thank you Chris,

The focus of our small exploration is on energy performance. The idea of coupling Envi_Met with EnergyPlus was already tried here (https://www.sciencedirect.com/science/article/pii/S0378778812003970). Our idea is to try more or less the same coupling method but using Grasshopper HB interfaces which will allow a much more wiser data flow between the tools (thanks to Antonello’s components this is now feasible). We will focus on a typological comparison of different density scenarios, in which we will run 12 iterations for each both Envi_Met and EnergyPlus simulation will be conducted.
Regarding longwave radiation I can try defining the surrounding context buildings as EnergyPlus zones as you offered. I think your hypothesis regarding the effect of the microclimatic wind conditions on energy performance requires further research. That is what we aim to do… if we focus only on the option to update the convective heat transfer coefficients for each surface in the HB EnergyPlus model (based on data streamed from Envi_Met) - do you have any idea how to do that? Again, in the evaluated building, thermal zoning is done by dividing each floor to five zones, so I would like to update the CHTC for each of the 4 perimeter zones across all the floors of the building.

Thanks again,


@JonathanNatanian ,

Thanks for the explanation.

I probably should have added some qualifications to my statement about the impact of outdoor convective heat transfer coefficients on building energy use. If the building you are modeling has insulation levels that are up to the latest building energy codes, the relative effect of the exterior film coefficient (at most an R-0.15) in relation to the insulation of the rest of the envelope (~R-3 for opaque walls and ~R-0.8 for good double pane windows) will be so small that its impact on energy is likely below the error of EnergyPlus. If you want to show a large impact on energy, you could always build a model where the walls are paper thin and all windows are single pane. Then, the exterior film coefficient would matter more but there would obviously be a question about how relevant such a model is to contemporary building practice.

All of this said, if you really want to pursue this question, I believe that you can use the SurfaceProperty:ConvectionCoefficients object in EnergyPlus to set the film coefficient of each surface (you could input these objects through _additionaStrings).

And, if you decide that you would like to use Envi-Met to inform wind pressure coefficients for a naturally ventilated building (something that could still have a large impact on energy use + thermal comfort in a building with contemporary levels of insulation) you can use the AirflowNetwork:MultiZone:WindPressureCoefficientValues object in EnergyPlus to assign the wind pressure coefficient to the window within an airflow network.

1 Like

Thank you Chris,

We are already looking into the idea of using microclimatic wind pressure coefficients (Cp) in EnergyPlus for high resolution natural ventilation analysis. I was wondering if you have any idea about an available methodology to calculate wind pressure coefficients relying on Envi_MET outputs? As part of the Envi_MET GH components I see pressure perturbation as a metric, but I’m afraid that does not help much…

Thanks again!


Hi @JonathanNatanian,

I’m a student from university Laval in Canada. I’m deeply interested by your research as I tried to achieve the same goal Last year. I got a lot of help from @AntonelloDiNunzio to build a strong workflow using ENVI-met through grasshopper (which is the part I finally mostly concentrate on). I will soon release/ share this workflow as tutorials on youtube / hydra files. That being said, is it possible to keep me informed of the progess of your research ?

Charles Collin

Hi @chris, @JonathanNatanian and @CharlesCollin,

there are other variables related to buildings in “dynamic” output folder of envimet, wind speed in front of facade is one of them.

Here is the complete list:

Wall shading flag ()
Wall: Temperature Node 1/ outside (°C)
Wall: Temperature Node 2 (°C)
Wall: Temperature Node 3 (°C)
Wall: Temperature Node 4 (°C)
Wall: Temperature Node 5 (°C)
Wall: Temperature Node 6 (°C)
Wall: Temperature Node 7/ inside (°C)
Building: Sum Humidity Flux at facade (g/sm3)
Wall: Longwave radiation emitted by facade (W/m2)
Wall: Wind Speed in front of facade (m/s)
Wall: Air Temperature in front of facade (°C)
Wall: Shortwave radiation received at facade (W/m2)
Wall: Absorbed direct shortwave radiation (W/m2)
Wall: Incoming longwave radiation (W/m2)
Wall: Reflected shortwave radiation facade (W/m2)
Wall: Sensible Heat transmission coefficient outside (W/m2K)
Wall: Longwave Energy Balance (W/m2)
Building: Temperature of building (inside) (°C)
Building: Reflected shortwave radiation (W/m2)
Building: Longwave radiation emitted (W/m2)
Greening: Temperature Leafs (°C)
Greening: Air Temperature Canopy (°C)
Greening: Air Humidity Canopy (g/kg)
Greening: Longwave radiation emitted (two-side) (W/m2)
Greening: Wind Speed in front of greening (m/s)
Greening: Air Temperature in front of greening (°C)
Greening: Shortwave radiation received at greening (W/m2)
Greening: Incoming longwave radiation (two-side) (W/m2)
Greening: Reflected shortwave radiation (W/m2)
Greening: Transpiration Flux (g/s
Greening: Stomata Resistance (s/m)
Greening: Water access factor ()
Substrate: Temperature Node 1/ outside (°C)
Substrate: Temperature Node 2 (°C)
Substrate: Temperature Node 3 (°C)
Substrate: Temperature Node 4 (°C)
Substrate: Temperature Node 5 (°C)
Substrate: Temperature Node 6 (°C)
Substrate: Temperature Node 7/ inside (°C)
Substrate: Surface humidity (g/kg)
Substrate: Humidity Flux at substrate (g/s*m3)
Substrate: Longwave radiation emitted by substrate (W/m2)
Substrate: Wind Speed in front of substrate (m/s)
Substrate: Air Temperature in front of substrate (°C)
Substrate: Shortwave radiation received at substrate (W/m2)
Substrate: Absorbed direct shortwave radiation (W/m2)
Substrate: Incoming longwave radiation (W/m2)
Substrate: Reflected shortwave radiation substrate (W/m2)

It is possible to read building outputs with GH but I need some time to set up well the component and code.

Here is a small test that I have done with wind speed of an output file (geometry model provided by Charles Collin):

It is possible to retrieve values and X,Y,Z of each building cell.

I hope these info can help you.


1 Like

Hi @AntonelloDiNunzio,
Do you happen to know if Wind Pressure is one of the EM outputs (maybe not in the dynamic output folder?
We are trying to couple this into E+ simulation … and are struggling to link both softwares.


Hello Chris,

I am coming back to this topic as I am trying to implement a procedure to join ENVI-met and EnergyPlus in Grasshopper.

It seems to me that this suggestion that you made to Jonathan could be very useful to me. Since I’m trying to figure out how to take the results from ENVI-met and feed them into E+. For example, I want to modify the convective coefficient of the surfaces based on the results of the ENVI-met (wind speed in front of the façade) at each time step of the E+, but I don’t know how to instruct the E+ to take those data at each time step. Can you think of a way within Grasshopper? You mentioned something about doing it from the _additionaStrings object.

From already thank you very much for your time.