algorithmic modeling for Rhino

What happens when a penguin and a ladybug work together? A ladyguin!! :)

Ladybug developer Antonello Di Nunzio has recently released a set of components for Ladybug which enable preparing, modelling, and visualizing data for ENVI-Met 4 software. ENVI-met is a cutting edge software used to analyse microclimate interactions in urban environment. Tens of different analysis types can be performed on the chosen building context. From Mean radiant temperature and local Wind speed to CO2 concentration and Pollutant dispersion in the air.

To generate the building context for Ladybug ENVI-met components, Antonello used Gismo:

An example similar to results in upper screenshots has been been attached below.
To run it, GismoLadybug and Human plugins need to be installed.
To perform the ENVI-met analysis, download ENVI-met 4 Basic for free, and install it.

Steps in the .gh example file  have been labelled from 1 to 11. They mostly consist of just setting a boolean toggle to True.
An exception to this are steps 6 (set the folder path of your ENVI-met application install folder), and 8 (running the ENVI-met simulation). Step 8 has been explained in detail in the photo attached below (step8.jpg).

Special thanks to Antonello for developing and guidance on ENVI-met application and components!
Post questions below if you have any issues!

Views: 5802


Replies to This Discussion

Hi Djordje,

thanks for this topic!
An information that could be helpful for some case studies: it is possible to add terrain to an ENVI_MET model.

Here is a small test.

This connection is WIP, comments and suggestions are welcome ;)

- Antonello

here's the example file!

- Antonello


Looking great!! Thank you for this new addition Antonello!

Hi Djordje and Antonello,

Looking good.

The attached example shows, in ENVImet, some inconsistencies. I can get how the heights are defined. If you open the INX file and see the heights you'll see that they don't fit the heights in the GH model. I don't get what is happening but they don't fit.

This is more related to Antonello's side i believe.

Am i wrong?



Hi Abraham,

thanks for your check. You are right about the heights you can read in ENVI_MET, however I use IDs instead GH heights because the component uses 3D models directly and it can also write models which are not easy to make with ENVI_MET, such as the following example:

As you can see the heights on GH and ENVI_MET are almost coincident and the shadow seems good.

In summary, my choise shouldn't be harmful for ENVI_MET calculation ;) but it would be great to hear from ENVI_MET's staff.

- Antonello

P.S. I have fixed another bug, I will send a pull request soon.

Hi Antonello,

Indeed will be great to hear from Michael.

I still don't understand how ENVImet can deal with this. My understanding is that it takes the height as an "absolute"value, and now i see that it has nothing to be, at least as you are doing it.

My concern would be when you want to edit the inx file in EM and as a user you don't know how to do it. I mean, you know what to do, but when you see data that you don't know how to understand it, this can be an issue (i.e. buildings height).


Hi Antonello,

it is great to see the work you are doing to marry Gh and ENVI-met.

I am afraid I don't quite get the point with the IDs.

If you use the field <buildings2d> in the INX file, you need to put in the building height in meters (integer), any other data would be wrong. In addition, you also need to set the field <buildingnr> in the correct way to mark those cells that belong to the same building. If this is messed up, the building energy calculation will be messed up.

Or are you writing Detailed Design INX files directly?

Those allow for any 3D geometry, but are really tricky to ensure consistency with all required fields that interact. Moreover, they are likely to be changed without notice, that is why they are not documented...


Michael (ENVI_MET)

Hi Antonello,

Thank you for your great contribution! It really helps a lot!!

I have downloaded your example file and I wonder if it is possible to add terrain via rhino model. For example, I have a terrain model built up in mesh, and I want to add it to ENVI_MET terrain, how can I do this?



hi Michael,

sorry for my late reply and thanks for your interest in this connection,
the component writes Detailed Design INX files directly without passing through 2D mode. I know that this is not the best way because if you open the INX file which comes from my component and you go back to 2D mode, you lose 3D buildings. If I am right,  ENVI_MET  reads the " matrix" and generates buildings from it. This means that if your matrix is wrong your buildings will be wrong, (as you told me in the first part of reply). However, my idea is to use this connection for parametric 3D models principally.

Best regards,

Thank you for marrying those amazing tools together! Could you pls show the rest of the part? how to make that amazing PET map?

Hi Kriss,
There is a PET example from the ENVI-met analysis in here.

Hi Djordje and Antonello!

First of all, thanks for this development! It is very useful to analyse atmosphere variables (air temp, spec. humidity etc.) simulated within ENVI_MET.

I'm looking for a solution to analyse and display directly building (outwall) surface related variables, like surface temperatures typically (simulated with EMVI_MET PRO), important for UHI as well as outdoor comfort understanding and optimization.

I see that the _studyFolder input of the ENVI_MET Results Reader component allows to select surface variables. However, I don't find anyway to display/analyse them with the ENVI_MET Grid.

Any tip?








  • Add Photos
  • View All

© 2023   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service