DimensionSpecialValueSpecifier

class PlasmaCalcs.dimensions.dimension_tools.dimension_value.DimensionSpecialValueSpecifier(getter, *args__None, iseler=None, isel_cls=UNSET, **kw__None)

Bases: object

behaves in a special way when used to specify a dimension value:

dim.v = specifier –> dim.v = specifier.getter(dim.values)
dlist.get(specifier) –> specifier.getter(dlist)
(for DimensionSpecialValueSpecifier specifier,
Dimension dim, and DimensionValueList dlist.)
getter: str or callable
self specifies to use the dimension value(s): self.getter(dlist)
callable –> callable of 1 arg; will be passed dlist.
str –> use dlist.{getter}(). E.g. getter=’get_ion’ –> use dlist.get_ion().
internally stored at self.init_getter.
iseler: None, str, or callable
if provided, can use self in calls to PlasmaCalcs’ xarray_isel and xarray_sel,
commonly via array.pc.sel(dim=self) or array.pc.isel(dim=self).
None –> crash with InputError if used in xarray_isel or xarray_sel.
callable –> callable of 1 arg; will be passed list of coord values for dim,
(probably a list of DimensionValue objects, maybe converted to DimensionValueList).
must return index (or indexes) appropriate for xarray.isel.
str –> use dlist.{iseler}(), where dlist=isel_cls(list of coord values for dim).
E.g. iseler=’i_ions’, isel_cls=FluidList –> use FluidList(values).i_ions().
internally stored at self.init_iseler.
isel_cls: UNSET, None, or type
if provided, iseler calls use iseler(isel_cls(list of coord values for dim)),
else, iseler calls use iseler(list of coord values for dim).
(None –> set self.isel_cls = None. UNSET –> do not set self.isel_cls.)

Methods

_getter_as_str()

returns str representation of self.getter.

_getter_from_str(dlist)

get the value from dlist specified by str self.getter.

_iseler_as_str()

returns str representation of self.iseler.

_iseler_from_str(dvals)

get the indexes from dlist specified by str self.iseler.

_iseler_when_none(dvals)

crash, because self was passed to xarray_isel or xarray_sel but self.iseler is None.

_repr_contents()

contents for repr; used by __repr__.

_getter_as_str()

returns str representation of self.getter.

Use self.init_getter if it exists, else self.getter if it exists, else ‘UNKNOWN_GETTER’.
_getter_from_str(dlist)

get the value from dlist specified by str self.getter.

_iseler_as_str()

returns str representation of self.iseler.

Use self.init_iseler if it exists, else self.iseler if it exists, else ‘UNKNOWN_ISELER’.
_iseler_from_str(dvals)

get the indexes from dlist specified by str self.iseler.

_iseler_when_none(dvals)

crash, because self was passed to xarray_isel or xarray_sel but self.iseler is None.

_repr_contents()

contents for repr; used by __repr__.