Input File Format¶
Headers¶
The input file format is fairly simple to work with. The extension
for Taurex3 input files is .par
however this is generally not enforced by the code.
The input is defined in various headers, with each header having variables that can be set:
[Header]
parameter1 = value
parameter2 = anothervalue
[Header2]
parameter1 = adifferentvalue
Of course comments are handled with #
- The available headers are:
Not all of these headers are required in an input file. Some will generate default profiles when not present. To perform retrievals, [Observation], [Optimizer] and [Fitting] MUST be present
Some of these may define additional subheaders given by the [[Name]]
notation:
[Header]
parameter1 = value
[[Subheader]]
parameter2 = anothervalue
Variables¶
String variables take this form:
#This is valid
string_variable = Astringvariable
#This is also valid
string_variable_II = "A string variable"
Floats and ints are simply:
my_int_value = 10
And lists/arrays are defined using commas:
my_int_list = 10,20,30
my_float_list = 1.1,1.4,1.6,
my_string_list = hello,how,are,you
Dynamic variables¶
The input file is actually a dynamic format and its available variables can change depending
on the choice of certain profiles and types. For example lets take the [Temperature]
header,
it contains the variable profile_type
which describes which temperature profile to use.
Setting this to isothermal
gives us the T
variable which defines the isothermal temeprature:
[Temperature]
profile_type = isothermal
T = 1500.0
Now if we change the profile type to guillot2010
it will use the Guillot 2010 temperature profile
which gives access to the variables T_irr
, kappa_irr
, kappa_v1
, kappa_v2
and alpha
instead:
[Temperature]
profile_type = guillot2010
T_irr=1500
kappa_irr=0.05
kappa_v1=0.05
kappa_v2=0.05
alpha=0.005
However setting T
will throw an error as it doesn’t exist anymore:
[Temperature]
profile_type = guillot2010
#Error is thrown here
T=1500
kappa_irr=0.05
This also applies to fitting parameters, profiles provide certain fitting parameters and changing the model means that these parameters may not exist anymore.
Mixins¶
New in version 3.1.
Mixins can be applied to any base component through the +
operator:
[Temperature]
profile_type = mixin1+mixin2+base
Where we apply mixin1
and mixin2
to a base
.
Including mixins will also include their keywords as well. If mixin1
has the keyword param1
, mixin2
has param2
and base
has
another_param
then we can define in the input file:
[Temperature]
profile_type = mixin1+mixin2+base
param1 = "Hello" # From mixin 1
param2 = "World" # From mixin 2
another_param = 10.0 # From base
Mixins are evaluated in reverse, the last must be a non-mixin
for example if we have a doubler
mixin that doubles temperature profiles
then this is valid:
[Temperature]
profile_type = doubler+isothermal
but this is not valid:
[Temperature]
profile_type = isothermal+doubler
Additionally we cannot have more than one base class so this is invalid:
[Temeprature]
profile_type = doubler+isothermal+guillot
The reverse evaluation means that the first mixin will be applied last.
If we have another mixin called add50
which adds 50 K to the profile,
then:
[Temperature]
profile_type = doubler+add50+isothermal
T = 1000
Will result in a temperature profile of \(2100~K\). If we instead do this:
[Temperature]
profile_type = add50+doubler+isothermal
T = 1000
Then the resultant temperature will be \(2050~K\).