Cleanup config namespace

This commit is contained in:
Paul Romano 2022-09-01 09:37:05 -05:00
parent 225e40db0c
commit fb1e92b614

View file

@ -4,6 +4,8 @@ from pathlib import Path
from openmc.data import DataLibrary
__all__ = ["config"]
class _Config(MutableMapping):
def __init__(self, data=()):
@ -39,23 +41,29 @@ class _Config(MutableMapping):
return repr(self._mapping)
# Create default configuration
config = _Config()
def _default_config():
"""Return default configuration"""
config = _Config()
# Set cross sections using environment variable
if "OPENMC_CROSS_SECTIONS" in os.environ:
config['cross_sections'] = os.environ["OPENMC_CROSS_SECTIONS"]
if "OPENMC_MG_CROSS_SECTIONS" in os.environ:
config['mg_cross_sections'] = os.environ["OPENMC_MG_CROSS_SECTIONS"]
# Set cross sections using environment variable
if "OPENMC_CROSS_SECTIONS" in os.environ:
config['cross_sections'] = os.environ["OPENMC_CROSS_SECTIONS"]
if "OPENMC_MG_CROSS_SECTIONS" in os.environ:
config['mg_cross_sections'] = os.environ["OPENMC_MG_CROSS_SECTIONS"]
# Check for depletion chain in cross_sections.xml
# Set depletion chain
chain_file = os.environ.get("OPENMC_DEPLETE_CHAIN")
if chain_file is None and config['cross_sections'] is not None:
data = DataLibrary.from_xml(config['cross_sections'])
for lib in reversed(data.libraries):
if lib['type'] == 'depletion_chain':
chain_file = lib['path']
break
if chain_file is not None:
config['chain_file'] = chain_file
# Check for depletion chain in cross_sections.xml
# Set depletion chain
chain_file = os.environ.get("OPENMC_DEPLETE_CHAIN")
if chain_file is None and config['cross_sections'] is not None:
data = DataLibrary.from_xml(config['cross_sections'])
for lib in reversed(data.libraries):
if lib['type'] == 'depletion_chain':
chain_file = lib['path']
break
if chain_file is not None:
config['chain_file'] = chain_file
return config
config = _default_config()