Evaporative Cooling Tower example error

hi everyone
i download this example file about " Evaporative Cooling Tower " to understand working with Cooling Tower but as i run the file i get this error:


i couldn’t understand the reason of this error.
rhino6 energyplus 9.1.0 openstudio 2.8.0

@hamed.sangin ,

It looks like the additionalString that describes the cooling tower and is going into the OpenStudio component isn’t correct. I know I put that example together “parametrically” to compute the height of the tower from Rhino geometry so maybe that is what is messed up in your sample. Here’s another example of what that string should look like:

https://bigladdersoftware.com/epx/docs/9-1/input-output-reference/group-airflow.html#field-rated-power-consumption

@chris

Hi everyone, I am trying to run this cooling tower script with the Ladybug / Honeybee 1.3 and OpenStudio 3.3.0 on Rhino 6. I am fairly new to Honeybee in general and I am running into multiple problems that I try to clarify:

  • In the current Version (1.3) of Honeybee, the component exportToOpenStudio does not exist anymore and I think it was replaced by the HB ModelToOSM. If I try to set up a workflow using the new component, I can’t figure out a way to attach all inputs that were used before, especially the simulationOutputs input and the HBZones input.

  • If I try to use the “old” exportToOpenStudio component to run the simulation, I am ending up with an error message: “1. Solution exception:‘ShadowCalculation’ object has no attribute ‘setCalculationFrequency’” that I can’t get rid of.

Did anybody get the script running with HB 1.3 and OpenStudio and 3.3.0 or does know how to solve it?

Thanks a lot
Jakob

Do you have a link to where the example script is?
Edit:: Found it
@Jakob_B
I’m looking at the examplescript from hydrashare:
you are right:
this component is replaced by this one:

As for with the new workflow and ‘zones’:
Rather than HB_Zones–>to OSM,
HB ‘rooms’ ==> HB model, the model is then passed to the simulation component:

if you look on the new release component you will see an add_str_ input: this replaces the additional strings input on the original export to OS component.

Other than that; it looks like as long as you follow the new workflow; i.e the rooms==>model==>OSM methodology; things should work unless I’m not aware of something different between legacy and the new release.

Also; if you intend to write alot of E+ strings:
I’d recommend the atom IDE, and the energyplus language package, which has both autocomplete; as well as links to the documentation of each object; which imo… I typically have atom open to search objects and get to the docs via the link instead of google… its pretty cool.
helps formatting; and the overall construction of the strings from being an issue.

If I have time later I’ll see about recreating the script with the new workflow.
-tf

1 Like

Thanks for your quick reply and explanation @TrevorFedyna

I have now downgraded OpenStudio to version 2.5 instead of 3.3.0 and now I get exactly the error message that @hamed.sangin described above when I want to use the old workflow.
Some of the error messages seem to come from the faulty additionalString that is describing the cooling tower. I pasted all values from Group – Airflow: Input Output Reference — EnergyPlus 9.1
in a text box, but some errors remain.

I also tried to set up the new workflow, but I think I am missing a certain point, because values that were defined in the “Set EP AirFlow” component are not taken further now.

I you find a way to get it running and could share it, I would be very grateful!

Best
Jakob

Hi there, I checked again and found what caused the errors: Some lines in the additionalStrings ShowerTowerDefinition.

After removing them, the old workflow works great with OpenStudio 2.5 (not sure about OpenStudio 3.3.0 though).

Evaporative_Cooling_Tower_two_workflows.gh (776.4 KB)

What I didn’t manage to do is to get the new workflow running.
Best
Jakob

1 Like

I just logged in to see about with the new workflow: if you are familiar with Ironbug there’s definitely a number of cooling tower components; will circle back when have gave it a go with the non-legacy release

Soo I got it running with LBT version 1.4
1.4.0_cooling_tower.gh (97.7 KB)

The CxTower obj I used was:

!-Generator IDFEditor 1.51
!-   ===========  ALL OBJECTS IN CLASS: ZONECOOLTOWER:SHOWER ===========

ZoneCoolTower:Shower,
    MyCoolTower,                 !- Name
    required,                    !- Availability Schedule Name
    required,                    !- Zone Name
    ,                            !- Water Supply Storage Tank Name
    WindDrivenFlow,              !- Flow Control Type
    required,                    !- Pump Flow Rate Schedule Name
    0.0005,                      !- Maximum Water Flow Rate {m3/s}
    10,                          !- Effective Tower Height {m}
    2,                           !- Airflow Outlet Area {m2}
    10,                          !- Maximum Air Flow Rate {m3/s}
    18,                          !- Minimum Indoor Temperature {C}
    0.05,                        !- Fraction of Water Loss
    0.05,                        !- Fraction of Flow Schedule
    250;                         !- Rated Power Consumption {W}

Note in the grasshopper script: Both schedules were required to make it run; I just used an always 1 fractional I threw together for both.

Also: I used the room.identifier for the zone name (not sure if thats required… try it with just the zone name and see if that works to check).

But yeah: this is running: Not lending any “This is correct” to the script: I just troubleshot the errors to get it to run.
Hope that helps!

2 Likes

@chris the IDF editor is saying “if you leave availability sch blank; it will default to always on”.
That didn’t seem to be the case? at least for model to OS, threw a fatal till I put something in there.
Is this an OS thing? (I should have tried running via E+ before asking; with it blank… oops. hindsight )

Thanks a lot! I will check that out. With my current setup and OpenStudio 2.5 it is not running. So I updated to LB 1.4 and OpenStudio 3.3, but it throws several errors, I need to investigate that further before I can really comment on that. Might be some faulty installation. For you the definition is running without any errors right?

1 Like

Yeah; so you want to use the room.identifier in the ‘additional string’ !- Zone Name field: there is a ghpy component that is giving that:
Just copy and paste that to replace the zone name in the string; this should change each time you open the script and possibly if you make certain changes to the script:

1 Like

this is the error output I get, the simulation Does Run for me; but as above: “I just got it to run; the inputs for various things are likely incorrect in terms of schedgules etc”

Program Version,EnergyPlus, Version 9.6.0-4b123cf80f, YMD=2022.01.18 08:37,
   ** Warning ** ManageSizing: For a zone sizing run, there must be at least 1 Sizing:Zone input object. SimulationControl Zone Sizing option ignored.
   ************* Beginning Plant Sizing Calculations
   ** Warning ** Weather file location will be used rather than entered (IDF) Location object.
   **   ~~~   ** ..Location object=SITE 1
   **   ~~~   ** ..Weather File Location=Luang Prabang Intl AP LP LAO ISD-TMYx WMO#=489300
   **   ~~~   ** ..due to location differences, Latitude difference=[19.90] degrees, Longitude difference=[102.16] degrees.
   **   ~~~   ** ..Time Zone difference=[7.0] hour(s), Elevation difference=[29110.00] percent, [291.10] meters.
   ** Warning ** ProcessScheduleInput: Schedule:Day:Interval="APARTMENTMIDRISE APT_DHW_SCH_SMRDSN", Blank Schedule Type Limits Name input -- will not be validated.
   ** Warning ** ProcessScheduleInput: Schedule:Day:Interval="APARTMENTMIDRISE APT_DHW_SCH_WNTRDSN", Blank Schedule Type Limits Name input -- will not be validated.
   ** Warning ** ProcessScheduleInput: Schedule:Day:Interval="APARTMENTMIDRISE INF_APT_SCH_SMRDSN", Blank Schedule Type Limits Name input -- will not be validated.
   ** Warning ** ProcessScheduleInput: Schedule:Day:Interval="APARTMENTMIDRISE INF_APT_SCH_WNTRDSN", Blank Schedule Type Limits Name input -- will not be validated.
   ** Warning ** ProcessScheduleInput: Schedule:Day:Interval="APARTMENTMIDRISE LTG_APT_SCH_SMRDSN", Blank Schedule Type Limits Name input -- will not be validated.
   ** Warning ** ProcessScheduleInput: Schedule:Day:Interval="APARTMENTMIDRISE LTG_APT_SCH_WNTRDSN", Blank Schedule Type Limits Name input -- will not be validated.
   ** Warning ** ProcessScheduleInput: Schedule:Day:Interval="SCHEDULE DAY 2", Blank Schedule Type Limits Name input -- will not be validated.
   ** Warning ** ProcessScheduleInput: Schedule:Day:Interval="SCHEDULE DAY 3", Blank Schedule Type Limits Name input -- will not be validated.
   ** Warning ** ProcessScheduleInput: Schedule:Year="0.05 HOT WATER LATENT FRACTION", Blank Schedule Type Limits Name input -- will not be validated.
   ** Warning ** ProcessScheduleInput: Schedule:Year="0.2 HOT WATER SENSIBLE FRACTION", Blank Schedule Type Limits Name input -- will not be validated.
   ** Warning ** ProcessScheduleInput: Schedule:Constant="ALWAYS OFF DISCRETE", Blank Schedule Type Limits Name input -- will not be validated.
   ** Warning ** ProcessScheduleInput: Schedule:Constant="ALWAYS ON CONTINUOUS", Blank Schedule Type Limits Name input -- will not be validated.
   ** Warning ** GetHTSurfaceData: Surfaces with interface to Ground found but no "Ground Temperatures" were input.
   **   ~~~   ** Found first in surface=FACE_7DFCAB16
   **   ~~~   ** Defaults, constant throughout the year of (18.0) will be used.
   ** Warning ** GetSurfaceData: There are 4 coincident/collinear vertices; These have been deleted unless the deletion would bring the number of surface sides < 3.
   **   ~~~   ** For explicit details on each problem surface, use Output:Diagnostics,DisplayExtraWarnings;
   ** Warning ** CheckUsedConstructions: There are 15 nominally unused constructions in input.
   **   ~~~   ** For explicit details on each unused construction, use Output:Diagnostics,DisplayExtraWarnings;
   ** Warning ** DetermineShadowingCombinations: There are 1 surfaces which are receiving surfaces and are non-convex.
   **   ~~~   ** ...Shadowing values may be inaccurate. Check .shd report file for more surface shading details
   **   ~~~   ** ...Add Output:Diagnostics,DisplayExtraWarnings; to see individual warnings for each surface.
   ** Severe  ** DetermineShadowingCombinations: There are 1 surfaces which are casting surfaces and are non-convex.
   **   ~~~   ** ...Shadowing values may be inaccurate. Check .shd report file for more surface shading details
   **   ~~~   ** ...Add Output:Diagnostics,DisplayExtraWarnings; to see individual severes for each surface.
   ** Warning ** DeterminePolygonOverlap: Too many figures [>15000]  detected in an overlap calculation. Use Output:Diagnostics,DisplayExtraWarnings; for more details.
   ************* Testing Individual Branch Integrity
   ************* All Branches passed integrity testing
   ************* Testing Individual Supply Air Path Integrity
   ************* All Supply Air Paths passed integrity testing
   ************* Testing Individual Return Air Path Integrity
   ************* All Return Air Paths passed integrity testing
   ************* No node connection errors were found.
   ************* Beginning Simulation
   ** Warning ** The resource referenced by LifeCycleCost:UsePriceEscalation= "U.S. AVG  COMMERCIAL-ELECTRICITY" has no energy cost. 
   **   ~~~   ** ... It is likely that the wrong resource is used. The resource should match the meter used in Utility:Tariff.
   ** Warning ** The resource referenced by LifeCycleCost:UsePriceEscalation= "U.S. AVG  COMMERCIAL-DISTILLATE OIL" has no energy cost. 
   **   ~~~   ** ... It is likely that the wrong resource is used. The resource should match the meter used in Utility:Tariff.
   ** Warning ** The resource referenced by LifeCycleCost:UsePriceEscalation= "U.S. AVG  COMMERCIAL-RESIDUAL OIL" has no energy cost. 
   **   ~~~   ** ... It is likely that the wrong resource is used. The resource should match the meter used in Utility:Tariff.
   ** Warning ** The resource referenced by LifeCycleCost:UsePriceEscalation= "U.S. AVG  COMMERCIAL-NATURAL GAS" has no energy cost. 
   **   ~~~   ** ... It is likely that the wrong resource is used. The resource should match the meter used in Utility:Tariff.
   ** Warning ** The resource referenced by LifeCycleCost:UsePriceEscalation= "U.S. AVG  COMMERCIAL-COAL" has no energy cost. 
   **   ~~~   ** ... It is likely that the wrong resource is used. The resource should match the meter used in Utility:Tariff.
   ************* Simulation Error Summary *************
   ** Warning ** The following Report Variables were requested but not generated -- check.rdd file
   **   ~~~   ** Either the IDF did not contain these elements, the variable name is misspelled,
   **   ~~~   ** or the requested variable is an advanced output which requires Output : Diagnostics, DisplayAdvancedReportVariables;
   ************* Key=*, VarName=AFN ZONE INFILTRATION SENSIBLE HEAT GAIN ENERGY, Frequency=Hourly
   ************* Key=*, VarName=AFN ZONE INFILTRATION SENSIBLE HEAT LOSS ENERGY, Frequency=Hourly
   ************* Key=*, VarName=AFN ZONE VENTILATION SENSIBLE HEAT GAIN ENERGY, Frequency=Hourly
   ************* Key=*, VarName=AFN ZONE VENTILATION SENSIBLE HEAT LOSS ENERGY, Frequency=Hourly
   ************* Key=*, VarName=OUTPUT:VARIABLE&#44*&#44ZONE COOLTOWER SENSIBLE HEAT LOSS ENERGY&#44HOURLY&#59 &#33- HVAC SUM , Frequency=Hourly
   ************* Key=*, VarName=ZONE IDEAL LOADS ZONE TOTAL COOLING ENERGY, Frequency=Hourly
   ************* Key=*, VarName=ZONE IDEAL LOADS ZONE TOTAL HEATING ENERGY, Frequency=Hourly
   ************* There are 5 unused schedules in input.
   ************* There are 5 unused week schedules in input.
   ************* There are 25 unused day schedules in input.
   ************* Use Output:Diagnostics,DisplayUnusedSchedules; to see them.
   *************
   ************* ===== Final Error Summary =====
   ************* The following error categories occurred.  Consider correcting or noting.
   ************* Nominally Unused Constructions
   ************* ..The nominally unused constructions warning is provided to alert you to potential conditions that can cause
   ************* ..extra time during simulation. Each construction is calculated by the algorithm indicated in the HeatBalanceAlgorithm
   ************* ..object. You may remove the constructions indicated (when you use the DisplayExtraWarnings option).
   *************
   ************* EnergyPlus Warmup Error Summary. During Warmup: 0 Warning; 0 Severe Errors.
   ************* EnergyPlus Sizing Error Summary. During Sizing: 1 Warning; 0 Severe Errors.
   ************* EnergyPlus Completed Successfully-- 28 Warning; 1 Severe Errors; Elapsed Time=00hr 00min  7.59sec

1 Like

Good job, @TrevorFedyna ! I would say that you’ve effectively converted the sample file over to LBT. There’s only one other suggestion that I have for a case like this where the dynamically-generated unique IDs for the rooms become more annoying than helpful.

You can use the HB Set Identifier component to overwrite the ID of the Room to something constant, which you can reference within your additional IDF String:



1.4.0_cooling_tower_CWM.gh (105.5 KB)

Otherwise, looks good. I know that there are often typos in E+ docs so you might have found one here that could be reported to the E+ Github:

2 Likes

Thanks you two @TrevorFedyna @chris, I checked the script and after updating to OpenStudio 3.3.0 it’s running smooth!

2 Likes

Hi,I want to add a water supply storage tank to ZoneCoolTower:Shower,I am fairly new to Honeybee in general and could you tell me how to get it?