Open mbadams5 opened 4 years ago
Added the defect file to DevSupport repo.
The source of the problem can be found in the expanded idf, which explains why the idf generation stopped short:
Output:PreprocessorMessage,
ExpandObjects, !- Preprocessor Name
Fatal, !- Error Severity
Severe: In HVACTemplate:Plant:ChilledWaterLoop "Chiled Water Loop" there, !- message line
is one or more water cooled chiller(s) but there are no towers serving this, !- message line
loop.; !- message line
Interesting. I guess I would expect ExpandObjects to fail to generate the expanded idf in that instance, not generate a partially complete IDF. One option is for E+ to check for preprocessing messages and throw a fatal error if it encounters a fatal preprocessing message.
It builds the idf file as it goes. Prior to the input processor rewrite, the idf file would process and post the preprocessor errors to the EnergyPlus err file, so the user would see them. So, in some cases, the errors will need to be trapped earlier before starting to write an object, or the size of various component lists may need to be checked earlier before terminating the idf write.
For this particular file, it can be fixed by adding a cooling tower, or by changing the chiller to aircooled. But with that fixed, it still won't run, because a hot water loop is specified, but there are no hot water coils to be serve in the air handler or terminal units.
But yeah, if it's possible to scan the incoming file for Output:PreprocessorMessage and write those to the err output even if it finds a bad object, that would be helpful.
That might be possible, but let me check in the code.
There are a couple things going on here, right? And part of it will persist past 9.3 if I understand it right. I'm going to change the milestone, but if I am wrong, please correct it.
Issue overview
https://unmethours.com/question/42355/energyplus-jsonexceptiontype_error305/ The file is in Helpline Ticket 15382.
The real issue is that ExpandObjects is creating bad IDF files as shown in the expanded snippet below:
ExpandObjects should not output poorly formed IDFs. However, the input processor should still handle these poor IDFs with a more meaningful error message.
Details
Some additional details for this issue (if relevant):
Checklist
Add to this list or remove from it as applicable. This is a simple templated set of guidelines.