cape.pyfun.options.util: Utilities for pyFun options module

This module provides tools to read, access, modify, and write settings for cape.pyfun. It is based off of the cape.cfdx.options.util module and provides a special class cape.cfdx.options.odict that is subclassed from the Python built-in dict. Behavior, such as opts['Namelist'] or opts.get('Namelist') are also present. In addition, many convenience methods such as opts.get_FUN3DNamelist() are provided.

In addition, this module controls default values of each pyFun parameter in a three-step process. The precedence used to determine what the value of a given parameter should be is below.

  1. Values directly specified in the input file, pyFun.json

  2. Values specified in the default control file, $PYFUN/settings/pyFun.default.json

  3. Hard-coded defaults from this module

See Also:
cape.pyfun.options.util.getFun3DTemplate(fname)

Get full path to template with file name fname

Call:
>>> fabs = getFun3DTemplate(fname)
Inputs:
fname: str

Name of file, such as input.cntl

Outputs:
fabs: str

Full path to the template file

Versions:
  • 2016-04-27 @ddalle: Version 1.0

  • 2021-03-01 @ddalle: Version 2.0; see get_template()

cape.pyfun.options.util.getPyFunDefaults()

Read pyFun.default.json default JSON file

Call:
>>> defs = getPyFunDefaults()
Outputs:
defs: dict

Dictionary of settings read from JSON file

Versions:
  • 2014-06-03 @ddalle: Version 1.0

  • 2014-07-28 @ddalle: Version 1.1; options module

  • 2021-03-01 @ddalle: Version 2.0; local JSON file

cape.pyfun.options.util.get_template(fname)

Get the absolute path to a template file by name

Call:
>>> fabs = get_template(fname)
Inputs:
fname: str

Name of file, such as input.cntl

Outputs:
fabs: str

Full path to file

Versions:
  • 2015-10-26 @ddalle: Version 1.0; getTemplateFolder()

  • 2021-03-01 @ddalle: Version 2.0
    • Moved to cape/pyfun/ folder

    • Compatible with setuptools

cape.pyfun.options.util.rc0(p)

Get default from cape.pyfun.options.rc; ensure a scalar

Call:
>>> v = rc0(s)
Inputs:
s: str

Name of parameter to extract

Outputs:
v: any

Either rc[s] or rc[s][0], whichever is appropriate

Versions:
  • 2014-08-01 @ddalle: Version 1.0