Model becomes invallid when I try to define new constructions, only outdoors causes trouble

Hi all

I have a problem. I build a new model out of a start file with some construction definition.
When I assign a construction to a surface everything works just fine.
The model stays valid.
When I assign a construction to an outdoor face
grafik
the model turns invalid

Validating Model using honeybee-core==1.48.5 and honeybee-schema==1.47.0
Traceback (most recent call last):
  File "C:\Users\zz\ladybug_tools\python\lib\site-packages\honeybee_energy\properties\face.py", line 149, in apply_properties_from_dict
    self.construction = constructions[abridged_data['construction']]
KeyError: 'Typical Insulated Exterior Mass Wall-R2'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\zz\ladybug_tools\python\lib\site-packages\honeybee\properties.py", line 344, in apply_properties_from_dict
    var.apply_properties_from_dict(data)
  File "C:\Users\zz\ladybug_tools\python\lib\site-packages\honeybee_energy\properties\model.py", line 606, in apply_properties_from_dict
    face.properties.energy.apply_properties_from_dict(f_dict, constructions)
  File "C:\Users\zz\ladybug_tools\python\lib\site-packages\honeybee_energy\properties\face.py", line 152, in apply_properties_from_dict
    'constructions.'.format(abridged_data['construction']))
ValueError: Face construction "Typical Insulated Exterior Mass Wall-R2" was not found in constructions.
--- Logging error ---
Traceback (most recent call last):
  File "C:\Users\zz\ladybug_tools\python\lib\site-packages\honeybee_energy\properties\face.py", line 149, in apply_properties_from_dict
    self.construction = constructions[abridged_data['construction']]
KeyError: 'Typical Insulated Exterior Mass Wall-R2'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\zz\ladybug_tools\python\lib\site-packages\honeybee\properties.py", line 344, in apply_properties_from_dict
    var.apply_properties_from_dict(data)
  File "C:\Users\zz\ladybug_tools\python\lib\site-packages\honeybee_energy\properties\model.py", line 606, in apply_properties_from_dict
    face.properties.energy.apply_properties_from_dict(f_dict, constructions)
  File "C:\Users\zz\ladybug_tools\python\lib\site-packages\honeybee_energy\properties\face.py", line 152, in apply_properties_from_dict
    'constructions.'.format(abridged_data['construction']))
ValueError: Face construction "Typical Insulated Exterior Mass Wall-R2" was not found in constructions.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\zz\ladybug_tools\python\lib\site-packages\honeybee\cli\validate.py", line 39, in validate_model
    parsed_model = Model.from_hbjson(model_json)
  File "C:\Users\zz\ladybug_tools\python\lib\site-packages\honeybee\model.py", line 234, in from_hbjson
    return cls.from_dict(data)
  File "C:\Users\zz\ladybug_tools\python\lib\site-packages\honeybee\model.py", line 204, in from_dict
    model.properties.apply_properties_from_dict(data)
  File "C:\Users\zz\ladybug_tools\python\lib\site-packages\honeybee\properties.py", line 349, in apply_properties_from_dict
    'Failed to apply {} properties to the Model: {}'.format(atr, e))
Exception: Failed to apply energy properties to the Model: Face construction "Typical Insulated Exterior Mass Wall-R2" was not found in constructions.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\zz\ladybug_tools\python\lib\logging\handlers.py", line 70, in emit
    self.doRollover()
  File "C:\Users\zz\ladybug_tools\python\lib\logging\handlers.py", line 394, in doRollover
    self.rotate(self.baseFilename, dfn)
  File "C:\Users\zz\ladybug_tools\python\lib\logging\handlers.py", line 111, in rotate
    os.rename(source, dest)
PermissionError: [WinError 32] Der Prozess kann nicht auf die Datei zugreifen, da sie von einem anderen Prozess verwendet wird: 'C:\\Users\\zz\\.honeybee\\honeybee.log' -> 'C:\\Users\\zz\\.honeybee\\honeybee.log.2020-10-09'
Call stack:
  File "C:\Users\zz\ladybug_tools\python\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "C:\Users\zz\ladybug_tools\python\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Users\zz\ladybug_tools\python\lib\site-packages\honeybee\__main__.py", line 4, in <module>
    main()
  File "C:\Users\zz\ladybug_tools\python\lib\site-packages\click\core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "C:\Users\zz\ladybug_tools\python\lib\site-packages\click\core.py", line 782, in main
    rv = self.invoke(ctx)
  File "C:\Users\zz\ladybug_tools\python\lib\site-packages\click\core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "C:\Users\zz\ladybug_tools\python\lib\site-packages\click\core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "C:\Users\zz\ladybug_tools\python\lib\site-packages\click\core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "C:\Users\zz\ladybug_tools\python\lib\site-packages\click\core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "C:\Users\zz\ladybug_tools\python\lib\site-packages\honeybee\cli\validate.py", line 51, in validate_model
    _logger.exception('Model validation failed.\n{}'.format(e))
Message: 'Model validation failed.\nFailed to apply energy properties to the Model: Face construction "Typical Insulated Exterior Mass Wall-R2" was not found in constructions.'
Arguments: ()
honeybee.cli.validate - ERROR - Model validation failed.
Failed to apply energy properties to the Model: Face construction "Typical Insulated Exterior Mass Wall-R2" was not found in constructions.
Traceback (most recent call last):
  File "C:\Users\zz\ladybug_tools\python\lib\site-packages\honeybee_energy\properties\face.py", line 149, in apply_properties_from_dict
    self.construction = constructions[abridged_data['construction']]
KeyError: 'Typical Insulated Exterior Mass Wall-R2'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\zz\ladybug_tools\python\lib\site-packages\honeybee\properties.py", line 344, in apply_properties_from_dict
    var.apply_properties_from_dict(data)
  File "C:\Users\zz\ladybug_tools\python\lib\site-packages\honeybee_energy\properties\model.py", line 606, in apply_properties_from_dict
    face.properties.energy.apply_properties_from_dict(f_dict, constructions)
  File "C:\Users\zz\ladybug_tools\python\lib\site-packages\honeybee_energy\properties\face.py", line 152, in apply_properties_from_dict
    'constructions.'.format(abridged_data['construction']))
ValueError: Face construction "Typical Insulated Exterior Mass Wall-R2" was not found in constructions.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\zz\ladybug_tools\python\lib\site-packages\honeybee\cli\validate.py", line 39, in validate_model
    parsed_model = Model.from_hbjson(model_json)
  File "C:\Users\zz\ladybug_tools\python\lib\site-packages\honeybee\model.py", line 234, in from_hbjson
    return cls.from_dict(data)
  File "C:\Users\zz\ladybug_tools\python\lib\site-packages\honeybee\model.py", line 204, in from_dict
    model.properties.apply_properties_from_dict(data)
  File "C:\Users\zz\ladybug_tools\python\lib\site-packages\honeybee\properties.py", line 349, in apply_properties_from_dict
    'Failed to apply {} properties to the Model: {}'.format(atr, e))
Exception: Failed to apply energy properties to the Model: Face construction "Typical Insulated Exterior Mass Wall-R2" was not found in constructions.

Also when I create a new construction set and assign it to a room with outdoor faces, this is the outcome

Validating Model using honeybee-core==1.48.5 and honeybee-schema==1.47.0
Traceback (most recent call last):
  File "C:\Users\zz\ladybug_tools\python\lib\site-packages\honeybee_energy\properties\face.py", line 149, in apply_properties_from_dict
    self.construction = constructions[abridged_data['construction']]
KeyError: 'Typical Insulated Exterior Mass Wall-R2'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\zz\ladybug_tools\python\lib\site-packages\honeybee\properties.py", line 344, in apply_properties_from_dict
    var.apply_properties_from_dict(data)
  File "C:\Users\zz\ladybug_tools\python\lib\site-packages\honeybee_energy\properties\model.py", line 606, in apply_properties_from_dict
    face.properties.energy.apply_properties_from_dict(f_dict, constructions)
  File "C:\Users\zz\ladybug_tools\python\lib\site-packages\honeybee_energy\properties\face.py", line 152, in apply_properties_from_dict
    'constructions.'.format(abridged_data['construction']))
ValueError: Face construction "Typical Insulated Exterior Mass Wall-R2" was not found in constructions.
--- Logging error ---
Traceback (most recent call last):
  File "C:\Users\zz\ladybug_tools\python\lib\site-packages\honeybee_energy\properties\face.py", line 149, in apply_properties_from_dict
    self.construction = constructions[abridged_data['construction']]
KeyError: 'Typical Insulated Exterior Mass Wall-R2'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\zz\ladybug_tools\python\lib\site-packages\honeybee\properties.py", line 344, in apply_properties_from_dict
    var.apply_properties_from_dict(data)
  File "C:\Users\zz\ladybug_tools\python\lib\site-packages\honeybee_energy\properties\model.py", line 606, in apply_properties_from_dict
    face.properties.energy.apply_properties_from_dict(f_dict, constructions)
  File "C:\Users\zz\ladybug_tools\python\lib\site-packages\honeybee_energy\properties\face.py", line 152, in apply_properties_from_dict
    'constructions.'.format(abridged_data['construction']))
ValueError: Face construction "Typical Insulated Exterior Mass Wall-R2" was not found in constructions.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\zz\ladybug_tools\python\lib\site-packages\honeybee\cli\validate.py", line 39, in validate_model
    parsed_model = Model.from_hbjson(model_json)
  File "C:\Users\zz\ladybug_tools\python\lib\site-packages\honeybee\model.py", line 234, in from_hbjson
    return cls.from_dict(data)
  File "C:\Users\zz\ladybug_tools\python\lib\site-packages\honeybee\model.py", line 204, in from_dict
    model.properties.apply_properties_from_dict(data)
  File "C:\Users\zz\ladybug_tools\python\lib\site-packages\honeybee\properties.py", line 349, in apply_properties_from_dict
    'Failed to apply {} properties to the Model: {}'.format(atr, e))
Exception: Failed to apply energy properties to the Model: Face construction "Typical Insulated Exterior Mass Wall-R2" was not found in constructions.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\zz\ladybug_tools\python\lib\logging\handlers.py", line 70, in emit
    self.doRollover()
  File "C:\Users\zz\ladybug_tools\python\lib\logging\handlers.py", line 394, in doRollover
    self.rotate(self.baseFilename, dfn)
  File "C:\Users\zz\ladybug_tools\python\lib\logging\handlers.py", line 111, in rotate
    os.rename(source, dest)
PermissionError: [WinError 32] Der Prozess kann nicht auf die Datei zugreifen, da sie von einem anderen Prozess verwendet wird: 'C:\\Users\\zz\\.honeybee\\honeybee.log' -> 'C:\\Users\\zz\\.honeybee\\honeybee.log.2020-10-09'
Call stack:
  File "C:\Users\zz\ladybug_tools\python\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "C:\Users\zz\ladybug_tools\python\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Users\zz\ladybug_tools\python\lib\site-packages\honeybee\__main__.py", line 4, in <module>
    main()
  File "C:\Users\zz\ladybug_tools\python\lib\site-packages\click\core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "C:\Users\zz\ladybug_tools\python\lib\site-packages\click\core.py", line 782, in main
    rv = self.invoke(ctx)
  File "C:\Users\zz\ladybug_tools\python\lib\site-packages\click\core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "C:\Users\zz\ladybug_tools\python\lib\site-packages\click\core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "C:\Users\zz\ladybug_tools\python\lib\site-packages\click\core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "C:\Users\zz\ladybug_tools\python\lib\site-packages\click\core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "C:\Users\zz\ladybug_tools\python\lib\site-packages\honeybee\cli\validate.py", line 51, in validate_model
    _logger.exception('Model validation failed.\n{}'.format(e))
Message: 'Model validation failed.\nFailed to apply energy properties to the Model: Face construction "Typical Insulated Exterior Mass Wall-R2" was not found in constructions.'
Arguments: ()
honeybee.cli.validate - ERROR - Model validation failed.
Failed to apply energy properties to the Model: Face construction "Typical Insulated Exterior Mass Wall-R2" was not found in constructions.
Traceback (most recent call last):
  File "C:\Users\zz\ladybug_tools\python\lib\site-packages\honeybee_energy\properties\face.py", line 149, in apply_properties_from_dict
    self.construction = constructions[abridged_data['construction']]
KeyError: 'Typical Insulated Exterior Mass Wall-R2'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\zz\ladybug_tools\python\lib\site-packages\honeybee\properties.py", line 344, in apply_properties_from_dict
    var.apply_properties_from_dict(data)
  File "C:\Users\zz\ladybug_tools\python\lib\site-packages\honeybee_energy\properties\model.py", line 606, in apply_properties_from_dict
    face.properties.energy.apply_properties_from_dict(f_dict, constructions)
  File "C:\Users\zz\ladybug_tools\python\lib\site-packages\honeybee_energy\properties\face.py", line 152, in apply_properties_from_dict
    'constructions.'.format(abridged_data['construction']))
ValueError: Face construction "Typical Insulated Exterior Mass Wall-R2" was not found in constructions.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\zz\ladybug_tools\python\lib\site-packages\honeybee\cli\validate.py", line 39, in validate_model
    parsed_model = Model.from_hbjson(model_json)
  File "C:\Users\zz\ladybug_tools\python\lib\site-packages\honeybee\model.py", line 234, in from_hbjson
    return cls.from_dict(data)
  File "C:\Users\zz\ladybug_tools\python\lib\site-packages\honeybee\model.py", line 204, in from_dict
    model.properties.apply_properties_from_dict(data)
  File "C:\Users\zz\ladybug_tools\python\lib\site-packages\honeybee\properties.py", line 349, in apply_properties_from_dict
    'Failed to apply {} properties to the Model: {}'.format(atr, e))
Exception: Failed to apply energy properties to the Model: Face construction "Typical Insulated Exterior Mass Wall-R2" was not found in constructions.

Any idea what is happening here?

Here is a test file. The error message may deviates from the ones above because I took them from another model. But anyway the problem is the same.
Test.3dm (234.8 KB)

Hi @martin6 sorry for the late reply. This issue should have been fixed and please let us know if the issue remains.