How is SHW Output reported

Hi there Ladybugtools community, @chris and @mostapha

My team and I are currently incorporating the Service Hot Water module into the energy model. I have some questions regarding how the results for these systems are presented.

I use the HB SHW component (version 1.6.0) to apply a SHW System to each room of my model (a total of 3 rooms). I run the simulation and find that the .sql outputs of the model only have non zero results for only one room of the model, although all of them have Hot Water Loads assigned. I can see that 3 Hot Water System (Tankless Gas Heater) have been created. So, I do not know if:

  • The output is aggregated for all rooms, as the System may be a centralised system. If so, why are 3 water systems created and 2 of them do not have results?
  • There is some problem and the results are only yielded for one room.

And the results…

So, is there a way to find the SHW consumption for each room?

Thanks very much for your attention,

Carles

Hi @Vance07 ,

Thank you for bringing this up. There was a minor bug in the SHW translation process for the latest version of the LBT plugin, which I just found because of your question. I just fixed it here:

The bug only affected the case that the Rooms had a demand for hot water but no detailed SHW System had been assigned to them so it likely does not apply to your case here. Also, the bug was introduced back here in January of this year so it doesn’t really affect LBT 1.6 from over a year ago. But I still recommend that you update to the latest version with the LB Versioner component if you want to be sure that your installation is completely free of hot-water-related bugs.

Back to your question:

This is not what I get when I use the latest version of the plugin.
I assign 3 separate hot water systems by grafting the input and I get 3 non-zero data collections out for each system:

And I can see there are 3 separate hot water loops in the OSM for each water heater object:

Can you try updating to the latest version of the plugin and see if that fixes it? If not, can you upload a MINIMAL sample file to see if I can recreate your case?

Here is the file that produced all of the screenshots above:
multiple_shw_systems.gh (66.2 KB)

1 Like

Hi @chris,
OK. I think I’ve found the mistake I’ve made. I want to point out the behaviour that I found in this component and share it with you.
I was using the same name for my systems (all 3 systems had the same name). I’ve checked the identifiers and they are all the same (the same as the display name, is it correct? In others components like constructions sets the display name is not the same as the identifier).

So, it seems that in reality there was only one system, although I had “SHW TANKLESS WATERHEATER1”, “SHW TANKLESS WATERHEATER2” and “SHW TANKLESS WATERHEATER3”, but only the last one had results. So, I think I’ve misunterstood the behaviour of the component. I though that I could get results for all rooms using only ONE system but assigning it to each room individually (3 streams of the same input to each room).
I reupload your file trying to replicate this issue… I have to use the version 1.6.0 because we do not have time to update all the model (for its huge size and complex operations). Please feel free to check it.
You will see that won’t have data for each room unless you define diferent System names for each room. In the name is the same, 3 systems are created but the results only appear in one System.

With different system names (but same parameters)

Same system names (and same parameters)

So I imagined that I could get results for all rooms with only ONE System (One boiler), but as I can see I need to define 3 systems (3 boilers for instance). That is strange in terms of the reality of a household (at least in Spain, where each household have only one boiler). In terms of results it is OK for me.
The last thing I want to point out is the name of the Hot Water Output. The name of the Room cannot be extracted in any case, as the System key is always something like “WATERHEATER_X”. In other outputs like Heating or Cooling you can see the Room name in the System key of the output data, like “RESIDENTIALCABIN_1_E4772DF2 IDEAL LOADS AIR SYSTEM”. The name of the System input in the SHW is no translated to the results.
Is this behaviour on purpose, or is it a bug?
Thank you so much for your attention, @chris

Carles
multiple_shw_systems_test_BR.gh (84.2 KB)

Glad that you figured it out, @Vance07 .

Giving the same simulation name (aka. identifier) to different objects within your model will definitely cause strange behavior like what you experienced here and we consider this situation “invalid”. FYI, if you want to be sure that you have avoided all of these cases in a given model you can always run it through the HB Validate Model component and it will tell you all cases of duplicate identifiers if they exist.

To clarify, this is the expected behavior of the component and it’s not a bug. Generally speaking, when you use data trees with any of the HB-Energy components (instead of flat lists), you are taking responsibility for each branch of that tree. With a flat list, we try to do things like making sure all of the identifiers of objects in the list are unique but grafted data trees are another level. They give you a lot more control to make the inputs exactly as you would like but it also means that it’s easier to create invalid models if you don’t check what you’re doing carefully.

Along these lines, I agree that this is strange and I was wondering why you set up your model this way:

If you want to have all 3 rooms of the model connected to the same water heater loop, just plug in a flat list of rooms instead of grafting them. With a flat list, this means that you’ll only be able to get one data collection of natural gas energy since all 3 rooms are served by a single water heater object that’s burning the gas. But this is how I would usually model something like this. And, if you just wanted to get the thermal load of the each room on the system (not the natural gas energy), you can use the HB Read Custom Result component to import the

Water Use Equipment Heating Energy

like so:





single_shw_system.gh (72.1 KB)

2 Likes

I’m really glad this discussion helped solve a correlated problem I had been facing for a while. I had brought it up before but never got a solution until now (Missing Service Hot Water and IDF Object Differences Post 1.7.47 Update).

Thank you both, @Vance07, for mentioning this problem, and @chris, for solving it.

Best,
Fanourios K.

2 Likes

WOW, OK @chris! Now I understand it very clearly.

Thank you so much for your help and attention.

Carles

1 Like

Hi there @chris and LadybugTools community,
With previous posts I was able to understand how SHW inputs work for the model. Now I am facing problems regarding the output.

Using the “HB Room Read Energy Result” component (.sql output file) I can take several outputs for the model, and I can link each output to each room.
For instance, I can link Heating outputs with Rooms because the Room names appear in the System (in the Data Header)

As far as I can see, this is not the case for SHW when I take the “hot_water” output. Note that I ended creating one SHW loop for each room instead of only one for all the rooms (I know this is not conventional)… I would like to retrieve the energy type (gas or electric) consumed by each room but I cannot link the outputs with my rooms, like I do with Heating or Cooling. For example, some “hot_water” output looks like this:

Where I do not know in which Room of the model the “SHW TANKLESS HEATER8” is located for example…
If I could link these information It would be perfect for the model we have built.
What can I do in this situation? Using “Water Use Equipment Heating Energy” as output is OK, but the energy type is not specified and this is important for us.

One solution that I see is to set the energy type manually, knowing which SHW System I have for each room and assuming all “Water Use Equipment Heating Energy” to this type of energy (Gas/Electric)… Does it make sense?

Thank you very much for your attention and patience, @chris , hope you are all doing well.

Carles