PlasmaCalcs.tools.xarray_tools.xarray_misc.xarray_vars_lookup_with_defaults
- PlasmaCalcs.tools.xarray_tools.xarray_misc.xarray_vars_lookup_with_defaults(ds, provided, lookup={}, defaults={})
- return dict of {key from lookup: value for that key}.
- provided: dict of {key: None, str, or other value}
- provided values or lookup instructions for each key.None –> use instructions from lookup if key in lookup,else value from defaults if key in defaults.str –> varname; result uses ds[varname]. (crash if not possible.)callable –> f of one arg; result uses f(ds).other value –> result uses this value directly.
- lookup: dict of {key: None, str, or list of str}
- ‘default’ lookup instructions. Used when provided[key] is None.
- defaults: dict of {key: value or callable}
- default values for each key.Used when provided[key] is None and ds[lookup[key]] not found.callable –> called with ds as arg to get value.
Examples:xarray_vars_lookup_with_defaults(ds, {}, {‘n’: None}, {‘n’: 100})# {‘n’: ds[‘n’]} if ds[‘n’] exists, else {‘n’: 100}xarray_vars_lookup_with_defaults(ds, {}, {‘n’: ‘var1’}, {‘n’: lambda ds: ds.size})# {‘n’: ds[‘var1’]} if ds[‘var1’] exists, else {‘n’: ds.size}xarray_vars_lookup_with_defaults(ds, {‘n’: ‘var1’}, {‘n’: ‘var2’}, {‘n’: 7})# {‘n’: ds[‘var1’]} if ds[‘var1’] exists, else crash.# (lookup & defaults are fully ignored, if non-None value in provided.)