ASE statistics with as little computer power as possible

Hi there,

I’ve developed a little nifty way of calculating ASE hour per hour according to LEEDv4, however with just 350 points, it results in 350*8760 = ~3 million values.

I have to branch these in the right way and then check whether they are larger than, lets say, 1000 lux.

In GH this process is a rather heavy calculation and I feel the program responding slowly when the calculation has been done, as its remembering the “in between” calculations, rather than only the end result.

Is there any way through scripting, these statistics can be made without using much ram and causing GH to lag? Also, can statistics like this be enhanced through parallel processing?

These are the results of a fairly small simulation.

On a side note; I am aware that the current sky for ASE calculation tends to cause too high values in the results as the sky patches are rather rough instead of precise sun position. But I’ve heard that you guys might still be working on that?

All the best, Mathias.


If you are just calculating ASE (the number of hours of direct sun above a given illuminance value), then there is no need to run a daylight simulation or use DAYSIM. A simple sunlight hours study with culled sun vectors for hours below the illuminance threshold will suffice. This is exactly what this example file is showing here:

This should be much faster than running DAYSIM.



This is awesome! I changed the mass addition divided by length to an average component, usually runs slightly faster on large datas.

I’m curious if I can add points+vectors as input instead of brep+grid size. As we’re using custom points.


Glad that you find it useful and that’s a good idea with the average component.

There really should be an option to plug points into the sunlight hours component but it does not exist at the moment (I know that it will exist in the next revision of Ladybug). How are you generating your custom points right now? (or are you manually creating them?) I have a workaround that can generate surfaces from the points if all else fails.


THanks for the reply,

For now, we use ladybugs own points for the ASE and then “our” generated points for the colored sDA map. The reason we use our own, is that then we have a mesh following it and because we’re doing smooth isocurves in the final result, i need the points to be at corners of the mesh and not in the middle of the mesh faces (as ladybug does now).

We also added different features such as automatic naming per floor (and a RH script to group everything per floor in the end). I’ve attached a part of the script generating points. I will make a post about the entire script as soon as it’s finished.

Note that in the image, half of the numbers are displayed (too small and looks like points now), however they are in a regular grid.

It would be super nice for the possibility to import just point + vector (+ a mesh if needed). For instance use the LB_grid.

HLA_Points_Generation_2017.3dm (742 KB) (267 KB)