Eppy fails then running large amount of IDF files

asked 2022-08-02 04:02:39 -0500

rn's avatar

updated 2022-08-02 09:07:55 -0500


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


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
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)

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
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 ...
edit retag flag offensive close merge delete