Median lux values for each point

hi @mostapha

the European norm EN 17031 suggests to evaluate the median lux value for each point.
This is something that I used to process via a grasshopper GHCPython component that used numpy and pandas to post process the .ill files as a dataframe.Today the folder structure and file formats have changed and I can’t work on the ill files directly.

Would it be possible to expose an output in the annual daylight component for median values?

NB: I tried using AnnualToData component, but with large number of points the matrix is very heavy to handle (ie: 20 000 pts x 8760 hrs) without pandas.

1 Like

Hi @OlivierDambron - The ill files are now saved as numpy arrays. You should be able to read the files using numpy and run the post-process.

@mikkel can provide more information about this. And I think it make sense to add this one to our honeybee-radiance-postprocess library if we don’t have it already.

I’ve had a look at this in the past - I think this is the relevant code Mikkel’s produced.


Hi @OlivierDambron,

Next week I should be able to add a method and CLI command in honeybee-radiance-postprocess that returns the median illuminance for each sensor point.


Hi @OlivierDambron,

I have put in a method and CLI command that you should be able to get by updating your core libraries with LB Versioner.

To make it easier for you I have attached a custom component similar to HB Annual Average Values so you can get the values in Grasshopper. Can you check if this this gives you what you want?

Note: If you don’t input any hours in _hoys_ it will find the median by all hours of the year which means that the median will likely be 0.

EDIT: Attachment removed. The custom component has been merged with HB Annual Average Values.


hi @mikkel

Thank you so much! This is really perfect.
I recalculated the median differently and numbers match with your component. Amazing!

Should I keep your script/component on the side, or will the component be integrated in the toolbar?


1 Like

This is great, @mikkel ,

FYI, I think it’s a good idea if you want to add this “HB Annual Median Values” component to the official LBT-Grasshopper plugin. Either that or you can just add a median_ option on the current “HB Annual Average Values” one that switches it to use your command.

Either way, it seems best to just have an official component for this since I can see this is one of those cases where we would be re-making it several times as people ask how to do this.

1 Like

Hi @OlivierDambron , I have one question to this post.

according the EN 17037, you need to know the median lux (you can read this with a little script with the value out from a WEA-File) only to see the Target (and the min. Target) daylight factors, to reach for those cities that are not defined in the standard, because it contains only the Target for the EU capitals, but is not mandatory.

according to the standards, about the “Method 2” of the Daylight Factor calculation, you need to achieve the Daylight Autonomy in % of the reference plane. (This is my script for the “Method 2” from the EU-norm)

I don´t understand why you need the median lux, out from a Annual Daylight Simulation.
Did I miss something?

Best regards

In any case the median option is now part of “HB Annual Average Values”. Update the core libraries with LB Versioner to get the updated component.

NB: I removed the attached version in my previous message.