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
-
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
-
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 aGas
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 asold_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
-
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]¶
-
property
muProfile
¶
-
property