Question-and-Answer Resource for the Building Energy Modeling Community
Get started with the Help page
Ask Your Question

District cooling/heating rate in measure "Tariff_Selection_Flat"

asked 2016-09-21 09:25:59 -0500

updated 2017-09-09 13:32:29 -0500

I used the measure "Tariff_Selection_Flat" to calculate the cost of purchased chilled water/hot water. In the measure, the unit for district cooling/heating is "dollar/kBtu". However, results show unreasonably low cost in dollar. It seems the unit in the measure should be "$/therm". Is it a bug in the measure?

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2016-09-21 10:31:14 -0500

updated 2016-09-21 10:35:21 -0500

@Yan, I think you are right, looking at the code, it seems I may not have been able to directly enter therms for "The Conversion Factor Choice; so I convert from dollars/therm to dollars/kBtu within the measure. So the unit in the measure argument should be "$/therm". I'll review this, fix and push an update to BCL. Below is the relevant code. It affects both district heating and cooling. Thanks for pointing this out!

# distclg tariff object
if args['distclg_rate'] > 0
  new_object_string = "
    DistrictCooling Tariff,                             !- Name
    DistrictCooling:Facility,                           !- Output Meter Name
    KBtu,                                  !- Conversion Factor Choice
    ,                                       !- Energy Conversion Factor
    ,                                       !- Demand Conversion Factor
    ,                                       !- Time of Use Period Schedule Name
    ,                                       !- Season Schedule Name
    ,                                       !- Month Schedule Name
    Day,                                    !- Demand Window Length
    0.0;                                    !- Monthly Charge or Variable Name
  distclg_tariff = workspace.addObject(OpenStudio::IdfObject::load(new_object_string).get).get

  # make UtilityCost:Charge:Simple objects for distclg
  #value = OpenStudio::convert(args['gas_rate'],"1/therms","1/Kbtu").get # todo - get conversion working
  value = args['distclg_rate']/99.98 # $/therm to $/Kbtu
  new_object_string = "
    DistrictCoolingTariffEnergyCharge, !- Name
    DistrictCooling Tariff,                             !- Tariff Name
    totalEnergy,                            !- Source Variable
    Annual,                                 !- Season
    EnergyCharges,                          !- Category Variable Name
    #{value};          !- Cost per Unit Value or Variable Name
  distclg_utility_cost = workspace.addObject(OpenStudio::IdfObject::load(new_object_string).get).get
edit flag offensive delete link more


Updated measure now on BCL. For district heating and cooling argument unit is now "$/therm". Conversion Factor Choice is "Therm", and the user entered value is used, without any conversion, for the Cost per Unit Value in the "UtilityCost:Charge:Simple" object.

David Goldwasser's avatar David Goldwasser  ( 2016-09-21 12:09:48 -0500 )edit

FYI @David Goldwasser this measure and the XcelEDATariffSelectionandModelSetup measure now show two UUID subfolders in user's local BCL directory, one old/outdated and one new. Is there an open issue for this? If not seems like there should be.

MatthewSteen's avatar MatthewSteen  ( 2017-11-10 14:40:14 -0500 )edit

@MatthewSteen, throw away BCL directory and then re-download only the new one should be there, but I'm interested if they both show in in GUI? IF they do that is an issue, ideally only the new one would show up.

David Goldwasser's avatar David Goldwasser  ( 2017-11-10 14:46:51 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Training Workshops

Question Tools

1 follower


Asked: 2016-09-21 09:25:59 -0500

Seen: 190 times

Last updated: Sep 21 '16