Repository: RWTH-EBC/TEASER

Issue:
BESMod examples without hydraulic
When exporting BESMod examples without a hydraulic system, not specifying `THydSup_nominal` causes an error, but it is not needed for these systems.

Discussion:

Solution patch:
diff --git a/teaser/data/output/besmod_output.py b/teaser/data/output/besmod_output.py
index ddf11c9d..c7e29173 100644
--- a/teaser/data/output/besmod_output.py
+++ b/teaser/data/output/besmod_output.py
@@ -1,6 +1,7 @@
 """This module contains function for BESMod model generation"""
 
 import os
+import warnings
 from typing import Optional, Union, List, Dict
 from mako.template import Template
 from mako.lookup import TemplateLookup
@@ -103,6 +104,12 @@ def export_besmod(
             "Examples 'HeatPumpMonoenergetic' and 'GasBoilerBuildingOnly' "
             "require the `THydSup_nominal` parameter."
         )
+    elif THydSup_nominal is None:
+        THydSup_nominal = 328.15
+        if custom_examples:
+            warnings.warn("If you set THydSup_nominal in your custom examples template, "
+                          "please provide it in the export. "
+                          "Otherwise, the default value of 328.15 K will be used.")
 
     t_hyd_sup_nominal_bldg = convert_input(THydSup_nominal, buildings)
     t_hyd_sup_old_design_bldg = (


Test patch:
diff --git a/tests/test_besmod_output.py b/tests/test_besmod_output.py
index 44661f06..102934da 100644
--- a/tests/test_besmod_output.py
+++ b/tests/test_besmod_output.py
@@ -48,6 +48,8 @@ class Test_besmod_output(unittest.TestCase):
         with self.assertRaises(ValueError):
             prj.export_besmod(examples=examples)
 
+        prj.export_besmod(examples=["TEASERHeatLoadCalculation"])
+
         prj.export_besmod(examples=examples,
                           THydSup_nominal=55 + 273.15)
 
@@ -110,6 +112,7 @@ class Test_besmod_output(unittest.TestCase):
                           THydSupOld_design=t_hyd_sup_nominal_old,
                           custom_examples=custom_example_template,
                           custom_script=custom_script)
+        prj.export_besmod(custom_examples=custom_example_template)
 
     def test_convert_heating_profile(self):
         """Test the conversion of heating profiles for BESMod"""