Cloud Environment
This tutorial demonstrates the configuration and use of a simple BSK-RL environment considering cloud coverage. The satellite has to image targets while managing its battery level. Additionally, reward is inversely proportional to the amount of cloud coverage. Still, the satellite cannot observe the true cloud coverage of each target, only its forecast.
Load Modules
[1]:
from typing import ClassVar
import gymnasium as gym
import numpy as np
from Basilisk.architecture import bskLogging
from Basilisk.utilities import orbitalMotion
from bsk_rl import act, obs, sats
from bsk_rl.data.unique_image_data import (
UniqueImageData,
UniqueImageReward,
UniqueImageStore,
)
from bsk_rl.scene.targets import UniformTargets
from bsk_rl.sim import dyn, fsw
from bsk_rl.utils.orbital import random_orbit
bskLogging.setDefaultLogLevel(bskLogging.BSK_WARNING)
Configure the Satellite
-
SatProperties: Body angular velocity, instrument pointing direction, body position, body velocity, battery charge (properties in flight software model or dynamics model). Also, customized dynamics property in CustomDynModel below: Angle between the sun and the solar panel.
OpportunityProperties: Target’s priority, cloud coverage forecast, and standard deviation of cloud coverage forecast (upcoming 32 targets). Also, time until the opportunity to ground station opens and closes.
Time: Simulation time.
Eclipse: Next eclipse start and end times.
-
Charge: Enter a sun-pointing charging mode for 60 seconds.
Image: Image target from upcoming 32 targets
Dynamics model: FullFeaturedDynModel is used and a property, angle between sun and solar panel, is added.
Flight software model: SteeringImagerFSWModel is used.
[2]:
class CustomSatComposed(sats.ImagingSatellite):
observation_spec: ClassVar[list[obs.Observation]] = [
obs.SatProperties(
dict(prop="omega_BP_P", norm=0.03),
dict(prop="c_hat_P"),
dict(prop="r_BN_P", norm=orbitalMotion.REQ_EARTH * 1e3),
dict(prop="v_BN_P", norm=7616.5),
dict(prop="battery_charge_fraction"),
dict(prop="solar_angle_norm"),
),
obs.OpportunityProperties(
# dict(fn=lambda sat, opp: print(opp)),
dict(prop="opportunity_open", norm=5700),
dict(prop="opportunity_close", norm=5700),
type="ground_station",
n_ahead_observe=1,
),
obs.Eclipse(),
obs.OpportunityProperties(
dict(prop="priority"),
dict(fn=lambda sat, opp: opp["object"].cloud_cover_forecast),
dict(fn=lambda sat, opp: opp["object"].cloud_cover_sigma),
type="target",
n_ahead_observe=32,
),
obs.Time(),
]
action_spec: ClassVar[list[act.Action]] = [
act.Charge(duration=60.0),
act.Image(n_ahead_image=32),
]
class CustomDynModel(dyn.FullFeaturedDynModel):
@property
def solar_angle_norm(self) -> float:
sun_vec_N = (
self.world.gravFactory.spiceObject.planetStateOutMsgs[
self.world.sun_index
]
.read()
.PositionVector
)
sun_vec_N_hat = sun_vec_N / np.linalg.norm(sun_vec_N)
solar_panel_vec_B = np.array([0, 0, -1]) # Not default configuration
mat = np.transpose(self.BN)
solar_panel_vec_N = np.matmul(mat, solar_panel_vec_B)
error_angle = np.arccos(np.dot(solar_panel_vec_N, sun_vec_N_hat))
return error_angle / np.pi
dyn_type = CustomDynModel
fsw_type = fsw.SteeringImagerFSWModel
When instantiating a satellite, these parameters can be overriden with a constant or rerandomized every time the environment is reset using the sat_args dictionary.
[3]:
dataStorageCapacity = 20 * 8e6 * 100
sat_args = CustomSatComposed.default_sat_args(
oe=random_orbit,
imageAttErrorRequirement=0.01,
imageRateErrorRequirement=0.01,
batteryStorageCapacity=80.0 * 3600 * 2,
storedCharge_Init=lambda: np.random.uniform(0.4, 1.0) * 80.0 * 3600 * 2,
u_max=0.2,
K1=0.5,
nHat_B=np.array([0, 0, -1]),
imageTargetMinimumElevation=np.radians(45),
rwBasePower=20,
maxWheelSpeed=1500,
storageInit=lambda: np.random.randint(
0 * dataStorageCapacity,
0.01 * dataStorageCapacity,
), # Initialize storage use close to zero
wheelSpeeds=lambda: np.random.uniform(
-1, 1, 3
), # Initialize reaction wheel speeds close to zero
)
# Make the satellites
satellites = []
satellites.append(
CustomSatComposed(
"EO",
sat_args,
)
)
Making a Scenario with Cloud Covered Targets
Using UniformTargets as a base, attach the following information to each target:
true_cloud_coverrepresents the true cloud coverage. Information from external sources, such as historical cloud data, can be used here based on each target’s position.cloud_cover_forecastrepresents the cloud coverage forecast. Forecast from external sources can be plugged in here.cloud_cover_sigmarepresents the standard deviation of the cloud coverage forecast.
[4]:
class CloudTargets(UniformTargets):
mu_data = 0.6740208166434426
sigma_max = 0.05
sigma_min = 0.01
def regenerate_targets(self) -> None:
super().regenerate_targets()
for target in self.targets:
target.true_cloud_cover = np.clip(
np.random.uniform(0.0, self.mu_data * 2), 0.0, 1.0
)
target.cloud_cover_sigma = np.random.uniform(self.sigma_min, self.sigma_max)
target.cloud_cover_forecast = np.clip(
np.random.normal(target.true_cloud_cover, target.cloud_cover_sigma),
0.0,
1.0,
)
n_targets = (1000, 10000)
scenario = CloudTargets(n_targets=n_targets)
Adding a Filter Based on Cloud Coverage Forecast
It is possible to add a filter to the satellite using add_access_filter to remove targets with cloud_cover_forecast higher than a threshold from the observations.
[5]:
def cloud_cover_filter(opportunity):
if opportunity["type"] == "target":
return opportunity["object"].cloud_cover_forecast < 0.2
return True
# Uncomment the following line to add the filter to the satellite
# satellites[0].add_access_filter(cloud_cover_filter)
Making a Rewarder Considering Cloud Coverage
A linear reward model is considered, where the reward is proportional to the cloud coverage of the target until a given threshold given by cloud_threshold. It has similar settings as the UniqueImageReward class, but cloud_covered and cloud_free information is added. Additionally, the calculate_reward function is modified for the linear reward model.
[6]:
from typing import TYPE_CHECKING
if TYPE_CHECKING: # pragma: no cover
from bsk_rl.scene.targets import (
Target,
)
class CloudImagePercentData(UniqueImageData):
"""DataType for unique images of targets."""
def __init__(
self,
imaged: set["Target"] | None = None,
duplicates: int = 0,
known: set["Target"] | None = None,
cloud_covered: set["Target"] | None = None,
cloud_free: set["Target"] | None = None,
) -> None:
"""Construct unit of data to record unique images.
Keeps track of ``imaged`` targets, a count of ``duplicates`` (i.e. images that
were not rewarded due to the target already having been imaged), and all
``known`` targets in the environment.
Args:
imaged: Set of targets that are known to be imaged.
duplicates: Count of target imaging duplication.
known: Set of targets that are known to exist (imaged and unimaged).
cloud_covered: Set of imaged targets that are known to be cloud covered.
cloud_free: Set of imaged targets that are known to be cloud free.
"""
super().__init__(imaged=imaged, duplicates=duplicates, known=known)
if cloud_covered is None:
cloud_covered = set()
if cloud_free is None:
cloud_free = set()
self.cloud_covered = set(cloud_covered)
self.cloud_free = set(cloud_free)
def __add__(self, other: "CloudImagePercentData") -> "CloudImagePercentData":
"""Combine two units of data.
Args:
other: Another unit of data to combine with this one.
Returns:
Combined unit of data.
"""
imaged = self.imaged | other.imaged
duplicates = (
self.duplicates
+ other.duplicates
+ len(self.imaged)
+ len(other.imaged)
- len(imaged)
)
known = self.known | other.known
cloud_covered = self.cloud_covered | other.cloud_covered
cloud_free = self.cloud_free | other.cloud_free
return self.__class__(
imaged=imaged,
duplicates=duplicates,
known=known,
cloud_covered=cloud_covered,
cloud_free=cloud_free,
)
class CloudImagePercentDataStore(UniqueImageStore):
"""DataStore for unique images of targets."""
data_type = CloudImagePercentData
def compare_log_states(
self, old_state: np.ndarray, new_state: np.ndarray
) -> CloudImagePercentData:
"""Check for an increase in logged data to identify new images.
Args:
old_state: older storedData from satellite storage unit
new_state: newer storedData from satellite storage unit
Returns:
list: Targets imaged at new_state that were unimaged at old_state
"""
data_increase = new_state - old_state
if data_increase <= 0:
return CloudImagePercentData()
else:
assert self.satellite.latest_target is not None
self.update_target_colors([self.satellite.latest_target])
cloud_coverage = self.satellite.latest_target.true_cloud_cover
cloud_threshold = 0.7
if cloud_coverage > cloud_threshold:
cloud_covered = [self.satellite.latest_target]
cloud_free = []
else:
cloud_covered = []
cloud_free = [self.satellite.latest_target]
return CloudImagePercentData(
imaged={self.satellite.latest_target},
cloud_covered=cloud_covered,
cloud_free=cloud_free,
)
class CloudImagingPercentRewarder(UniqueImageReward):
"""DataManager for rewarding unique images."""
data_store_type = CloudImagePercentDataStore
def calculate_reward(
self, new_data_dict: dict[str, CloudImagePercentData]
) -> dict[str, float]:
"""Reward new each unique image once using self.reward_fn().
Args:
new_data_dict: Record of new images for each satellite
Returns:
reward: Cumulative reward across satellites for one step
"""
reward = {}
imaged_counts = {}
for new_data in new_data_dict.values():
for target in new_data.imaged:
if target not in imaged_counts:
imaged_counts[target] = 0
imaged_counts[target] += 1
for sat_id, new_data in new_data_dict.items():
reward[sat_id] = 0.0
for target in new_data.cloud_free:
if target not in self.data.imaged:
reward[sat_id] += self.reward_fn(
target.priority,
target.true_cloud_cover,
imaged_counts[target],
)
return reward
# Define the reward function as a function of the priority of the target, the cloud cover, and the number of times the target has been imaged
def reward_function(priority, cloud_cover, count_target):
cloud_threshold = 0.7
return priority / count_target * (1 - cloud_cover / cloud_threshold)
rewarder = CloudImagingPercentRewarder(reward_fn=reward_function)
Initializing and Interacting with the Environment
For this example, we will be using the single-agent SatelliteTasking environment. Along with passing the satellite that we configured, the environment takes a scenario, which defines the environment the satellite is acting in, and a rewarder, which defines how data collected from the scenario is rewarded.
[7]:
env = gym.make(
"GeneralSatelliteTasking-v1",
satellites=satellites,
terminate_on_time_limit=True,
scenario=scenario,
rewarder=rewarder,
sim_rate=0.5,
max_step_duration=300.0,
time_limit=95 * 60 * 3,
log_level="INFO",
failure_penalty=0,
# disable_env_checker=True, # For debugging
)
2026-10-09 20:34:42,901 gym INFO Calling env.reset() to get observation space
2026-10-09 20:34:42,902 gym INFO Resetting environment with seed=851564714
2026-10-09 20:34:42,903 scene.targets INFO Generating 5702 targets
2026-10-09 20:34:43,003 sats.satellite.EO INFO <0.00> EO: Finding opportunity windows from 0.00 to 17400.00 seconds
2026-10-09 20:34:43,563 gym INFO <0.00> Environment reset
First, reset the environment. It is possible to specify the seed when resetting the environment.
[8]:
observation, info = env.reset(seed=1)
2026-10-09 20:34:43,568 gym INFO Resetting environment with seed=1
2026-10-09 20:34:43,570 scene.targets INFO Generating 9920 targets
2026-10-09 20:34:43,689 sats.satellite.EO INFO <0.00> EO: Finding opportunity windows from 0.00 to 17400.00 seconds
2026-10-09 20:34:44,824 utils.orbital WARNING <0.00> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:44,825 gym INFO <0.00> Environment reset
It is possible to printing out the actions and observations. The composed satellite action_description returns a human-readable action map each satellite has the same action space and similar observation space.
[9]:
print("Actions:", satellites[0].action_description)
print("States:", env.unwrapped.satellites[0].observation_description, "\n")
# Using the composed satellite features also provides a human-readable state:
for satellite in env.unwrapped.satellites:
for k, v in satellite.observation_builder.obs_dict().items():
print(f"{k}: {v}")
Actions: ['action_charge', 'action_image_0', 'action_image_1', 'action_image_2', 'action_image_3', 'action_image_4', 'action_image_5', 'action_image_6', 'action_image_7', 'action_image_8', 'action_image_9', 'action_image_10', 'action_image_11', 'action_image_12', 'action_image_13', 'action_image_14', 'action_image_15', 'action_image_16', 'action_image_17', 'action_image_18', 'action_image_19', 'action_image_20', 'action_image_21', 'action_image_22', 'action_image_23', 'action_image_24', 'action_image_25', 'action_image_26', 'action_image_27', 'action_image_28', 'action_image_29', 'action_image_30', 'action_image_31']
States: [np.str_('sat_props.omega_BP_P_normd[0]'), np.str_('sat_props.omega_BP_P_normd[1]'), np.str_('sat_props.omega_BP_P_normd[2]'), np.str_('sat_props.c_hat_P[0]'), np.str_('sat_props.c_hat_P[1]'), np.str_('sat_props.c_hat_P[2]'), np.str_('sat_props.r_BN_P_normd[0]'), np.str_('sat_props.r_BN_P_normd[1]'), np.str_('sat_props.r_BN_P_normd[2]'), np.str_('sat_props.v_BN_P_normd[0]'), np.str_('sat_props.v_BN_P_normd[1]'), np.str_('sat_props.v_BN_P_normd[2]'), np.str_('sat_props.battery_charge_fraction'), np.str_('sat_props.solar_angle_norm'), np.str_('ground_station.ground_station_0.opportunity_open_normd'), np.str_('ground_station.ground_station_0.opportunity_close_normd'), np.str_('eclipse[0]'), np.str_('eclipse[1]'), np.str_('target.target_0.priority'), np.str_('target.target_0.prop_1'), np.str_('target.target_0.prop_2'), np.str_('target.target_1.priority'), np.str_('target.target_1.prop_1'), np.str_('target.target_1.prop_2'), np.str_('target.target_2.priority'), np.str_('target.target_2.prop_1'), np.str_('target.target_2.prop_2'), np.str_('target.target_3.priority'), np.str_('target.target_3.prop_1'), np.str_('target.target_3.prop_2'), np.str_('target.target_4.priority'), np.str_('target.target_4.prop_1'), np.str_('target.target_4.prop_2'), np.str_('target.target_5.priority'), np.str_('target.target_5.prop_1'), np.str_('target.target_5.prop_2'), np.str_('target.target_6.priority'), np.str_('target.target_6.prop_1'), np.str_('target.target_6.prop_2'), np.str_('target.target_7.priority'), np.str_('target.target_7.prop_1'), np.str_('target.target_7.prop_2'), np.str_('target.target_8.priority'), np.str_('target.target_8.prop_1'), np.str_('target.target_8.prop_2'), np.str_('target.target_9.priority'), np.str_('target.target_9.prop_1'), np.str_('target.target_9.prop_2'), np.str_('target.target_10.priority'), np.str_('target.target_10.prop_1'), np.str_('target.target_10.prop_2'), np.str_('target.target_11.priority'), np.str_('target.target_11.prop_1'), np.str_('target.target_11.prop_2'), np.str_('target.target_12.priority'), np.str_('target.target_12.prop_1'), np.str_('target.target_12.prop_2'), np.str_('target.target_13.priority'), np.str_('target.target_13.prop_1'), np.str_('target.target_13.prop_2'), np.str_('target.target_14.priority'), np.str_('target.target_14.prop_1'), np.str_('target.target_14.prop_2'), np.str_('target.target_15.priority'), np.str_('target.target_15.prop_1'), np.str_('target.target_15.prop_2'), np.str_('target.target_16.priority'), np.str_('target.target_16.prop_1'), np.str_('target.target_16.prop_2'), np.str_('target.target_17.priority'), np.str_('target.target_17.prop_1'), np.str_('target.target_17.prop_2'), np.str_('target.target_18.priority'), np.str_('target.target_18.prop_1'), np.str_('target.target_18.prop_2'), np.str_('target.target_19.priority'), np.str_('target.target_19.prop_1'), np.str_('target.target_19.prop_2'), np.str_('target.target_20.priority'), np.str_('target.target_20.prop_1'), np.str_('target.target_20.prop_2'), np.str_('target.target_21.priority'), np.str_('target.target_21.prop_1'), np.str_('target.target_21.prop_2'), np.str_('target.target_22.priority'), np.str_('target.target_22.prop_1'), np.str_('target.target_22.prop_2'), np.str_('target.target_23.priority'), np.str_('target.target_23.prop_1'), np.str_('target.target_23.prop_2'), np.str_('target.target_24.priority'), np.str_('target.target_24.prop_1'), np.str_('target.target_24.prop_2'), np.str_('target.target_25.priority'), np.str_('target.target_25.prop_1'), np.str_('target.target_25.prop_2'), np.str_('target.target_26.priority'), np.str_('target.target_26.prop_1'), np.str_('target.target_26.prop_2'), np.str_('target.target_27.priority'), np.str_('target.target_27.prop_1'), np.str_('target.target_27.prop_2'), np.str_('target.target_28.priority'), np.str_('target.target_28.prop_1'), np.str_('target.target_28.prop_2'), np.str_('target.target_29.priority'), np.str_('target.target_29.prop_1'), np.str_('target.target_29.prop_2'), np.str_('target.target_30.priority'), np.str_('target.target_30.prop_1'), np.str_('target.target_30.prop_2'), np.str_('target.target_31.priority'), np.str_('target.target_31.prop_1'), np.str_('target.target_31.prop_2'), np.str_('time')]
sat_props: {'omega_BP_P_normd': array([ 0.00275859, -0.00064194, -0.0038198 ]), 'c_hat_P': array([-0.92971139, -0.08402577, -0.35857551]), 'r_BN_P_normd': array([-0.86709638, 0.63816435, 0.03753885]), 'v_BN_P_normd': array([0.25160036, 0.28603904, 0.94893265]), 'battery_charge_fraction': 0.48805353449026784, 'solar_angle_norm': np.float64(0.3699294044324927)}
ground_station: {'ground_station_0': {'opportunity_open_normd': 0.5643954203724236, 'opportunity_close_normd': 0.6302962032834142}}
eclipse: [1.0, 1.0]
target: {'target_0': {'priority': 0.15188087924578286, 'prop_1': np.float64(0.99621184759255), 'prop_2': 0.01994306637679705}, 'target_1': {'priority': 0.45408991725807724, 'prop_1': np.float64(0.874052642439568), 'prop_2': 0.024897489369114685}, 'target_2': {'priority': 0.9974742584612157, 'prop_1': np.float64(0.23281787763016193), 'prop_2': 0.017187270653050937}, 'target_3': {'priority': 0.6226449255263621, 'prop_1': np.float64(0.16615572477135115), 'prop_2': 0.0397428591914165}, 'target_4': {'priority': 0.64110481456894, 'prop_1': np.float64(0.43956713900862204), 'prop_2': 0.0340473472529546}, 'target_5': {'priority': 0.06188246788512386, 'prop_1': np.float64(1.0), 'prop_2': 0.04915355747465875}, 'target_6': {'priority': 0.41637743150489814, 'prop_1': np.float64(0.6414641561471661), 'prop_2': 0.03964127131943236}, 'target_7': {'priority': 0.11649443653250835, 'prop_1': np.float64(1.0), 'prop_2': 0.030915002844493736}, 'target_8': {'priority': 0.024073691044198653, 'prop_1': np.float64(0.7824145445337269), 'prop_2': 0.012737288328598622}, 'target_9': {'priority': 0.9837855541915604, 'prop_1': np.float64(0.5999478704231446), 'prop_2': 0.041158164826759686}, 'target_10': {'priority': 0.5006195729230891, 'prop_1': np.float64(0.33257922871550927), 'prop_2': 0.030972496793019902}, 'target_11': {'priority': 0.9818994020158649, 'prop_1': np.float64(0.2795779616797209), 'prop_2': 0.014305523848347735}, 'target_12': {'priority': 0.34420130779211366, 'prop_1': np.float64(0.9921866170914561), 'prop_2': 0.025988506848865646}, 'target_13': {'priority': 0.03597928584932897, 'prop_1': np.float64(0.25849229848356386), 'prop_2': 0.02508709527630866}, 'target_14': {'priority': 0.6106826298238791, 'prop_1': np.float64(0.4331358500437723), 'prop_2': 0.04619760042322715}, 'target_15': {'priority': 0.6172276417522594, 'prop_1': np.float64(0.6040285964715363), 'prop_2': 0.021453269167399543}, 'target_16': {'priority': 0.4059609797467638, 'prop_1': np.float64(0.3150991123390838), 'prop_2': 0.026283028618400962}, 'target_17': {'priority': 0.618930423097489, 'prop_1': np.float64(0.26503065014605437), 'prop_2': 0.03970130222062493}, 'target_18': {'priority': 0.4534325175961308, 'prop_1': np.float64(0.1726335068120615), 'prop_2': 0.019029710522383173}, 'target_19': {'priority': 0.2191222392982266, 'prop_1': np.float64(0.6471546794019115), 'prop_2': 0.02363442279473462}, 'target_20': {'priority': 0.0012690216963487932, 'prop_1': np.float64(0.34316798721006386), 'prop_2': 0.024782907724775677}, 'target_21': {'priority': 0.8729048676586963, 'prop_1': np.float64(1.0), 'prop_2': 0.03974937121258252}, 'target_22': {'priority': 0.8112195342113623, 'prop_1': np.float64(1.0), 'prop_2': 0.044297123184459865}, 'target_23': {'priority': 0.7330033732927641, 'prop_1': np.float64(0.527906413489412), 'prop_2': 0.029396772692939825}, 'target_24': {'priority': 0.9621731191427757, 'prop_1': np.float64(1.0), 'prop_2': 0.020288225732818424}, 'target_25': {'priority': 0.9058084167065523, 'prop_1': np.float64(0.3745867778323258), 'prop_2': 0.04866955536519839}, 'target_26': {'priority': 0.7199403969458167, 'prop_1': np.float64(0.45615182138411925), 'prop_2': 0.04409986297714217}, 'target_27': {'priority': 0.0231224939829332, 'prop_1': np.float64(0.42635750848590165), 'prop_2': 0.03331115189104554}, 'target_28': {'priority': 0.8601729369162051, 'prop_1': np.float64(0.9538964971620012), 'prop_2': 0.03781681927036095}, 'target_29': {'priority': 0.0494800239061014, 'prop_1': np.float64(0.2245229655462288), 'prop_2': 0.012364549909917715}, 'target_30': {'priority': 0.19971974218805755, 'prop_1': np.float64(0.08501284636907142), 'prop_2': 0.030059267434030895}, 'target_31': {'priority': 0.9689104709978394, 'prop_1': np.float64(0.9468153199274215), 'prop_2': 0.02370500523690022}}
time: 0.0
Then, run the simulation until timeout or agent failure.
[10]:
count = 0
while True:
if count == 0:
# Vector with an action for each satellite (we can pass different actions for each satellite)
# Tasking all satellites to charge (tasking None as the first action will raise a warning)
action_vector = [0]
elif count == 1:
# None will continue the last action, but will also raise a warning
action_vector = [None]
elif count == 2:
# Tasking different actions for each satellite
action_vector = [1]
else:
# Tasking random actions
action_vector = env.action_space.sample()
count += 1
observation, reward, terminated, truncated, info = env.step(action_vector)
# Show the custom normalized observation vector
# print("\tObservation:", observation)
if terminated or truncated:
print("Episode complete.")
break
2026-10-09 20:34:44,834 gym INFO <0.00> === STARTING STEP ===
2026-10-09 20:34:44,834 sats.satellite.EO INFO <0.00> EO: action_charge tasked for 60.0 seconds
2026-10-09 20:34:44,834 sats.satellite.EO INFO <0.00> EO: setting timed terminal event at 60.0
2026-10-09 20:34:44,839 sats.satellite.EO INFO <60.00> EO: timed termination at 60.0 for action_charge
2026-10-09 20:34:44,840 data.base INFO <60.00> Total reward: {}
2026-10-09 20:34:44,840 comm.communication INFO <60.00> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:44,841 sats.satellite.EO INFO <60.00> EO: Satellite EO requires retasking
2026-10-09 20:34:44,842 utils.orbital WARNING <60.00> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:44,844 gym INFO <60.00> Step reward: 0.0
2026-10-09 20:34:44,844 gym INFO <60.00> === STARTING STEP ===
2026-10-09 20:34:44,845 sats.satellite.EO WARNING <60.00> EO: Requires retasking but received no task.
2026-10-09 20:34:44,861 sim.simulator INFO <360.00> Max step duration reached
2026-10-09 20:34:44,862 data.base INFO <360.00> Total reward: {}
2026-10-09 20:34:44,862 comm.communication INFO <360.00> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:44,863 sats.satellite.EO INFO <360.00> EO: Satellite EO requires retasking
2026-10-09 20:34:44,864 utils.orbital WARNING <360.00> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:44,866 gym INFO <360.00> Step reward: 0.0
2026-10-09 20:34:44,866 gym INFO <360.00> === STARTING STEP ===
2026-10-09 20:34:44,866 sats.satellite.EO INFO <360.00> EO: target index 0 tasked
2026-10-09 20:34:44,867 sats.satellite.EO INFO <360.00> EO: Target(tgt-7918) tasked for imaging
2026-10-09 20:34:44,867 sats.satellite.EO INFO <360.00> EO: Target(tgt-7918) window enabled: 256.2 to 377.2
2026-10-09 20:34:44,867 sats.satellite.EO INFO <360.00> EO: setting timed terminal event at 377.2
2026-10-09 20:34:44,871 sats.satellite.EO INFO <377.50> EO: timed termination at 377.2 for Target(tgt-7918) window
2026-10-09 20:34:44,871 data.base INFO <377.50> Total reward: {}
2026-10-09 20:34:44,872 comm.communication INFO <377.50> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:44,872 sats.satellite.EO INFO <377.50> EO: Satellite EO requires retasking
2026-10-09 20:34:44,874 utils.orbital WARNING <377.50> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:44,875 gym INFO <377.50> Step reward: 0.0
2026-10-09 20:34:44,875 gym INFO <377.50> === STARTING STEP ===
2026-10-09 20:34:44,876 sats.satellite.EO INFO <377.50> EO: target index 10 tasked
2026-10-09 20:34:44,876 sats.satellite.EO INFO <377.50> EO: Target(tgt-3432) tasked for imaging
2026-10-09 20:34:44,876 sats.satellite.EO INFO <377.50> EO: Target(tgt-3432) window enabled: 382.4 to 504.6
2026-10-09 20:34:44,877 sats.satellite.EO INFO <377.50> EO: setting timed terminal event at 504.6
2026-10-09 20:34:44,884 sats.satellite.EO INFO <427.00> EO: imaged Target(tgt-3432)
2026-10-09 20:34:44,885 data.base INFO <427.00> Total reward: {'EO': np.float64(0.04397166029665051)}
2026-10-09 20:34:44,885 comm.communication INFO <427.00> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:44,885 sats.satellite.EO INFO <427.00> EO: Satellite EO requires retasking
2026-10-09 20:34:44,887 utils.orbital WARNING <427.00> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:44,888 gym INFO <427.00> Step reward: 0.04397166029665051
2026-10-09 20:34:44,889 gym INFO <427.00> === STARTING STEP ===
2026-10-09 20:34:44,889 sats.satellite.EO INFO <427.00> EO: target index 14 tasked
2026-10-09 20:34:44,889 sats.satellite.EO INFO <427.00> EO: Target(tgt-5055) tasked for imaging
2026-10-09 20:34:44,890 sats.satellite.EO INFO <427.00> EO: Target(tgt-5055) window enabled: 438.2 to 552.6
2026-10-09 20:34:44,890 sats.satellite.EO INFO <427.00> EO: setting timed terminal event at 552.6
2026-10-09 20:34:44,895 sats.satellite.EO INFO <461.50> EO: imaged Target(tgt-5055)
2026-10-09 20:34:44,896 data.base INFO <461.50> Total reward: {}
2026-10-09 20:34:44,896 comm.communication INFO <461.50> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:44,896 sats.satellite.EO INFO <461.50> EO: Satellite EO requires retasking
2026-10-09 20:34:44,898 utils.orbital WARNING <461.50> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:44,899 gym INFO <461.50> Step reward: 0.0
2026-10-09 20:34:44,900 gym INFO <461.50> === STARTING STEP ===
2026-10-09 20:34:44,900 sats.satellite.EO INFO <461.50> EO: target index 3 tasked
2026-10-09 20:34:44,900 sats.satellite.EO INFO <461.50> EO: Target(tgt-2692) tasked for imaging
2026-10-09 20:34:44,901 sats.satellite.EO INFO <461.50> EO: Target(tgt-2692) window enabled: 462.6 to 513.3
2026-10-09 20:34:44,901 sats.satellite.EO INFO <461.50> EO: setting timed terminal event at 513.3
2026-10-09 20:34:44,905 sats.satellite.EO INFO <488.00> EO: imaged Target(tgt-2692)
2026-10-09 20:34:44,906 data.base INFO <488.00> Total reward: {}
2026-10-09 20:34:44,906 comm.communication INFO <488.00> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:44,907 sats.satellite.EO INFO <488.00> EO: Satellite EO requires retasking
2026-10-09 20:34:44,908 utils.orbital WARNING <488.00> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:44,909 gym INFO <488.00> Step reward: 0.0
2026-10-09 20:34:44,909 gym INFO <488.00> === STARTING STEP ===
2026-10-09 20:34:44,910 sats.satellite.EO INFO <488.00> EO: target index 7 tasked
2026-10-09 20:34:44,910 sats.satellite.EO INFO <488.00> EO: Target(tgt-8899) tasked for imaging
2026-10-09 20:34:44,911 sats.satellite.EO INFO <488.00> EO: Target(tgt-8899) window enabled: 427.1 to 549.2
2026-10-09 20:34:44,911 sats.satellite.EO INFO <488.00> EO: setting timed terminal event at 549.2
2026-10-09 20:34:44,916 sats.satellite.EO INFO <522.00> EO: imaged Target(tgt-8899)
2026-10-09 20:34:44,917 data.base INFO <522.00> Total reward: {}
2026-10-09 20:34:44,917 comm.communication INFO <522.00> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:44,917 sats.satellite.EO INFO <522.00> EO: Satellite EO requires retasking
2026-10-09 20:34:44,919 utils.orbital WARNING <522.00> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:44,920 gym INFO <522.00> Step reward: 0.0
2026-10-09 20:34:44,920 gym INFO <522.00> === STARTING STEP ===
2026-10-09 20:34:44,921 sats.satellite.EO INFO <522.00> EO: target index 10 tasked
2026-10-09 20:34:44,921 sats.satellite.EO INFO <522.00> EO: Target(tgt-4293) tasked for imaging
2026-10-09 20:34:44,922 sats.satellite.EO INFO <522.00> EO: Target(tgt-4293) window enabled: 519.6 to 608.4
2026-10-09 20:34:44,922 sats.satellite.EO INFO <522.00> EO: setting timed terminal event at 608.4
2026-10-09 20:34:44,928 sats.satellite.EO INFO <568.50> EO: imaged Target(tgt-4293)
2026-10-09 20:34:44,929 data.base INFO <568.50> Total reward: {}
2026-10-09 20:34:44,929 comm.communication INFO <568.50> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:44,929 sats.satellite.EO INFO <568.50> EO: Satellite EO requires retasking
2026-10-09 20:34:44,931 utils.orbital WARNING <568.50> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:44,932 gym INFO <568.50> Step reward: 0.0
2026-10-09 20:34:44,932 gym INFO <568.50> === STARTING STEP ===
2026-10-09 20:34:44,933 sats.satellite.EO INFO <568.50> EO: target index 9 tasked
2026-10-09 20:34:44,933 sats.satellite.EO INFO <568.50> EO: Target(tgt-5550) tasked for imaging
2026-10-09 20:34:44,933 sats.satellite.EO INFO <568.50> EO: Target(tgt-5550) window enabled: 516.0 to 636.5
2026-10-09 20:34:44,934 sats.satellite.EO INFO <568.50> EO: setting timed terminal event at 636.5
2026-10-09 20:34:44,938 sats.satellite.EO INFO <594.50> EO: imaged Target(tgt-5550)
2026-10-09 20:34:44,938 data.base INFO <594.50> Total reward: {'EO': np.float64(0.005866034094078391)}
2026-10-09 20:34:44,939 comm.communication INFO <594.50> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:44,939 sats.satellite.EO INFO <594.50> EO: Satellite EO requires retasking
2026-10-09 20:34:44,940 utils.orbital WARNING <594.50> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:44,942 gym INFO <594.50> Step reward: 0.005866034094078391
2026-10-09 20:34:44,942 gym INFO <594.50> === STARTING STEP ===
2026-10-09 20:34:44,942 sats.satellite.EO INFO <594.50> EO: target index 13 tasked
2026-10-09 20:34:44,942 sats.satellite.EO INFO <594.50> EO: Target(tgt-7965) tasked for imaging
2026-10-09 20:34:44,943 sats.satellite.EO INFO <594.50> EO: Target(tgt-7965) window enabled: 577.7 to 687.6
2026-10-09 20:34:44,943 sats.satellite.EO INFO <594.50> EO: setting timed terminal event at 687.6
2026-10-09 20:34:44,948 sats.satellite.EO INFO <630.50> EO: imaged Target(tgt-7965)
2026-10-09 20:34:44,949 data.base INFO <630.50> Total reward: {}
2026-10-09 20:34:44,949 comm.communication INFO <630.50> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:44,949 sats.satellite.EO INFO <630.50> EO: Satellite EO requires retasking
2026-10-09 20:34:44,951 utils.orbital WARNING <630.50> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:44,952 gym INFO <630.50> Step reward: 0.0
2026-10-09 20:34:44,952 gym INFO <630.50> === STARTING STEP ===
2026-10-09 20:34:44,952 sats.satellite.EO INFO <630.50> EO: target index 0 tasked
2026-10-09 20:34:44,953 sats.satellite.EO INFO <630.50> EO: Target(tgt-2622) tasked for imaging
2026-10-09 20:34:44,953 sats.satellite.EO INFO <630.50> EO: Target(tgt-2622) window enabled: 556.3 to 637.1
2026-10-09 20:34:44,953 sats.satellite.EO INFO <630.50> EO: setting timed terminal event at 637.1
2026-10-09 20:34:44,956 sats.satellite.EO INFO <637.50> EO: timed termination at 637.1 for Target(tgt-2622) window
2026-10-09 20:34:44,956 data.base INFO <637.50> Total reward: {}
2026-10-09 20:34:44,957 comm.communication INFO <637.50> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:44,957 sats.satellite.EO INFO <637.50> EO: Satellite EO requires retasking
2026-10-09 20:34:44,959 utils.orbital WARNING <637.50> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:44,960 gym INFO <637.50> Step reward: 0.0
2026-10-09 20:34:44,960 gym INFO <637.50> === STARTING STEP ===
2026-10-09 20:34:44,960 sats.satellite.EO INFO <637.50> EO: target index 14 tasked
2026-10-09 20:34:44,960 sats.satellite.EO INFO <637.50> EO: Target(tgt-865) tasked for imaging
2026-10-09 20:34:44,961 sats.satellite.EO INFO <637.50> EO: Target(tgt-865) window enabled: 686.1 to 764.8
2026-10-09 20:34:44,961 sats.satellite.EO INFO <637.50> EO: setting timed terminal event at 764.8
2026-10-09 20:34:44,971 sats.satellite.EO INFO <701.00> EO: imaged Target(tgt-865)
2026-10-09 20:34:44,971 data.base INFO <701.00> Total reward: {}
2026-10-09 20:34:44,972 comm.communication INFO <701.00> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:44,972 sats.satellite.EO INFO <701.00> EO: Satellite EO requires retasking
2026-10-09 20:34:44,974 utils.orbital WARNING <701.00> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:44,975 gym INFO <701.00> Step reward: 0.0
2026-10-09 20:34:44,975 gym INFO <701.00> === STARTING STEP ===
2026-10-09 20:34:44,975 sats.satellite.EO INFO <701.00> EO: target index 25 tasked
2026-10-09 20:34:44,976 sats.satellite.EO INFO <701.00> EO: Target(tgt-2645) tasked for imaging
2026-10-09 20:34:44,976 sats.satellite.EO INFO <701.00> EO: Target(tgt-2645) window enabled: 791.3 to 911.2
2026-10-09 20:34:44,977 sats.satellite.EO INFO <701.00> EO: setting timed terminal event at 911.2
2026-10-09 20:34:44,989 sats.satellite.EO INFO <792.50> EO: imaged Target(tgt-2645)
2026-10-09 20:34:44,990 data.base INFO <792.50> Total reward: {'EO': np.float64(0.5904411725278743)}
2026-10-09 20:34:44,990 comm.communication INFO <792.50> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:44,991 sats.satellite.EO INFO <792.50> EO: Satellite EO requires retasking
2026-10-09 20:34:44,992 utils.orbital WARNING <792.50> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:44,994 gym INFO <792.50> Step reward: 0.5904411725278743
2026-10-09 20:34:44,994 gym INFO <792.50> === STARTING STEP ===
2026-10-09 20:34:44,994 sats.satellite.EO INFO <792.50> EO: target index 28 tasked
2026-10-09 20:34:44,995 sats.satellite.EO INFO <792.50> EO: Target(tgt-2383) tasked for imaging
2026-10-09 20:34:44,995 sats.satellite.EO INFO <792.50> EO: Target(tgt-2383) window enabled: 959.0 to 1058.5
2026-10-09 20:34:44,995 sats.satellite.EO INFO <792.50> EO: setting timed terminal event at 1058.5
2026-10-09 20:34:45,017 sats.satellite.EO INFO <960.00> EO: imaged Target(tgt-2383)
2026-10-09 20:34:45,018 data.base INFO <960.00> Total reward: {'EO': np.float64(0.6987487330578697)}
2026-10-09 20:34:45,019 comm.communication INFO <960.00> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:45,019 sats.satellite.EO INFO <960.00> EO: Satellite EO requires retasking
2026-10-09 20:34:45,020 utils.orbital WARNING <960.00> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:45,022 gym INFO <960.00> Step reward: 0.6987487330578697
2026-10-09 20:34:45,022 gym INFO <960.00> === STARTING STEP ===
2026-10-09 20:34:45,022 sats.satellite.EO INFO <960.00> EO: target index 30 tasked
2026-10-09 20:34:45,023 sats.satellite.EO INFO <960.00> EO: Target(tgt-1256) tasked for imaging
2026-10-09 20:34:45,023 sats.satellite.EO INFO <960.00> EO: Target(tgt-1256) window enabled: 1106.9 to 1228.2
2026-10-09 20:34:45,023 sats.satellite.EO INFO <960.00> EO: setting timed terminal event at 1228.2
2026-10-09 20:34:45,043 sats.satellite.EO INFO <1108.00> EO: imaged Target(tgt-1256)
2026-10-09 20:34:45,044 data.base INFO <1108.00> Total reward: {'EO': np.float64(0.6969292323862386)}
2026-10-09 20:34:45,044 comm.communication INFO <1108.00> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:45,045 sats.satellite.EO INFO <1108.00> EO: Satellite EO requires retasking
2026-10-09 20:34:45,046 utils.orbital WARNING <1108.00> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:45,048 gym INFO <1108.00> Step reward: 0.6969292323862386
2026-10-09 20:34:45,048 gym INFO <1108.00> === STARTING STEP ===
2026-10-09 20:34:45,048 sats.satellite.EO INFO <1108.00> EO: target index 9 tasked
2026-10-09 20:34:45,049 sats.satellite.EO INFO <1108.00> EO: Target(tgt-7169) tasked for imaging
2026-10-09 20:34:45,049 sats.satellite.EO INFO <1108.00> EO: Target(tgt-7169) window enabled: 1156.3 to 1179.8
2026-10-09 20:34:45,050 sats.satellite.EO INFO <1108.00> EO: setting timed terminal event at 1179.8
2026-10-09 20:34:45,057 sats.satellite.EO INFO <1157.50> EO: imaged Target(tgt-7169)
2026-10-09 20:34:45,058 data.base INFO <1157.50> Total reward: {'EO': np.float64(0.15543685049156608)}
2026-10-09 20:34:45,058 comm.communication INFO <1157.50> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:45,058 sats.satellite.EO INFO <1157.50> EO: Satellite EO requires retasking
2026-10-09 20:34:45,060 utils.orbital WARNING <1157.50> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:45,061 gym INFO <1157.50> Step reward: 0.15543685049156608
2026-10-09 20:34:45,061 gym INFO <1157.50> === STARTING STEP ===
2026-10-09 20:34:45,062 sats.satellite.EO INFO <1157.50> EO: target index 15 tasked
2026-10-09 20:34:45,062 sats.satellite.EO INFO <1157.50> EO: Target(tgt-9702) tasked for imaging
2026-10-09 20:34:45,062 sats.satellite.EO INFO <1157.50> EO: Target(tgt-9702) window enabled: 1193.1 to 1300.9
2026-10-09 20:34:45,063 sats.satellite.EO INFO <1157.50> EO: setting timed terminal event at 1300.9
2026-10-09 20:34:45,069 sats.satellite.EO INFO <1197.00> EO: imaged Target(tgt-9702)
2026-10-09 20:34:45,070 data.base INFO <1197.00> Total reward: {}
2026-10-09 20:34:45,070 comm.communication INFO <1197.00> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:45,070 sats.satellite.EO INFO <1197.00> EO: Satellite EO requires retasking
2026-10-09 20:34:45,072 utils.orbital WARNING <1197.00> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:45,073 gym INFO <1197.00> Step reward: 0.0
2026-10-09 20:34:45,074 gym INFO <1197.00> === STARTING STEP ===
2026-10-09 20:34:45,074 sats.satellite.EO INFO <1197.00> EO: target index 5 tasked
2026-10-09 20:34:45,074 sats.satellite.EO INFO <1197.00> EO: Target(tgt-4368) tasked for imaging
2026-10-09 20:34:45,075 sats.satellite.EO INFO <1197.00> EO: Target(tgt-4368) window enabled: 1122.2 to 1243.4
2026-10-09 20:34:45,075 sats.satellite.EO INFO <1197.00> EO: setting timed terminal event at 1243.4
2026-10-09 20:34:45,081 sats.satellite.EO INFO <1239.50> EO: imaged Target(tgt-4368)
2026-10-09 20:34:45,082 data.base INFO <1239.50> Total reward: {'EO': np.float64(0.2298679947660293)}
2026-10-09 20:34:45,082 comm.communication INFO <1239.50> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:45,082 sats.satellite.EO INFO <1239.50> EO: Satellite EO requires retasking
2026-10-09 20:34:45,084 utils.orbital WARNING <1239.50> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:45,085 gym INFO <1239.50> Step reward: 0.2298679947660293
2026-10-09 20:34:45,085 gym INFO <1239.50> === STARTING STEP ===
2026-10-09 20:34:45,086 sats.satellite.EO INFO <1239.50> EO: target index 20 tasked
2026-10-09 20:34:45,086 sats.satellite.EO INFO <1239.50> EO: Target(tgt-7233) tasked for imaging
2026-10-09 20:34:45,086 sats.satellite.EO INFO <1239.50> EO: Target(tgt-7233) window enabled: 1306.2 to 1422.3
2026-10-09 20:34:45,087 sats.satellite.EO INFO <1239.50> EO: setting timed terminal event at 1422.3
2026-10-09 20:34:45,095 sats.satellite.EO INFO <1307.50> EO: imaged Target(tgt-7233)
2026-10-09 20:34:45,096 data.base INFO <1307.50> Total reward: {}
2026-10-09 20:34:45,096 comm.communication INFO <1307.50> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:45,097 sats.satellite.EO INFO <1307.50> EO: Satellite EO requires retasking
2026-10-09 20:34:45,099 utils.orbital WARNING <1307.50> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:45,100 gym INFO <1307.50> Step reward: 0.0
2026-10-09 20:34:45,100 gym INFO <1307.50> === STARTING STEP ===
2026-10-09 20:34:45,101 sats.satellite.EO INFO <1307.50> EO: target index 7 tasked
2026-10-09 20:34:45,101 sats.satellite.EO INFO <1307.50> EO: Target(tgt-7600) tasked for imaging
2026-10-09 20:34:45,102 sats.satellite.EO INFO <1307.50> EO: Target(tgt-7600) window enabled: 1249.4 to 1351.0
2026-10-09 20:34:45,102 sats.satellite.EO INFO <1307.50> EO: setting timed terminal event at 1351.0
2026-10-09 20:34:45,108 sats.satellite.EO INFO <1350.50> EO: imaged Target(tgt-7600)
2026-10-09 20:34:45,108 data.base INFO <1350.50> Total reward: {'EO': np.float64(0.05718932444895802)}
2026-10-09 20:34:45,109 comm.communication INFO <1350.50> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:45,109 sats.satellite.EO INFO <1350.50> EO: Satellite EO requires retasking
2026-10-09 20:34:45,111 utils.orbital WARNING <1350.50> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:45,112 gym INFO <1350.50> Step reward: 0.05718932444895802
2026-10-09 20:34:45,112 gym INFO <1350.50> === STARTING STEP ===
2026-10-09 20:34:45,113 sats.satellite.EO INFO <1350.50> EO: target index 2 tasked
2026-10-09 20:34:45,113 sats.satellite.EO INFO <1350.50> EO: Target(tgt-6299) tasked for imaging
2026-10-09 20:34:45,113 sats.satellite.EO INFO <1350.50> EO: Target(tgt-6299) window enabled: 1259.4 to 1380.6
2026-10-09 20:34:45,114 sats.satellite.EO INFO <1350.50> EO: setting timed terminal event at 1380.6
2026-10-09 20:34:45,118 sats.satellite.EO INFO <1377.00> EO: imaged Target(tgt-6299)
2026-10-09 20:34:45,118 data.base INFO <1377.00> Total reward: {'EO': np.float64(0.16731063162453125)}
2026-10-09 20:34:45,119 comm.communication INFO <1377.00> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:45,119 sats.satellite.EO INFO <1377.00> EO: Satellite EO requires retasking
2026-10-09 20:34:45,120 utils.orbital WARNING <1377.00> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:45,122 gym INFO <1377.00> Step reward: 0.16731063162453125
2026-10-09 20:34:45,122 gym INFO <1377.00> === STARTING STEP ===
2026-10-09 20:34:45,122 sats.satellite.EO INFO <1377.00> EO: target index 21 tasked
2026-10-09 20:34:45,122 sats.satellite.EO INFO <1377.00> EO: Target(tgt-8715) tasked for imaging
2026-10-09 20:34:45,123 sats.satellite.EO INFO <1377.00> EO: Target(tgt-8715) window enabled: 1488.1 to 1606.7
2026-10-09 20:34:45,123 sats.satellite.EO INFO <1377.00> EO: setting timed terminal event at 1606.7
2026-10-09 20:34:45,137 sats.satellite.EO INFO <1489.50> EO: imaged Target(tgt-8715)
2026-10-09 20:34:45,138 data.base INFO <1489.50> Total reward: {'EO': np.float64(0.49893543133221724)}
2026-10-09 20:34:45,139 comm.communication INFO <1489.50> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:45,139 sats.satellite.EO INFO <1489.50> EO: Satellite EO requires retasking
2026-10-09 20:34:45,141 utils.orbital WARNING <1489.50> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:45,142 gym INFO <1489.50> Step reward: 0.49893543133221724
2026-10-09 20:34:45,142 gym INFO <1489.50> === STARTING STEP ===
2026-10-09 20:34:45,142 sats.satellite.EO INFO <1489.50> EO: target index 23 tasked
2026-10-09 20:34:45,143 sats.satellite.EO INFO <1489.50> EO: Target(tgt-4557) tasked for imaging
2026-10-09 20:34:45,143 sats.satellite.EO INFO <1489.50> EO: Target(tgt-4557) window enabled: 1594.9 to 1715.8
2026-10-09 20:34:45,144 sats.satellite.EO INFO <1489.50> EO: setting timed terminal event at 1715.8
2026-10-09 20:34:45,157 sats.satellite.EO INFO <1596.00> EO: imaged Target(tgt-4557)
2026-10-09 20:34:45,158 data.base INFO <1596.00> Total reward: {'EO': np.float64(0.05870612843387957)}
2026-10-09 20:34:45,158 comm.communication INFO <1596.00> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:45,159 sats.satellite.EO INFO <1596.00> EO: Satellite EO requires retasking
2026-10-09 20:34:45,161 utils.orbital WARNING <1596.00> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:45,162 gym INFO <1596.00> Step reward: 0.05870612843387957
2026-10-09 20:34:45,162 gym INFO <1596.00> === STARTING STEP ===
2026-10-09 20:34:45,163 sats.satellite.EO INFO <1596.00> EO: target index 13 tasked
2026-10-09 20:34:45,163 sats.satellite.EO INFO <1596.00> EO: Target(tgt-997) tasked for imaging
2026-10-09 20:34:45,164 sats.satellite.EO INFO <1596.00> EO: Target(tgt-997) window enabled: 1644.2 to 1687.8
2026-10-09 20:34:45,164 sats.satellite.EO INFO <1596.00> EO: setting timed terminal event at 1687.8
2026-10-09 20:34:45,175 sats.satellite.EO INFO <1688.00> EO: timed termination at 1687.8 for Target(tgt-997) window
2026-10-09 20:34:45,176 data.base INFO <1688.00> Total reward: {}
2026-10-09 20:34:45,177 comm.communication INFO <1688.00> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:45,177 sats.satellite.EO INFO <1688.00> EO: Satellite EO requires retasking
2026-10-09 20:34:45,179 utils.orbital WARNING <1688.00> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:45,180 gym INFO <1688.00> Step reward: 0.0
2026-10-09 20:34:45,180 gym INFO <1688.00> === STARTING STEP ===
2026-10-09 20:34:45,181 sats.satellite.EO INFO <1688.00> EO: target index 10 tasked
2026-10-09 20:34:45,181 sats.satellite.EO INFO <1688.00> EO: Target(tgt-9431) tasked for imaging
2026-10-09 20:34:45,181 sats.satellite.EO INFO <1688.00> EO: Target(tgt-9431) window enabled: 1739.0 to 1808.0
2026-10-09 20:34:45,182 sats.satellite.EO INFO <1688.00> EO: setting timed terminal event at 1808.0
2026-10-09 20:34:45,196 sats.satellite.EO INFO <1808.00> EO: timed termination at 1808.0 for Target(tgt-9431) window
2026-10-09 20:34:45,197 data.base INFO <1808.00> Total reward: {}
2026-10-09 20:34:45,198 comm.communication INFO <1808.00> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:45,198 sats.satellite.EO INFO <1808.00> EO: Satellite EO requires retasking
2026-10-09 20:34:45,199 utils.orbital WARNING <1808.00> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:45,201 gym INFO <1808.00> Step reward: 0.0
2026-10-09 20:34:45,201 gym INFO <1808.00> === STARTING STEP ===
2026-10-09 20:34:45,201 sats.satellite.EO INFO <1808.00> EO: target index 21 tasked
2026-10-09 20:34:45,201 sats.satellite.EO INFO <1808.00> EO: Target(tgt-2041) tasked for imaging
2026-10-09 20:34:45,202 sats.satellite.EO INFO <1808.00> EO: Target(tgt-2041) window enabled: 1910.8 to 2016.6
2026-10-09 20:34:45,202 sats.satellite.EO INFO <1808.00> EO: setting timed terminal event at 2016.6
2026-10-09 20:34:45,227 sats.satellite.EO INFO <2017.00> EO: timed termination at 2016.6 for Target(tgt-2041) window
2026-10-09 20:34:45,228 data.base INFO <2017.00> Total reward: {}
2026-10-09 20:34:45,228 comm.communication INFO <2017.00> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:45,229 sats.satellite.EO INFO <2017.00> EO: Satellite EO requires retasking
2026-10-09 20:34:45,230 utils.orbital WARNING <2017.00> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:45,232 gym INFO <2017.00> Step reward: 0.0
2026-10-09 20:34:45,232 gym INFO <2017.00> === STARTING STEP ===
2026-10-09 20:34:45,232 sats.satellite.EO INFO <2017.00> EO: target index 12 tasked
2026-10-09 20:34:45,233 sats.satellite.EO INFO <2017.00> EO: Target(tgt-3550) tasked for imaging
2026-10-09 20:34:45,233 sats.satellite.EO INFO <2017.00> EO: Target(tgt-3550) window enabled: 2060.7 to 2181.2
2026-10-09 20:34:45,233 sats.satellite.EO INFO <2017.00> EO: setting timed terminal event at 2181.2
2026-10-09 20:34:45,255 sats.satellite.EO INFO <2181.50> EO: timed termination at 2181.2 for Target(tgt-3550) window
2026-10-09 20:34:45,256 data.base INFO <2181.50> Total reward: {}
2026-10-09 20:34:45,256 comm.communication INFO <2181.50> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:45,257 sats.satellite.EO INFO <2181.50> EO: Satellite EO requires retasking
2026-10-09 20:34:45,259 utils.orbital WARNING <2181.50> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:45,260 gym INFO <2181.50> Step reward: 0.0
2026-10-09 20:34:45,260 gym INFO <2181.50> === STARTING STEP ===
2026-10-09 20:34:45,261 sats.satellite.EO INFO <2181.50> EO: target index 4 tasked
2026-10-09 20:34:45,261 sats.satellite.EO INFO <2181.50> EO: Target(tgt-9845) tasked for imaging
2026-10-09 20:34:45,261 sats.satellite.EO INFO <2181.50> EO: Target(tgt-9845) window enabled: 2100.3 to 2203.8
2026-10-09 20:34:45,262 sats.satellite.EO INFO <2181.50> EO: setting timed terminal event at 2203.8
2026-10-09 20:34:45,266 sats.satellite.EO INFO <2204.00> EO: timed termination at 2203.8 for Target(tgt-9845) window
2026-10-09 20:34:45,266 data.base INFO <2204.00> Total reward: {}
2026-10-09 20:34:45,267 comm.communication INFO <2204.00> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:45,267 sats.satellite.EO INFO <2204.00> EO: Satellite EO requires retasking
2026-10-09 20:34:45,268 utils.orbital WARNING <2204.00> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:45,270 gym INFO <2204.00> Step reward: 0.0
2026-10-09 20:34:45,270 gym INFO <2204.00> === STARTING STEP ===
2026-10-09 20:34:45,270 sats.satellite.EO INFO <2204.00> EO: action_charge tasked for 60.0 seconds
2026-10-09 20:34:45,270 sats.satellite.EO INFO <2204.00> EO: setting timed terminal event at 2264.0
2026-10-09 20:34:45,279 sats.satellite.EO INFO <2264.00> EO: timed termination at 2264.0 for action_charge
2026-10-09 20:34:45,280 data.base INFO <2264.00> Total reward: {}
2026-10-09 20:34:45,280 comm.communication INFO <2264.00> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:45,281 sats.satellite.EO INFO <2264.00> EO: Satellite EO requires retasking
2026-10-09 20:34:45,282 utils.orbital WARNING <2264.00> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:45,283 gym INFO <2264.00> Step reward: 0.0
2026-10-09 20:34:45,283 gym INFO <2264.00> === STARTING STEP ===
2026-10-09 20:34:45,283 sats.satellite.EO INFO <2264.00> EO: target index 13 tasked
2026-10-09 20:34:45,284 sats.satellite.EO INFO <2264.00> EO: Target(tgt-2371) tasked for imaging
2026-10-09 20:34:45,284 sats.satellite.EO INFO <2264.00> EO: Target(tgt-2371) window enabled: 2265.6 to 2353.7
2026-10-09 20:34:45,285 sats.satellite.EO INFO <2264.00> EO: setting timed terminal event at 2353.7
2026-10-09 20:34:45,296 sats.satellite.EO INFO <2354.00> EO: timed termination at 2353.7 for Target(tgt-2371) window
2026-10-09 20:34:45,297 data.base INFO <2354.00> Total reward: {}
2026-10-09 20:34:45,297 comm.communication INFO <2354.00> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:45,298 sats.satellite.EO INFO <2354.00> EO: Satellite EO requires retasking
2026-10-09 20:34:45,299 utils.orbital WARNING <2354.00> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:45,301 gym INFO <2354.00> Step reward: 0.0
2026-10-09 20:34:45,301 gym INFO <2354.00> === STARTING STEP ===
2026-10-09 20:34:45,301 sats.satellite.EO INFO <2354.00> EO: target index 1 tasked
2026-10-09 20:34:45,302 sats.satellite.EO INFO <2354.00> EO: Target(tgt-3621) tasked for imaging
2026-10-09 20:34:45,302 sats.satellite.EO INFO <2354.00> EO: Target(tgt-3621) window enabled: 2259.3 to 2366.4
2026-10-09 20:34:45,302 sats.satellite.EO INFO <2354.00> EO: setting timed terminal event at 2366.4
2026-10-09 20:34:45,305 sats.satellite.EO INFO <2366.50> EO: timed termination at 2366.4 for Target(tgt-3621) window
2026-10-09 20:34:45,306 data.base INFO <2366.50> Total reward: {}
2026-10-09 20:34:45,306 comm.communication INFO <2366.50> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:45,306 sats.satellite.EO INFO <2366.50> EO: Satellite EO requires retasking
2026-10-09 20:34:45,308 utils.orbital WARNING <2366.50> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:45,309 gym INFO <2366.50> Step reward: 0.0
2026-10-09 20:34:45,310 gym INFO <2366.50> === STARTING STEP ===
2026-10-09 20:34:45,310 sats.satellite.EO INFO <2366.50> EO: target index 27 tasked
2026-10-09 20:34:45,310 sats.satellite.EO INFO <2366.50> EO: Target(tgt-7411) tasked for imaging
2026-10-09 20:34:45,311 sats.satellite.EO INFO <2366.50> EO: Target(tgt-7411) window enabled: 2474.9 to 2538.9
2026-10-09 20:34:45,311 sats.satellite.EO INFO <2366.50> EO: setting timed terminal event at 2538.9
2026-10-09 20:34:45,332 sats.satellite.EO INFO <2539.00> EO: timed termination at 2538.9 for Target(tgt-7411) window
2026-10-09 20:34:45,333 data.base INFO <2539.00> Total reward: {}
2026-10-09 20:34:45,334 comm.communication INFO <2539.00> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:45,334 sats.satellite.EO INFO <2539.00> EO: Satellite EO requires retasking
2026-10-09 20:34:45,336 utils.orbital WARNING <2539.00> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:45,337 gym INFO <2539.00> Step reward: 0.0
2026-10-09 20:34:45,338 gym INFO <2539.00> === STARTING STEP ===
2026-10-09 20:34:45,338 sats.satellite.EO INFO <2539.00> EO: target index 19 tasked
2026-10-09 20:34:45,339 sats.satellite.EO INFO <2539.00> EO: Target(tgt-3807) tasked for imaging
2026-10-09 20:34:45,339 sats.satellite.EO INFO <2539.00> EO: Target(tgt-3807) window enabled: 2617.2 to 2709.7
2026-10-09 20:34:45,339 sats.satellite.EO INFO <2539.00> EO: setting timed terminal event at 2709.7
2026-10-09 20:34:45,360 sats.satellite.EO INFO <2710.00> EO: timed termination at 2709.7 for Target(tgt-3807) window
2026-10-09 20:34:45,361 data.base INFO <2710.00> Total reward: {}
2026-10-09 20:34:45,361 comm.communication INFO <2710.00> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:45,362 sats.satellite.EO INFO <2710.00> EO: Satellite EO requires retasking
2026-10-09 20:34:45,363 utils.orbital WARNING <2710.00> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:45,365 gym INFO <2710.00> Step reward: 0.0
2026-10-09 20:34:45,365 gym INFO <2710.00> === STARTING STEP ===
2026-10-09 20:34:45,365 sats.satellite.EO INFO <2710.00> EO: target index 7 tasked
2026-10-09 20:34:45,366 sats.satellite.EO INFO <2710.00> EO: Target(tgt-6677) tasked for imaging
2026-10-09 20:34:45,366 sats.satellite.EO INFO <2710.00> EO: Target(tgt-6677) window enabled: 2680.6 to 2780.8
2026-10-09 20:34:45,367 sats.satellite.EO INFO <2710.00> EO: setting timed terminal event at 2780.8
2026-10-09 20:34:45,376 sats.satellite.EO INFO <2781.00> EO: timed termination at 2780.8 for Target(tgt-6677) window
2026-10-09 20:34:45,377 data.base INFO <2781.00> Total reward: {}
2026-10-09 20:34:45,377 comm.communication INFO <2781.00> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:45,377 sats.satellite.EO INFO <2781.00> EO: Satellite EO requires retasking
2026-10-09 20:34:45,379 utils.orbital WARNING <2781.00> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:45,380 gym INFO <2781.00> Step reward: 0.0
2026-10-09 20:34:45,381 gym INFO <2781.00> === STARTING STEP ===
2026-10-09 20:34:45,381 sats.satellite.EO INFO <2781.00> EO: target index 22 tasked
2026-10-09 20:34:45,381 sats.satellite.EO INFO <2781.00> EO: Target(tgt-6648) tasked for imaging
2026-10-09 20:34:45,382 sats.satellite.EO INFO <2781.00> EO: Target(tgt-6648) window enabled: 2831.2 to 2937.1
2026-10-09 20:34:45,382 sats.satellite.EO INFO <2781.00> EO: setting timed terminal event at 2937.1
2026-10-09 20:34:45,400 sats.satellite.EO INFO <2937.50> EO: timed termination at 2937.1 for Target(tgt-6648) window
2026-10-09 20:34:45,402 data.base INFO <2937.50> Total reward: {}
2026-10-09 20:34:45,402 comm.communication INFO <2937.50> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:45,403 sats.satellite.EO INFO <2937.50> EO: Satellite EO requires retasking
2026-10-09 20:34:45,404 utils.orbital WARNING <2937.50> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:45,405 gym INFO <2937.50> Step reward: 0.0
2026-10-09 20:34:45,406 gym INFO <2937.50> === STARTING STEP ===
2026-10-09 20:34:45,406 sats.satellite.EO INFO <2937.50> EO: target index 2 tasked
2026-10-09 20:34:45,406 sats.satellite.EO INFO <2937.50> EO: Target(tgt-2592) tasked for imaging
2026-10-09 20:34:45,407 sats.satellite.EO INFO <2937.50> EO: Target(tgt-2592) window enabled: 2865.6 to 2954.8
2026-10-09 20:34:45,407 sats.satellite.EO INFO <2937.50> EO: setting timed terminal event at 2954.8
2026-10-09 20:34:45,410 sats.satellite.EO INFO <2955.00> EO: timed termination at 2954.8 for Target(tgt-2592) window
2026-10-09 20:34:45,411 data.base INFO <2955.00> Total reward: {}
2026-10-09 20:34:45,411 comm.communication INFO <2955.00> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:45,412 sats.satellite.EO INFO <2955.00> EO: Satellite EO requires retasking
2026-10-09 20:34:45,413 utils.orbital WARNING <2955.00> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:45,414 gym INFO <2955.00> Step reward: 0.0
2026-10-09 20:34:45,414 gym INFO <2955.00> === STARTING STEP ===
2026-10-09 20:34:45,415 sats.satellite.EO INFO <2955.00> EO: target index 3 tasked
2026-10-09 20:34:45,415 sats.satellite.EO INFO <2955.00> EO: Target(tgt-5446) tasked for imaging
2026-10-09 20:34:45,415 sats.satellite.EO INFO <2955.00> EO: Target(tgt-5446) window enabled: 2920.6 to 2997.9
2026-10-09 20:34:45,416 sats.satellite.EO INFO <2955.00> EO: setting timed terminal event at 2997.9
2026-10-09 20:34:45,422 sats.satellite.EO INFO <2998.00> EO: timed termination at 2997.9 for Target(tgt-5446) window
2026-10-09 20:34:45,423 data.base INFO <2998.00> Total reward: {}
2026-10-09 20:34:45,423 comm.communication INFO <2998.00> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:45,424 sats.satellite.EO INFO <2998.00> EO: Satellite EO requires retasking
2026-10-09 20:34:45,425 utils.orbital WARNING <2998.00> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:45,426 gym INFO <2998.00> Step reward: 0.0
2026-10-09 20:34:45,427 gym INFO <2998.00> === STARTING STEP ===
2026-10-09 20:34:45,427 sats.satellite.EO INFO <2998.00> EO: target index 15 tasked
2026-10-09 20:34:45,427 sats.satellite.EO INFO <2998.00> EO: Target(tgt-8800) tasked for imaging
2026-10-09 20:34:45,428 sats.satellite.EO INFO <2998.00> EO: Target(tgt-8800) window enabled: 3044.2 to 3134.2
2026-10-09 20:34:45,428 sats.satellite.EO INFO <2998.00> EO: setting timed terminal event at 3134.2
2026-10-09 20:34:45,444 sats.satellite.EO INFO <3134.50> EO: timed termination at 3134.2 for Target(tgt-8800) window
2026-10-09 20:34:45,445 data.base INFO <3134.50> Total reward: {}
2026-10-09 20:34:45,446 comm.communication INFO <3134.50> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:45,446 sats.satellite.EO INFO <3134.50> EO: Satellite EO requires retasking
2026-10-09 20:34:45,448 utils.orbital WARNING <3134.50> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:45,449 gym INFO <3134.50> Step reward: 0.0
2026-10-09 20:34:45,450 gym INFO <3134.50> === STARTING STEP ===
2026-10-09 20:34:45,450 sats.satellite.EO INFO <3134.50> EO: target index 4 tasked
2026-10-09 20:34:45,450 sats.satellite.EO INFO <3134.50> EO: Target(tgt-839) tasked for imaging
2026-10-09 20:34:45,451 sats.satellite.EO INFO <3134.50> EO: Target(tgt-839) window enabled: 3109.6 to 3169.1
2026-10-09 20:34:45,451 sats.satellite.EO INFO <3134.50> EO: setting timed terminal event at 3169.1
2026-10-09 20:34:45,456 sats.satellite.EO INFO <3169.50> EO: timed termination at 3169.1 for Target(tgt-839) window
2026-10-09 20:34:45,457 data.base INFO <3169.50> Total reward: {}
2026-10-09 20:34:45,457 comm.communication INFO <3169.50> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:45,457 sats.satellite.EO INFO <3169.50> EO: Satellite EO requires retasking
2026-10-09 20:34:45,459 utils.orbital WARNING <3169.50> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:45,460 gym INFO <3169.50> Step reward: 0.0
2026-10-09 20:34:45,460 gym INFO <3169.50> === STARTING STEP ===
2026-10-09 20:34:45,461 sats.satellite.EO INFO <3169.50> EO: target index 16 tasked
2026-10-09 20:34:45,461 sats.satellite.EO INFO <3169.50> EO: Target(tgt-2069) tasked for imaging
2026-10-09 20:34:45,461 sats.satellite.EO INFO <3169.50> EO: Target(tgt-2069) window enabled: 3274.6 to 3356.5
2026-10-09 20:34:45,462 sats.satellite.EO INFO <3169.50> EO: setting timed terminal event at 3356.5
2026-10-09 20:34:45,486 sats.satellite.EO INFO <3357.00> EO: timed termination at 3356.5 for Target(tgt-2069) window
2026-10-09 20:34:45,487 data.base INFO <3357.00> Total reward: {}
2026-10-09 20:34:45,487 comm.communication INFO <3357.00> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:45,488 sats.satellite.EO INFO <3357.00> EO: Satellite EO requires retasking
2026-10-09 20:34:45,490 utils.orbital WARNING <3357.00> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:45,491 gym INFO <3357.00> Step reward: 0.0
2026-10-09 20:34:45,491 gym INFO <3357.00> === STARTING STEP ===
2026-10-09 20:34:45,492 sats.satellite.EO INFO <3357.00> EO: target index 27 tasked
2026-10-09 20:34:45,492 sats.satellite.EO INFO <3357.00> EO: Target(tgt-5594) tasked for imaging
2026-10-09 20:34:45,492 sats.satellite.EO INFO <3357.00> EO: Target(tgt-5594) window enabled: 3480.1 to 3579.2
2026-10-09 20:34:45,493 sats.satellite.EO INFO <3357.00> EO: setting timed terminal event at 3579.2
2026-10-09 20:34:45,521 sats.satellite.EO INFO <3579.50> EO: timed termination at 3579.2 for Target(tgt-5594) window
2026-10-09 20:34:45,522 data.base INFO <3579.50> Total reward: {}
2026-10-09 20:34:45,522 comm.communication INFO <3579.50> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:45,523 sats.satellite.EO INFO <3579.50> EO: Satellite EO requires retasking
2026-10-09 20:34:45,524 utils.orbital WARNING <3579.50> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:45,526 gym INFO <3579.50> Step reward: 0.0
2026-10-09 20:34:45,526 gym INFO <3579.50> === STARTING STEP ===
2026-10-09 20:34:45,526 sats.satellite.EO INFO <3579.50> EO: target index 7 tasked
2026-10-09 20:34:45,527 sats.satellite.EO INFO <3579.50> EO: Target(tgt-7322) tasked for imaging
2026-10-09 20:34:45,527 sats.satellite.EO INFO <3579.50> EO: Target(tgt-7322) window enabled: 3591.3 to 3663.9
2026-10-09 20:34:45,527 sats.satellite.EO INFO <3579.50> EO: setting timed terminal event at 3663.9
2026-10-09 20:34:45,538 sats.satellite.EO INFO <3664.00> EO: timed termination at 3663.9 for Target(tgt-7322) window
2026-10-09 20:34:45,539 data.base INFO <3664.00> Total reward: {}
2026-10-09 20:34:45,540 comm.communication INFO <3664.00> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:45,540 sats.satellite.EO INFO <3664.00> EO: Satellite EO requires retasking
2026-10-09 20:34:45,542 utils.orbital WARNING <3664.00> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:45,543 gym INFO <3664.00> Step reward: 0.0
2026-10-09 20:34:45,543 gym INFO <3664.00> === STARTING STEP ===
2026-10-09 20:34:45,544 sats.satellite.EO INFO <3664.00> EO: target index 30 tasked
2026-10-09 20:34:45,544 sats.satellite.EO INFO <3664.00> EO: Target(tgt-6627) tasked for imaging
2026-10-09 20:34:45,544 sats.satellite.EO INFO <3664.00> EO: Target(tgt-6627) window enabled: 3765.8 to 3885.2
2026-10-09 20:34:45,545 sats.satellite.EO INFO <3664.00> EO: setting timed terminal event at 3885.2
2026-10-09 20:34:45,570 sats.satellite.EO INFO <3885.50> EO: timed termination at 3885.2 for Target(tgt-6627) window
2026-10-09 20:34:45,572 data.base INFO <3885.50> Total reward: {}
2026-10-09 20:34:45,572 comm.communication INFO <3885.50> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:45,573 sats.satellite.EO INFO <3885.50> EO: Satellite EO requires retasking
2026-10-09 20:34:45,574 utils.orbital WARNING <3885.50> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:45,575 gym INFO <3885.50> Step reward: 0.0
2026-10-09 20:34:45,576 gym INFO <3885.50> === STARTING STEP ===
2026-10-09 20:34:45,576 sats.satellite.EO INFO <3885.50> EO: target index 16 tasked
2026-10-09 20:34:45,576 sats.satellite.EO INFO <3885.50> EO: Target(tgt-2332) tasked for imaging
2026-10-09 20:34:45,577 sats.satellite.EO INFO <3885.50> EO: Target(tgt-2332) window enabled: 3918.4 to 4037.0
2026-10-09 20:34:45,577 sats.satellite.EO INFO <3885.50> EO: setting timed terminal event at 4037.0
2026-10-09 20:34:45,595 sats.satellite.EO INFO <4037.00> EO: timed termination at 4037.0 for Target(tgt-2332) window
2026-10-09 20:34:45,596 data.base INFO <4037.00> Total reward: {}
2026-10-09 20:34:45,597 comm.communication INFO <4037.00> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:45,597 sats.satellite.EO INFO <4037.00> EO: Satellite EO requires retasking
2026-10-09 20:34:45,599 utils.orbital WARNING <4037.00> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:45,600 gym INFO <4037.00> Step reward: 0.0
2026-10-09 20:34:45,600 gym INFO <4037.00> === STARTING STEP ===
2026-10-09 20:34:45,601 sats.satellite.EO INFO <4037.00> EO: target index 10 tasked
2026-10-09 20:34:45,601 sats.satellite.EO INFO <4037.00> EO: Target(tgt-8412) tasked for imaging
2026-10-09 20:34:45,601 sats.satellite.EO INFO <4037.00> EO: Target(tgt-8412) window enabled: 4031.7 to 4135.4
2026-10-09 20:34:45,602 sats.satellite.EO INFO <4037.00> EO: setting timed terminal event at 4135.4
2026-10-09 20:34:45,614 sats.satellite.EO INFO <4135.50> EO: timed termination at 4135.4 for Target(tgt-8412) window
2026-10-09 20:34:45,615 data.base INFO <4135.50> Total reward: {}
2026-10-09 20:34:45,615 comm.communication INFO <4135.50> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:45,616 sats.satellite.EO INFO <4135.50> EO: Satellite EO requires retasking
2026-10-09 20:34:45,618 utils.orbital WARNING <4135.50> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:45,619 gym INFO <4135.50> Step reward: 0.0
2026-10-09 20:34:45,620 gym INFO <4135.50> === STARTING STEP ===
2026-10-09 20:34:45,620 sats.satellite.EO INFO <4135.50> EO: target index 11 tasked
2026-10-09 20:34:45,620 sats.satellite.EO INFO <4135.50> EO: Target(tgt-1452) tasked for imaging
2026-10-09 20:34:45,621 sats.satellite.EO INFO <4135.50> EO: Target(tgt-1452) window enabled: 4151.0 to 4238.1
2026-10-09 20:34:45,621 sats.satellite.EO INFO <4135.50> EO: setting timed terminal event at 4238.1
2026-10-09 20:34:45,634 sats.satellite.EO INFO <4238.50> EO: timed termination at 4238.1 for Target(tgt-1452) window
2026-10-09 20:34:45,635 data.base INFO <4238.50> Total reward: {}
2026-10-09 20:34:45,635 comm.communication INFO <4238.50> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:45,635 sats.satellite.EO INFO <4238.50> EO: Satellite EO requires retasking
2026-10-09 20:34:45,637 utils.orbital WARNING <4238.50> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:45,638 gym INFO <4238.50> Step reward: 0.0
2026-10-09 20:34:45,639 gym INFO <4238.50> === STARTING STEP ===
2026-10-09 20:34:45,639 sats.satellite.EO INFO <4238.50> EO: target index 12 tasked
2026-10-09 20:34:45,639 sats.satellite.EO INFO <4238.50> EO: Target(tgt-294) tasked for imaging
2026-10-09 20:34:45,640 sats.satellite.EO INFO <4238.50> EO: Target(tgt-294) window enabled: 4252.6 to 4330.6
2026-10-09 20:34:45,640 sats.satellite.EO INFO <4238.50> EO: setting timed terminal event at 4330.6
2026-10-09 20:34:45,651 sats.satellite.EO INFO <4331.00> EO: timed termination at 4330.6 for Target(tgt-294) window
2026-10-09 20:34:45,652 data.base INFO <4331.00> Total reward: {}
2026-10-09 20:34:45,653 comm.communication INFO <4331.00> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:45,653 sats.satellite.EO INFO <4331.00> EO: Satellite EO requires retasking
2026-10-09 20:34:45,655 utils.orbital WARNING <4331.00> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:45,656 gym INFO <4331.00> Step reward: 0.0
2026-10-09 20:34:45,656 gym INFO <4331.00> === STARTING STEP ===
2026-10-09 20:34:45,656 sats.satellite.EO INFO <4331.00> EO: target index 3 tasked
2026-10-09 20:34:45,657 sats.satellite.EO INFO <4331.00> EO: Target(tgt-1965) tasked for imaging
2026-10-09 20:34:45,657 sats.satellite.EO INFO <4331.00> EO: Target(tgt-1965) window enabled: 4266.2 to 4361.0
2026-10-09 20:34:45,657 sats.satellite.EO INFO <4331.00> EO: setting timed terminal event at 4361.0
2026-10-09 20:34:45,662 sats.satellite.EO INFO <4361.50> EO: timed termination at 4361.0 for Target(tgt-1965) window
2026-10-09 20:34:45,663 data.base INFO <4361.50> Total reward: {}
2026-10-09 20:34:45,663 comm.communication INFO <4361.50> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:45,663 sats.satellite.EO INFO <4361.50> EO: Satellite EO requires retasking
2026-10-09 20:34:45,665 utils.orbital WARNING <4361.50> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:45,666 gym INFO <4361.50> Step reward: 0.0
2026-10-09 20:34:45,666 gym INFO <4361.50> === STARTING STEP ===
2026-10-09 20:34:45,667 sats.satellite.EO INFO <4361.50> EO: target index 27 tasked
2026-10-09 20:34:45,667 sats.satellite.EO INFO <4361.50> EO: Target(tgt-3367) tasked for imaging
2026-10-09 20:34:45,667 sats.satellite.EO INFO <4361.50> EO: Target(tgt-3367) window enabled: 4486.4 to 4553.4
2026-10-09 20:34:45,668 sats.satellite.EO INFO <4361.50> EO: setting timed terminal event at 4553.4
2026-10-09 20:34:45,690 sats.satellite.EO INFO <4553.50> EO: timed termination at 4553.4 for Target(tgt-3367) window
2026-10-09 20:34:45,691 data.base INFO <4553.50> Total reward: {}
2026-10-09 20:34:45,692 comm.communication INFO <4553.50> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:45,692 sats.satellite.EO INFO <4553.50> EO: Satellite EO requires retasking
2026-10-09 20:34:45,694 utils.orbital WARNING <4553.50> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:45,695 gym INFO <4553.50> Step reward: 0.0
2026-10-09 20:34:45,695 gym INFO <4553.50> === STARTING STEP ===
2026-10-09 20:34:45,695 sats.satellite.EO INFO <4553.50> EO: target index 27 tasked
2026-10-09 20:34:45,696 sats.satellite.EO INFO <4553.50> EO: Target(tgt-1991) tasked for imaging
2026-10-09 20:34:45,696 sats.satellite.EO INFO <4553.50> EO: Target(tgt-1991) window enabled: 4689.6 to 4809.5
2026-10-09 20:34:45,697 sats.satellite.EO INFO <4553.50> EO: setting timed terminal event at 4809.5
2026-10-09 20:34:45,727 sats.satellite.EO INFO <4810.00> EO: timed termination at 4809.5 for Target(tgt-1991) window
2026-10-09 20:34:45,729 data.base INFO <4810.00> Total reward: {}
2026-10-09 20:34:45,729 comm.communication INFO <4810.00> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:45,730 sats.satellite.EO INFO <4810.00> EO: Satellite EO requires retasking
2026-10-09 20:34:45,731 utils.orbital WARNING <4810.00> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:45,733 gym INFO <4810.00> Step reward: 0.0
2026-10-09 20:34:45,733 gym INFO <4810.00> === STARTING STEP ===
2026-10-09 20:34:45,733 sats.satellite.EO INFO <4810.00> EO: target index 17 tasked
2026-10-09 20:34:45,734 sats.satellite.EO INFO <4810.00> EO: Target(tgt-7146) tasked for imaging
2026-10-09 20:34:45,734 sats.satellite.EO INFO <4810.00> EO: Target(tgt-7146) window enabled: 4777.4 to 4897.0
2026-10-09 20:34:45,734 sats.satellite.EO INFO <4810.00> EO: setting timed terminal event at 4897.0
2026-10-09 20:34:45,745 sats.satellite.EO INFO <4897.50> EO: timed termination at 4897.0 for Target(tgt-7146) window
2026-10-09 20:34:45,746 data.base INFO <4897.50> Total reward: {}
2026-10-09 20:34:45,747 comm.communication INFO <4897.50> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:45,747 sats.satellite.EO INFO <4897.50> EO: Satellite EO requires retasking
2026-10-09 20:34:45,748 utils.orbital WARNING <4897.50> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:45,750 gym INFO <4897.50> Step reward: 0.0
2026-10-09 20:34:45,750 gym INFO <4897.50> === STARTING STEP ===
2026-10-09 20:34:45,750 sats.satellite.EO INFO <4897.50> EO: target index 6 tasked
2026-10-09 20:34:45,750 sats.satellite.EO INFO <4897.50> EO: Target(tgt-7872) tasked for imaging
2026-10-09 20:34:45,751 sats.satellite.EO INFO <4897.50> EO: Target(tgt-7872) window enabled: 4853.6 to 4950.4
2026-10-09 20:34:45,751 sats.satellite.EO INFO <4897.50> EO: setting timed terminal event at 4950.4
2026-10-09 20:34:45,758 sats.satellite.EO INFO <4950.50> EO: timed termination at 4950.4 for Target(tgt-7872) window
2026-10-09 20:34:45,759 data.base INFO <4950.50> Total reward: {}
2026-10-09 20:34:45,759 comm.communication INFO <4950.50> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:45,760 sats.satellite.EO INFO <4950.50> EO: Satellite EO requires retasking
2026-10-09 20:34:45,761 utils.orbital WARNING <4950.50> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:45,762 gym INFO <4950.50> Step reward: 0.0
2026-10-09 20:34:45,763 gym INFO <4950.50> === STARTING STEP ===
2026-10-09 20:34:45,763 sats.satellite.EO INFO <4950.50> EO: target index 22 tasked
2026-10-09 20:34:45,763 sats.satellite.EO INFO <4950.50> EO: Target(tgt-9027) tasked for imaging
2026-10-09 20:34:45,764 sats.satellite.EO INFO <4950.50> EO: Target(tgt-9027) window enabled: 5005.8 to 5107.0
2026-10-09 20:34:45,764 sats.satellite.EO INFO <4950.50> EO: setting timed terminal event at 5107.0
2026-10-09 20:34:45,782 sats.satellite.EO INFO <5107.00> EO: timed termination at 5107.0 for Target(tgt-9027) window
2026-10-09 20:34:45,784 data.base INFO <5107.00> Total reward: {}
2026-10-09 20:34:45,784 comm.communication INFO <5107.00> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:45,784 sats.satellite.EO INFO <5107.00> EO: Satellite EO requires retasking
2026-10-09 20:34:45,786 utils.orbital WARNING <5107.00> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:45,787 gym INFO <5107.00> Step reward: 0.0
2026-10-09 20:34:45,788 gym INFO <5107.00> === STARTING STEP ===
2026-10-09 20:34:45,788 sats.satellite.EO INFO <5107.00> EO: target index 12 tasked
2026-10-09 20:34:45,788 sats.satellite.EO INFO <5107.00> EO: Target(tgt-6169) tasked for imaging
2026-10-09 20:34:45,789 sats.satellite.EO INFO <5107.00> EO: Target(tgt-6169) window enabled: 5105.4 to 5215.7
2026-10-09 20:34:45,789 sats.satellite.EO INFO <5107.00> EO: setting timed terminal event at 5215.7
2026-10-09 20:34:45,802 sats.satellite.EO INFO <5216.00> EO: timed termination at 5215.7 for Target(tgt-6169) window
2026-10-09 20:34:45,803 data.base INFO <5216.00> Total reward: {}
2026-10-09 20:34:45,804 comm.communication INFO <5216.00> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:45,804 sats.satellite.EO INFO <5216.00> EO: Satellite EO requires retasking
2026-10-09 20:34:45,806 utils.orbital WARNING <5216.00> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:45,807 gym INFO <5216.00> Step reward: 0.0
2026-10-09 20:34:45,808 gym INFO <5216.00> === STARTING STEP ===
2026-10-09 20:34:45,808 sats.satellite.EO INFO <5216.00> EO: target index 27 tasked
2026-10-09 20:34:45,808 sats.satellite.EO INFO <5216.00> EO: Target(tgt-1113) tasked for imaging
2026-10-09 20:34:45,809 sats.satellite.EO INFO <5216.00> EO: Target(tgt-1113) window enabled: 5362.0 to 5472.2
2026-10-09 20:34:45,809 sats.satellite.EO INFO <5216.00> EO: setting timed terminal event at 5472.2
2026-10-09 20:34:45,842 sats.satellite.EO INFO <5472.50> EO: timed termination at 5472.2 for Target(tgt-1113) window
2026-10-09 20:34:45,843 data.base INFO <5472.50> Total reward: {}
2026-10-09 20:34:45,844 comm.communication INFO <5472.50> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:45,844 sats.satellite.EO INFO <5472.50> EO: Satellite EO requires retasking
2026-10-09 20:34:45,846 utils.orbital WARNING <5472.50> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:45,847 gym INFO <5472.50> Step reward: 0.0
2026-10-09 20:34:45,848 gym INFO <5472.50> === STARTING STEP ===
2026-10-09 20:34:45,848 sats.satellite.EO INFO <5472.50> EO: action_charge tasked for 60.0 seconds
2026-10-09 20:34:45,848 sats.satellite.EO INFO <5472.50> EO: setting timed terminal event at 5532.5
2026-10-09 20:34:45,857 sats.satellite.EO INFO <5532.50> EO: timed termination at 5532.5 for action_charge
2026-10-09 20:34:45,857 data.base INFO <5532.50> Total reward: {}
2026-10-09 20:34:45,858 comm.communication INFO <5532.50> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:45,858 sats.satellite.EO INFO <5532.50> EO: Satellite EO requires retasking
2026-10-09 20:34:45,860 utils.orbital WARNING <5532.50> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:45,861 gym INFO <5532.50> Step reward: 0.0
2026-10-09 20:34:45,861 gym INFO <5532.50> === STARTING STEP ===
2026-10-09 20:34:45,862 sats.satellite.EO INFO <5532.50> EO: target index 2 tasked
2026-10-09 20:34:45,862 sats.satellite.EO INFO <5532.50> EO: Target(tgt-1197) tasked for imaging
2026-10-09 20:34:45,862 sats.satellite.EO INFO <5532.50> EO: Target(tgt-1197) window enabled: 5469.8 to 5556.4
2026-10-09 20:34:45,863 sats.satellite.EO INFO <5532.50> EO: setting timed terminal event at 5556.4
2026-10-09 20:34:45,867 sats.satellite.EO INFO <5556.50> EO: timed termination at 5556.4 for Target(tgt-1197) window
2026-10-09 20:34:45,867 data.base INFO <5556.50> Total reward: {}
2026-10-09 20:34:45,868 comm.communication INFO <5556.50> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:45,868 sats.satellite.EO INFO <5556.50> EO: Satellite EO requires retasking
2026-10-09 20:34:45,870 utils.orbital WARNING <5556.50> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:45,871 gym INFO <5556.50> Step reward: 0.0
2026-10-09 20:34:45,871 gym INFO <5556.50> === STARTING STEP ===
2026-10-09 20:34:45,872 sats.satellite.EO INFO <5556.50> EO: target index 2 tasked
2026-10-09 20:34:45,872 sats.satellite.EO INFO <5556.50> EO: Target(tgt-3958) tasked for imaging
2026-10-09 20:34:45,872 sats.satellite.EO INFO <5556.50> EO: Target(tgt-3958) window enabled: 5517.9 to 5581.4
2026-10-09 20:34:45,873 sats.satellite.EO INFO <5556.50> EO: setting timed terminal event at 5581.4
2026-10-09 20:34:45,876 sats.satellite.EO INFO <5581.50> EO: timed termination at 5581.4 for Target(tgt-3958) window
2026-10-09 20:34:45,877 data.base INFO <5581.50> Total reward: {}
2026-10-09 20:34:45,877 comm.communication INFO <5581.50> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:45,878 sats.satellite.EO INFO <5581.50> EO: Satellite EO requires retasking
2026-10-09 20:34:45,879 utils.orbital WARNING <5581.50> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:45,881 gym INFO <5581.50> Step reward: 0.0
2026-10-09 20:34:45,881 gym INFO <5581.50> === STARTING STEP ===
2026-10-09 20:34:45,882 sats.satellite.EO INFO <5581.50> EO: target index 24 tasked
2026-10-09 20:34:45,882 sats.satellite.EO INFO <5581.50> EO: Target(tgt-5779) tasked for imaging
2026-10-09 20:34:45,883 sats.satellite.EO INFO <5581.50> EO: Target(tgt-5779) window enabled: 5661.8 to 5781.0
2026-10-09 20:34:45,883 sats.satellite.EO INFO <5581.50> EO: setting timed terminal event at 5781.0
2026-10-09 20:34:45,906 sats.satellite.EO INFO <5781.00> EO: timed termination at 5781.0 for Target(tgt-5779) window
2026-10-09 20:34:45,907 data.base INFO <5781.00> Total reward: {}
2026-10-09 20:34:45,908 comm.communication INFO <5781.00> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:45,908 sats.satellite.EO INFO <5781.00> EO: Satellite EO requires retasking
2026-10-09 20:34:45,910 utils.orbital WARNING <5781.00> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:45,911 gym INFO <5781.00> Step reward: 0.0
2026-10-09 20:34:45,912 gym INFO <5781.00> === STARTING STEP ===
2026-10-09 20:34:45,912 sats.satellite.EO INFO <5781.00> EO: target index 6 tasked
2026-10-09 20:34:45,912 sats.satellite.EO INFO <5781.00> EO: Target(tgt-1413) tasked for imaging
2026-10-09 20:34:45,913 sats.satellite.EO INFO <5781.00> EO: Target(tgt-1413) window enabled: 5701.3 to 5819.5
2026-10-09 20:34:45,913 sats.satellite.EO INFO <5781.00> EO: setting timed terminal event at 5819.5
2026-10-09 20:34:45,919 sats.satellite.EO INFO <5819.50> EO: timed termination at 5819.5 for Target(tgt-1413) window
2026-10-09 20:34:45,920 data.base INFO <5819.50> Total reward: {}
2026-10-09 20:34:45,920 comm.communication INFO <5819.50> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:45,920 sats.satellite.EO INFO <5819.50> EO: Satellite EO requires retasking
2026-10-09 20:34:45,922 utils.orbital WARNING <5819.50> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:45,923 gym INFO <5819.50> Step reward: 0.0
2026-10-09 20:34:45,924 gym INFO <5819.50> === STARTING STEP ===
2026-10-09 20:34:45,924 sats.satellite.EO INFO <5819.50> EO: target index 22 tasked
2026-10-09 20:34:45,924 sats.satellite.EO INFO <5819.50> EO: Target(tgt-1350) tasked for imaging
2026-10-09 20:34:45,925 sats.satellite.EO INFO <5819.50> EO: Target(tgt-1350) window enabled: 5829.6 to 5952.0
2026-10-09 20:34:45,925 sats.satellite.EO INFO <5819.50> EO: setting timed terminal event at 5952.0
2026-10-09 20:34:45,941 sats.satellite.EO INFO <5952.00> EO: timed termination at 5952.0 for Target(tgt-1350) window
2026-10-09 20:34:45,942 data.base INFO <5952.00> Total reward: {}
2026-10-09 20:34:45,943 comm.communication INFO <5952.00> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:45,943 sats.satellite.EO INFO <5952.00> EO: Satellite EO requires retasking
2026-10-09 20:34:45,945 utils.orbital WARNING <5952.00> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:45,946 gym INFO <5952.00> Step reward: 0.0
2026-10-09 20:34:45,947 gym INFO <5952.00> === STARTING STEP ===
2026-10-09 20:34:45,947 sats.satellite.EO INFO <5952.00> EO: target index 31 tasked
2026-10-09 20:34:45,947 sats.satellite.EO INFO <5952.00> EO: Target(tgt-8967) tasked for imaging
2026-10-09 20:34:45,948 sats.satellite.EO INFO <5952.00> EO: Target(tgt-8967) window enabled: 6059.3 to 6181.0
2026-10-09 20:34:45,948 sats.satellite.EO INFO <5952.00> EO: setting timed terminal event at 6181.0
2026-10-09 20:34:45,977 sats.satellite.EO INFO <6181.50> EO: timed termination at 6181.0 for Target(tgt-8967) window
2026-10-09 20:34:45,978 data.base INFO <6181.50> Total reward: {}
2026-10-09 20:34:45,979 comm.communication INFO <6181.50> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:45,979 sats.satellite.EO INFO <6181.50> EO: Satellite EO requires retasking
2026-10-09 20:34:45,981 utils.orbital WARNING <6181.50> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:45,983 gym INFO <6181.50> Step reward: 0.0
2026-10-09 20:34:45,983 gym INFO <6181.50> === STARTING STEP ===
2026-10-09 20:34:45,983 sats.satellite.EO INFO <6181.50> EO: target index 19 tasked
2026-10-09 20:34:45,984 sats.satellite.EO INFO <6181.50> EO: Target(tgt-9678) tasked for imaging
2026-10-09 20:34:45,984 sats.satellite.EO INFO <6181.50> EO: Target(tgt-9678) window enabled: 6200.1 to 6322.2
2026-10-09 20:34:45,984 sats.satellite.EO INFO <6181.50> EO: setting timed terminal event at 6322.2
2026-10-09 20:34:46,001 sats.satellite.EO INFO <6322.50> EO: timed termination at 6322.2 for Target(tgt-9678) window
2026-10-09 20:34:46,002 data.base INFO <6322.50> Total reward: {}
2026-10-09 20:34:46,003 comm.communication INFO <6322.50> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:46,004 sats.satellite.EO INFO <6322.50> EO: Satellite EO requires retasking
2026-10-09 20:34:46,006 utils.orbital WARNING <6322.50> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:46,007 gym INFO <6322.50> Step reward: 0.0
2026-10-09 20:34:46,007 gym INFO <6322.50> === STARTING STEP ===
2026-10-09 20:34:46,008 sats.satellite.EO INFO <6322.50> EO: target index 23 tasked
2026-10-09 20:34:46,008 sats.satellite.EO INFO <6322.50> EO: Target(tgt-4188) tasked for imaging
2026-10-09 20:34:46,009 sats.satellite.EO INFO <6322.50> EO: Target(tgt-4188) window enabled: 6395.0 to 6514.4
2026-10-09 20:34:46,009 sats.satellite.EO INFO <6322.50> EO: setting timed terminal event at 6514.4
2026-10-09 20:34:46,031 sats.satellite.EO INFO <6514.50> EO: timed termination at 6514.4 for Target(tgt-4188) window
2026-10-09 20:34:46,033 data.base INFO <6514.50> Total reward: {}
2026-10-09 20:34:46,033 comm.communication INFO <6514.50> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:46,034 sats.satellite.EO INFO <6514.50> EO: Satellite EO requires retasking
2026-10-09 20:34:46,036 utils.orbital WARNING <6514.50> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:46,037 gym INFO <6514.50> Step reward: 0.0
2026-10-09 20:34:46,037 gym INFO <6514.50> === STARTING STEP ===
2026-10-09 20:34:46,038 sats.satellite.EO INFO <6514.50> EO: target index 6 tasked
2026-10-09 20:34:46,038 sats.satellite.EO INFO <6514.50> EO: Target(tgt-1148) tasked for imaging
2026-10-09 20:34:46,039 sats.satellite.EO INFO <6514.50> EO: Target(tgt-1148) window enabled: 6477.0 to 6562.4
2026-10-09 20:34:46,039 sats.satellite.EO INFO <6514.50> EO: setting timed terminal event at 6562.4
2026-10-09 20:34:46,046 sats.satellite.EO INFO <6562.50> EO: timed termination at 6562.4 for Target(tgt-1148) window
2026-10-09 20:34:46,047 data.base INFO <6562.50> Total reward: {}
2026-10-09 20:34:46,047 comm.communication INFO <6562.50> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:46,048 sats.satellite.EO INFO <6562.50> EO: Satellite EO requires retasking
2026-10-09 20:34:46,049 utils.orbital WARNING <6562.50> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:46,051 gym INFO <6562.50> Step reward: 0.0
2026-10-09 20:34:46,051 gym INFO <6562.50> === STARTING STEP ===
2026-10-09 20:34:46,051 sats.satellite.EO INFO <6562.50> EO: target index 12 tasked
2026-10-09 20:34:46,052 sats.satellite.EO INFO <6562.50> EO: Target(tgt-7310) tasked for imaging
2026-10-09 20:34:46,052 sats.satellite.EO INFO <6562.50> EO: Target(tgt-7310) window enabled: 6592.2 to 6708.4
2026-10-09 20:34:46,052 sats.satellite.EO INFO <6562.50> EO: setting timed terminal event at 6708.4
2026-10-09 20:34:46,071 sats.satellite.EO INFO <6708.50> EO: timed termination at 6708.4 for Target(tgt-7310) window
2026-10-09 20:34:46,072 data.base INFO <6708.50> Total reward: {}
2026-10-09 20:34:46,072 comm.communication INFO <6708.50> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:46,073 sats.satellite.EO INFO <6708.50> EO: Satellite EO requires retasking
2026-10-09 20:34:46,075 utils.orbital WARNING <6708.50> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:46,077 gym INFO <6708.50> Step reward: 0.0
2026-10-09 20:34:46,077 gym INFO <6708.50> === STARTING STEP ===
2026-10-09 20:34:46,077 sats.satellite.EO INFO <6708.50> EO: target index 10 tasked
2026-10-09 20:34:46,078 sats.satellite.EO INFO <6708.50> EO: Target(tgt-7753) tasked for imaging
2026-10-09 20:34:46,078 sats.satellite.EO INFO <6708.50> EO: Target(tgt-7753) window enabled: 6714.8 to 6812.5
2026-10-09 20:34:46,078 sats.satellite.EO INFO <6708.50> EO: setting timed terminal event at 6812.5
2026-10-09 20:34:46,091 sats.satellite.EO INFO <6812.50> EO: timed termination at 6812.5 for Target(tgt-7753) window
2026-10-09 20:34:46,092 data.base INFO <6812.50> Total reward: {}
2026-10-09 20:34:46,092 comm.communication INFO <6812.50> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:46,093 sats.satellite.EO INFO <6812.50> EO: Satellite EO requires retasking
2026-10-09 20:34:46,095 utils.orbital WARNING <6812.50> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:46,096 gym INFO <6812.50> Step reward: 0.0
2026-10-09 20:34:46,097 gym INFO <6812.50> === STARTING STEP ===
2026-10-09 20:34:46,097 sats.satellite.EO INFO <6812.50> EO: target index 23 tasked
2026-10-09 20:34:46,097 sats.satellite.EO INFO <6812.50> EO: Target(tgt-6063) tasked for imaging
2026-10-09 20:34:46,098 sats.satellite.EO INFO <6812.50> EO: Target(tgt-6063) window enabled: 6982.2 to 7002.9
2026-10-09 20:34:46,098 sats.satellite.EO INFO <6812.50> EO: setting timed terminal event at 7002.9
2026-10-09 20:34:46,120 sats.satellite.EO INFO <7003.00> EO: timed termination at 7002.9 for Target(tgt-6063) window
2026-10-09 20:34:46,121 data.base INFO <7003.00> Total reward: {}
2026-10-09 20:34:46,121 comm.communication INFO <7003.00> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:46,122 sats.satellite.EO INFO <7003.00> EO: Satellite EO requires retasking
2026-10-09 20:34:46,124 utils.orbital WARNING <7003.00> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:46,125 gym INFO <7003.00> Step reward: 0.0
2026-10-09 20:34:46,126 gym INFO <7003.00> === STARTING STEP ===
2026-10-09 20:34:46,126 sats.satellite.EO INFO <7003.00> EO: target index 13 tasked
2026-10-09 20:34:46,126 sats.satellite.EO INFO <7003.00> EO: Target(tgt-8067) tasked for imaging
2026-10-09 20:34:46,127 sats.satellite.EO INFO <7003.00> EO: Target(tgt-8067) window enabled: 7020.6 to 7137.2
2026-10-09 20:34:46,127 sats.satellite.EO INFO <7003.00> EO: setting timed terminal event at 7137.2
2026-10-09 20:34:46,143 sats.satellite.EO INFO <7137.50> EO: timed termination at 7137.2 for Target(tgt-8067) window
2026-10-09 20:34:46,144 data.base INFO <7137.50> Total reward: {}
2026-10-09 20:34:46,145 comm.communication INFO <7137.50> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:46,146 sats.satellite.EO INFO <7137.50> EO: Satellite EO requires retasking
2026-10-09 20:34:46,147 utils.orbital WARNING <7137.50> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:46,149 gym INFO <7137.50> Step reward: 0.0
2026-10-09 20:34:46,149 gym INFO <7137.50> === STARTING STEP ===
2026-10-09 20:34:46,149 sats.satellite.EO INFO <7137.50> EO: target index 25 tasked
2026-10-09 20:34:46,150 sats.satellite.EO INFO <7137.50> EO: Target(tgt-552) tasked for imaging
2026-10-09 20:34:46,150 sats.satellite.EO INFO <7137.50> EO: Target(tgt-552) window enabled: 7231.3 to 7342.0
2026-10-09 20:34:46,151 sats.satellite.EO INFO <7137.50> EO: setting timed terminal event at 7342.0
2026-10-09 20:34:46,174 sats.satellite.EO INFO <7342.00> EO: timed termination at 7342.0 for Target(tgt-552) window
2026-10-09 20:34:46,175 data.base INFO <7342.00> Total reward: {}
2026-10-09 20:34:46,176 comm.communication INFO <7342.00> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:46,176 sats.satellite.EO INFO <7342.00> EO: Satellite EO requires retasking
2026-10-09 20:34:46,178 utils.orbital WARNING <7342.00> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:46,179 gym INFO <7342.00> Step reward: 0.0
2026-10-09 20:34:46,180 gym INFO <7342.00> === STARTING STEP ===
2026-10-09 20:34:46,180 sats.satellite.EO INFO <7342.00> EO: target index 21 tasked
2026-10-09 20:34:46,180 sats.satellite.EO INFO <7342.00> EO: Target(tgt-8273) tasked for imaging
2026-10-09 20:34:46,181 sats.satellite.EO INFO <7342.00> EO: Target(tgt-8273) window enabled: 7592.3 to 7624.2
2026-10-09 20:34:46,181 sats.satellite.EO INFO <7342.00> EO: setting timed terminal event at 7624.2
2026-10-09 20:34:46,215 sats.satellite.EO INFO <7624.50> EO: timed termination at 7624.2 for Target(tgt-8273) window
2026-10-09 20:34:46,217 data.base INFO <7624.50> Total reward: {}
2026-10-09 20:34:46,217 comm.communication INFO <7624.50> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:46,217 sats.satellite.EO INFO <7624.50> EO: Satellite EO requires retasking
2026-10-09 20:34:46,219 utils.orbital WARNING <7624.50> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:46,220 gym INFO <7624.50> Step reward: 0.0
2026-10-09 20:34:46,221 gym INFO <7624.50> === STARTING STEP ===
2026-10-09 20:34:46,221 sats.satellite.EO INFO <7624.50> EO: target index 25 tasked
2026-10-09 20:34:46,221 sats.satellite.EO INFO <7624.50> EO: Target(tgt-5813) tasked for imaging
2026-10-09 20:34:46,222 sats.satellite.EO INFO <7624.50> EO: Target(tgt-5813) window enabled: 7774.5 to 7883.7
2026-10-09 20:34:46,222 sats.satellite.EO INFO <7624.50> EO: setting timed terminal event at 7883.7
2026-10-09 20:34:46,253 sats.satellite.EO INFO <7884.00> EO: timed termination at 7883.7 for Target(tgt-5813) window
2026-10-09 20:34:46,254 data.base INFO <7884.00> Total reward: {}
2026-10-09 20:34:46,255 comm.communication INFO <7884.00> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:46,255 sats.satellite.EO INFO <7884.00> EO: Satellite EO requires retasking
2026-10-09 20:34:46,257 utils.orbital WARNING <7884.00> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:46,258 gym INFO <7884.00> Step reward: 0.0
2026-10-09 20:34:46,259 gym INFO <7884.00> === STARTING STEP ===
2026-10-09 20:34:46,259 sats.satellite.EO INFO <7884.00> EO: target index 12 tasked
2026-10-09 20:34:46,259 sats.satellite.EO INFO <7884.00> EO: Target(tgt-4122) tasked for imaging
2026-10-09 20:34:46,260 sats.satellite.EO INFO <7884.00> EO: Target(tgt-4122) window enabled: 7863.9 to 7982.0
2026-10-09 20:34:46,260 sats.satellite.EO INFO <7884.00> EO: setting timed terminal event at 7982.0
2026-10-09 20:34:46,273 sats.satellite.EO INFO <7982.00> EO: timed termination at 7982.0 for Target(tgt-4122) window
2026-10-09 20:34:46,274 data.base INFO <7982.00> Total reward: {}
2026-10-09 20:34:46,275 comm.communication INFO <7982.00> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:46,275 sats.satellite.EO INFO <7982.00> EO: Satellite EO requires retasking
2026-10-09 20:34:46,277 utils.orbital WARNING <7982.00> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:46,278 gym INFO <7982.00> Step reward: 0.0
2026-10-09 20:34:46,279 gym INFO <7982.00> === STARTING STEP ===
2026-10-09 20:34:46,279 sats.satellite.EO INFO <7982.00> EO: target index 23 tasked
2026-10-09 20:34:46,279 sats.satellite.EO INFO <7982.00> EO: Target(tgt-1961) tasked for imaging
2026-10-09 20:34:46,280 sats.satellite.EO INFO <7982.00> EO: Target(tgt-1961) window enabled: 8028.1 to 8146.2
2026-10-09 20:34:46,280 sats.satellite.EO INFO <7982.00> EO: setting timed terminal event at 8146.2
2026-10-09 20:34:46,300 sats.satellite.EO INFO <8146.50> EO: timed termination at 8146.2 for Target(tgt-1961) window
2026-10-09 20:34:46,301 data.base INFO <8146.50> Total reward: {}
2026-10-09 20:34:46,301 comm.communication INFO <8146.50> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:46,302 sats.satellite.EO INFO <8146.50> EO: Satellite EO requires retasking
2026-10-09 20:34:46,304 utils.orbital WARNING <8146.50> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:46,305 gym INFO <8146.50> Step reward: 0.0
2026-10-09 20:34:46,305 gym INFO <8146.50> === STARTING STEP ===
2026-10-09 20:34:46,306 sats.satellite.EO INFO <8146.50> EO: target index 11 tasked
2026-10-09 20:34:46,306 sats.satellite.EO INFO <8146.50> EO: Target(tgt-5388) tasked for imaging
2026-10-09 20:34:46,307 sats.satellite.EO INFO <8146.50> EO: Target(tgt-5388) window enabled: 8088.4 to 8206.2
2026-10-09 20:34:46,307 sats.satellite.EO INFO <8146.50> EO: setting timed terminal event at 8206.2
2026-10-09 20:34:46,314 sats.satellite.EO INFO <8206.50> EO: timed termination at 8206.2 for Target(tgt-5388) window
2026-10-09 20:34:46,315 data.base INFO <8206.50> Total reward: {}
2026-10-09 20:34:46,316 comm.communication INFO <8206.50> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:46,316 sats.satellite.EO INFO <8206.50> EO: Satellite EO requires retasking
2026-10-09 20:34:46,318 utils.orbital WARNING <8206.50> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:46,319 gym INFO <8206.50> Step reward: 0.0
2026-10-09 20:34:46,319 gym INFO <8206.50> === STARTING STEP ===
2026-10-09 20:34:46,320 sats.satellite.EO INFO <8206.50> EO: target index 6 tasked
2026-10-09 20:34:46,320 sats.satellite.EO INFO <8206.50> EO: Target(tgt-5209) tasked for imaging
2026-10-09 20:34:46,320 sats.satellite.EO INFO <8206.50> EO: Target(tgt-5209) window enabled: 8156.1 to 8256.5
2026-10-09 20:34:46,321 sats.satellite.EO INFO <8206.50> EO: setting timed terminal event at 8256.5
2026-10-09 20:34:46,328 sats.satellite.EO INFO <8257.00> EO: timed termination at 8256.5 for Target(tgt-5209) window
2026-10-09 20:34:46,329 data.base INFO <8257.00> Total reward: {}
2026-10-09 20:34:46,329 comm.communication INFO <8257.00> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:46,330 sats.satellite.EO INFO <8257.00> EO: Satellite EO requires retasking
2026-10-09 20:34:46,331 utils.orbital WARNING <8257.00> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:46,333 gym INFO <8257.00> Step reward: 0.0
2026-10-09 20:34:46,333 gym INFO <8257.00> === STARTING STEP ===
2026-10-09 20:34:46,333 sats.satellite.EO INFO <8257.00> EO: target index 13 tasked
2026-10-09 20:34:46,334 sats.satellite.EO INFO <8257.00> EO: Target(tgt-5277) tasked for imaging
2026-10-09 20:34:46,334 sats.satellite.EO INFO <8257.00> EO: Target(tgt-5277) window enabled: 8226.1 to 8345.2
2026-10-09 20:34:46,334 sats.satellite.EO INFO <8257.00> EO: setting timed terminal event at 8345.2
2026-10-09 20:34:46,347 sats.satellite.EO INFO <8345.50> EO: timed termination at 8345.2 for Target(tgt-5277) window
2026-10-09 20:34:46,348 data.base INFO <8345.50> Total reward: {}
2026-10-09 20:34:46,348 comm.communication INFO <8345.50> Optimizing data communication between all pairs of satellites
2026-10-09 20:34:46,348 sats.satellite.EO INFO <8345.50> EO: Satellite EO requires retasking
2026-10-09 20:34:46,350 utils.orbital WARNING <8345.50> Could not find eclipse transitions in next 12000.0 seconds
2026-10-09 20:34:46,351 sats.satellite.EO WARNING <8345.50> EO: failed battery_valid check
2026-10-09 20:34:46,351 gym INFO <8345.50> Step reward: 0.0
2026-10-09 20:34:46,351 gym INFO <8345.50> Episode terminated: True
2026-10-09 20:34:46,352 gym INFO <8345.50> Episode truncated: False
Episode complete.
After the running the simulation, we can check the reward, number of imaged targets that were covered by clouds and that were not covered by clouds (according to the threshold set in the rewarder).
[11]:
print("Total reward:", env.unwrapped.rewarder.cum_reward)
print("Covered by clouds:", env.unwrapped.rewarder.data.cloud_covered)
print("Not covered by clouds:", env.unwrapped.rewarder.data.cloud_free)
Total reward: {'EO': np.float64(3.203403193459893)}
Covered by clouds: {Target(tgt-2692), Target(tgt-8899), Target(tgt-7965), Target(tgt-9702), Target(tgt-7233), Target(tgt-865), Target(tgt-5055), Target(tgt-4293)}
Not covered by clouds: {Target(tgt-4557), Target(tgt-2645), Target(tgt-5550), Target(tgt-6299), Target(tgt-1256), Target(tgt-2383), Target(tgt-7169), Target(tgt-4368), Target(tgt-8715), Target(tgt-3432), Target(tgt-7600)}