NREL / buildstockbatch

Other
21 stars 14 forks source link

Multiple central cooling systems are not currently supported. #364

Closed phgupta closed 1 year ago

phgupta commented 1 year ago

Describe the bug I'm running a simulation of 5 buildings with one upgrade - HVAC Heating Efficiency|ASHP, SEER 16, 9.0 HSPF.

The baseline simulations are running correctly, as well as the upgrades for buildings with HVAC Cooling Type = None. For buildings with HVAC Cooling Type = Central AC/Room AC, I get the following error - "Multiple central cooling systems are not currently supported." This error pops up in buildstockbatch v2023.01.0 and resstock v3.0.0 (it wasn't an issue in bsb v0.21)

To Reproduce Steps to reproduce the behavior: This is the input yaml file,

schema_version: '0.3'
buildstock_directory: ../resstock-3.0.0  # Relative to this file or absolute
project_directory: project_national  # Relative to buildstock_directory
output_directory: bsb_results
# weather_files_url: https://data.nrel.gov/system/files/156/BuildStock_TMY3_FIPS.zip
weather_files_path: weather/BuildStock_TMY3_FIPS.zip  # Relative to this file or absolute path to zipped weather files
baseline:
  n_buildings_represented: 81221016

sampler:
  type: precomputed
  args:
    sample_file: precomputed_files/buildstock_5.csv

workflow_generator:
  type: residential_hpxml
  args:
    build_existing_model:
      simulation_control_run_period_calendar_year: 2010
    simulation_output_report:
      timeseries_frequency: hourly

upgrades:
  - upgrade_name: 1|HVAC Air Source Heat Pump
    options:
      - option: HVAC Heating Efficiency|ASHP, SEER 16, 9.0 HSPF

aws:
  # The job_identifier should be unique, start with alpha, not include dashes, and limited to 10 chars or data loss can occur
  job_identifier: test_proj
  s3:
    bucket: buildstock-test
    prefix: demo/example7
  emr:
    worker_instance_count: 1
  region: us-west-2
  use_spot: false
  batch_array_size: 2
  # To receive email updates on job progress accept the request to receive emails that will be sent from Amazon
  notifications_email: abc@xyz.com

postprocessing:
  aws:
    region_name: 'us-west-2'
    s3:
      bucket: buildstock-test
      prefix: demo/example7
    athena:
      glue_service_role: service-role/AWSGlueServiceRole-default
      database_name: testing
      max_crawling_time: 300 #time to wait for the crawler to complete before aborting it

Logs This is the os_stdout.log for the first upgrade,

[16:56:53.401195 WARN] No valid weather file defined in either the osm or osw.
[openstudio.measure.OSRunner] <1> Cannot find current Workflow Step
[openstudio.measure.OSRunner] <1> Cannot find current Workflow Step
[openstudio.measure.OSRunner] <1> Cannot find current Workflow Step
[16:57:04.665543 WARN] The model contains existing objects and is being reset.
[16:57:04.665802 ERROR] Multiple central cooling systems are not currently supported.
[16:57:04.829566 ERROR] :/ruby/2.7.0/gems/openstudio-workflow-2.3.1/lib/openstudio/workflow/util/measure.rb failed with message Runner error :/ruby/2.7.0/gems/openstudio-workflow-2.3.1/lib/openstudio/workflow/util/measure.rb failed with Measure ApplyUpgrade reported an error with ["Multiple central cooling systems are not currently supported."], :/ruby/2.7.0/gems/openstudio-workflow-2.3.1/lib/openstudio/workflow/util/measure.rb:567:in `apply_measure'
:/ruby/2.7.0/gems/openstudio-workflow-2.3.1/lib/openstudio/workflow/util/measure.rb:114:in `block in apply_measures'
:/ruby/2.7.0/gems/openstudio-workflow-2.3.1/lib/openstudio/workflow/util/measure.rb:67:in `each_index'
:/ruby/2.7.0/gems/openstudio-workflow-2.3.1/lib/openstudio/workflow/util/measure.rb:67:in `apply_measures'
:/ruby/2.7.0/gems/openstudio-workflow-2.3.1/lib/openstudio/workflow/jobs/run_os_measures.rb:70:in `perform'
:/ruby/2.7.0/gems/openstudio-workflow-2.3.1/lib/openstudio/workflow/run.rb:291:in `step'
:/ruby/2.7.0/gems/openstudio-workflow-2.3.1/lib/openstudio/workflow/run.rb:233:in `run'
:/openstudio_cli.rb:1184:in `execute'
:/openstudio_cli.rb:814:in `execute'
:/openstudio_cli.rb:1983:in `<main>'
eval:188:in `eval'
eval:188:in `require_embedded_absolute'
eval:173:in `block in require_embedded'
eval:167:in `each'
eval:167:in `require_embedded'
eval:126:in `require'
eval:3:in `<main>' in :/ruby/2.7.0/gems/openstudio-workflow-2.3.1/lib/openstudio/workflow/util/measure.rb:605:in `rescue in apply_measure'
:/ruby/2.7.0/gems/openstudio-workflow-2.3.1/lib/openstudio/workflow/util/measure.rb:555:in `apply_measure'
:/ruby/2.7.0/gems/openstudio-workflow-2.3.1/lib/openstudio/workflow/util/measure.rb:114:in `block in apply_measures'
:/ruby/2.7.0/gems/openstudio-workflow-2.3.1/lib/openstudio/workflow/util/measure.rb:67:in `each_index'
:/ruby/2.7.0/gems/openstudio-workflow-2.3.1/lib/openstudio/workflow/util/measure.rb:67:in `apply_measures'
:/ruby/2.7.0/gems/openstudio-workflow-2.3.1/lib/openstudio/workflow/jobs/run_os_measures.rb:70:in `perform'
:/ruby/2.7.0/gems/openstudio-workflow-2.3.1/lib/openstudio/workflow/run.rb:291:in `step'
:/ruby/2.7.0/gems/openstudio-workflow-2.3.1/lib/openstudio/workflow/run.rb:233:in `run'
:/openstudio_cli.rb:1184:in `execute'
:/openstudio_cli.rb:814:in `execute'
:/openstudio_cli.rb:1983:in `<main>'
eval:188:in `eval'
eval:188:in `require_embedded_absolute'
eval:173:in `block in require_embedded'
eval:167:in `each'
eval:167:in `require_embedded'
eval:126:in `require'
eval:3:in `<main>'
[16:57:04.829798 ERROR] Found error in state 'os_measures' with message [":/ruby/2.7.0/gems/openstudio-workflow-2.3.1/lib/openstudio/workflow/util/measure.rb failed with message Runner error :/ruby/2.7.0/gems/openstudio-workflow-2.3.1/lib/openstudio/workflow/util/measure.rb failed with Measure ApplyUpgrade reported an error with [\"Multiple central cooling systems are not currently supported.\"], :/ruby/2.7.0/gems/openstudio-workflow-2.3.1/lib/openstudio/workflow/util/measure.rb:567:in `apply_measure'\n:/ruby/2.7.0/gems/openstudio-workflow-2.3.1/lib/openstudio/workflow/util/measure.rb:114:in `block in apply_measures'\n:/ruby/2.7.0/gems/openstudio-workflow-2.3.1/lib/openstudio/workflow/util/measure.rb:67:in `each_index'\n:/ruby/2.7.0/gems/openstudio-workflow-2.3.1/lib/openstudio/workflow/util/measure.rb:67:in `apply_measures'\n:/ruby/2.7.0/gems/openstudio-workflow-2.3.1/lib/openstudio/workflow/jobs/run_os_measures.rb:70:in `perform'\n:/ruby/2.7.0/gems/openstudio-workflow-2.3.1/lib/openstudio/workflow/run.rb:291:in `step'\n:/ruby/2.7.0/gems/openstudio-workflow-2.3.1/lib/openstudio/workflow/run.rb:233:in `run'\n:/openstudio_cli.rb:1184:in `execute'\n:/openstudio_cli.rb:814:in `execute'\n:/openstudio_cli.rb:1983:in `<main>'\neval:188:in `eval'\neval:188:in `require_embedded_absolute'\neval:173:in `block in require_embedded'\neval:167:in `each'\neval:167:in `require_embedded'\neval:126:in `require'\neval:3:in `<main>' in :/ruby/2.7.0/gems/openstudio-workflow-2.3.1/lib/openstudio/workflow/util/measure.rb:605:in `rescue in apply_measure'\n:/ruby/2.7.0/gems/openstudio-workflow-2.3.1/lib/openstudio/workflow/util/measure.rb:555:in `apply_measure'\n:/ruby/2.7.0/gems/openstudio-workflow-2.3.1/lib/openstudio/workflow/util/measure.rb:114:in `block in apply_measures'\n:/ruby/2.7.0/gems/openstudio-workflow-2.3.1/lib/openstudio/workflow/util/measure.rb:67:in `each_index'\n:/ruby/2.7.0/gems/openstudio-workflow-2.3.1/lib/openstudio/workflow/util/measure.rb:67:in `apply_measures'\n:/ruby/2.7.0/gems/openstudio-workflow-2.3.1/lib/openstudio/workflow/jobs/run_os_measures.rb:70:in `perform'\n:/ruby/2.7.0/gems/openstudio-workflow-2.3.1/lib/openstudio/workflow/run.rb:291:in `step'\n:/ruby/2.7.0/gems/openstudio-workflow-2.3.1/lib/openstudio/workflow/run.rb:233:in `run'\n:/openstudio_cli.rb:1184:in `execute'\n:/openstudio_cli.rb:814:in `execute'\n:/openstudio_cli.rb:1983:in `<main>'\neval:188:in `eval'\neval:188:in `require_embedded_absolute'\neval:173:in `block in require_embedded'\neval:167:in `each'\neval:167:in `require_embedded'\neval:126:in `require'\neval:3:in `<main>'::/ruby/2.7.0/gems/openstudio-workflow-2.3.1/lib/openstudio/workflow/util/measure.rb:654:in `rescue in apply_measure'\n:/ruby/2.7.0/gems/openstudio-workflow-2.3.1/lib/openstudio/workflow/util/measure.rb:651:in `apply_measure'\n:/ruby/2.7.0/gems/openstudio-workflow-2.3.1/lib/openstudio/workflow/util/measure.rb:114:in `block in apply_measures'\n:/ruby/2.7.0/gems/openstudio-workflow-2.3.1/lib/openstudio/workflow/util/measure.rb:67:in `each_index'\n:/ruby/2.7.0/gems/openstudio-workflow-2.3.1/lib/openstudio/workflow/util/measure.rb:67:in `apply_measures'\n:/ruby/2.7.0/gems/openstudio-workflow-2.3.1/lib/openstudio/workflow/jobs/run_os_measures.rb:70:in `perform'\n:/ruby/2.7.0/gems/openstudio-workflow-2.3.1/lib/openstudio/workflow/run.rb:291:in `step'\n:/ruby/2.7.0/gems/openstudio-workflow-2.3.1/lib/openstudio/workflow/run.rb:233:in `run'\n:/openstudio_cli.rb:1184:in `execute'\n:/openstudio_cli.rb:814:in `execute'\n:/openstudio_cli.rb:1983:in `<main>'\neval:188:in `eval'\neval:188:in `require_embedded_absolute'\neval:173:in `block in require_embedded'\neval:167:in `each'\neval:167:in `require_embedded'\neval:126:in `require'\neval:3:in `<main>'"]}

I see the error comes from the following line in resstock-3.0.0\resources\hpxml-measures\BuildResidentialHPXML\measure.rb,

error = (args[:cooling_system_type] != 'none') && (args[:heat_pump_type] != 'none') && (args[:cooling_system_fraction_cool_load_served] > 0) && (args[:heat_pump_fraction_cool_load_served] > 0)
errors << 'Multiple central cooling systems are not currently supported.' if error

However, I'm not sure why multiple central cooling systems are not supported in this version but it was supported in the previous version. Any help would be greatly appreciated!

Platform (please complete the following information):

joseph-robertson commented 1 year ago

ResStock does not support modeling multiple central cooling systems (e.g., a central/room AC along with a heat pump). This configuration was also not supported in previous versions of ResStock - it's possible you weren't previously hitting the error because the structure of housing characteristics and the options_lookup were slightly different. You just need to add the following HVAC Cooling Efficiency|Heat Pump option to your upgrade definition:

upgrades:
  - upgrade_name: 1|HVAC Air Source Heat Pump
    options:
      - option: HVAC Heating Efficiency|ASHP, SEER 16, 9.0 HSPF
      - option: HVAC Cooling Efficiency|Heat Pump
phgupta commented 1 year ago

Great, I'll look into that. Thank you!