Building an hourly CSV from URBANOpt SQL

Hi all,

It appears that some components in the TTToolbox changed recently and I am a little lost on how to construct an hourly .csv from the DF models.

Here is the scenario:

  1. Build a 150 structure DF model
  2. URBANOpt Sql is read into HB Read Room Energy Result
    a. This results in 205 locally defined values (floors)
  3. Input Heating or Cooling load into Load Balance component
    a. There are 150 HB models in the rooms_model input
    b. There are 205 locally defined values (floors) in the heating
    c. The balance output shows 150 values

How do I print out an 8760 of each building with a label in the header line that appropriately matches the building?
If I have 205 locally defined values from the Read Room Energy Result and 150 buildings, is the HB Thermal Load Balance script somehow merging those again or is this just getting screwed up?

I went through the monotonous process here: How to combine data

I really wish this was built into the LB analysis functions. Everything else is so easy to grab zones, etc., but for the whole building (read: DF) it is a real pain. Can this be on the wish list please? Also please still respond with better ways to extract the load profiles per structure. The above link is ridiculous - and it is also completely wrong if you are using floor multipliers (BE CAREFUL!).

Hey @Geo_curious ,

Sorry for the late response here. I’m aware that TTToolbox recently made a bunch of changes (RIP Colibri, at least until we resurrect it from Mingbo’s original hackathon repo here). But you don’t need this to write Hourly Data Collections to a CSV.

Have you used the LB Dump Data component? By default, it writes any number of data collections to a CSV. And one of the nice things about having the data in that particular CSV format is that you can always load it back into Grasshopper if you want using the LB Load Data component.

Maybe I also misunderstood what is being asked here. Are you asking about how to get data collections into a CSV? Or how to get the HB Thermal Load Balance component to perform a balance of each Building separately?

The answer to how to get each balance to be run separately is to use Grasshopper Data trees. Or, if you want something simpler and faster, you could just write your own component that builds a Load Balance from each SQL file. You can see that the LoadBalance Python object has it’s own from_sql_file classmethod that makes this particularly easy:

Hi @chris,
FYI Colibri is not RIP but separated (for some reason) from the TTTollbox package. In food4rhino you can download it.


Ah, very good to know Thanks for pointing that out, @AbrahamYezioro . Do you know if it’s working well in Rhino 8? If not, I’ll test it when I get the chance.

CC: @mostapha @MingboPeng

Thank you, @AbrahamYezioro and @chris.

We are aware of Colibri 2.0. The problem is that they have changed a few things in the plugin that cause issues for our workflows. I just wrote a proposal to discuss the idea with @MingboPeng of adding a mini-Colibri to the Pollination Grasshopper plugin to address this issue.

1 Like

Hi @chris and @mostapha,
Didn’t check Colibri in R8. I assume that it is.
The workflow compared to the previous one changed, i would say, significantly.
I like the idea of the mini-colibri, relying better on your common sense to make thinks simpler.

1 Like