[Fitting]
¶
This header deals with controlling the fitting procedure.
The format for altering and controlling fitting parameters is of the form:
fit_param:option = value
Here fit_param
is the name of the fitting parameter as is given
under the Fitting Parameters headers in the user documentation. This also
includes any custom fitting parameters provided by a users custom class (See: Custom Types)
Only parameters that exist within the forward model can be set/altered. Trying to set
any other parameter will yield an error.
option
defines a set of control key words that alter what the fitting parameter does.
For example, we can enable fitting of the planet radius using the fit
option:
[Fitting]
planet_radius:fit = True
New-style priors¶
New in version 3.1.
The prior
option allows you define a
prior function for a particular fitting parameter. This replaces the older
method by allowing for more control over what type of function to use.
They are expandable with new ones implemented through plugins or custom code.
Its syntax is very no similar to creating an object in python, for example to define a uniform prior of bounds 0.8–5.0 Jupiter masses we can do:
[Fitting]
planet_radius:fit = True
planet_radius:prior = "Uniform(bounds=(0.8, 5.0))"
It is important that the prior definition is surrounded by quotation
marks. The prior definitions can contain multiple and distinct arguments,
and have seperate Log
forms as well with arguments in log-space:
[Fitting]
H2O:fit = True
H2O:prior = "LogUniform(bounds=(-12, -2))"
Often these log-forms have extra linear (lin
) arguments where
they are defined in linear space instead, for example, the
prior space:
[Fitting]
H2O:fit = True
H2O:prior = "LogUniform(lin_bounds=(1e-12, 1e-2))"
is equivalent to the previous example.
The second included prior is the Gaussian
prior which
has mean and standard deviation arguments:
planet_radius:prior = "Gaussian(mean=1.0,std=0.3)"
as well as log versions:
H2O:prior = "LogGaussian(mean=-4,std=2)"
The mean can be defined in linear space with the lin_mean
argument:
H2O:prior = "LogGaussian(lin_mean=1e-4,std=2)"
Discovery¶
Refer to the documentation or plugin documentation to find out what fitting parameters
are available. You can pass your input file with the --fitparam
option to list
available parameters:
> taurex -i myinput.par --fitparam
With the fitting paramaters listed under Available Retrieval Parameters
:
-----------------------------------------------
------Available Retrieval Parameters-----------
-----------------------------------------------
╒══════════════════╤══════════════════════════════════════════════════════╕
│ Param Name │ Short Desc │
╞══════════════════╪══════════════════════════════════════════════════════╡
│ planet_mass │ Planet mass in Jupiter mass │
├──────────────────┼──────────────────────────────────────────────────────┤
│ planet_radius │ Planet radius in Jupiter radii │
├──────────────────┼──────────────────────────────────────────────────────┤
│ planet_distance │ Planet semi major axis from parent star (AU) │
├──────────────────┼──────────────────────────────────────────────────────┤
│ planet_sma │ Planet semi major axis from parent star (AU) (ALIAS) │
├──────────────────┼──────────────────────────────────────────────────────┤
│ atm_min_pressure │ Minimum pressure of atmosphere (top layer) in Pascal │
├──────────────────┼──────────────────────────────────────────────────────┤
│ atm_max_pressure │ Maximum pressure of atmosphere (surface) in Pascal │
├──────────────────┼──────────────────────────────────────────────────────┤
│ T │ Isothermal temperature in Kelvin │
├──────────────────┼──────────────────────────────────────────────────────┤
│ H2O │ H2O constant mix ratio (VMR) │
├──────────────────┼──────────────────────────────────────────────────────┤
│ CH4 │ CH4 constant mix ratio (VMR) │
├──────────────────┼──────────────────────────────────────────────────────┤
│ He_H2 │ He/H2 ratio (volume) │
├──────────────────┼──────────────────────────────────────────────────────┤
│ clouds_pressure │ Cloud top pressure in Pascal │
╘══════════════════╧══════════════════════════════════════════════════════╛
-----------------------------------------------
------Available Computable Parameters----------
-----------------------------------------------
╒══════════════╤════════════════════════════════════════╕
│ Param Name │ Short Desc │
╞══════════════╪════════════════════════════════════════╡
│ logg │ Surface gravity (m2/s) in log10 │
├──────────────┼────────────────────────────────────────┤
│ avg_T │ Average temperature across all layers │
├──────────────┼────────────────────────────────────────┤
│ mu │ Mean molecular weight at surface (amu) │
├──────────────┼────────────────────────────────────────┤
│ C_O_ratio │ C/O ratio (volume) │
├──────────────┼────────────────────────────────────────┤
│ He_H_ratio │ He/H ratio (volume) │
╘══════════════╧════════════════════════════════════════╛
Old-Style priors¶
Warning
It is recommended that the new style priors are used. These are only included for compatability and will be removed in the next major version of TauREx
We can set the prior boundaries between 1.0 - 5.0 Jupiter masses
using the bounds
option:
[Fitting]
planet_radius:fit = True
planet_radius:bounds = 1.0, 5.0
And fit it in log space using the mode
option:
[Fitting]
planet_radius:fit = True
planet_radius:bounds = 1.0, 5.0
planet_radius:mode = log
Caution
bounds
must be given in linear space. Even if fitting
in log space. TauREx3 will automatically convert these bounds to
the correct fitting space.
If we have a constant H2O chemistry in the atmosphere we can fit it in linear space instead of the default log:
[Fitting]
planet_radius:fit = True
planet_radius:bounds = 1.0, 5.0
planet_radius:mode = log
H2O:fit = True
H2O:mode = linear
H2O:bounds = 1e-12, 1e-1
Deperecated Options table¶
A summary all valid option
is given here:
Option |
Description |
Values |
|
Enable or disable fitting |
|
|
Prior boundaries in linear space |
min, max |
|
Scaled boundaries in linear space |
sclmin, sclmax |
|
Fitting space |
|