parameter
¶
This module contains a set of factory functions for setting up the observation models, for use in the tudat estimation framework
This module and its constituents are in many cases documented under the assumption that its functionalities are used in the context of an estimation problem. However, since estimatable parameter settings are firstly used to set up variational equations of the dynamical / observation model w.r.t. the estimatable parameters, the functionality of this module can be relevant in any context in which variational equations are required.
Functions¶
|
Function for creating parameter settings for initial state parameters. |
Function for creating parameter settings for constant drag coefficients. |
|
|
Function for creating parameter settings for arc-wise constant drag coefficients. |
Function for creating parameter settings for radiation pressure coefficients. |
|
|
Function for creating parameter settings for arc-wise radiation pressure coefficients. |
|
Function for creating parameter settings for empirical acceleration magnitudes. |
|
Function for creating parameter settings for arc-wise empirical acceleration magnitudes. |
|
Function for creating parameter settings for constant empirical acceleration terms. |
Function for creating parameter settings for arc-wise constant empirical acceleration terms. |
|
|
Function for creating parameter settings for quasi-impulsive shots. |
|
Function for creating parameter settings for a massive body's gravitational parameter. |
|
Function for creating parameter settings for the cosine coefficients of body's spherical harmonics gravitational model. |
|
Function for creating parameter settings for the sine coefficients of body's spherical harmonics gravitational model. |
Function for creating parameter settings for the cosine coefficients of body's spherical harmonics gravitational model. |
|
Function for creating parameter settings for the sine coefficients of body's spherical harmonics gravitational model. |
|
|
Function for creating parameter settings for a body's constant rotation rate. |
|
Function for creating parameter settings for a body's rotation pole position. |
|
Function for creating parameter settings for a body's \(k_{l}\) Love number. |
|
Function for creating parameter settings for a body's \(k_{lm}\) Love numbers. |
|
Function for creating parameter settings for a body's mode-coupled \(k_{lm}^{l'm'}\) Love numbers. |
Function for creating parameter settings for a body's polynomial gravity field amplitudes. |
|
Function for creating parameter settings for a body's polynomial gravity field variation amplitudes |
|
Function for creating parameter settings for a body's polynomial gravity field amplitudes at a single power. |
|
Function for creating parameter settings for a body's polynomial gravity field amplitudes at a single power. |
|
|
Function for creating parameter settings for a body's mean moment of inertia. |
|
Function for creating parameter settings for a body's periodic spin variations. |
|
Function for creating parameter settings for a body's polar motion amplitudes. |
|
Function for creating parameter settings for a body's core factor. |
|
Function for creating parameter settings for a body's free core nutation rate. |
|
Function for creating parameter settings for an absolute observation bias. |
|
Function for creating parameter settings for an relative observation bias. |
|
Function for creating parameter settings for arc-wise absolute observation bias. |
|
Function for creating parameter settings for arc-wise absolute observation bias. |
|
Function for creating parameter settings for ground station position bias. |
Function for creating parameter settings for post-newtonian gamma parameter. |
|
Function for creating parameter settings for post-newtonian beta parameter. |
- initial_states(propagator_settings: tudatpy.kernel.numerical_simulation.propagation_setup.propagator.PropagatorSettings, bodies: tudatpy.kernel.numerical_simulation.environment.SystemOfBodies, arc_initial_times: list[float] = []) list[tudatpy.kernel.numerical_simulation.estimation_setup.parameter.EstimatableParameterSettings] ¶
Function for creating parameter settings for initial state parameters.
Function for creating a parameter settings object for initial state parameters. The function uses the propagator settings to determine which type of initial state parameter (single/multi/hybrid-arc; translational/rotational/… dynamics) is to be estimated, e.g. if a single-arc translational state propagator is defined, the function will automatically create the parameters for the associated initial state parameter
Note
This function return lists of parameter settings objects. This means that the return of this function cannot simply be added to the parameter settings objects of single parameters in a list creation statement. Instead, list concatenation is recommended. Please see the following example:
# define single estimatable parameters single_parameter_1 = ... single_parameter_2 = ... ... # bad: list creation statement --> will result in nested list, undesired! list_of_all_parameters = [estimation_setup.parameter.initial_states(...), single_parameter_1, single_parameter_2, ...] # better: list concatenation --> will result in simple list, desired! list_of_all_parameters = estimation_setup.parameter.initial_states(...) + [single_parameter_1, single_parameter_2, ...]
- Parameters:
propagator_settings (
PropagatorSettings
) – Object containing the consolidated propagation settings of the simulation in the context of which the given model parameters are to be estimated.bodies (
SystemOfBodies
) – Object consolidating all bodies and environment models that constitute the physical environment.arc_initial_times (List[ float ] = []) – Initial times of arcs, only required if arc-wise propagation settings are passed via the propagator_settings object.
- Returns:
List of
EstimatableParameterSettings
objects, one per component of each initial state in the simulation.- Return type:
List[
EstimatableParameterSettings
]
- constant_drag_coefficient(body: str) tudatpy.kernel.numerical_simulation.estimation_setup.parameter.EstimatableParameterSettings ¶
Function for creating parameter settings for constant drag coefficients.
Function for creating parameter settings object for a constant drag coefficient parameter \(C_{D}\). Using the constant drag coefficient as an estimatable parameter requires:
A
constant()
aerodynamic interface to be defined for the body specified by thebody
parameterThe body specified by the
body
parameter to undergoaerodynamic()
acceleration
- Parameters:
body (str) – Name of the body, with whose drag acceleration model the estimatable parameter is associated.
- Returns:
EstimatableParameterSettings
object for the specified body’s constant drag coefficient.- Return type:
- arcwise_constant_drag_coefficient(body: str, arc_initial_times: list[float]) tudatpy.kernel.numerical_simulation.estimation_setup.parameter.EstimatableParameterSettings ¶
Function for creating parameter settings for arc-wise constant drag coefficients.
Function for creating parameter settings object for arc-wise constant drag coefficients \(C_{D}\) (arc-wise version of
constant_drag_coefficient()
). Using the arc-wise constant drag coefficient as an estimatable parameter requires:A
constant()
aerodynamic interface to be defined for the body specified by thebody
parameterThe body specified by the
body
parameter to undergoaerodynamic()
acceleration
When using this parameter, whenever \(C_{D}\) is required at a time \(t\), the index math:i in the
arc_initial_times
ordered list is found for which \(t_{i}\le t<t_{i+1}\) (or, if \(t\) is larger than the largest value in the list, \(i\) is set to be last index of the list), and the parameter entry representing \(C_{D,i}\) will be used.Note
This parameter may be estimated for a single-arc propagation, or a multi-arc propagation. In the latter case, the arcs selected for the estimation of the drag coefficient may, but need not, correspond to the arcs used for a multi-arc propagation.
- Parameters:
- Returns:
Instance of
EstimatableParameterSettings
derivedArcWiseDragCoefficientEstimatableParameterSettings
class for arc-wise treatment of the specified body’s constant drag coefficient.- Return type:
- radiation_pressure_coefficient(body: str) tudatpy.kernel.numerical_simulation.estimation_setup.parameter.EstimatableParameterSettings ¶
Function for creating parameter settings for radiation pressure coefficients.
Function for creating parameter settings object for a radiation pressure coefficient \(C_{r}\). Using the radiation pressure coefficient as an estimatable parameter requires:
A
cannonball()
radiation pressure interface to be defined for the body specified by thebody
parameterThe body specified by the
body
parameter to undergocannonball_radiation_pressure()
acceleration
- Parameters:
body (str) – Name of the body, with whose radiation pressure acceleration model the estimatable parameter is associated.
- Returns:
EstimatableParameterSettings
object for the specified body’s radiation pressure coefficient.- Return type:
- arcwise_radiation_pressure_coefficient(body: str, arc_initial_times: list[float]) tudatpy.kernel.numerical_simulation.estimation_setup.parameter.EstimatableParameterSettings ¶
Function for creating parameter settings for arc-wise radiation pressure coefficients.
Function for creating parameter settings object for arc-wise radiation pressure coefficients \(C_{r}\) (arc-wise version of
radiation_pressure_coefficient()
). Using the radiation pressure coefficient as an estimatable parameter requires:A
cannonball_radiation_target()
target model to be defined for the body specified by thebody
parameterThe body specified by the
body
parameter to undergoradiation_pressure()
acceleration
When using this parameter, whenever \(C_{r}\) is required at a time \(t\), the index math:i in the
arc_initial_times
ordered list is found for which \(t_{i}\le t<t_{i+1}\) (or, if \(t\) is larger than the largest value in the list, \(i\) is set to be last index of the list), and the parameter entry representing \(C_{r,i}\) will be used.Note
This parameter may be estimated for a single-arc propagation, or a multi-arc propagation. In the latter case, the arcs selected for the estimation of the radiation pressure coefficient may, but need not, correspond to the arcs used for a multi-arc propagation.
- Parameters:
- Returns:
Instance of
EstimatableParameterSettings
derivedArcWiseRadiationPressureCoefficientEstimatableParameterSettings
class for arc-wise treatment of the specified body’s radiation pressure coefficient.- Return type:
- empirical_accelerations(body: str, centralBody: str, acceleration_components: dict[tudatpy.kernel.numerical_simulation.estimation_setup.parameter.EmpiricalAccelerationComponents, list[tudatpy.kernel.numerical_simulation.estimation_setup.parameter.EmpiricalAccelerationFunctionalShapes]]) tudatpy.kernel.numerical_simulation.estimation_setup.parameter.EstimatableParameterSettings ¶
Function for creating parameter settings for empirical acceleration magnitudes.
Function for creating parameter settings object for empirical acceleration magnitudes. Using the empirical acceleration terms as estimatable parameters requires:
The body specified by the
body
parameter to undergoempirical()
acceleration, which include constant (in RSW frame) terms
Any subset of the directions and functional shapes can be estimated. The values in the parameter vector are ordered first by functional shape (constant, sine, cosine) and then by component (radial, normal, cross-track) For instance, if all nine coefficients are estimated, they will be ordered as \(\mathbf{a}_{R,\text{const.}},\mathbf{a}_{R,\text{sine}},\mathbf{a}_{R,\text{cosine}},\mathbf{a}_{S,\text{const.}},\mathbf{a}_{S,\text{sine}},\mathbf{a}_{S,\text{cosine}},\mathbf{a}_{W,\text{const.}},\mathbf{a}_{W,\text{sine}},\mathbf{a}_{W,\text{cosine}}\) Any non-estimated components will be left to the values at which they were initialized.
- Parameters:
body (str) – Name of the body, with whose empirical acceleration model the estimatable parameter is associated.
centralBody (str) – Name of the central body of the empirical acceleration model (of which the gravitational parameter is extracted to compute the true anomaly, and w.r.t. which the RSW directions are determined). This body is the same as the body considered to be ‘exerting’ the empirical acceleration
acceleration_components (dict[ EmpiricalAccelerationComponents, list[ EmpiricalAccelerationFunctionalShapes] ]) – Dictionary of components of the empirical acceleration which are to be estimated. There are two ‘degrees of freedom’ in these components: the direction of the acceleration (e.g. R, S or W direction) and the temporal signature (constant, sine of true anomaly or cosine of true anomaly). With this input, any subset may be selected. This parameter is a dictionary, with the key denoting the direction of the acceleration, and the value a list of the temporal signatures to estimate for this empirical acceleration direction.
- Returns:
Instance of
EstimatableParameterSettings
derivedEmpiricalAccelerationEstimatableParameterSettings
class for the specified body’s empirical acceleration terms.- Return type:
- arcwise_empirical_accelerations(body: str, centralBody: str, acceleration_components: dict[tudatpy.kernel.numerical_simulation.estimation_setup.parameter.EmpiricalAccelerationComponents, list[tudatpy.kernel.numerical_simulation.estimation_setup.parameter.EmpiricalAccelerationFunctionalShapes]], arc_start_times: list[float]) tudatpy.kernel.numerical_simulation.estimation_setup.parameter.EstimatableParameterSettings ¶
Function for creating parameter settings for arc-wise empirical acceleration magnitudes.
Function for creating parameter settings object for arc-wise empirical acceleration magnitudes (arc-wise version of
empirical_accelerations()
). Using the empirical acceleration terms as estimatable parameters requires:The body specified by the
body
parameter to undergoempirical()
acceleration, which include constant (in RSW frame) terms
When using this parameter, whenever an empirical acceleration is required at a time \(t\), the index math:i in the
arc_initial_times
ordered list is found for which \(t_{i}\le t<t_{i+1}\) (or, if \(t\) is larger than the largest value in the list, \(i\) is set to be last index of the list), and the parameter values representing empirical acceleration components in arc \(i\) will be used.Note
This parameter may be estimated for a single-arc propagation, or a multi-arc propagation. In the latter case, the arcs selected for the estimation of the radiation pressure coefficient may, but need not, correspond to the arcs used for a multi-arc propagation.
- Parameters:
body (str) – Name of the body, with whose empirical acceleration model the estimatable parameter is associated.
centralBody (str) – Name of the central body of the empirical acceleration model (of which the gravitational parameter is extracted to compute the true anomaly, and w.r.t. which the RSW directions are determined). This body is the same as the body considered to be ‘exerting’ the empirical acceleration
acceleration_components (Dict[ EmpiricalAccelerationComponents, List[ EmpiricalAccelerationFunctionalShapes] ]) – Dictionary of components of the empirical acceleration which are to be estimated. There are two ‘degrees of freedom’ in these components: the direction of the acceleration (e.g. R, S or W direction) and the temporal signature (constant, sine of true anomaly or cosine of true anomaly). With this input, any subset may be selected. This parameter is a dictionary, with the key denoting the direction of the acceleration, and the value a list of the temporal signatures to estimate for this empirical acceleration direction.
arc_initial_times (List[ float ]) – List of times at which the arcs over which the empirical accelerations are to be estimated will start.
- Returns:
Instance of
EstimatableParameterSettings
derivedEmpiricalAccelerationEstimatableParameterSettings
class for the specified body’s arc-wise empirical acceleration terms.- Return type:
- constant_empirical_acceleration_terms(body: str, centralBody: str) tudatpy.kernel.numerical_simulation.estimation_setup.parameter.EstimatableParameterSettings ¶
Function for creating parameter settings for constant empirical acceleration terms.
As
empirical_accelerations()
, but only using the constant R, S and W components (no sine or cosine term estimation). This function is added as a function of convenience- Parameters:
body (str) – Name of the body, with whose empirical acceleration model the estimatable parameter is associated.
centralBody (str) – Name of the central body of the empirical acceleration model (of which the gravitational parameter is extracted to compute the true anomaly, and w.r.t. which the RSW directions are determined). This body is the same as the body considered to be ‘exerting’ the empirical acceleration
- Returns:
Instance of
EstimatableParameterSettings
derivedEmpiricalAccelerationEstimatableParameterSettings
class for the specified body’s empirical acceleration terms.- Return type:
- arcwise_constant_empirical_acceleration_terms(body: str, centralBody: str, arc_start_times: list[float]) tudatpy.kernel.numerical_simulation.estimation_setup.parameter.EstimatableParameterSettings ¶
Function for creating parameter settings for arc-wise constant empirical acceleration terms.
As
arcwise_empirical_accelerations()
, but only using the constant R, S and W components (no sine or cosine term estimation). This function is added as a function of convenience- Parameters:
body (str) – Name of the body, with whose empirical acceleration model the estimatable parameter is associated.
centralBody (str) – Name of the central body of the empirical acceleration model (of which the gravitational parameter is extracted to compute the true anomaly, and w.r.t. which the RSW directions are determined). This body is the same as the body considered to be ‘exerting’ the empirical acceleration
arc_initial_times (List[ float ]) – List of times at which the arcs over which the empirical accelerations are to be estimated will start.
- Returns:
Instance of
EstimatableParameterSettings
derivedEmpiricalAccelerationEstimatableParameterSettings
class for the specified body’s arc-wise constant empirical acceleration terms.- Return type:
- quasi_impulsive_shots(body: str) tudatpy.kernel.numerical_simulation.estimation_setup.parameter.EstimatableParameterSettings ¶
Function for creating parameter settings for quasi-impulsive shots.
Function for creating parameter settings object for so-called ‘quasi-impulsive shots’, such as desaturation maneuvers. With this parameter, the total \(\Delta \mathbf{V}\) vector of a set of such maneuvers can be estimated (see :func:`~tudatpy.numerical_simulation.propagation_setup.acceleration.quasi_impulsive_shots_acceleration for mathematical details). Using the quasi-impulsive shots as an estimatable parameter requires:
The body specified by the
body
parameter to undergoquasi_impulsive_shots_acceleration()
acceleration
Note
this parameter considers all shots/maneuvers used in the above acceleration model, and estimates the value of the ‘delta_v_values’ input of this acceleration.
- Parameters:
body (str) – Name of the body, with which the quasi-impulsive shot estimatable parameter is associated.
- Returns:
EstimatableParameterSettings
object for the specified body’s quasi-impulsive shots- Return type:
- gravitational_parameter(body: str) tudatpy.kernel.numerical_simulation.estimation_setup.parameter.EstimatableParameterSettings ¶
Function for creating parameter settings for a massive body’s gravitational parameter.
Function for creating parameter settings object for the gravitational parameter of massive bodies. Using the gravitational parameter as estimatable parameter requires:
The body specified by the
body
parameter to be endowed with a gravity field (see gravity_field module for options)Any dynamical or observational model to depend on the gravitational parameter of the body specified by the
body
parameter
- Parameters:
body (str) – Name of the body, with whose gravitational model the estimatable parameter is associated.
- Returns:
EstimatableParameterSettings
object for the specified body’s gravitational parameter.- Return type:
- spherical_harmonics_c_coefficients(body: str, minimum_degree: int, minimum_order: int, maximum_degree: int, maximum_order: int) tudatpy.kernel.numerical_simulation.estimation_setup.parameter.EstimatableParameterSettings ¶
Function for creating parameter settings for the cosine coefficients of body’s spherical harmonics gravitational model.
Function for creating parameter settings object for the spherical harmonics cosine-coefficients (\(\bar{C}_{lm}\)) of a body with a spherical harmonic gravity field. Using this function, a ‘full’ set of spherical harmonic coefficients between an minimum/maximum degree/order are estimated. For instance, for minimum degree/order of 2/0, and maximum degree/order 4/4, all spherical harmonic cosine coefficients of degrees 2, 3 and 4 are estimated. If the maximum degree/order is set to 4/2, only coefficients with an order of 0, 1 and 2 are included. The entries in the parameter are sorted first by degree, and then by order (both in ascending order) Using the spherical harmonics cosine coefficients as estimatable parameter requires:
A
spherical_harmonic()
(or derived) gravity model to be defined for the body specified by thebody
parameterAny dynamical or observational model to depend on the estimated cosine coefficients of the body specified by the
body
parameter. Typically, this dependency will be aspherical_harmonic()
acceleration
- Parameters:
body (str) – Name of the body, with whose gravitational model the estimatable parameters are associated.
minimum_degree (int) – Minimum degree of c-coefficients to be included.
minimum_order (int) – Minimum order of c-coefficients to be included.
maximum_degree (int) – Maximum degree of c-coefficients to be included.
maximum_order (int) – Maximum order of c-coefficients to be included.
- Returns:
Instance of
EstimatableParameterSettings
derivedSphericalHarmonicEstimatableParameterSettings
class for the applicable spherical harmonics c-coefficients of the specified body’s gravitational model.- Return type:
- spherical_harmonics_s_coefficients(body: str, minimum_degree: int, minimum_order: int, maximum_degree: int, maximum_order: int) tudatpy.kernel.numerical_simulation.estimation_setup.parameter.EstimatableParameterSettings ¶
Function for creating parameter settings for the sine coefficients of body’s spherical harmonics gravitational model.
Function for creating parameter settings object for the spherical harmonics sine-coefficients (\(\bar{S}_{lm}\)) of a body with a spherical harmonic gravity field. Using this function, a ‘full’ set of spherical harmonic coefficients between an minimum/maximum degree/order are estimated. For instance, for minimum degree/order of 2/1 (there is no order 0 sine coefficient), and maximum degree/order 4/4, all spherical harmonic sine coefficients of degrees 2, 3 and 4 are estimated. If the maximum degree/order is set to 4/2, only coefficients with an order of 1 and 2 are included. The entries in the parameter are sorted first by degree, and then by order (both in ascending order) Using the spherical harmonics cosine coefficients as estimatable parameter requires:
A
spherical_harmonic()
(or derived) gravity model to be defined for the body specified by thebody
parameterAny dynamical or observational model to depend on the estimated cosine coefficients of the body specified by the
body
parameter. Typically, this dependency will be aspherical_harmonic()
acceleration
- Parameters:
body (str) – Name of the body, with whose gravitational model the estimatable parameters are associated.
minimum_degree (int) – Minimum degree of s-coefficients to be included.
minimum_order (int) – Minimum order of s-coefficients to be included.
maximum_degree (int) – Maximum degree of s-coefficients to be included.
maximum_order (int) – Maximum order of s-coefficients to be included.
- Returns:
Instance of
EstimatableParameterSettings
derivedSphericalHarmonicEstimatableParameterSettings
class for the applicable spherical harmonics s-coefficients of the specified body’s gravitational model.- Return type:
- spherical_harmonics_c_coefficients_block(body: str, block_indices: list[tuple[int, int]]) tudatpy.kernel.numerical_simulation.estimation_setup.parameter.EstimatableParameterSettings ¶
Function for creating parameter settings for the cosine coefficients of body’s spherical harmonics gravitational model.
As
spherical_harmonics_c_coefficients
, but with a manually defined set of coefficients.- Parameters:
body (str) – Name of the body, with whose gravitational model the estimatable parameters are associated.
block_indices (List[ Tuple[int, int] ]) – List of block indices. The length of this list can be arbitrary, as long as the pairs are unique. For each pair, the first value is the degree and the second the order of the coefficient to be included.
- Returns:
Instance of
EstimatableParameterSettings
derivedSphericalHarmonicEstimatableParameterSettings
class for the applicable spherical harmonics c-coefficients of the specified body’s gravitational model.- Return type:
- spherical_harmonics_s_coefficients_block(body: str, block_indices: list[tuple[int, int]]) tudatpy.kernel.numerical_simulation.estimation_setup.parameter.EstimatableParameterSettings ¶
Function for creating parameter settings for the sine coefficients of body’s spherical harmonics gravitational model.
As
spherical_harmonics_s_coefficients
, but with a manually defined set of coefficients.- Parameters:
body (str) – Name of the body, with whose gravitational model the estimatable parameters are associated.
block_indices (List[ Tuple[int, int] ]) – List of block indices. The length of this list can be arbitrary, as long as the pairs are unique. For each pair, the first value is the degree and the second the order of the coefficient to be included.
- Returns:
Instance of
EstimatableParameterSettings
derivedSphericalHarmonicEstimatableParameterSettings
class for the applicable spherical harmonics s-coefficients of the specified body’s gravitational model.- Return type:
- constant_rotation_rate(body: str) tudatpy.kernel.numerical_simulation.estimation_setup.parameter.EstimatableParameterSettings ¶
Function for creating parameter settings for a body’s constant rotation rate.
Function for creating parameter settings object for a body’s constant rotation rate parameter. Using the constant rotation rate as estimatable parameter requires:
A
simple()
orsimple_from_spice()
rotation model specified by thebody
parameterAny dynamical or observational model to depend on the rotation model of the body specified by the
body
parameter
- Parameters:
body (str) – Name of the body, with whose rotation model the estimatable parameter is associated.
- Returns:
EstimatableParameterSettings
object for the specified body’s constant spin rate.- Return type:
- rotation_pole_position(body: str) tudatpy.kernel.numerical_simulation.estimation_setup.parameter.EstimatableParameterSettings ¶
Function for creating parameter settings for a body’s rotation pole position.
Function for creating parameter settings object for a body’s rotation pole position, parameterized by the constant pole rotation angles (\(\alpha\) and \(\delta\)). Using the rotation pole position as estimatable parameter requires:
A
simple()
orsimple_from_spice()
rotation model specified by thebody
parameterAny dynamical or observational model to depend on the rotation model of the body specified by the
body
parameter
- Parameters:
body (str) – Name of the body, with whose rotation model the estimatable parameter is associated.
- Returns:
EstimatableParameterSettings
object for the specified body’s rotation pole position.- Return type:
- order_invariant_k_love_number(deformed_body: str, degree: int, deforming_bodies: list[str], use_complex_love_number: bool = 0) tudatpy.kernel.numerical_simulation.estimation_setup.parameter.EstimatableParameterSettings ¶
Function for creating parameter settings for a body’s \(k_{l}\) Love number.
Function for creating parameter settings for a body’s \(k_{l}\) Love number. When using this function, we assume (for the case of degree 2 Love number) that \(k_{20}=k_{21}=k_{22}\). The estimation of the Love number can be limited to a subset of the bodies that raise a tide on the body undergoing tidal deformation.
Using the \(k_{l}\) Love number as estimatable parameter requires:
A
solid_body_tide()
gravity field variation model in thedeformed_body
(or one the more complex ones such assolid_body_tide_degree_order_variable_k()
). The parameter settings have to match the specifics of the variation model. For instance, ifuse_complex_love_number
is set to true, the gravity field variation has to have been created using a complex Love numberAny dynamical model to depend on the gravity field of the body specified by the
deformed_body
parameter
- Parameters:
deformed_body (str) – Name of the body that is undergoing tidal deformation
degree (int) – Degree \(l\) of the Love number \(k_{l}\) that is to be estimated
deforming_bodies (list[str]) – List of bodies that raise a tide on
deformed_body
for which the single Love number defined by this setting is to be used. If the list is left empty, all tide-raising bodies will be used. By using this parameter, the value of \(k_{l}\) will be indentical for the tides raised by each body in this list once parameter values are reset, even if they were different upon environment initializationuse_complex_love_number (bool) – Boolean defining whether the estimated Love number is real or imaginary
- Returns:
Object for the specified body’s Love number \(k_{l}\) for the tides raised by the specified bodies
- Return type:
- order_varying_k_love_number(deformed_body: str, degree: int, orders: list[int], deforming_bodies: list[str], use_complex_love_number: bool) tudatpy.kernel.numerical_simulation.estimation_setup.parameter.EstimatableParameterSettings ¶
Function for creating parameter settings for a body’s \(k_{lm}\) Love numbers.
Function for creating parameter settings for a body’s \(k_{lm}\) Love numbers. When using this function, we assume (for the case of degree 2 Love number) that \(k_{20}\neq k_{21}\neq k_{22}\). The estimation of the Love numbers can be limited to a subset of the bodies that raise a tide on the body undergoing tidal deformation.
Using the \(k_{lm}\) Love number as estimatable parameter requires:
A
solid_body_tide_degree_order_variable_k()
gravity field variation model in thedeformed_body
(orsolid_body_tide_degree_order_variable_complex_k()
ifuse_complex_love_number
is set to true)Any dynamical model to depend on the gravity field of the body specified by the
deformed_body
parameter
- Parameters:
deformed_body (str) – Name of the body that is undergoing tidal deformation
degree (list[int]) – Degree \(l\) of the Love numbers \(k_{lm}\) that are to be estimated
degree – Orders \(m\) of the Love numbers \(k_{lm}\) that are to be estimated
deforming_bodies (list[str]) – List of bodies that raise a tide on
deformed_body
for which the Love numbers defined by this setting is to be used. If the list is left empty, all tide-raising bodies will be used. By using this parameter, the values of \(k_{lm}\) will be indentical for the tides raised by each body in this list once parameter values are reset, even if they were different upon environment initializationuse_complex_love_number (bool) – Boolean defining whether the estimated Love number is real or imaginary
- Returns:
Object for the specified body’s Love numbers \(k_{lm}\) for the tides raised by the specified bodies
- Return type:
- mode_coupled_k_love_numbers(deformed_body: str, love_number_indices: dict[tuple[int, int], list[tuple[int, int]]], deforming_bodies: list[str]) tudatpy.kernel.numerical_simulation.estimation_setup.parameter.EstimatableParameterSettings ¶
Function for creating parameter settings for a body’s mode-coupled \(k_{lm}^{l'm'}\) Love numbers.
Function for creating parameter settings for a body’s \(k_{lm}^{l'm'}\) Love numbers (see
mode_coupled_solid_body_tide model()
details). The estimation of the Love numbers can be limited to a subset of the bodies that raise a (mode-coupled) tide on the body undergoing tidal deformation.Using the \(k_{lm}\) Love number as estimatable parameter requires:
A
mode_coupled_solid_body_tide()
gravity field variation model in thedeformed_body
.Any dynamical model to depend on the gravity field of the body specified by the
deformed_body
parameter
- Parameters:
deformed_body (str) – Name of the body that is undergoing tidal deformation
love_number_per_degree (dict[tuple[int, int], list[int,int]]]) – Dictionary of Love number indices for each combination for forcing and response degree and order. The first tuple (key) is the forcing degree and order \(l,m\), the list of tuples (key) is the list of associated response degrees and orders \(l',m'\) for which the Love numbers are to be estimated (see
mode_coupled_solid_body_tide()
for mathematical definition))deforming_bodies (list[str]) – List of bodies that raise a tide on
deformed_body
for which the Love numbers defined by this setting is to be used. If the list is left empty, all tide-raising bodies will be used. By using this parameter, the values of \(k_{lm}\) will be indentical for the tides raised by each body in this list once parameter values are reset, even if they were different upon environment initialization
- Returns:
Object for the specified body’s mode-coupled Love numbers \(k_{lm}^{l'm'}\) for the tides raised by the specified bodies
- Return type:
- polynomial_gravity_field_variation_amplitudes(body_name: str, cosine_indices_per_power: dict[int, list[tuple[int, int]]], sine_indices_per_power: dict[int, list[tuple[int, int]]]) tudatpy.kernel.numerical_simulation.estimation_setup.parameter.EstimatableParameterSettings ¶
Function for creating parameter settings for a body’s polynomial gravity field amplitudes.
Function for creating parameter settings for a body’s polynomial gravity field amplitudes \(K_{i,\bar{C}_{lm}}\) and \(K_{i,\bar{S}_{lm}}\), as defined in
polynomial()
.Using this settings as estimatable parameter requires:
A
polynomial()
(orsingle_power_polynomial()
) gravity field variation model in thebody_name
.Any dynamical model to depend on the gravity field of the body specified by the
deformed_body
parameter
When using this parameter, a subset of all the variation amplitudes defined in the gravity field variation model can be estimated. These are defined in the
cosine_indices_per_power
andsine_indices_per_power
inputs- Parameters:
body_name (str) – Name of the body that is undergoing gravity field variation
cosine_indices_per_power (dict[int, list[int,int]]) – Dictionary of powers \(i\) (as keys) with list of combinations of degrees \(l\) and orders \(m\) for which to estimate \(K_{i,\bar{C}_{lm}}\) as values (see
polynomial()
for mathematical definition)sine_indices_per_power (dict[int, list[int,int]]) – Dictionary of powers \(i\) (as keys) with list of combinations of degrees \(l\) and orders \(m\) for which to estimate \(K_{i,\bar{S}_{lm}}\) as values (see
polynomial()
for mathematical definition)Returns
------- (-------)
:param
EstimatableParameterSettings
: Object for the specified body’s polynomial gravity field variations
- periodic_gravity_field_variation_amplitudes(body_name: str, cosine_indices_per_period: dict[int, list[tuple[int, int]]], sine_indices_per_period: dict[int, list[tuple[int, int]]]) tudatpy.kernel.numerical_simulation.estimation_setup.parameter.EstimatableParameterSettings ¶
Function for creating parameter settings for a body’s polynomial gravity field variation amplitudes
Function for creating parameter settings for a body’s polynomial gravity field variation amplitudes \(A_{i,\bar{C}_{lm}}\), \(B_{i,\bar{C}_{lm}}\), \(A_{i,\bar{S}_{lm}}\) and \(B_{i,\bar{S}_{lm}}\) as defined in
single_period_periodic()
.Using this settings as estimatable parameter requires:
A
periodic()
(orsingle_period_periodic()
) gravity field variation model in thebody_name
.Any dynamical model to depend on the gravity field of the body specified by the
deformed_body
parameter
When using this parameter, a subset of all the variation amplitudes defined in the gravity field variation model can be estimated. These are defined in the
cosine_indices_per_period
andsine_indices_per_period
inputs- Parameters:
body_name (str) – Name of the body that is undergoing gravity field variation
cosine_indices_per_period (dict[int, list[int,int]]) – Dictionary of frequency index \(i\) (as keys; corresponding to frequency \(f_{i}\)) with list of combinations of degrees \(l\) and orders \(m\) for which to estimate \(A_{i,\bar{C}_{lm}}\) and \(B_{i,\bar{C}_{lm}}\) as values (see
periodic()
for mathematical definition)sine_indices_per_period (dict[int, list[int,int]]) – Dictionary of frequency index \(i\) (as keys; corresponding to frequency \(f_{i}\)) with list of combinations of degrees \(l\) and orders \(m\) for which to estimate \(A_{i,\bar{S}_{lm}}\) and \(B_{i,\bar{S}_{lm}}\) as values (see
periodic()
for mathematical definition)
- Returns:
Object for the specified body’s periodic gravity field variations
- Return type:
- monomial_gravity_field_variation_amplitudes(body_name: str, power: int, cosine_indices: list[tuple[int, int]], sine_indices: list[tuple[int, int]]) tudatpy.kernel.numerical_simulation.estimation_setup.parameter.EstimatableParameterSettings ¶
Function for creating parameter settings for a body’s polynomial gravity field amplitudes at a single power.
Identical to
polynomial()
, but for only a single power.- Parameters:
body_name (str) – Name of the body that is undergoing gravity field variation
power (int) – Power \(i\) for which to estimate polynomial gravity field variations
cosine_indices (list[int,int]) – List of combinations of degrees \(l\) and orders \(m\) for which to estimate \(K_{i,\bar{C}_{lm}}\) (see
polynomial()
for mathematical definition)sine_indices (list[int,int]) – List of combinations of degrees \(l\) and orders \(m\) for which to estimate \(K_{i,\bar{S}_{lm}}\) (see
polynomial()
for mathematical definition)
- Returns:
Object for the specified body’s polynomial gravity field variations
- Return type:
- monomial_full_block_gravity_field_variation_amplitudes(body_name: str, power: int, minimum_degree: int, minimum_order: int, maximum_degree: int, maximum_order: int) tudatpy.kernel.numerical_simulation.estimation_setup.parameter.EstimatableParameterSettings ¶
Function for creating parameter settings for a body’s polynomial gravity field amplitudes at a single power.
Identical to
polynomial()
, but for only a single power, and a full block of spherical harminic coefficient degrees \(l\) and orders :math`m` For each degree \(l_{\text{min}}\le l \le l_{\text{max}}\), variations are estimated for all orders \(m_{\text{min}}\le m \le \left( \text{min}(m_{\text{max}},l) \right)\)- Parameters:
body_name (str) – Name of the body that is undergoing gravity field variation
power (int) – Power \(i\) for which to estimate polynomial gravity field variations
minimum_degree (int) – Minimum degree \(l_{\text{min}}\) for which \(K_{i,\bar{C}_{lm}}\) and \(K_{i,\bar{S}_{lm}}\) are to be estimated (see
polynomial()
for mathematical definition)minimum_order (int) – Minimum order \(m_{\text{min}}\) for which \(K_{i,\bar{C}_{lm}}\) and \(K_{i,\bar{S}_{lm}}\) are to be estimated (see
polynomial()
for mathematical definition)maximum_degree (int) – Maximum degree \(l_{\text{max}}\) for which \(K_{i,\bar{C}_{lm}}\) and \(K_{i,\bar{S}_{lm}}\) are to be estimated (see
polynomial()
for mathematical definition)maximum_order (int) – Maximum degree \(m_{\text{max}}\) for which \(K_{i,\bar{C}_{lm}}\) and \(K_{i,\bar{S}_{lm}}\) are to be estimated (see
polynomial()
for mathematical definition)
- Returns:
Object for the specified body’s polynomial gravity field variations
- Return type:
- mean_moment_of_inertia(body: str) tudatpy.kernel.numerical_simulation.estimation_setup.parameter.EstimatableParameterSettings ¶
Function for creating parameter settings for a body’s mean moment of inertia.
Function for creating parameter settings object for a body’s mean moment of inertia. In most cases, the mean moment of inertia will not influence the dynamics/observation directly and sensitivity to this parameter will not be included. The dynamics/observation will be sensitive to this parameter if the rotational dynamics of a relevant body is estimated. Using the mean moment of inertia as estimatable parameter requires:
The estimation of an initial rotational state of the body specified by the
body
parameter
- Parameters:
body (str) – Name of the body, with whose body model the estimatable parameter is associated.
- Returns:
EstimatableParameterSettings
object for the specified body’s mean moment of inertia.- Return type:
- periodic_spin_variations(body: str) tudatpy.kernel.numerical_simulation.estimation_setup.parameter.EstimatableParameterSettings ¶
Function for creating parameter settings for a body’s periodic spin variations.
Function for creating parameter settings object for a body’s periodic spin variation parameters. Using the mean moment of inertia as estimatable parameter requires:
A
mars_high_accuracy()
rotation model specified by thebody
parameterAny dynamical or observational model to depend on the rotation model of the body specified by the
body
parameter
- Parameters:
body (str) – Name of the body, with whose rotation model the estimatable parameter is associated.
- Returns:
EstimatableParameterSettings
object for the specified body’s periodic spin variations.- Return type:
- polar_motion_amplitudes(body: str) tudatpy.kernel.numerical_simulation.estimation_setup.parameter.EstimatableParameterSettings ¶
Function for creating parameter settings for a body’s polar motion amplitudes.
Function for creating parameter settings object for a body’s polar motion amplitudes. Using the polar motion amplitudes as estimatable parameter requires
A
mars_high_accuracy()
rotation model specified by thebody
parameterAny dynamical or observational model to depend on the rotation model of the body specified by the
body
parameter
- Parameters:
body (str) – Name of the body, with whose rotation model the estimatable parameter is associated.
- Returns:
EstimatableParameterSettings
object for the specified body’s polar motion amplitudes.- Return type:
- core_factor(body: str) tudatpy.kernel.numerical_simulation.estimation_setup.parameter.EstimatableParameterSettings ¶
Function for creating parameter settings for a body’s core factor.
Function for creating parameter settings object for a body’s core factor. Using the core factor as estimatable parameter requires
A
mars_high_accuracy()
rotation model specified by thebody
parameterAny dynamical or observational model to depend on the rotation model of the body specified by the
body
parameter
- Parameters:
body (str) – Name of the body, with whose rotation model the estimatable parameter is associated.
- Returns:
EstimatableParameterSettings
object for the specified body’s core factor.- Return type:
- free_core_nutation_rate(body: str) tudatpy.kernel.numerical_simulation.estimation_setup.parameter.EstimatableParameterSettings ¶
Function for creating parameter settings for a body’s free core nutation rate.
Function for creating parameter settings object for a body’s free core nutation rate. Using the free core nutation rate as estimatable parameter requires
A
mars_high_accuracy()
rotation model specified by thebody
parameterAny dynamical or observational model to depend on the rotation model of the body specified by the
body
parameter
- Parameters:
body (str) – Name of the body, with whose rotation model the estimatable parameter is associated.
- Returns:
EstimatableParameterSettings
object for the specified body’s free core nutation rate.- Return type:
- absolute_observation_bias(link_ends: tudatpy.kernel.numerical_simulation.estimation_setup.observation.LinkDefinition, observable_type: tudatpy.kernel.numerical_simulation.estimation_setup.observation.ObservableType) tudatpy.kernel.numerical_simulation.estimation_setup.parameter.EstimatableParameterSettings ¶
Function for creating parameter settings for an absolute observation bias.
Function for creating parameter settings object for an observation’s absolute bias parameter. Using the absolute observation bias as estimatable parameter requires:
The observation model (corresponding to the link_ends and observable_type) to include an absolute bias (
absolute_bias()
)
- Parameters:
link_ends (Dict[
LinkEndType
, Tuple[str, str]) – Set of link ends that define the geometry of the biased observations.observable_type (ObservableType) – Observable type of the biased observations.
- Returns:
Instance of the
EstimatableParameterSettings
derivedConstantObservationBiasEstimatableParameterSettings
for the specified observation’s arc-wise absolute bias.- Return type:
- relative_observation_bias(link_ends: tudatpy.kernel.numerical_simulation.estimation_setup.observation.LinkDefinition, observable_type: tudatpy.kernel.numerical_simulation.estimation_setup.observation.ObservableType) tudatpy.kernel.numerical_simulation.estimation_setup.parameter.EstimatableParameterSettings ¶
Function for creating parameter settings for an relative observation bias.
Function for creating parameter settings object for an observation’s relative bias parameter. Using the relative observation bias as estimatable parameter requires
The observation model (corresponding to the link_ends and observable_type) to include a relative bias (
relative_bias()
)
- Parameters:
link_ends (Dict[
LinkEndType
, Tuple[str, str]) – Set of link ends that define the geometry of the biased observations.observable_type (ObservableType) – Observable type of the biased observations.
- Returns:
Instance of the
EstimatableParameterSettings
derivedConstantObservationBiasEstimatableParameterSettings
for the specified observation’s arc-wise relative bias.- Return type:
- arcwise_absolute_observation_bias(link_ends: tudatpy.kernel.numerical_simulation.estimation_setup.observation.LinkDefinition, observable_type: tudatpy.kernel.numerical_simulation.estimation_setup.observation.ObservableType, arc_start_times: list[float], time_link_end: tudatpy.kernel.numerical_simulation.estimation_setup.observation.LinkEndType) tudatpy.kernel.numerical_simulation.estimation_setup.parameter.EstimatableParameterSettings ¶
Function for creating parameter settings for arc-wise absolute observation bias.
Function for creating parameter settings object for the arc-wise treatment of an observation’s absolute bias parameter. Using the arc-wise absolute observation bias as estimatable parameter requires
The observation model (corresponding to the link_ends and observable_type) to include an arc-wise absolute bias (
arcwise_absolute_bias()
)
- Parameters:
link_ends (Dict[
LinkEndType
, Tuple[str, str]) – Set of link ends that define the geometry of the biased observations.observable_type (ObservableType) – Observable type of the biased observations.
arc_start_times (List[ float ]) – List of times at which the arcs over which the bias is to be estimated will start.
time_link_end (LinkEndType) – The link end type (transmitter, receiver, etc.) at which the arc_start_times is evaluated.
- Returns:
Instance of the
EstimatableParameterSettings
derivedArcWiseConstantObservationBiasEstimatableParameterSettings
for the specified observation’s arc-wise absolute bias.- Return type:
- arcwise_relative_observation_bias(link_ends: tudatpy.kernel.numerical_simulation.estimation_setup.observation.LinkDefinition, observable_type: tudatpy.kernel.numerical_simulation.estimation_setup.observation.ObservableType, arc_start_times: list[float], time_link_end: tudatpy.kernel.numerical_simulation.estimation_setup.observation.LinkEndType) tudatpy.kernel.numerical_simulation.estimation_setup.parameter.EstimatableParameterSettings ¶
Function for creating parameter settings for arc-wise absolute observation bias.
Function for creating parameter settings object for the arc-wise treatment of an observation’s relative bias parameter. Using the arc-wise relative observation bias as estimatable parameter requires
The observation model (corresponding to the link_ends and observable_type) to include an arc-wise relative bias (
arcwise_relative_bias()
)
Note
This parameter may be estimated for a single-arc propagation, or a multi-arc propagation. In the latter case, the arcs selected for the estimation of the bias may, but need not, correspond to the arcs used for a multi-arc propagation.
- Parameters:
link_ends (Dict[
LinkEndType
, Tuple[str, str]) – Set of link ends that define the geometry of the biased observations.observable_type (ObservableType) – Observable type of the biased observations.
arc_start_times (List[ float ]) – List of times at which the arcs over which the bias is to be estimated will start.
time_link_end (LinkEndType) – The link end type (transmitter, receiver, etc.) at which the arc_start_times is evaluated.
- Returns:
Instance of the
EstimatableParameterSettings
derivedArcWiseConstantObservationBiasEstimatableParameterSettings
for the specified observation’s arc-wise relative bias.- Return type:
- ground_station_position(body: str, ground_station_name: str) tudatpy.kernel.numerical_simulation.estimation_setup.parameter.EstimatableParameterSettings ¶
Function for creating parameter settings for ground station position bias.
Function for creating parameter settings object for a ground station’s body-fixed Cartesian position. Using the ground station position bias as estimatable parameter requires:
At least one observation model to rely on the specified ground station
- Parameters:
- Returns:
EstimatableParameterSettings
object for the specified ground station’s position bias.- Return type:
- ppn_parameter_gamma() tudatpy.kernel.numerical_simulation.estimation_setup.parameter.EstimatableParameterSettings ¶
Function for creating parameter settings for post-newtonian gamma parameter.
Function for creating parameter settings object for a global PPN \(\gamma\) parameter. Using the post-newtonian gamma parameter as estimatable parameter requires at least one of the following:
An acceleration model depending on this parameter, such as
relativistic_correction()
An observation model with a light-time correction depending on this parameter, such as
first_order_relativistic_light_time_correction()
- Returns:
EstimatableParameterSettings
object for a global post-newtonian \(\gamma\) parameter.- Return type:
- ppn_parameter_beta() tudatpy.kernel.numerical_simulation.estimation_setup.parameter.EstimatableParameterSettings ¶
Function for creating parameter settings for post-newtonian beta parameter.
Function for creating parameter settings object for a global PPN \(\beta\) parameter. Using the post-newtonian gamma parameter as estimatable parameter requires at least one of the following:
An acceleration model depending on this parameter, such as
relativistic_correction()
An observation model with a light-time correction depending on this parameter (none yet implemented)
- Returns:
EstimatableParameterSettings
object for a global post-newtonian \(\beta\) parameter.- Return type:
Enumerations¶
Enumeration of model parameters that are available for estimation. |
|
Enumeration of the available empirical acceleration components that are available to estimate. |
|
Enumeration of the available empirical acceleration shapes that are available per component |
- class EstimatableParameterTypes¶
Enumeration of model parameters that are available for estimation. In order to establish a parameter estimation settings for a parameter of a certain type, use the function dedicated to this parameter type. Note that not all of the listed types might be accessible via functions in the python interface yet.
Members:
arc_wise_initial_body_state_type
initial_body_state_type
initial_rotational_body_state_type
gravitational_parameter_type
constant_drag_coefficient_type
radiation_pressure_coefficient_type
arc_wise_radiation_pressure_coefficient_type
spherical_harmonics_cosine_coefficient_block_type
spherical_harmonics_sine_coefficient_block_type
constant_rotation_rate_type
rotation_pole_position_type
constant_additive_observation_bias_type
arcwise_constant_additive_observation_bias_type
constant_relative_observation_bias_type
arcwise_constant_relative_observation_bias_type
ppn_parameter_gamma_type
ppn_parameter_beta_type
ground_station_position_type
equivalence_principle_lpi_violation_parameter_type
empirical_acceleration_coefficients_type
arc_wise_empirical_acceleration_coefficients_type
full_degree_tidal_love_number_type
single_degree_variable_tidal_love_number_type
direct_dissipation_tidal_time_lag_type
mean_moment_of_inertia_type
arc_wise_constant_drag_coefficient_type
periodic_spin_variation_type
polar_motion_amplitude_type
core_factor_type
free_core_nutation_rate_type
desaturation_delta_v_values_type
constant_time_drift_observation_bias_type
arc_wise_time_drift_observation_bias_type
global_polynomial_clock_corrections_type
arc_wise_polynomial_clock_corrections_type
inverse_tidal_quality_factor_type
- property name¶
- class EmpiricalAccelerationComponents¶
Enumeration of the available empirical acceleration components that are available to estimate.
These are used in the
empirical_accelerations()
function to specify which components of the empirical acceleration are to be estimated.Members:
radial_empirical_acceleration_component
along_track_empirical_acceleration_component
across_track_empirical_acceleration_component
- property name¶
- class EmpiricalAccelerationFunctionalShapes¶
Enumeration of the available empirical acceleration shapes that are available per component
These are used in the
empirical_accelerations()
function to specify the signature of the estimated empirical acceleration component. .Members:
constant_empirical
sine_empirical
cosine_empirical
- property name¶
Classes¶
Base class to defining settings of parameter to be estimated. |
- class EstimatableParameterSettings¶
Base class to defining settings of parameter to be estimated.
Functional (base) class for settings of model parameter to be estimated. Settings of simple parameters types are managed via this class, more complex parameter types are handled by specialised derivatives of this class. Instances of either base or derived class can be created via dedicated functions.