Add Diffuse Shading Schedule Import#11603
Conversation
mitchute
left a comment
There was a problem hiding this comment.
@JingwenGu some comments for you on this to start with. We likely will have more once these issues are addressed.
| } // TimeStep Loop | ||
| } // Hour Loop | ||
|
|
||
| // ESL edit start |
There was a problem hiding this comment.
Comments like this are not necessary. That's what the git commit history is for.
There was a problem hiding this comment.
We don't need three new example files to exercise this. Our preference would for there to be zero new IDFs and for all tests to be added as unit tests under the /tst folder. There's a resources directory in there (tst/EnergyPlus/unit/Resources) where you can add full IDFs that are required, which likely isn't the case. More likely is that you can just add the IDF objects you need to exercise your code to the unit tests directly.
Also, the resources folder would be a good place to add an example schedule file.
| // Write data row with only the 4 attributes per surface | ||
| csvOut << iHour << ":" << iTimeStep; | ||
| for (int SurfNum : s_surf->AllExtSolAndShadingSurfaceList) { | ||
| auto &surface = s_surf->Surface(SurfNum); |
There was a problem hiding this comment.
This variable is unused, which we treat as an error on some platforms. You'll need to remove this and any others out before linux builds will be successful.
|
|
||
| ```bash | ||
| git clone https://github.com/NREL/EnergyPlus | ||
|
|
||
| mkdir build | ||
|
|
||
| cd build | ||
|
|
||
| cmake .. | ||
|
|
||
| cmake -S . -B build -DBUILD_TESTING=ON | ||
|
|
||
| cmake --build build --config Release -j | ||
|
|
||
| ./build/Products/Release/energyplus.exe -w ./weather/USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw -d out_run ./testfiles/DirDiffShadingOverrideTestIdf_25_2.idf | ||
| ``` No newline at end of file |
|
|
||
| // ASSERT_TRUE(process_idf(idf_objects_scheduled)); | ||
| // state->init_state(*state); | ||
|
|
||
| // FoundError = false; | ||
|
|
||
| // HeatBalanceManager::GetProjectControlData(*state, FoundError); | ||
| // // EXPECT_FALSE(FoundError); | ||
|
|
||
| // HeatBalanceManager::SetPreConstructionInputParameters(*state); |
There was a problem hiding this comment.
The unit tests should be cleaned up and not have large blocks commented out without some reason.
Pull request overview
Description of the purpose of this PR
This pull request introduces a framework for importing externally computed diffuse shading quantities into EnergyPlus. The feature enables users to override EnergyPlus internal diffuse shading calculations with timestep-resolved shading data generated by external simulation pipelines such as ray tracing, voxel-based methods, or other custom shading workflows.
The implementation is designed to improve interoperability between EnergyPlus and advanced urban-scale or geometry-heavy shading simulation systems while preserving the existing downstream energy simulation workflow.
Pull Request Author
Reviewer