Skip to content

Feat: RCMethod manual and related rules#1224

Open
yiqing1021 wants to merge 11 commits intomasterfrom
YL/STEBBS_manual
Open

Feat: RCMethod manual and related rules#1224
yiqing1021 wants to merge 11 commits intomasterfrom
YL/STEBBS_manual

Conversation

@yiqing1021
Copy link

@yiqing1021 yiqing1021 commented Mar 2, 2026

Summary

This PR updates RCmethod handling in STEBBS and aligns the manual, schema/data model, and validator behavior with the intended logic.

Main changes

  • rcmethod = 0 now uses the intended default values:
    • WallOuterCapFrac = 0.5
    • RoofOuterCapFrac = 0.5
  • rcmethod = 1 now requires user-provided WallOuterCapFrac and RoofOuterCapFrac values, and validates that they are within the valid range (0-1).
  • rcmethod = 2 now adds validator checks and warnings for the required external wall/roof material properties external to insulation layer used for parameterisation.

Documentation and validation updates

  • Updated the manual / parameter descriptions to clarify the meaning of RCmethod, WallOuterCapFrac, and RoofOuterCapFrac.
  • Updated the schema/data model defaults to match the corrected behavior.
  • Added Phase B validator logic to enforce the new RCmethod rules.
  • Added tests covering the new validation and automatic default adjustment behavior.

@github-actions
Copy link

github-actions bot commented Mar 2, 2026

CI Build Plan

Changed Files

Fortran source (1 file)

  • src/suews/src/suews_phys_stebbs.f95

Python source (4 files)

  • src/supy/data_model/core/model.py
  • src/supy/data_model/core/site.py
  • src/supy/data_model/validation/pipeline/PHASE_B_DETAILED.md
  • src/supy/data_model/validation/pipeline/phase_b.py

Tests (1 file)

  • test/data_model/test_validation.py

Documentation (6 files)

  • CHANGELOG.md
  • docs/source/inputs/tables/schema.json
  • src/supy/data_model/core/model.py
  • src/supy/data_model/core/site.py
  • src/supy/data_model/validation/pipeline/PHASE_B_DETAILED.md
  • src/supy/data_model/validation/pipeline/phase_b.py

Build Configuration

Configuration
Platforms Linux x86_64, macOS ARM64, Windows x64
Python 3.9, 3.14
Test tier standard (all except slow)
UMEP build Yes (compiled extension may differ)
PR status Ready (standard matrix)

Rationale

  • Fortran source changed -> multiplatform build required
  • Python source changed -> single-platform build
  • Test files changed -> validation build
  • Compiled extension ABI may differ -> UMEP (NumPy 1.x) build included

Updated by CI on each push. See path-filters.yml for category definitions.

@yiqing1021
Copy link
Author

Hi @dayantur
I have corrected the default value by setting rcmethod = 0 when it is not specified, and assigned the corresponding default values for RoofOuterCapFrac and WallOuterCapFrac in STEBBS.

Could you please review this change and help implement the appropriate validator logic?

Based on my understanding, the validation rules should be:

  1. If rcmethod is missing

    • Assign rcmethod = 0 by default.
    • Set both RoofOuterCapFrac and WallOuterCapFrac to 0.5.
  2. If rcmethod = 1

    • Both RoofOuterCapFrac and WallOuterCapFrac must be explicitly provided by the user.
    • Their values must be within the range (0, 1).
  3. If rcmethod = 2

    • The parameterisation scheme is applied based on the thermal properties of the building material external to the insulation layer.
    • The following parameters must be provided and valid:
      • WallextThickness
      • WallextEffectiveConductivity
      • WallextDensity
      • WallextCp
      • RoofextThickness
      • RoofextEffectiveConductivity
      • RoofextDensity
      • RoofextCp

Please let me know if this aligns with your understanding, or if any adjustments are needed.

@github-actions
Copy link

github-actions bot commented Mar 2, 2026

Preview Deployed

Content Preview URL
Site https://suews.io/preview/pr-1224/
Docs https://suews.io/preview/pr-1224/docs/

Note

This preview is ephemeral. It will be lost when:

  • Another PR with site/ or docs/ changes is pushed
  • Changes are merged to master
  • A manual workflow dispatch runs

To restore, push any commit to this PR.

@yiqing1021 yiqing1021 requested a review from sunt05 March 11, 2026 12:50
@yiqing1021 yiqing1021 assigned dayantur and yiqing1021 and unassigned yiqing1021 Mar 11, 2026
@yiqing1021
Copy link
Author

Hi @sunt05 , @dayantur and I updated the default rcmethod behavior and the related input parameter handling in the validator and manual. Could you please take a look and let us know if this looks okay? Thanks.

@yiqing1021 yiqing1021 marked this pull request as ready for review March 11, 2026 13:00
@dayantur dayantur changed the title Yl/stebbs manual Feat: RCMethod manual and related rules Mar 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants