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:
Build a 150 structure DF model
URBANOpt Sql is read into HB Read Room Energy Result
a. This results in 205 locally defined values (floors)
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 input
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 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!).
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:
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.
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.
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.
-A.
I tried using the LB Dump Data component and it doesn’t appear to address the issue of multipliers.
When comparing SQL outputs and EnergyPlus Report tables, it appears that the time-series values for ‘heating’, ‘cooling’, and ‘hot_water’ already account for multipliers, i.e. zones do NOT need to be multiplied by the Zone Multiplier for these energy services. However, ‘lighting’ and ‘electric_equip’ do need to be multiplied by the Zone Multiplier (and possibly other energy services that are not in my simulations). @chris - Is that expected?
I’m attaching a new script I made to read multiple SQL files and account for the Zone Multipliers, then export the time-series data to Excel using TT Toolbox. The script also looks up and exports total values from the EPlus Report tables to facilitate double checking totals for each building.
I also include a Gh script that uses the LB Dump Data component to show that the ‘lighting’ and ‘electric_equip’ outputs are missing the multipliers, as noted. DoesntAccountForMultipliers_ReadResults_LBDumpData.gh (25.2 KB)
@Geo_curious - good catch on the multipliers, but next time please reply in the original post so that any issues can be addressed there. I happened upon your post over one year later, but would have happily addressed this at the time.
Yes. That is the way that these EnergyPlus outputs work. EnergyPlus applies the multipliers to the zone-level loads before it goes and runs the heating/cooling equipment. That is why you see zone-level E+ outputs like lighting and equipment don’t have the multiplier applied while all of the heating/cooling/pumps/fans equipment outputs account for the multiplier.
I have not taken a look at your .gh script yet but I just want to note that there is a match_rooms_to_data function in honeybee_energy that allows you to not only match data collections to honeybee rooms but also to get the multiplier of those rooms if you want to use that to do math with the resulting data collection. This can be used to account for multipliers for things like lighting, equipment, people, infiltration, etc. And it is what is used under the hood of the HB Thermal Load Balance component to ensure that the output load balance fully accounts for multipliers.