UDI for several zones with different occupancy schedules

Hi, I want to get the UDI for several zones with different occupancy schedules, but the number of schedules is multiplied by each output. What is your suggestion?

Thanks for your response

You’ll have to use Grasshopper Data Trees to ensure that each .ill file gets a separate _occ_sch_. This involves grafting the results files and adding the sun-up-hours.txt to each branch of the resulting tree. You will also have to graft your list of schedules to ensure that the data tree paths align.

1 Like

Hello @chris
Thanks for your reply
If I understood correctly, I did it but it did not work. I attached a sample file.

Test.gh (19.3 KB)

Yes, Data Trees are difficult. You have to match the paths (eg. {0}) of the data tree branches between the two trees for everything to be aligned correctly. I don’t have the .ill files that you have on your computer but this should work on your end:

Test_CWM.gh (19.3 KB)


You have given a very complete and accurate answer. But there is a strange point that if I apply for my generated _occ_sch_, UDI will be wrong. What is the reason for this?

The sum of the UDImore and USEless and UDI values easily shows this subject that there is a problem.

Ah, I don’t know where that middle version of the component came from as it’s clearly different from the other two (did you hack it)? In any case, everything should be correct if you use the latest development version (1.2.3) of the “HB Annual Daylight Metrics” component:


I changed the code of the middle version of the component and created it.
According to your suggestion, I used the latest development version (1.2.3) of the “HB Annual Daylight Metrics” component, and fortunately, there isn’t an error. but it seems that the results are not correct.
I attached my simple file.

Test00.gh (82.0 KB)

You just have to zoom out a bit from your screenshot and you can see your mistake:

Once you actually look at the UDI_low, you see that everything is correct in your attached file:

Yes, you are right but UDI could be 518.17?!!!

It’s because of this schedule that you are using, which never has a high enough occupancy to be considered occupied:

You’ll see that the component tells you it only considers schedule hours to be occupied if they are above 0.1.

1 Like