openstudiocoalition / OpenStudioApplication

The OpenStudio Application is a fully featured graphical interface to OpenStudio models including envelope, loads, schedules, and HVAC.
https://openstudiocoalition.org
Other
133 stars 25 forks source link

SetpointManager:Scheduled allows control variable/schedule type mismatch, causing ModelToIdf failure #138

Open eringold opened 9 years ago

eringold commented 9 years ago

Possibly related to https://github.com/NREL/OpenStudio/issues/1749, https://github.com/NREL/OpenStudio/issues/1747

Setting a SetpointManager:Scheduled control variable to 'HumidityRatio' (or 'MassFlowRate', or any controlVariable other than temperature) and leaving the default Schedule Name (referencing a schedule of type: Temperature) is allowed and the model will save. Attempting to run this model will cause an error at ModelToIdf, but with no error or output message (/resources/run/1-ModelToIdf-0 is empty).

The only notification that this is wrong will occur upon re-opening the model, which will fail due to draft strictness with the following error:

The collection is INVALID at strictness level 'Draft', because of the errors:
Object     level data error of type DataType          .
Error pertains to an object of type 'OS:Schedule:Ruleset', named 'Deck Temperature'.
Additional information about the error type: field-level data is of an incorrect type.
Field      level data error of type DataType          .
Error is in an object of type 'OS:SetpointManager:Scheduled', named 'Scheduled Deck Temp', in         field 3.
Additional information about the error type: field-level data is of an incorrect type.

Recommended solution: only allow schedule name choice for correct schedule type, e.g. 'Dimensionless' for humidity-related control, 'Mass Flow Rate' for mass flow control. Alternatively, provide error message at ModelToIdf failure.

Note: control variable set to 'HumidityRatio' will not allow changing the Schedule Name to another schedule of type: Temperature, but does allows the choice to remain a Temperature schedule if previously set when controlVariable = Temperature. Found in OpenStudio v.1.8.0, Windows 64bit

jmarrec commented 7 years ago

Still true today in OS 2.2.1. And actually if you switch tab and come back, you don't see the SPM:Scheduled anymore on the loop, BUT you still see it in the Main Right Column controller.

The rectangle in red is the bad SPM I added before.

screen shot 2017-09-29 at 11 11 05 am

evanweaver commented 6 years ago

Workaround: Manually use schedules that match control variable.

jmarrec commented 6 years ago

This is tightly linked to NREL/OpenStudio#1876, since it doesn't even filter by schedule type in ALL cases (this one is pretty specific since it depends another field). I'd say this one is even more of an Enhancement request than NREL/OpenStudio#1876