Eppy fails then running large amount of IDF files
Hi
I am using eppy to run a series of premade IDF files. I have used the code segment described in "Running in parallel processes using Generators." in the eppy documentation. The code segment works perfectly for smaller series of IDF files, but I start getting errors, then I add up to 10000 plus IDF files in the queue. My error right now:
Program Version,EnergyPlus, Version 8.9.0-40101eaafd, YMD=2022.07.11 15:00,
** Severe ** <root> - Missing required property 'GlobalGeometryRules'.
** Fatal ** Errors occurred on processing input file. Preceding condition(s) cause termination.
...Summary of Errors that led to program termination:
..... Reference severe error count=1
..... Last severe error=<root> - Missing required property 'GlobalGeometryRules'.
************* Warning: Node connection errors not checked - most system input has not been read (see previous warning).
************* Fatal error -- final processing. Program exited before simulations began. See previous error messages.
************* EnergyPlus Warmup Error Summary. During Warmup: 0 Warning; 0 Severe Errors.
************* EnergyPlus Sizing Error Summary. During Sizing: 0 Warning; 0 Severe Errors.
************* EnergyPlus Terminated--Fatal Error Detected. 0 Warning; 1 Severe Errors; Elapsed Time=00hr 00min 0.40sec
multiprocessing.pool.RemoteTraceback:
"""
Traceback (most recent call last):
File "C:\Users\ms-admin\AppData\Local\Programs\Python\Python38\lib\site-packages\eppy\runner\run_functions.py", line 374, in run
check_call(cmd)
File "C:\Users\ms-admin\AppData\Local\Programs\Python\Python38\lib\subprocess.py", line 364, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['C:/EnergyPlusV8-9-0\\energyplus.exe', '--weather', 'E:\\BetweenBlinds\\Between_LosAngeles__Beijing\\LAX\\EnergySim\\LAX.epw', '--output-directory', 'E:\\BetweenBlinds\\Between_LosAngeles__Beijing\\LAX\\EnergySim\\Unlimited\\smallOffice__WFR10__NE__BetweenBlinds15__70__LOWE__2Layer__PO__300_Wm2\\EnergyPlus', '--expandobjects', '--readvars', '--output-prefix', 'smallOffice__WFR10__NE__BetweenBlinds15__70__LOWE__2Layer__PO__300_Wm2', '--output-suffix', 'C', 'C:\\Windows\\system32\\multi_runs\\idf_45554\\in.idf']' returned non-zero exit status 1.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\ms-admin\AppData\Local\Programs\Python\Python38\lib\multiprocessing\pool.py", line 125, in worker
result = (True, func(*args, **kwds))
File "C:\Users\ms-admin\AppData\Local\Programs\Python\Python38\lib\site-packages\eppy\runner\run_functions.py", line 215, in multirunner
run(*args[0], **args[1])
File "C:\Users\ms-admin\AppData\Local\Programs\Python\Python38\lib\site-packages\eppy\runner\run_functions.py", line 389, in run
raise EnergyPlusRunError(message)
eppy.runner.run_functions.EnergyPlusRunError:
But the GlobalGeometryRules are in the IDF files for the given file. Therefore I am inclined to believe the error is occurring. Then I run many IDF files (10000+). Therefore I would be interested if anyone knew how to catch these errors in the Eppy foundation before it crashes my program.
def make_eplaunch_options(idf):
"""Make options for run, so that it runs like EPLaunch on Windows"""
idfversion = idf.idfobjects['version'][0].Version_Identifier.split('.')
idfversion.extend([0] * (3 - len(idfversion)))
idfversionstr = '-'.join([str(item) for item in idfversion])
fname = idf.idfname
options = {
'ep_version':idfversionstr, # runIDFs needs the version number
'output_prefix':os.path.basename(fname).split('.')[0],
'output_suffix':'C',
'output_directory':os.path.dirname(fname),
'readvars':True,
'expandobjects':True
}
return options
def energy_simulations(recipe, log, config, fnames):
"""
Run all no-MSF energy simulations
"""
iddfile = os.path.join(config.getValue('path', "energyplus"),"Energy+.idd")
log.debug("Energyplus ...
Sorry I am seeing this question rather late can you open this issue in github https://github.com/santoshphilip/eppy...
This may take a bit of back and forth to tease out the problem (and maybe update eppy)