Repository navigation
fix(analytical): keep fractional SpaceSimulationResult UnmetHours (F-S11-2) - #219
Merged
Merged
Conversation
…S11-2) SpaceSimulationResultParameter.UnmetHours metadata IntegerParameterValue(0, 8760) -> DoubleParameterValue(0, 8760). The integer metadata rounded EnergyPlus fractional not-met time on SetValue (Convert.ToInt32: 14.5 -> 14, 14.75 -> 15, 0.25 -> 0) and accepted out-of-range fractions (-0.25 -> 0, 8760.25 -> 8760). Member, ordinal (34), key "Unmet Hours", range and JSON model unchanged. Integer values in older saved results and Tas whole-hour counts read back with the same numerical value. OccupiedUnmetHours, OccupiedHours, UnmetHourFirstIndex and AdjacencyClusterSimulationResultParameter.UnmetHours stay integer. New SpaceSimulationResultUnmetHoursTests: 12 tests, 8 fail on the previous metadata, all pass after. Generated by Michal Dengusiak and CodeClaude Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Record only: change, compatibility analysis, findings (SAM_Revit Integer parameter risk, NaN behaviour), local validation and next step. Generated by Michal Dengusiak and CodeClaude Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ks green Record only. Owner deferral of SAM_Revit compatibility (finding 1), independent review acceptance of the core fix, exact-head hosted checks at eadffe5 (Build, Test 3738/3738, SPDX), next step = owner merge approval. Tested content unchanged: 47cc5dd. Generated by Michal Dengusiak and CodeClaude Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
F-S11-2: keep fractional
SpaceSimulationResultunmet hoursOwner-approved for Ready and merge (2026-10-24) at exact head
db48598b30cf2711af40a96cb55bbe6c5e5fb713. The independent review accepted tested content47cc5dd8and reviewed the later documentation-only commits throughdb48598b. The owner deferred Revit compatibility and kept the documented NaN behaviour. Record:documentation/S11-FractionalUnmetHours-PR.md.sow/2026-Q4b7c2c36a. Tested content47cc5dd8. Every later commit is record-only:eadffe50added the record, anddb48598b(final head) records the owner deferral and the checks.4b020585) and is not touched here.Change
SpaceSimulationResultParameter.UnmetHours:IntegerParameterValue(0, 8760)→DoubleParameterValue(0, 8760). Same member, ordinal (34), key"Unmet Hours", range and JSON model.OccupiedUnmetHours,OccupiedHours,UnmetHourFirstIndexand the adjacency-clusterUnmetHoursstay integer.Before the change,
SetValueconverted withConvert.ToInt32, which rounds half to even: 0.25 → 0, 14.5 → 14, 14.75 → 15. It also accepted −0.25 and 8760.25.Compatibility
"Value": 9) still loads asInt32. It reads back as 9 through bothTryGetValue<double>andTryGetValue<int>.intcounts are stored as the same-valued double (292.0).int.Validation (local)
SpaceSimulationResultUnmetHoursTestson base metadata47cc5dd8SAM.Testsfixed: 14.5 / 14.75, also after JSON save/reload
TestCategory!=Simulation) against fixed SAMmatches accepted subject/B1a
fixtures unchanged
results-subjectwas not regenerated, because it reopens the TSD through Tas COM.Simulationfilter. It never reached the engine; the record has the details.Owner decisions
SetValue_Integerrefusesdouble. If the Revit parametersSAM_UnmetHoursCooling/Heatingare Integer-typed, newly set values would stop being written to Revit. Their type comes from an external workbook. A possible later SAM_Revit change or a shared-parameter type change is not authorised now.SetValue(NaN)used to throwOverflowException. It is now stored, like every other ranged double parameter. B1a readers drop non-finite values. No NaN guard or shared validation change is requested.Checks
eadffe50, all SUCCESS (also verified by the independent review): Build (Windows) 40112883313, Test 40112883328 (mergedfeadc3, 3738/3738), SPDX 40112883247.db48598b(record-only), re-checked before merge (mergeable, CLEAN, no review comments): all SUCCESS: Build (Windows) 40119859776, Test 40119860103 (merge7807e0fofdb48598bintob7c2c36a, 3738/3738), SPDX 40119859840.Generated by Michal Dengusiak and CodeClaude
🤖 Generated with Claude Code