Parameter#
- class astropy.cosmology.Parameter(*, default: Any = <MISSING>, derived: bool = False, unit: _UnitField = None, equivalencies: u.Equivalency | Sequence[u.Equivalency] = <factory>, fvalidate: _FValidateField = 'default', doc: str | None = None)[source]#
Bases:
object
Cosmological parameter (descriptor).
Should only be used with a
Cosmology
subclass.- Parameters:
- default
Any
(optional, keyword-only) Default value of the Parameter. If not given the Parameter must be set when initializing the cosmology.
- derivedbool (optional, keyword-only)
Whether the Parameter is ‘derived’, default
False
. Derived parameters behave similarly to normal parameters, but are not sorted by the |Cosmology| signature (probably not there) and are not included in all methods. For reference, seeOde0
inFlatFLRWMixin
, which removes \(\Omega_{de,0}`\) as an independent parameter (\(\Omega_{de,0} \equiv 1 - \Omega_{tot}\)).- unitastropy:unit-like or
python:None
(optional, keyword-only) The
Unit
for the Parameter. If None (default) no unit as assumed.- equivalencies
Equivalency
or python:sequence thereof Unit equivalencies for this Parameter.
- fvalidate
python:callable()
[[object
,object
,Any
],Any
] orpython:str
(optional, keyword-only) Function to validate the Parameter value from instances of the cosmology class. If “default”, uses default validator to assign units (with equivalencies), if Parameter has units. For other valid string options, see
Parameter._registry_validators
. ‘fvalidate’ can also be set through a decorator withvalidator()
.- doc
python:str
orpython:None
(optional, keyword-only) Parameter description.
- default
Examples
For worked examples see
FLRW
.Attributes Summary
Default value of the Parameter.
Whether the Parameter can be set, or is derived, on the cosmology.
Parameter description.
Function to validate/convert values when setting the Parameter.
The name of the Parameter on the Cosmology.
The unit of the Parameter (can be
None
for unitless).Methods Summary
clone
(**kw)Clone this
Parameter
, changing any constructor argument.register_validator
(key[, fvalidate])Decorator to register a new kind of validator function.
validate
(cosmology, value)Run the validator on this Parameter.
validator
(fvalidate)Make new Parameter with custom
fvalidate
.Attributes Documentation
- default: Any = 1#
Default value of the Parameter.
By default set to
MISSING
, which indicates the parameter must be set when initializing the cosmology.
- derived: bool = False#
Whether the Parameter can be set, or is derived, on the cosmology.
- doc: str | None = None#
Parameter description.
- fvalidate: _FValidateField = 'default'#
Function to validate/convert values when setting the Parameter.
- name: str = None#
The name of the Parameter on the Cosmology.
Cannot be set directly.
- unit: _UnitField = None#
The unit of the Parameter (can be
None
for unitless).
Methods Documentation
- clone(**kw)[source]#
Clone this
Parameter
, changing any constructor argument.- Parameters:
- **kw
Passed to constructor. The current values, eg.
fvalidate
are used as the default values, so an empty**kw
is an exact copy.
Examples
>>> p = Parameter() >>> p Parameter(derived=False, unit=None, equivalencies=[], fvalidate='default', doc=None)
>>> p.clone(unit="km") Parameter(derived=False, unit=Unit("km"), equivalencies=[], fvalidate='default', doc=None)
- static register_validator(key, fvalidate=None)[source]#
Decorator to register a new kind of validator function.
- Parameters:
- key
python:str
- fvalidate
python:callable()
[[object
,object
,Any
],Any
] orpython:None
, optional Value validation function.
- key
- Returns:
validator
orpython:callable()
[validator
]if validator is None returns a function that takes and registers a validator. This allows
register_validator
to be used as a decorator.