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#

initial_states(propagator_settings, bodies)

Function for defining parameter settings for initial state parameters.

constant_drag_coefficient(body)

Function for defining parameter settings for constant drag coefficients.

arcwise_constant_drag_coefficient(body, ...)

Function for defining parameter settings for arc-wise constant drag coefficients.

radiation_pressure_coefficient(body)

Function for defining parameter settings for radiation pressure coefficients.

arcwise_radiation_pressure_coefficient(body, ...)

Function for defining parameter settings for arc-wise radiation pressure coefficients.

empirical_accelerations(body, centralBody, ...)

Function for defining parameter settings for empirical acceleration magnitudes.

arcwise_empirical_accelerations(body, ...)

Function for defining parameter settings for arc-wise empirical acceleration magnitudes.

constant_empirical_acceleration_terms(body, ...)

Function for defining parameter settings for constant empirical acceleration terms.

arcwise_constant_empirical_acceleration_terms(...)

Function for defining parameter settings for arc-wise constant empirical acceleration terms.

quasi_impulsive_shots(body)

Function for defining parameter settings for quasi-impulsive shots.

gravitational_parameter(body)

Function for defining parameter settings for a massive body's gravitational parameter.

spherical_harmonics_c_coefficients(body, ...)

Function for defining parameter settings for the cosine coefficients of body's spherical harmonics gravitational model.

spherical_harmonics_s_coefficients(body, ...)

Function for defining parameter settings for the sine coefficients of body's spherical harmonics gravitational model.

spherical_harmonics_c_coefficients_block(...)

Function for defining parameter settings for the cosine coefficients of body's spherical harmonics gravitational model.

spherical_harmonics_s_coefficients_block(...)

Function for defining parameter settings for the sine coefficients of body's spherical harmonics gravitational model.

constant_rotation_rate(body)

Function for defining parameter settings for a body's constant rotation rate.

rotation_pole_position(body)

Function for defining parameter settings for a body's rotation pole position.

mean_moment_of_inertia(body)

Function for defining parameter settings for a body's mean moment of inertia.

periodic_spin_variations(body)

Function for defining parameter settings for a body's periodic spin variations.

polar_motion_amplitudes(body)

Function for defining parameter settings for a body's polar motion amplitudes.

core_factor(body)

Function for defining parameter settings for a body's core factor.

free_core_nutation_rate(body)

Function for defining parameter settings for a body's free core nutation rate.

absolute_observation_bias(link_ends, ...)

Function for defining parameter settings for an absolute observation bias.

relative_observation_bias(link_ends, ...)

Function for defining parameter settings for an relative observation bias.

arcwise_absolute_observation_bias(link_ends, ...)

Function for defining parameter settings for arc-wise absolute observation bias.

arcwise_relative_observation_bias(link_ends, ...)

Function for defining parameter settings for arc-wise absolute observation bias.

ground_station_position(body, ...)

Function for defining parameter settings for ground station position bias.

ppn_parameter_gamma()

Function for defining parameter settings for post-newtonian gamma parameter.

ppn_parameter_beta()

Function for defining 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 defining parameter settings for initial state parameters.

Factory function for creating a (linear sensitivity) parameter settings object for initial state parameters. The factory 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

These function return lists of parameter settings objects.

This means that which 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 (:class:`~tudatpy.numerical_simulation.environment.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 defining parameter settings for constant drag coefficients.

Factory function for creating a (linear sensitivity) parameter settings object for constant drag coefficients. Using the constant drag coefficient as an estimatable parameter requires:

  • A constant() aerodynamic interface to be defined for the body specified by the body parameter

  • The body specified by the body parameter to undergo aerodynamic() 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:

EstimatableParameterSettings

arcwise_constant_drag_coefficient(body: str, arc_initial_times: List[float]) tudatpy.kernel.numerical_simulation.estimation_setup.parameter.EstimatableParameterSettings#

Function for defining parameter settings for arc-wise constant drag coefficients.

Factory function for creating (linear sensitivity) parameter settings object for arc-wise constant drag coefficients (arc-wise version of :func:``~tudatpy.numerical_simulation.estimation_setup.parameter.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 the body parameter

  • The body specified by the body parameter to undergo aerodynamic() acceleration

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:
  • body (str) – Name of the body, with whose drag acceleration model the estimatable parameter is associated.

  • arc_initial_times (List[ float ]) – List of times at which the arcs over which the drag coefficient is to be estimated will start.

Returns:

Instance of EstimatableParameterSettings derived ArcWiseDragCoefficientEstimatableParameterSettings class for arc-wise treatment of the specified body’s constant drag coefficient.

Return type:

EstimatableParameterSettings

radiation_pressure_coefficient(body: str) tudatpy.kernel.numerical_simulation.estimation_setup.parameter.EstimatableParameterSettings#

Function for defining parameter settings for radiation pressure coefficients.

Factory function for creating a (linear sensitivity) parameter settings object for a radiation pressure coefficient. Using the radiation pressure coefficient as an estimatable parameter requires:

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:

EstimatableParameterSettings

arcwise_radiation_pressure_coefficient(body: str, arc_initial_times: List[float]) tudatpy.kernel.numerical_simulation.estimation_setup.parameter.EstimatableParameterSettings#

Function for defining parameter settings for arc-wise radiation pressure coefficients.

Factory function for creating a (linear sensitivity) parameter settings object for arc-wise radiation pressure coefficients (arc-wise version of :func:``~tudatpy.numerical_simulation.estimation_setup.parameter.radiation_pressure_coefficient`). Using the radiation pressure coefficient as an estimatable parameter requires:

The radiation pressure coefficient is defined according to the universal convention for a cannonball model and thus no further model information is given.

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 radiation pressure acceleration model the estimatable parameter is associated.

  • arc_initial_times (List[ float ]) – List of times at which the arcs over which the radiation pressure coefficient is to be estimated will start.

Returns:

Instance of EstimatableParameterSettings derived ArcWiseRadiationPressureCoefficientEstimatableParameterSettings class for arc-wise treatment of the specified body’s radiation pressure coefficient.

Return type:

EstimatableParameterSettings

empirical_accelerations(body: str, centralBody: str, acceleration_components: Dict[tudat::basic_astrodynamics::EmpiricalAccelerationComponents, List[tudat::basic_astrodynamics::EmpiricalAccelerationFunctionalShapes]]) tudatpy.kernel.numerical_simulation.estimation_setup.parameter.EstimatableParameterSettings#

Function for defining parameter settings for empirical acceleration magnitudes.

Factory function for creating a (linear sensitivity) parameter settings object for empirical acceleration magnitudes. Using the empirical acceleration terms as estimatable parameters requires:

  • The body specified by the body parameter to undergo empirical() acceleration, which include constant (in RSW frame) terms

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 derived EmpiricalAccelerationEstimatableParameterSettings class for the specified body’s empirical acceleration terms.

Return type:

EstimatableParameterSettings

arcwise_empirical_accelerations(body: str, centralBody: str, acceleration_components: Dict[tudat::basic_astrodynamics::EmpiricalAccelerationComponents, List[tudat::basic_astrodynamics::EmpiricalAccelerationFunctionalShapes]], arc_start_times: List[float]) tudatpy.kernel.numerical_simulation.estimation_setup.parameter.EstimatableParameterSettings#

Function for defining parameter settings for arc-wise empirical acceleration magnitudes.

Factory function for creating a (linear sensitivity) parameter settings object for arc-wise empirical acceleration magnitudes (arc-wise version of :func:``~tudatpy.numerical_simulation.estimation_setup.parameter.empirical_accelerations`). Using the empirical acceleration terms as estimatable parameters requires:

  • The body specified by the body parameter to undergo empirical() acceleration, which include constant (in RSW frame) terms

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 derived EmpiricalAccelerationEstimatableParameterSettings class for the specified body’s arc-wise empirical acceleration terms.

Return type:

EstimatableParameterSettings

constant_empirical_acceleration_terms(body: str, centralBody: str) tudatpy.kernel.numerical_simulation.estimation_setup.parameter.EstimatableParameterSettings#

Function for defining 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 derived EmpiricalAccelerationEstimatableParameterSettings class for the specified body’s empirical acceleration terms.

Return type:

EstimatableParameterSettings

arcwise_constant_empirical_acceleration_terms(body: str, centralBody: str, arc_start_times: List[float]) tudatpy.kernel.numerical_simulation.estimation_setup.parameter.EstimatableParameterSettings#

Function for defining 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 derived EmpiricalAccelerationEstimatableParameterSettings class for the specified body’s arc-wise constant empirical acceleration terms.

Return type:

EstimatableParameterSettings

quasi_impulsive_shots(body: str) tudatpy.kernel.numerical_simulation.estimation_setup.parameter.EstimatableParameterSettings#

Function for defining parameter settings for quasi-impulsive shots.

Factory function for creating a (linear sensitivity) parameter settings object for so-called ‘quasi-impulsive shots’, such as desaturation maneuvers. With this parameter, the total \(\Delta V\) vector of a set of such shots/maneuvers can be estimated. Using the quasi-impulsive shots as an estimatable parameter requires:

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:

EstimatableParameterSettings

gravitational_parameter(body: str) tudatpy.kernel.numerical_simulation.estimation_setup.parameter.EstimatableParameterSettings#

Function for defining parameter settings for a massive body’s gravitational parameter.

Factory function for creating a (linear sensitivity) 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:

EstimatableParameterSettings

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 defining parameter settings for the cosine coefficients of body’s spherical harmonics gravitational model.

Factory function for creating a (linear sensitivity) parameter settings object for the spherical harmonics cosine-coefficients (\(\bar{C}_{lm}\)) of a hody 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 the body parameter

  • Any dynamical or observational model to depend on the estimated cosine coefficients of the body specified by the body parameter. Typically, this dependency will be a spherical_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 derived SphericalHarmonicEstimatableParameterSettings class for the applicable spherical harmonics c-coefficients of the specified body’s gravitational model.

Return type:

EstimatableParameterSettings

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 defining parameter settings for the sine coefficients of body’s spherical harmonics gravitational model.

Factory function for creating a (linear sensitivity) parameter settings object for the spherical harmonics sine-coefficients (\(\bar{S}_{lm}\)) of a hody 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 the body parameter

  • Any dynamical or observational model to depend on the estimated cosine coefficients of the body specified by the body parameter. Typically, this dependency will be a spherical_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 derived SphericalHarmonicEstimatableParameterSettings class for the applicable spherical harmonics s-coefficients of the specified body’s gravitational model.

Return type:

EstimatableParameterSettings

spherical_harmonics_c_coefficients_block(body: str, block_indices: List[Tuple[int, int]]) tudatpy.kernel.numerical_simulation.estimation_setup.parameter.EstimatableParameterSettings#

Function for defining 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 derived SphericalHarmonicEstimatableParameterSettings class for the applicable spherical harmonics c-coefficients of the specified body’s gravitational model.

Return type:

EstimatableParameterSettings

spherical_harmonics_s_coefficients_block(body: str, block_indices: List[Tuple[int, int]]) tudatpy.kernel.numerical_simulation.estimation_setup.parameter.EstimatableParameterSettings#

Function for defining 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 derived SphericalHarmonicEstimatableParameterSettings class for the applicable spherical harmonics s-coefficients of the specified body’s gravitational model.

Return type:

EstimatableParameterSettings

constant_rotation_rate(body: str) tudatpy.kernel.numerical_simulation.estimation_setup.parameter.EstimatableParameterSettings#

Function for defining parameter settings for a body’s constant rotation rate.

Factory function for creating a (linear sensitivity) parameter settings object for a body’s constant rotation rate parameter. Using the constant rotation rate as estimatable parameter requires:

  • A simple() or simple_from_spice() rotation model specified by the body parameter

  • Any 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:

EstimatableParameterSettings

rotation_pole_position(body: str) tudatpy.kernel.numerical_simulation.estimation_setup.parameter.EstimatableParameterSettings#

Function for defining parameter settings for a body’s rotation pole position.

Factory function for creating a (linear sensitivity) 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() or simple_from_spice() rotation model specified by the body parameter

  • Any 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:

EstimatableParameterSettings

mean_moment_of_inertia(body: str) tudatpy.kernel.numerical_simulation.estimation_setup.parameter.EstimatableParameterSettings#

Function for defining parameter settings for a body’s mean moment of inertia.

Factory function for creating a (linear sensitivity) 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:

EstimatableParameterSettings

periodic_spin_variations(body: str) tudatpy.kernel.numerical_simulation.estimation_setup.parameter.EstimatableParameterSettings#

Function for defining parameter settings for a body’s periodic spin variations.

Factory function for creating a (linear sensitivity) 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 the body parameter

  • Any 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:

EstimatableParameterSettings

polar_motion_amplitudes(body: str) tudatpy.kernel.numerical_simulation.estimation_setup.parameter.EstimatableParameterSettings#

Function for defining parameter settings for a body’s polar motion amplitudes.

Factory function for creating a (linear sensitivity) 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 the body parameter

  • Any 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:

EstimatableParameterSettings

core_factor(body: str) tudatpy.kernel.numerical_simulation.estimation_setup.parameter.EstimatableParameterSettings#

Function for defining parameter settings for a body’s core factor.

Factory function for creating a (linear sensitivity) 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 the body parameter

  • Any 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:

EstimatableParameterSettings

free_core_nutation_rate(body: str) tudatpy.kernel.numerical_simulation.estimation_setup.parameter.EstimatableParameterSettings#

Function for defining parameter settings for a body’s free core nutation rate.

Factory function for creating a (linear sensitivity) 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 the body parameter

  • Any 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:

EstimatableParameterSettings

absolute_observation_bias(link_ends: tudat::observation_models::LinkDefinition, observable_type: tudat::observation_models::ObservableType) tudatpy.kernel.numerical_simulation.estimation_setup.parameter.EstimatableParameterSettings#

Function for defining parameter settings for an absolute observation bias.

Factory function for creating a (linear sensitivity) 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 derived ConstantObservationBiasEstimatableParameterSettings for the specified observation’s arc-wise absolute bias.

Return type:

EstimatableParameterSettings

relative_observation_bias(link_ends: tudat::observation_models::LinkDefinition, observable_type: tudat::observation_models::ObservableType) tudatpy.kernel.numerical_simulation.estimation_setup.parameter.EstimatableParameterSettings#

Function for defining parameter settings for an relative observation bias.

Factory function for creating a (linear sensitivity) 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())

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.

Returns:

Instance of the EstimatableParameterSettings derived ConstantObservationBiasEstimatableParameterSettings for the specified observation’s arc-wise relative bias.

Return type:

EstimatableParameterSettings

arcwise_absolute_observation_bias(link_ends: tudat::observation_models::LinkDefinition, observable_type: tudat::observation_models::ObservableType, arc_start_times: List[float], time_link_end: tudat::observation_models::LinkEndType) tudatpy.kernel.numerical_simulation.estimation_setup.parameter.EstimatableParameterSettings#

Function for defining parameter settings for arc-wise absolute observation bias.

Factory function for creating a (linear sensitivity) 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 derived ArcWiseConstantObservationBiasEstimatableParameterSettings for the specified observation’s arc-wise absolute bias.

Return type:

EstimatableParameterSettings

arcwise_relative_observation_bias(link_ends: tudat::observation_models::LinkDefinition, observable_type: tudat::observation_models::ObservableType, arc_start_times: List[float], time_link_end: tudat::observation_models::LinkEndType) tudatpy.kernel.numerical_simulation.estimation_setup.parameter.EstimatableParameterSettings#

Function for defining parameter settings for arc-wise absolute observation bias.

Factory function for creating a (linear sensitivity) 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 derived ArcWiseConstantObservationBiasEstimatableParameterSettings for the specified observation’s arc-wise relative bias.

Return type:

EstimatableParameterSettings

ground_station_position(body: str, ground_station_name: str) tudatpy.kernel.numerical_simulation.estimation_setup.parameter.EstimatableParameterSettings#

Function for defining parameter settings for ground station position bias.

Factory function for creating a (linear sensitivity) 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:
  • body (str) – Body name identifying the body, with which the ground station is associated.

  • ground_station_name (str) – Name which identifies the position-biased ground station.

Returns:

EstimatableParameterSettings object for the specified ground station’s position bias.

Return type:

EstimatableParameterSettings

ppn_parameter_gamma() tudatpy.kernel.numerical_simulation.estimation_setup.parameter.EstimatableParameterSettings#

Function for defining parameter settings for post-newtonian gamma parameter.

Factory function for creating a (linear sensitivity) 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:

Returns:

EstimatableParameterSettings object for a global post-newtonian \(\gamma\) parameter.

Return type:

EstimatableParameterSettings

ppn_parameter_beta() tudatpy.kernel.numerical_simulation.estimation_setup.parameter.EstimatableParameterSettings#

Function for defining parameter settings for post-newtonian beta parameter.

Factory function for creating a (linear sensitivity) 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:

EstimatableParameterSettings

Enumerations#

EstimatableParameterTypes

Enumeration of model parameters that are available for estimation.

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 factory function dedicated to this parameter type. Note that not all of the listed types might be accessible via factory 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

property name#

Classes#

EstimatableParameterSettings

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 derivates of this class. Instances of either base or derived class can be created via dedicated factory functions.