Application of Timbre Estimates for Shorter Durations¶
Timbre produces “balanced” dwell times for best case scenarios where the durations are maximized and temperatures reach a limit, however real-world dwells will not always use the full dwell times output by Timbre. To help frame such a case, lets consider a scenario where a target needs to be inserted into a particular week, and the user balancing that week in the LTS needs to know how to balance that week to offset that target from a thermal perspective. The full duration of that target is used to find a second target or targets that balance the initial target (assuming the first target is short enough to realistically fit in a single best case dwell). When it comes time to fit these targets into the detailed schedule, the initial target needs to be split for reasons outside the original user’s control. Is the initial dwell balance still valid?
This is a question that repeatedly arises when evaluating Timbre data, and unfortunately there is no clear and direct answer. This is not a Timbre issue, but an issue with distilling dwell capability to a single curve (which Pyger did as well). Generating a max dwell curve inherently requires one to make assumptions on what conditions would yield such an outcome, and those conditions will often not match what is observed in a given week. All that being said, we can explore a simplified case and then use this to consider impacts other cases may have.
In this simplified case we will determine the effectiveness of an offset (cooling) dwell for a shortened heating (limited) duration, assuming the temperature limit is still reached. As an aid to this experiment, we define a simplified, non-dimensional thermal model based on Newton’s Law of Cooling:
[1]:
import numpy as np
import plotly.io as pio
from plot_code import *
[2]:
%load_ext nb_black
[3]:
def model(T_init, T_ss, t_1, t_2, t_step=0.1, k=-1):
A = T_init - T_ss
t = np.arange(t_1, t_2, t_step)
return t, A * np.exp(k * t) + T_ss
This certainly does not capture all of the nuance of a real Xija model, however it does allow us to focus on visualizing this problem.
We then plot the output of this model for a full heating and cooling cycle, where both the hot and cold steady state temperatures are reached.
[4]:
t_step = 0.01
T_init = 0
T_ss = 1.0
t_1 = 0
t_2 = 1 + t_step
k = -2 * np.e
t_h, T_h = model(T_init, T_ss, t_1, t_2, t_step=t_step, k=k)
t_c, T_c = model(T_h[-1], T_init, t_1, t_2, t_step=t_step, k=k)
plot_data = generate_non_dimensional_plot_data(t_h, T_h, t_c, T_c)
shape_data = generate_non_dimensional_shape_data(t_h, T_h, t_c, T_c)
annotation_data = generate_non_dimensional_annotation_data(t_h, T_h, t_c, T_c)
title = "Non-Dimensional Temperature Profile"
x_label = "Time"
y_label = "Temperature"
plot_object = generate_non_dimenstional_temperature_plot(
plot_data,
x_label,
y_label,
title,
x_range=[0, 2],
y_range=[-0.1, 1.1],
shapes=shape_data,
annotations=annotation_data,
)
pio.show(plot_object)
In this case, we can assume the planning/guideline limit is placed at the hot steady state value of 1.0. For real cases requiring such an analysis, this limit would be set at a value less than the steady state temperature (e.g. at 0.9 in the plot above), however we can use a value of 1.0 to capture the full range of behavior. When temperatures remain at hot end of the temperature profile, we can see in this plot that as the hot dwell time is shortened (bottom edge of the shaded range moves up), much less cooling time is required to balance this hot time. When the heating dwell is the more difficult target to schedule from a thermal perspective, this certainly can help the process.
If the shortened heating dwell reaches a cooler maximum temperature (i.e. the entire shaded region shifts down) the cooling dwell time would be less effective. If the heating dwell is the more difficult target to schedule, in this case this effect would make scheduling the detailed schedule more difficult.
As with Pyger, some iteration may be necessary to determine the precise methods that enable SOT MP to use Timbre to accurately balance schedules in a manner that allows FOT MP to efficiently assemble a detailed schedule. If Timbre data is found to be anti-conservative, the following methods could easily be used to tweak the balancing process:
Use slightly lower limits: This would “shift” the dwell range lower, forcing the offset (cooling) duration to be slightly less effective.
Apply safety factors to the heating-to-cooling ratios.
Further Thoughts:
As dwell durations approach the composite maximum dwell duration estimated by Timbre, these estimates become more accurate
As general dwell durations decrease due to continued spacecraft heating, short observations will approach maximum dwell capability and split observations are scheduled to minimize maneuvers by maximizing dwell durations.
Assuming observations are split in all dwell regions, the impacts of inaccuracies in the predicted dwell durations could wash out.