Mixin (taurex.mixin)

class ChemistryMixin(**kwargs)[source]

Bases: taurex.mixin.core.Mixin

class ContributionMixin(**kwargs)[source]

Bases: taurex.mixin.core.Mixin

class ForwardModelMixin(**kwargs)[source]

Bases: taurex.mixin.core.Mixin

class GasMixin(**kwargs)[source]

Bases: taurex.mixin.core.Mixin

class InstrumentMixin(**kwargs)[source]

Bases: taurex.mixin.core.Mixin

class Mixin(**kwargs)[source]

Bases: taurex.data.fittable.Fittable, taurex.data.citation.Citable

classmethod input_keywords()[source]
class ObservationMixin(**kwargs)[source]

Bases: taurex.mixin.core.Mixin

class OptimizerMixin(**kwargs)[source]

Bases: taurex.mixin.core.Mixin

class PlanetMixin(**kwargs)[source]

Bases: taurex.mixin.core.Mixin

class PressureMixin(**kwargs)[source]

Bases: taurex.mixin.core.Mixin

class StarMixin(**kwargs)[source]

Bases: taurex.mixin.core.Mixin

A mixin that enhances Star

class TemperatureMixin(**kwargs)[source]

Bases: taurex.mixin.core.Mixin

build_new_mixed_class(base_klass, mixins)[source]
determine_mixin_args(klasses)[source]
enhance_class(base_klass, mixins, **kwargs)[source]
mixed_init(self, **kwargs)[source]
class MakeFreeMixin(**kwargs)[source]

Bases: taurex.mixin.core.ChemistryMixin

Provides a addGas() method to any chemistry class that will either inject or force a molecule to become a Gas object. Allowing them to be freely changed or retrieved.

For example lets enhance ACE:

>>> from taurex_ace import ACEChemistry
>>> from taurex.mixin import enhance_class, MakeFreeMixin
>>> old_ace = ACEChemistry()
>>> new_ace = enhance_class(ACEChemistry, MakeFreeMixin)

new_ace behaves the same as old_ace:

>>> new_ace.ace_metallicity
1.0

And we see the same molecules and fitting parameters exist:

>>> old_ace.gases == new_ace.gases
True
>>> new_ace.gases
['CH3COOOH', 'C4H9O', ... 'HNC', 'HON', 'NCN']
>>> new_ace.fitting_parameters().keys()
dict_keys(['ace_metallicity', 'metallicity', 'ace_co', 'C_O_ratio'])

new_ace is embued with the

>>> from taurex.chemistry import ConstantGas
>>> new_ace.addGas(ConstantGas('TiO',1e-8)).addGas(ConstantGas('VO',1e-8))
>>> new_ace.gases == old_ace.gases
False
>>> new_ace.gases
['CH3COOOH', 'C4H9O', ... 'HNC', 'HON', 'NCN', 'TiO', 'VO']

And indeed see that they are included. We can also retrieve them:

>>> new_ace.fitting_parameters().keys()
dict_keys(['TiO', 'VO', 'ace_metallicity', 'metallicity', 'ace_co', 'C_O_ratio'])

Finally we can force an existing molecule like CH4 into becoming a Gas:

>>> new_ace.addGas(ConstantGas('CH4',1e-5))

And see that it is now a retrieval parameter as well.

>>> new_ace.fitting_parameters().keys()
dict_keys(['TiO', 'VO', 'CH4', 'ace_metallicity', 'metallicity', 'ace_co', 'C_O_ratio'])
property activeGasMixProfile

Active gas layer by layer mix profile

Returns

active_mix_profile

Return type

array

property activeGases
addGas(gas)[source]

Adds a gas in the atmosphere.

Parameters

gas (Gas) – Gas to add into the atmosphere. Only takes effect on next initialization call.

compute_mu_profile(nlayers)[source]

Computes molecular weight of atmosphere for each layer

Parameters

nlayers (int) – Number of layers

determine_new_mix_mask()[source]
fitting_parameters()[source]

Overrides the fitting parameters to return one with all the gas profile parameters as well

Returns

fit_param

Return type

dict

property gases
property inactiveGasMixProfile

Inactive gas layer by layer mix profile

Returns

inactive_mix_profile

Return type

array

property inactiveGases
initialize_chemistry(nlayers=100, temperature_profile=None, pressure_profile=None, altitude_profile=None)[source]
classmethod input_keywords()[source]
property muProfile
class TempScaler(**kwargs)[source]

Bases: taurex.mixin.core.TemperatureMixin

classmethod input_keywords()[source]
property profile
property scaleFactor

None