esm_rcfile package

Top-level package for ESM RCFile.


esm_rcfile.esm_rcfile module


This package contains functions to set, get, and use entries stored in the esmtoolsrc file.

To use ESM RCFile in a project:

import esm_rcfile

You can set specific values in the ~/.esmtoolsrc with:

set_rc_entry(key, value)

For example:

>>> set_rc_entry("SCOPE_CONFIG", "/pf/a/a270077/Code/scope/configs/")

Retriving an entry:

>>> fpath = get_rc_entry("FUNCTION_PATH")
>>> print(fpath)

With a default value for a non-existing key:

>>> scope_config = get_rc_entry("SCOPE_CONFIG", "/dev/null")
>>> print(scope_config)

Without a default value, you get EsmRcfileError:

>>> echam_namelist = get_rc_entry("ECHAM_NMLDIR")
EsmRcFileError: No value for ECHAM_NMLDIR found in esmtoolsrc file!!

This error is also raised if there is no ~/.esmtoolsrc file, and no default is provided.

You can also get the entire rcfile as a dict:

>>> rcdict = import_rc_file()

API Documentation

exception esm_rcfile.esm_rcfile.EsmRcfileError[source]

Bases: Exception

esm_rcfile.esm_rcfile.get_rc_entry(key, default=None)[source]

Gets a specific entry

  • key (str) –
  • default (str) –

Value for key, or default if provided

Return type:




  • Raised if key cannot be found in the rcfile and no default is provided * Raised if the esmtoolsrc file cannot be found and no default is provided.


Gets current values of the esmtoolsrc file

Returns:A dictionary representation of the rcfile
Return type:dict
esm_rcfile.esm_rcfile.set_rc_entry(key, value)[source]

Sets values in esmtoolsrc

  • key (str) –
  • value (str) –


Using this functions modifies the rcfile; which is stored in the current user’s home directory.