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]:
import gymnasium as gym
import numpy as np
from typing import Optional

from Basilisk.architecture import bskLogging
from Basilisk.utilities import orbitalMotion
from bsk_rl import act, obs, sats
from bsk_rl.sim import dyn, fsw
from bsk_rl.utils.orbital import random_orbit
from bsk_rl.scene.targets import UniformTargets
from bsk_rl.data.unique_image_data import (
    UniqueImageData,
    UniqueImageStore,
    UniqueImageReward,
)

bskLogging.setDefaultLogLevel(bskLogging.BSK_WARNING)

Configure the Satellite

  • Observations:

    • 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.

  • Actions:

    • 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 = [
        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 = [
        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_cover represents 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_forecast represents the cloud coverage forecast. Forecast from external sources can be plugged in here.

  • cloud_cover_sigma represents 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 True if opportunity["object"].cloud_cover_forecast < 0.2 else False
    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: Optional[set["Target"]] = None,
        duplicates: int = 0,
        known: Optional[set["Target"]] = None,
        cloud_covered: Optional[set["Target"]] = None,
        cloud_free: Optional[set["Target"]] = 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-02-25 01:06:02,713 gym                            INFO       Calling env.reset() to get observation space
2026-02-25 01:06:02,714 gym                            INFO       Resetting environment with seed=3391420862
2026-02-25 01:06:02,716 scene.targets                  INFO       Generating 5730 targets
2026-02-25 01:06:02,909 sats.satellite.EO              INFO       <0.00> EO: Finding opportunity windows from 0.00 to 17400.00 seconds
2026-02-25 01:06:04,432 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-02-25 01:06:04,439 gym                            INFO       Resetting environment with seed=1
2026-02-25 01:06:04,441 scene.targets                  INFO       Generating 9920 targets
2026-02-25 01:06:04,680 sats.satellite.EO              INFO       <0.00> EO: Finding opportunity windows from 0.00 to 17400.00 seconds
2026-02-25 01:06:07,292 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.5643954203724235, '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-02-25 01:06:07,306 gym                            INFO       <0.00> === STARTING STEP ===
2026-02-25 01:06:07,307 sats.satellite.EO              INFO       <0.00> EO: action_charge tasked for 60.0 seconds
2026-02-25 01:06:07,307 sats.satellite.EO              INFO       <0.00> EO: setting timed terminal event at 60.0
2026-02-25 01:06:07,316 sats.satellite.EO              INFO       <60.00> EO: timed termination at 60.0 for action_charge
2026-02-25 01:06:07,318 data.base                      INFO       <60.00> Total reward: {}
2026-02-25 01:06:07,318 comm.communication             INFO       <60.00> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:07,320 sats.satellite.EO              INFO       <60.00> EO: Satellite EO requires retasking
2026-02-25 01:06:07,345 gym                            INFO       <60.00> Step reward: 0.0
2026-02-25 01:06:07,346 gym                            INFO       <60.00> === STARTING STEP ===
2026-02-25 01:06:07,347 sats.satellite.EO              WARNING    <60.00> EO: Requires retasking but received no task.
2026-02-25 01:06:07,381 sim.simulator                  INFO       <360.00> Max step duration reached
2026-02-25 01:06:07,382 data.base                      INFO       <360.00> Total reward: {}
2026-02-25 01:06:07,382 comm.communication             INFO       <360.00> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:07,383 sats.satellite.EO              INFO       <360.00> EO: Satellite EO requires retasking
2026-02-25 01:06:07,410 gym                            INFO       <360.00> Step reward: 0.0
2026-02-25 01:06:07,411 gym                            INFO       <360.00> === STARTING STEP ===
2026-02-25 01:06:07,412 sats.satellite.EO              INFO       <360.00> EO: target index 0 tasked
2026-02-25 01:06:07,412 sats.satellite.EO              INFO       <360.00> EO: Target(tgt-7918) tasked for imaging
2026-02-25 01:06:07,413 sats.satellite.EO              INFO       <360.00> EO: Target(tgt-7918) window enabled: 256.2 to 377.2
2026-02-25 01:06:07,414 sats.satellite.EO              INFO       <360.00> EO: setting timed terminal event at 377.2
2026-02-25 01:06:07,419 sats.satellite.EO              INFO       <377.50> EO: timed termination at 377.2 for Target(tgt-7918) window
2026-02-25 01:06:07,420 data.base                      INFO       <377.50> Total reward: {}
2026-02-25 01:06:07,421 comm.communication             INFO       <377.50> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:07,422 sats.satellite.EO              INFO       <377.50> EO: Satellite EO requires retasking
2026-02-25 01:06:07,448 gym                            INFO       <377.50> Step reward: 0.0
2026-02-25 01:06:07,448 gym                            INFO       <377.50> === STARTING STEP ===
2026-02-25 01:06:07,449 sats.satellite.EO              INFO       <377.50> EO: target index 9 tasked
2026-02-25 01:06:07,449 sats.satellite.EO              INFO       <377.50> EO: Target(tgt-2257) tasked for imaging
2026-02-25 01:06:07,450 sats.satellite.EO              INFO       <377.50> EO: Target(tgt-2257) window enabled: 371.9 to 479.3
2026-02-25 01:06:07,451 sats.satellite.EO              INFO       <377.50> EO: setting timed terminal event at 479.3
2026-02-25 01:06:07,464 sats.satellite.EO              INFO       <429.00> EO: imaged Target(tgt-2257)
2026-02-25 01:06:07,465 data.base                      INFO       <429.00> Total reward: {'EO': np.float64(0.38999457343723787)}
2026-02-25 01:06:07,466 comm.communication             INFO       <429.00> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:07,467 sats.satellite.EO              INFO       <429.00> EO: Satellite EO requires retasking
2026-02-25 01:06:07,494 gym                            INFO       <429.00> Step reward: 0.38999457343723787
2026-02-25 01:06:07,495 gym                            INFO       <429.00> === STARTING STEP ===
2026-02-25 01:06:07,495 sats.satellite.EO              INFO       <429.00> EO: target index 4 tasked
2026-02-25 01:06:07,496 sats.satellite.EO              INFO       <429.00> EO: Target(tgt-2692) tasked for imaging
2026-02-25 01:06:07,496 sats.satellite.EO              INFO       <429.00> EO: Target(tgt-2692) window enabled: 462.6 to 513.3
2026-02-25 01:06:07,497 sats.satellite.EO              INFO       <429.00> EO: setting timed terminal event at 513.3
2026-02-25 01:06:07,511 sats.satellite.EO              INFO       <477.00> EO: imaged Target(tgt-2692)
2026-02-25 01:06:07,512 data.base                      INFO       <477.00> Total reward: {}
2026-02-25 01:06:07,512 comm.communication             INFO       <477.00> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:07,513 sats.satellite.EO              INFO       <477.00> EO: Satellite EO requires retasking
2026-02-25 01:06:07,540 gym                            INFO       <477.00> Step reward: 0.0
2026-02-25 01:06:07,540 gym                            INFO       <477.00> === STARTING STEP ===
2026-02-25 01:06:07,541 sats.satellite.EO              INFO       <477.00> EO: target index 12 tasked
2026-02-25 01:06:07,541 sats.satellite.EO              INFO       <477.00> EO: Target(tgt-7365) tasked for imaging
2026-02-25 01:06:07,543 sats.satellite.EO              INFO       <477.00> EO: Target(tgt-7365) window enabled: 520.7 to 581.1
2026-02-25 01:06:07,543 sats.satellite.EO              INFO       <477.00> EO: setting timed terminal event at 581.1
2026-02-25 01:06:07,558 sats.satellite.EO              INFO       <535.00> EO: imaged Target(tgt-7365)
2026-02-25 01:06:07,559 data.base                      INFO       <535.00> Total reward: {}
2026-02-25 01:06:07,560 comm.communication             INFO       <535.00> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:07,561 sats.satellite.EO              INFO       <535.00> EO: Satellite EO requires retasking
2026-02-25 01:06:07,588 gym                            INFO       <535.00> Step reward: 0.0
2026-02-25 01:06:07,588 gym                            INFO       <535.00> === STARTING STEP ===
2026-02-25 01:06:07,589 sats.satellite.EO              INFO       <535.00> EO: target index 12 tasked
2026-02-25 01:06:07,590 sats.satellite.EO              INFO       <535.00> EO: Target(tgt-7321) tasked for imaging
2026-02-25 01:06:07,591 sats.satellite.EO              INFO       <535.00> EO: Target(tgt-7321) window enabled: 511.3 to 628.4
2026-02-25 01:06:07,591 sats.satellite.EO              INFO       <535.00> EO: setting timed terminal event at 628.4
2026-02-25 01:06:07,600 sats.satellite.EO              INFO       <563.50> EO: imaged Target(tgt-7321)
2026-02-25 01:06:07,601 data.base                      INFO       <563.50> Total reward: {}
2026-02-25 01:06:07,601 comm.communication             INFO       <563.50> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:07,602 sats.satellite.EO              INFO       <563.50> EO: Satellite EO requires retasking
2026-02-25 01:06:07,629 gym                            INFO       <563.50> Step reward: 0.0
2026-02-25 01:06:07,630 gym                            INFO       <563.50> === STARTING STEP ===
2026-02-25 01:06:07,631 sats.satellite.EO              INFO       <563.50> EO: target index 11 tasked
2026-02-25 01:06:07,631 sats.satellite.EO              INFO       <563.50> EO: Target(tgt-4585) tasked for imaging
2026-02-25 01:06:07,632 sats.satellite.EO              INFO       <563.50> EO: Target(tgt-4585) window enabled: 603.1 to 654.6
2026-02-25 01:06:07,632 sats.satellite.EO              INFO       <563.50> EO: setting timed terminal event at 654.6
2026-02-25 01:06:07,644 sats.satellite.EO              INFO       <606.50> EO: imaged Target(tgt-4585)
2026-02-25 01:06:07,645 data.base                      INFO       <606.50> Total reward: {}
2026-02-25 01:06:07,646 comm.communication             INFO       <606.50> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:07,647 sats.satellite.EO              INFO       <606.50> EO: Satellite EO requires retasking
2026-02-25 01:06:07,674 gym                            INFO       <606.50> Step reward: 0.0
2026-02-25 01:06:07,674 gym                            INFO       <606.50> === STARTING STEP ===
2026-02-25 01:06:07,675 sats.satellite.EO              INFO       <606.50> EO: target index 0 tasked
2026-02-25 01:06:07,676 sats.satellite.EO              INFO       <606.50> EO: Target(tgt-4293) tasked for imaging
2026-02-25 01:06:07,676 sats.satellite.EO              INFO       <606.50> EO: Target(tgt-4293) window enabled: 519.6 to 608.4
2026-02-25 01:06:07,677 sats.satellite.EO              INFO       <606.50> EO: setting timed terminal event at 608.4
2026-02-25 01:06:07,679 sats.satellite.EO              INFO       <608.50> EO: timed termination at 608.4 for Target(tgt-4293) window
2026-02-25 01:06:07,680 data.base                      INFO       <608.50> Total reward: {}
2026-02-25 01:06:07,680 comm.communication             INFO       <608.50> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:07,681 sats.satellite.EO              INFO       <608.50> EO: Satellite EO requires retasking
2026-02-25 01:06:07,708 gym                            INFO       <608.50> Step reward: 0.0
2026-02-25 01:06:07,709 gym                            INFO       <608.50> === STARTING STEP ===
2026-02-25 01:06:07,709 sats.satellite.EO              INFO       <608.50> EO: target index 12 tasked
2026-02-25 01:06:07,710 sats.satellite.EO              INFO       <608.50> EO: Target(tgt-3310) tasked for imaging
2026-02-25 01:06:07,711 sats.satellite.EO              INFO       <608.50> EO: Target(tgt-3310) window enabled: 600.4 to 719.5
2026-02-25 01:06:07,712 sats.satellite.EO              INFO       <608.50> EO: setting timed terminal event at 719.5
2026-02-25 01:06:07,721 sats.satellite.EO              INFO       <640.00> EO: imaged Target(tgt-3310)
2026-02-25 01:06:07,722 data.base                      INFO       <640.00> Total reward: {}
2026-02-25 01:06:07,722 comm.communication             INFO       <640.00> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:07,724 sats.satellite.EO              INFO       <640.00> EO: Satellite EO requires retasking
2026-02-25 01:06:07,751 gym                            INFO       <640.00> Step reward: 0.0
2026-02-25 01:06:07,752 gym                            INFO       <640.00> === STARTING STEP ===
2026-02-25 01:06:07,752 sats.satellite.EO              INFO       <640.00> EO: target index 2 tasked
2026-02-25 01:06:07,753 sats.satellite.EO              INFO       <640.00> EO: Target(tgt-1992) tasked for imaging
2026-02-25 01:06:07,754 sats.satellite.EO              INFO       <640.00> EO: Target(tgt-1992) window enabled: 621.8 to 680.6
2026-02-25 01:06:07,755 sats.satellite.EO              INFO       <640.00> EO: setting timed terminal event at 680.6
2026-02-25 01:06:07,765 sats.satellite.EO              INFO       <671.00> EO: imaged Target(tgt-1992)
2026-02-25 01:06:07,766 data.base                      INFO       <671.00> Total reward: {}
2026-02-25 01:06:07,767 comm.communication             INFO       <671.00> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:07,768 sats.satellite.EO              INFO       <671.00> EO: Satellite EO requires retasking
2026-02-25 01:06:07,795 gym                            INFO       <671.00> Step reward: 0.0
2026-02-25 01:06:07,795 gym                            INFO       <671.00> === STARTING STEP ===
2026-02-25 01:06:07,796 sats.satellite.EO              INFO       <671.00> EO: target index 25 tasked
2026-02-25 01:06:07,796 sats.satellite.EO              INFO       <671.00> EO: Target(tgt-842) tasked for imaging
2026-02-25 01:06:07,797 sats.satellite.EO              INFO       <671.00> EO: Target(tgt-842) window enabled: 808.3 to 899.8
2026-02-25 01:06:07,797 sats.satellite.EO              INFO       <671.00> EO: setting timed terminal event at 899.8
2026-02-25 01:06:07,837 sats.satellite.EO              INFO       <809.50> EO: imaged Target(tgt-842)
2026-02-25 01:06:07,838 data.base                      INFO       <809.50> Total reward: {'EO': np.float64(0.061749180004625634)}
2026-02-25 01:06:07,839 comm.communication             INFO       <809.50> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:07,840 sats.satellite.EO              INFO       <809.50> EO: Satellite EO requires retasking
2026-02-25 01:06:07,867 gym                            INFO       <809.50> Step reward: 0.061749180004625634
2026-02-25 01:06:07,867 gym                            INFO       <809.50> === STARTING STEP ===
2026-02-25 01:06:07,868 sats.satellite.EO              INFO       <809.50> EO: target index 20 tasked
2026-02-25 01:06:07,868 sats.satellite.EO              INFO       <809.50> EO: Target(tgt-346) tasked for imaging
2026-02-25 01:06:07,869 sats.satellite.EO              INFO       <809.50> EO: Target(tgt-346) window enabled: 913.4 to 1003.7
2026-02-25 01:06:07,869 sats.satellite.EO              INFO       <809.50> EO: setting timed terminal event at 1003.7
2026-02-25 01:06:07,896 sats.satellite.EO              INFO       <914.50> EO: imaged Target(tgt-346)
2026-02-25 01:06:07,897 data.base                      INFO       <914.50> Total reward: {'EO': np.float64(0.5861153957516726)}
2026-02-25 01:06:07,897 comm.communication             INFO       <914.50> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:07,898 sats.satellite.EO              INFO       <914.50> EO: Satellite EO requires retasking
2026-02-25 01:06:07,925 gym                            INFO       <914.50> Step reward: 0.5861153957516726
2026-02-25 01:06:07,925 gym                            INFO       <914.50> === STARTING STEP ===
2026-02-25 01:06:07,926 sats.satellite.EO              INFO       <914.50> EO: target index 30 tasked
2026-02-25 01:06:07,926 sats.satellite.EO              INFO       <914.50> EO: Target(tgt-6163) tasked for imaging
2026-02-25 01:06:07,928 sats.satellite.EO              INFO       <914.50> EO: Target(tgt-6163) window enabled: 1069.9 to 1183.5
2026-02-25 01:06:07,928 sats.satellite.EO              INFO       <914.50> EO: setting timed terminal event at 1183.5
2026-02-25 01:06:07,965 sats.satellite.EO              INFO       <1071.00> EO: imaged Target(tgt-6163)
2026-02-25 01:06:07,967 data.base                      INFO       <1071.00> Total reward: {}
2026-02-25 01:06:07,967 comm.communication             INFO       <1071.00> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:07,968 sats.satellite.EO              INFO       <1071.00> EO: Satellite EO requires retasking
2026-02-25 01:06:07,995 gym                            INFO       <1071.00> Step reward: 0.0
2026-02-25 01:06:07,995 gym                            INFO       <1071.00> === STARTING STEP ===
2026-02-25 01:06:07,996 sats.satellite.EO              INFO       <1071.00> EO: target index 23 tasked
2026-02-25 01:06:07,996 sats.satellite.EO              INFO       <1071.00> EO: Target(tgt-9187) tasked for imaging
2026-02-25 01:06:07,997 sats.satellite.EO              INFO       <1071.00> EO: Target(tgt-9187) window enabled: 1212.0 to 1252.0
2026-02-25 01:06:07,998 sats.satellite.EO              INFO       <1071.00> EO: setting timed terminal event at 1252.0
2026-02-25 01:06:08,032 sats.satellite.EO              INFO       <1213.00> EO: imaged Target(tgt-9187)
2026-02-25 01:06:08,033 data.base                      INFO       <1213.00> Total reward: {'EO': np.float64(0.38192934387049615)}
2026-02-25 01:06:08,033 comm.communication             INFO       <1213.00> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:08,034 sats.satellite.EO              INFO       <1213.00> EO: Satellite EO requires retasking
2026-02-25 01:06:08,062 gym                            INFO       <1213.00> Step reward: 0.38192934387049615
2026-02-25 01:06:08,062 gym                            INFO       <1213.00> === STARTING STEP ===
2026-02-25 01:06:08,063 sats.satellite.EO              INFO       <1213.00> EO: target index 25 tasked
2026-02-25 01:06:08,064 sats.satellite.EO              INFO       <1213.00> EO: Target(tgt-7233) tasked for imaging
2026-02-25 01:06:08,064 sats.satellite.EO              INFO       <1213.00> EO: Target(tgt-7233) window enabled: 1306.2 to 1422.3
2026-02-25 01:06:08,065 sats.satellite.EO              INFO       <1213.00> EO: setting timed terminal event at 1422.3
2026-02-25 01:06:08,088 sats.satellite.EO              INFO       <1307.50> EO: imaged Target(tgt-7233)
2026-02-25 01:06:08,089 data.base                      INFO       <1307.50> Total reward: {}
2026-02-25 01:06:08,089 comm.communication             INFO       <1307.50> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:08,090 sats.satellite.EO              INFO       <1307.50> EO: Satellite EO requires retasking
2026-02-25 01:06:08,119 gym                            INFO       <1307.50> Step reward: 0.0
2026-02-25 01:06:08,120 gym                            INFO       <1307.50> === STARTING STEP ===
2026-02-25 01:06:08,120 sats.satellite.EO              INFO       <1307.50> EO: target index 14 tasked
2026-02-25 01:06:08,121 sats.satellite.EO              INFO       <1307.50> EO: Target(tgt-7111) tasked for imaging
2026-02-25 01:06:08,122 sats.satellite.EO              INFO       <1307.50> EO: Target(tgt-7111) window enabled: 1307.0 to 1417.4
2026-02-25 01:06:08,122 sats.satellite.EO              INFO       <1307.50> EO: setting timed terminal event at 1417.4
2026-02-25 01:06:08,131 sats.satellite.EO              INFO       <1339.50> EO: imaged Target(tgt-7111)
2026-02-25 01:06:08,132 data.base                      INFO       <1339.50> Total reward: {'EO': np.float64(0.008176146738593716)}
2026-02-25 01:06:08,133 comm.communication             INFO       <1339.50> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:08,133 sats.satellite.EO              INFO       <1339.50> EO: Satellite EO requires retasking
2026-02-25 01:06:08,161 gym                            INFO       <1339.50> Step reward: 0.008176146738593716
2026-02-25 01:06:08,162 gym                            INFO       <1339.50> === STARTING STEP ===
2026-02-25 01:06:08,162 sats.satellite.EO              INFO       <1339.50> EO: target index 27 tasked
2026-02-25 01:06:08,163 sats.satellite.EO              INFO       <1339.50> EO: Target(tgt-2425) tasked for imaging
2026-02-25 01:06:08,163 sats.satellite.EO              INFO       <1339.50> EO: Target(tgt-2425) window enabled: 1547.5 to 1614.5
2026-02-25 01:06:08,164 sats.satellite.EO              INFO       <1339.50> EO: setting timed terminal event at 1614.5
2026-02-25 01:06:08,226 sats.satellite.EO              INFO       <1549.00> EO: imaged Target(tgt-2425)
2026-02-25 01:06:08,227 data.base                      INFO       <1549.00> Total reward: {}
2026-02-25 01:06:08,227 comm.communication             INFO       <1549.00> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:08,228 sats.satellite.EO              INFO       <1549.00> EO: Satellite EO requires retasking
2026-02-25 01:06:08,256 gym                            INFO       <1549.00> Step reward: 0.0
2026-02-25 01:06:08,257 gym                            INFO       <1549.00> === STARTING STEP ===
2026-02-25 01:06:08,257 sats.satellite.EO              INFO       <1549.00> EO: target index 1 tasked
2026-02-25 01:06:08,258 sats.satellite.EO              INFO       <1549.00> EO: Target(tgt-8715) tasked for imaging
2026-02-25 01:06:08,259 sats.satellite.EO              INFO       <1549.00> EO: Target(tgt-8715) window enabled: 1488.1 to 1606.7
2026-02-25 01:06:08,259 sats.satellite.EO              INFO       <1549.00> EO: setting timed terminal event at 1606.7
2026-02-25 01:06:08,269 sats.satellite.EO              INFO       <1583.50> EO: imaged Target(tgt-8715)
2026-02-25 01:06:08,270 data.base                      INFO       <1583.50> Total reward: {'EO': np.float64(0.49893543133221724)}
2026-02-25 01:06:08,270 comm.communication             INFO       <1583.50> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:08,271 sats.satellite.EO              INFO       <1583.50> EO: Satellite EO requires retasking
2026-02-25 01:06:08,299 gym                            INFO       <1583.50> Step reward: 0.49893543133221724
2026-02-25 01:06:08,299 gym                            INFO       <1583.50> === STARTING STEP ===
2026-02-25 01:06:08,300 sats.satellite.EO              INFO       <1583.50> EO: target index 12 tasked
2026-02-25 01:06:08,301 sats.satellite.EO              INFO       <1583.50> EO: Target(tgt-997) tasked for imaging
2026-02-25 01:06:08,301 sats.satellite.EO              INFO       <1583.50> EO: Target(tgt-997) window enabled: 1644.2 to 1687.8
2026-02-25 01:06:08,302 sats.satellite.EO              INFO       <1583.50> EO: setting timed terminal event at 1687.8
2026-02-25 01:06:08,318 sats.satellite.EO              INFO       <1645.50> EO: imaged Target(tgt-997)
2026-02-25 01:06:08,319 data.base                      INFO       <1645.50> Total reward: {'EO': np.float64(0.043819057520189865)}
2026-02-25 01:06:08,319 comm.communication             INFO       <1645.50> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:08,320 sats.satellite.EO              INFO       <1645.50> EO: Satellite EO requires retasking
2026-02-25 01:06:08,348 gym                            INFO       <1645.50> Step reward: 0.043819057520189865
2026-02-25 01:06:08,349 gym                            INFO       <1645.50> === STARTING STEP ===
2026-02-25 01:06:08,349 sats.satellite.EO              INFO       <1645.50> EO: target index 6 tasked
2026-02-25 01:06:08,350 sats.satellite.EO              INFO       <1645.50> EO: Target(tgt-4557) tasked for imaging
2026-02-25 01:06:08,350 sats.satellite.EO              INFO       <1645.50> EO: Target(tgt-4557) window enabled: 1594.9 to 1715.8
2026-02-25 01:06:08,351 sats.satellite.EO              INFO       <1645.50> EO: setting timed terminal event at 1715.8
2026-02-25 01:06:08,362 sats.satellite.EO              INFO       <1684.00> EO: imaged Target(tgt-4557)
2026-02-25 01:06:08,363 data.base                      INFO       <1684.00> Total reward: {'EO': np.float64(0.05870612843387957)}
2026-02-25 01:06:08,363 comm.communication             INFO       <1684.00> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:08,364 sats.satellite.EO              INFO       <1684.00> EO: Satellite EO requires retasking
2026-02-25 01:06:08,392 gym                            INFO       <1684.00> Step reward: 0.05870612843387957
2026-02-25 01:06:08,393 gym                            INFO       <1684.00> === STARTING STEP ===
2026-02-25 01:06:08,393 sats.satellite.EO              INFO       <1684.00> EO: target index 28 tasked
2026-02-25 01:06:08,394 sats.satellite.EO              INFO       <1684.00> EO: Target(tgt-9828) tasked for imaging
2026-02-25 01:06:08,395 sats.satellite.EO              INFO       <1684.00> EO: Target(tgt-9828) window enabled: 1897.9 to 2001.3
2026-02-25 01:06:08,395 sats.satellite.EO              INFO       <1684.00> EO: setting timed terminal event at 2001.3
2026-02-25 01:06:08,446 sats.satellite.EO              INFO       <1899.00> EO: imaged Target(tgt-9828)
2026-02-25 01:06:08,447 data.base                      INFO       <1899.00> Total reward: {}
2026-02-25 01:06:08,447 comm.communication             INFO       <1899.00> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:08,449 sats.satellite.EO              INFO       <1899.00> EO: Satellite EO requires retasking
2026-02-25 01:06:08,477 gym                            INFO       <1899.00> Step reward: 0.0
2026-02-25 01:06:08,478 gym                            INFO       <1899.00> === STARTING STEP ===
2026-02-25 01:06:08,478 sats.satellite.EO              INFO       <1899.00> EO: target index 18 tasked
2026-02-25 01:06:08,479 sats.satellite.EO              INFO       <1899.00> EO: Target(tgt-7003) tasked for imaging
2026-02-25 01:06:08,480 sats.satellite.EO              INFO       <1899.00> EO: Target(tgt-7003) window enabled: 2053.1 to 2106.0
2026-02-25 01:06:08,480 sats.satellite.EO              INFO       <1899.00> EO: setting timed terminal event at 2106.0
2026-02-25 01:06:08,517 sats.satellite.EO              INFO       <2054.50> EO: imaged Target(tgt-7003)
2026-02-25 01:06:08,518 data.base                      INFO       <2054.50> Total reward: {'EO': np.float64(0.03097188164757159)}
2026-02-25 01:06:08,519 comm.communication             INFO       <2054.50> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:08,520 sats.satellite.EO              INFO       <2054.50> EO: Satellite EO requires retasking
2026-02-25 01:06:08,547 gym                            INFO       <2054.50> Step reward: 0.03097188164757159
2026-02-25 01:06:08,548 gym                            INFO       <2054.50> === STARTING STEP ===
2026-02-25 01:06:08,549 sats.satellite.EO              INFO       <2054.50> EO: target index 22 tasked
2026-02-25 01:06:08,549 sats.satellite.EO              INFO       <2054.50> EO: Target(tgt-2890) tasked for imaging
2026-02-25 01:06:08,550 sats.satellite.EO              INFO       <2054.50> EO: Target(tgt-2890) window enabled: 2164.6 to 2241.3
2026-02-25 01:06:08,550 sats.satellite.EO              INFO       <2054.50> EO: setting timed terminal event at 2241.3
2026-02-25 01:06:08,594 sats.satellite.EO              INFO       <2241.50> EO: timed termination at 2241.3 for Target(tgt-2890) window
2026-02-25 01:06:08,595 data.base                      INFO       <2241.50> Total reward: {}
2026-02-25 01:06:08,596 comm.communication             INFO       <2241.50> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:08,597 sats.satellite.EO              INFO       <2241.50> EO: Satellite EO requires retasking
2026-02-25 01:06:08,624 gym                            INFO       <2241.50> Step reward: 0.0
2026-02-25 01:06:08,625 gym                            INFO       <2241.50> === STARTING STEP ===
2026-02-25 01:06:08,626 sats.satellite.EO              INFO       <2241.50> EO: target index 29 tasked
2026-02-25 01:06:08,626 sats.satellite.EO              INFO       <2241.50> EO: Target(tgt-4097) tasked for imaging
2026-02-25 01:06:08,627 sats.satellite.EO              INFO       <2241.50> EO: Target(tgt-4097) window enabled: 2335.4 to 2443.2
2026-02-25 01:06:08,627 sats.satellite.EO              INFO       <2241.50> EO: setting timed terminal event at 2443.2
2026-02-25 01:06:08,681 sats.satellite.EO              INFO       <2443.50> EO: timed termination at 2443.2 for Target(tgt-4097) window
2026-02-25 01:06:08,682 data.base                      INFO       <2443.50> Total reward: {}
2026-02-25 01:06:08,682 comm.communication             INFO       <2443.50> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:08,683 sats.satellite.EO              INFO       <2443.50> EO: Satellite EO requires retasking
2026-02-25 01:06:08,711 gym                            INFO       <2443.50> Step reward: 0.0
2026-02-25 01:06:08,712 gym                            INFO       <2443.50> === STARTING STEP ===
2026-02-25 01:06:08,712 sats.satellite.EO              INFO       <2443.50> EO: target index 20 tasked
2026-02-25 01:06:08,712 sats.satellite.EO              INFO       <2443.50> EO: Target(tgt-486) tasked for imaging
2026-02-25 01:06:08,713 sats.satellite.EO              INFO       <2443.50> EO: Target(tgt-486) window enabled: 2466.6 to 2570.6
2026-02-25 01:06:08,714 sats.satellite.EO              INFO       <2443.50> EO: setting timed terminal event at 2570.6
2026-02-25 01:06:08,752 sats.satellite.EO              INFO       <2571.00> EO: timed termination at 2570.6 for Target(tgt-486) window
2026-02-25 01:06:08,753 data.base                      INFO       <2571.00> Total reward: {}
2026-02-25 01:06:08,753 comm.communication             INFO       <2571.00> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:08,754 sats.satellite.EO              INFO       <2571.00> EO: Satellite EO requires retasking
2026-02-25 01:06:08,782 gym                            INFO       <2571.00> Step reward: 0.0
2026-02-25 01:06:08,783 gym                            INFO       <2571.00> === STARTING STEP ===
2026-02-25 01:06:08,783 sats.satellite.EO              INFO       <2571.00> EO: target index 22 tasked
2026-02-25 01:06:08,783 sats.satellite.EO              INFO       <2571.00> EO: Target(tgt-3430) tasked for imaging
2026-02-25 01:06:08,784 sats.satellite.EO              INFO       <2571.00> EO: Target(tgt-3430) window enabled: 2693.0 to 2777.9
2026-02-25 01:06:08,785 sats.satellite.EO              INFO       <2571.00> EO: setting timed terminal event at 2777.9
2026-02-25 01:06:08,841 sats.satellite.EO              INFO       <2778.00> EO: timed termination at 2777.9 for Target(tgt-3430) window
2026-02-25 01:06:08,843 data.base                      INFO       <2778.00> Total reward: {}
2026-02-25 01:06:08,843 comm.communication             INFO       <2778.00> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:08,844 sats.satellite.EO              INFO       <2778.00> EO: Satellite EO requires retasking
2026-02-25 01:06:08,872 gym                            INFO       <2778.00> Step reward: 0.0
2026-02-25 01:06:08,873 gym                            INFO       <2778.00> === STARTING STEP ===
2026-02-25 01:06:08,873 sats.satellite.EO              INFO       <2778.00> EO: target index 14 tasked
2026-02-25 01:06:08,874 sats.satellite.EO              INFO       <2778.00> EO: Target(tgt-6641) tasked for imaging
2026-02-25 01:06:08,874 sats.satellite.EO              INFO       <2778.00> EO: Target(tgt-6641) window enabled: 2750.4 to 2870.7
2026-02-25 01:06:08,875 sats.satellite.EO              INFO       <2778.00> EO: setting timed terminal event at 2870.7
2026-02-25 01:06:08,902 sats.satellite.EO              INFO       <2871.00> EO: timed termination at 2870.7 for Target(tgt-6641) window
2026-02-25 01:06:08,903 data.base                      INFO       <2871.00> Total reward: {}
2026-02-25 01:06:08,903 comm.communication             INFO       <2871.00> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:08,904 sats.satellite.EO              INFO       <2871.00> EO: Satellite EO requires retasking
2026-02-25 01:06:08,933 gym                            INFO       <2871.00> Step reward: 0.0
2026-02-25 01:06:08,933 gym                            INFO       <2871.00> === STARTING STEP ===
2026-02-25 01:06:08,934 sats.satellite.EO              INFO       <2871.00> EO: action_charge tasked for 60.0 seconds
2026-02-25 01:06:08,934 sats.satellite.EO              INFO       <2871.00> EO: setting timed terminal event at 2931.0
2026-02-25 01:06:08,950 sats.satellite.EO              INFO       <2931.00> EO: timed termination at 2931.0 for action_charge
2026-02-25 01:06:08,951 data.base                      INFO       <2931.00> Total reward: {}
2026-02-25 01:06:08,951 comm.communication             INFO       <2931.00> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:08,952 sats.satellite.EO              INFO       <2931.00> EO: Satellite EO requires retasking
2026-02-25 01:06:08,980 gym                            INFO       <2931.00> Step reward: 0.0
2026-02-25 01:06:08,981 gym                            INFO       <2931.00> === STARTING STEP ===
2026-02-25 01:06:08,982 sats.satellite.EO              INFO       <2931.00> EO: target index 29 tasked
2026-02-25 01:06:08,982 sats.satellite.EO              INFO       <2931.00> EO: Target(tgt-6110) tasked for imaging
2026-02-25 01:06:08,983 sats.satellite.EO              INFO       <2931.00> EO: Target(tgt-6110) window enabled: 3065.9 to 3171.4
2026-02-25 01:06:08,984 sats.satellite.EO              INFO       <2931.00> EO: setting timed terminal event at 3171.4
2026-02-25 01:06:09,041 sats.satellite.EO              INFO       <3171.50> EO: timed termination at 3171.4 for Target(tgt-6110) window
2026-02-25 01:06:09,042 data.base                      INFO       <3171.50> Total reward: {}
2026-02-25 01:06:09,042 comm.communication             INFO       <3171.50> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:09,043 sats.satellite.EO              INFO       <3171.50> EO: Satellite EO requires retasking
2026-02-25 01:06:09,071 gym                            INFO       <3171.50> Step reward: 0.0
2026-02-25 01:06:09,072 gym                            INFO       <3171.50> === STARTING STEP ===
2026-02-25 01:06:09,072 sats.satellite.EO              INFO       <3171.50> EO: target index 5 tasked
2026-02-25 01:06:09,073 sats.satellite.EO              INFO       <3171.50> EO: Target(tgt-1264) tasked for imaging
2026-02-25 01:06:09,074 sats.satellite.EO              INFO       <3171.50> EO: Target(tgt-1264) window enabled: 3087.3 to 3207.5
2026-02-25 01:06:09,074 sats.satellite.EO              INFO       <3171.50> EO: setting timed terminal event at 3207.5
2026-02-25 01:06:09,084 sats.satellite.EO              INFO       <3208.00> EO: timed termination at 3207.5 for Target(tgt-1264) window
2026-02-25 01:06:09,085 data.base                      INFO       <3208.00> Total reward: {}
2026-02-25 01:06:09,086 comm.communication             INFO       <3208.00> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:09,087 sats.satellite.EO              INFO       <3208.00> EO: Satellite EO requires retasking
2026-02-25 01:06:09,116 gym                            INFO       <3208.00> Step reward: 0.0
2026-02-25 01:06:09,117 gym                            INFO       <3208.00> === STARTING STEP ===
2026-02-25 01:06:09,117 sats.satellite.EO              INFO       <3208.00> EO: target index 23 tasked
2026-02-25 01:06:09,118 sats.satellite.EO              INFO       <3208.00> EO: Target(tgt-9319) tasked for imaging
2026-02-25 01:06:09,118 sats.satellite.EO              INFO       <3208.00> EO: Target(tgt-9319) window enabled: 3381.1 to 3488.0
2026-02-25 01:06:09,119 sats.satellite.EO              INFO       <3208.00> EO: setting timed terminal event at 3488.0
2026-02-25 01:06:09,198 sats.satellite.EO              INFO       <3488.00> EO: timed termination at 3488.0 for Target(tgt-9319) window
2026-02-25 01:06:09,199 data.base                      INFO       <3488.00> Total reward: {}
2026-02-25 01:06:09,199 comm.communication             INFO       <3488.00> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:09,200 sats.satellite.EO              INFO       <3488.00> EO: Satellite EO requires retasking
2026-02-25 01:06:09,229 gym                            INFO       <3488.00> Step reward: 0.0
2026-02-25 01:06:09,230 gym                            INFO       <3488.00> === STARTING STEP ===
2026-02-25 01:06:09,231 sats.satellite.EO              INFO       <3488.00> EO: target index 20 tasked
2026-02-25 01:06:09,231 sats.satellite.EO              INFO       <3488.00> EO: Target(tgt-4700) tasked for imaging
2026-02-25 01:06:09,232 sats.satellite.EO              INFO       <3488.00> EO: Target(tgt-4700) window enabled: 3547.8 to 3654.9
2026-02-25 01:06:09,233 sats.satellite.EO              INFO       <3488.00> EO: setting timed terminal event at 3654.9
2026-02-25 01:06:09,274 sats.satellite.EO              INFO       <3655.00> EO: timed termination at 3654.9 for Target(tgt-4700) window
2026-02-25 01:06:09,276 data.base                      INFO       <3655.00> Total reward: {}
2026-02-25 01:06:09,276 comm.communication             INFO       <3655.00> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:09,277 sats.satellite.EO              INFO       <3655.00> EO: Satellite EO requires retasking
2026-02-25 01:06:09,306 gym                            INFO       <3655.00> Step reward: 0.0
2026-02-25 01:06:09,306 gym                            INFO       <3655.00> === STARTING STEP ===
2026-02-25 01:06:09,307 sats.satellite.EO              INFO       <3655.00> EO: target index 30 tasked
2026-02-25 01:06:09,307 sats.satellite.EO              INFO       <3655.00> EO: Target(tgt-1161) tasked for imaging
2026-02-25 01:06:09,308 sats.satellite.EO              INFO       <3655.00> EO: Target(tgt-1161) window enabled: 3749.7 to 3869.9
2026-02-25 01:06:09,308 sats.satellite.EO              INFO       <3655.00> EO: setting timed terminal event at 3869.9
2026-02-25 01:06:09,359 sats.satellite.EO              INFO       <3870.00> EO: timed termination at 3869.9 for Target(tgt-1161) window
2026-02-25 01:06:09,360 data.base                      INFO       <3870.00> Total reward: {}
2026-02-25 01:06:09,360 comm.communication             INFO       <3870.00> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:09,361 sats.satellite.EO              INFO       <3870.00> EO: Satellite EO requires retasking
2026-02-25 01:06:09,391 gym                            INFO       <3870.00> Step reward: 0.0
2026-02-25 01:06:09,392 gym                            INFO       <3870.00> === STARTING STEP ===
2026-02-25 01:06:09,392 sats.satellite.EO              INFO       <3870.00> EO: target index 0 tasked
2026-02-25 01:06:09,393 sats.satellite.EO              INFO       <3870.00> EO: Target(tgt-6627) tasked for imaging
2026-02-25 01:06:09,394 sats.satellite.EO              INFO       <3870.00> EO: Target(tgt-6627) window enabled: 3765.8 to 3885.2
2026-02-25 01:06:09,394 sats.satellite.EO              INFO       <3870.00> EO: setting timed terminal event at 3885.2
2026-02-25 01:06:09,399 sats.satellite.EO              INFO       <3885.50> EO: timed termination at 3885.2 for Target(tgt-6627) window
2026-02-25 01:06:09,400 data.base                      INFO       <3885.50> Total reward: {}
2026-02-25 01:06:09,401 comm.communication             INFO       <3885.50> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:09,402 sats.satellite.EO              INFO       <3885.50> EO: Satellite EO requires retasking
2026-02-25 01:06:09,431 gym                            INFO       <3885.50> Step reward: 0.0
2026-02-25 01:06:09,431 gym                            INFO       <3885.50> === STARTING STEP ===
2026-02-25 01:06:09,432 sats.satellite.EO              INFO       <3885.50> EO: target index 14 tasked
2026-02-25 01:06:09,433 sats.satellite.EO              INFO       <3885.50> EO: Target(tgt-6514) tasked for imaging
2026-02-25 01:06:09,433 sats.satellite.EO              INFO       <3885.50> EO: Target(tgt-6514) window enabled: 3915.4 to 4025.1
2026-02-25 01:06:09,434 sats.satellite.EO              INFO       <3885.50> EO: setting timed terminal event at 4025.1
2026-02-25 01:06:09,476 sats.satellite.EO              INFO       <4025.50> EO: timed termination at 4025.1 for Target(tgt-6514) window
2026-02-25 01:06:09,477 data.base                      INFO       <4025.50> Total reward: {}
2026-02-25 01:06:09,478 comm.communication             INFO       <4025.50> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:09,479 sats.satellite.EO              INFO       <4025.50> EO: Satellite EO requires retasking
2026-02-25 01:06:09,508 gym                            INFO       <4025.50> Step reward: 0.0
2026-02-25 01:06:09,509 gym                            INFO       <4025.50> === STARTING STEP ===
2026-02-25 01:06:09,509 sats.satellite.EO              INFO       <4025.50> EO: target index 19 tasked
2026-02-25 01:06:09,510 sats.satellite.EO              INFO       <4025.50> EO: Target(tgt-5577) tasked for imaging
2026-02-25 01:06:09,510 sats.satellite.EO              INFO       <4025.50> EO: Target(tgt-5577) window enabled: 4088.3 to 4205.5
2026-02-25 01:06:09,511 sats.satellite.EO              INFO       <4025.50> EO: setting timed terminal event at 4205.5
2026-02-25 01:06:09,560 sats.satellite.EO              INFO       <4205.50> EO: timed termination at 4205.5 for Target(tgt-5577) window
2026-02-25 01:06:09,561 data.base                      INFO       <4205.50> Total reward: {}
2026-02-25 01:06:09,561 comm.communication             INFO       <4205.50> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:09,562 sats.satellite.EO              INFO       <4205.50> EO: Satellite EO requires retasking
2026-02-25 01:06:09,590 gym                            INFO       <4205.50> Step reward: 0.0
2026-02-25 01:06:09,591 gym                            INFO       <4205.50> === STARTING STEP ===
2026-02-25 01:06:09,592 sats.satellite.EO              INFO       <4205.50> EO: target index 22 tasked
2026-02-25 01:06:09,592 sats.satellite.EO              INFO       <4205.50> EO: Target(tgt-1965) tasked for imaging
2026-02-25 01:06:09,593 sats.satellite.EO              INFO       <4205.50> EO: Target(tgt-1965) window enabled: 4266.2 to 4361.0
2026-02-25 01:06:09,594 sats.satellite.EO              INFO       <4205.50> EO: setting timed terminal event at 4361.0
2026-02-25 01:06:09,630 sats.satellite.EO              INFO       <4361.50> EO: timed termination at 4361.0 for Target(tgt-1965) window
2026-02-25 01:06:09,632 data.base                      INFO       <4361.50> Total reward: {}
2026-02-25 01:06:09,632 comm.communication             INFO       <4361.50> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:09,633 sats.satellite.EO              INFO       <4361.50> EO: Satellite EO requires retasking
2026-02-25 01:06:09,662 gym                            INFO       <4361.50> Step reward: 0.0
2026-02-25 01:06:09,662 gym                            INFO       <4361.50> === STARTING STEP ===
2026-02-25 01:06:09,663 sats.satellite.EO              INFO       <4361.50> EO: target index 27 tasked
2026-02-25 01:06:09,664 sats.satellite.EO              INFO       <4361.50> EO: Target(tgt-3367) tasked for imaging
2026-02-25 01:06:09,664 sats.satellite.EO              INFO       <4361.50> EO: Target(tgt-3367) window enabled: 4486.4 to 4553.4
2026-02-25 01:06:09,665 sats.satellite.EO              INFO       <4361.50> EO: setting timed terminal event at 4553.4
2026-02-25 01:06:09,710 sats.satellite.EO              INFO       <4553.50> EO: timed termination at 4553.4 for Target(tgt-3367) window
2026-02-25 01:06:09,711 data.base                      INFO       <4553.50> Total reward: {}
2026-02-25 01:06:09,712 comm.communication             INFO       <4553.50> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:09,713 sats.satellite.EO              INFO       <4553.50> EO: Satellite EO requires retasking
2026-02-25 01:06:09,741 gym                            INFO       <4553.50> Step reward: 0.0
2026-02-25 01:06:09,742 gym                            INFO       <4553.50> === STARTING STEP ===
2026-02-25 01:06:09,742 sats.satellite.EO              INFO       <4553.50> EO: target index 6 tasked
2026-02-25 01:06:09,743 sats.satellite.EO              INFO       <4553.50> EO: Target(tgt-3326) tasked for imaging
2026-02-25 01:06:09,744 sats.satellite.EO              INFO       <4553.50> EO: Target(tgt-3326) window enabled: 4509.5 to 4595.3
2026-02-25 01:06:09,744 sats.satellite.EO              INFO       <4553.50> EO: setting timed terminal event at 4595.3
2026-02-25 01:06:09,756 sats.satellite.EO              INFO       <4595.50> EO: timed termination at 4595.3 for Target(tgt-3326) window
2026-02-25 01:06:09,757 data.base                      INFO       <4595.50> Total reward: {}
2026-02-25 01:06:09,758 comm.communication             INFO       <4595.50> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:09,758 sats.satellite.EO              INFO       <4595.50> EO: Satellite EO requires retasking
2026-02-25 01:06:09,788 gym                            INFO       <4595.50> Step reward: 0.0
2026-02-25 01:06:09,789 gym                            INFO       <4595.50> === STARTING STEP ===
2026-02-25 01:06:09,789 sats.satellite.EO              INFO       <4595.50> EO: target index 8 tasked
2026-02-25 01:06:09,790 sats.satellite.EO              INFO       <4595.50> EO: Target(tgt-893) tasked for imaging
2026-02-25 01:06:09,791 sats.satellite.EO              INFO       <4595.50> EO: Target(tgt-893) window enabled: 4629.3 to 4740.5
2026-02-25 01:06:09,791 sats.satellite.EO              INFO       <4595.50> EO: setting timed terminal event at 4740.5
2026-02-25 01:06:09,825 sats.satellite.EO              INFO       <4740.50> EO: timed termination at 4740.5 for Target(tgt-893) window
2026-02-25 01:06:09,826 data.base                      INFO       <4740.50> Total reward: {}
2026-02-25 01:06:09,827 comm.communication             INFO       <4740.50> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:09,828 sats.satellite.EO              INFO       <4740.50> EO: Satellite EO requires retasking
2026-02-25 01:06:09,858 gym                            INFO       <4740.50> Step reward: 0.0
2026-02-25 01:06:09,859 gym                            INFO       <4740.50> === STARTING STEP ===
2026-02-25 01:06:09,859 sats.satellite.EO              INFO       <4740.50> EO: target index 31 tasked
2026-02-25 01:06:09,860 sats.satellite.EO              INFO       <4740.50> EO: Target(tgt-3854) tasked for imaging
2026-02-25 01:06:09,860 sats.satellite.EO              INFO       <4740.50> EO: Target(tgt-3854) window enabled: 4808.3 to 4920.0
2026-02-25 01:06:09,861 sats.satellite.EO              INFO       <4740.50> EO: setting timed terminal event at 4920.0
2026-02-25 01:06:09,915 sats.satellite.EO              INFO       <4920.50> EO: timed termination at 4920.0 for Target(tgt-3854) window
2026-02-25 01:06:09,916 data.base                      INFO       <4920.50> Total reward: {}
2026-02-25 01:06:09,917 comm.communication             INFO       <4920.50> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:09,918 sats.satellite.EO              INFO       <4920.50> EO: Satellite EO requires retasking
2026-02-25 01:06:09,947 gym                            INFO       <4920.50> Step reward: 0.0
2026-02-25 01:06:09,947 gym                            INFO       <4920.50> === STARTING STEP ===
2026-02-25 01:06:09,948 sats.satellite.EO              INFO       <4920.50> EO: target index 18 tasked
2026-02-25 01:06:09,948 sats.satellite.EO              INFO       <4920.50> EO: Target(tgt-4221) tasked for imaging
2026-02-25 01:06:09,949 sats.satellite.EO              INFO       <4920.50> EO: Target(tgt-4221) window enabled: 4965.8 to 5072.1
2026-02-25 01:06:09,949 sats.satellite.EO              INFO       <4920.50> EO: setting timed terminal event at 5072.1
2026-02-25 01:06:09,985 sats.satellite.EO              INFO       <5072.50> EO: timed termination at 5072.1 for Target(tgt-4221) window
2026-02-25 01:06:09,987 data.base                      INFO       <5072.50> Total reward: {}
2026-02-25 01:06:09,987 comm.communication             INFO       <5072.50> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:09,988 sats.satellite.EO              INFO       <5072.50> EO: Satellite EO requires retasking
2026-02-25 01:06:10,018 gym                            INFO       <5072.50> Step reward: 0.0
2026-02-25 01:06:10,018 gym                            INFO       <5072.50> === STARTING STEP ===
2026-02-25 01:06:10,019 sats.satellite.EO              INFO       <5072.50> EO: target index 28 tasked
2026-02-25 01:06:10,019 sats.satellite.EO              INFO       <5072.50> EO: Target(tgt-8848) tasked for imaging
2026-02-25 01:06:10,020 sats.satellite.EO              INFO       <5072.50> EO: Target(tgt-8848) window enabled: 5136.1 to 5256.9
2026-02-25 01:06:10,021 sats.satellite.EO              INFO       <5072.50> EO: setting timed terminal event at 5256.9
2026-02-25 01:06:10,064 sats.satellite.EO              INFO       <5257.00> EO: timed termination at 5256.9 for Target(tgt-8848) window
2026-02-25 01:06:10,065 data.base                      INFO       <5257.00> Total reward: {}
2026-02-25 01:06:10,066 comm.communication             INFO       <5257.00> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:10,067 sats.satellite.EO              INFO       <5257.00> EO: Satellite EO requires retasking
2026-02-25 01:06:10,096 gym                            INFO       <5257.00> Step reward: 0.0
2026-02-25 01:06:10,097 gym                            INFO       <5257.00> === STARTING STEP ===
2026-02-25 01:06:10,097 sats.satellite.EO              INFO       <5257.00> EO: action_charge tasked for 60.0 seconds
2026-02-25 01:06:10,098 sats.satellite.EO              INFO       <5257.00> EO: setting timed terminal event at 5317.0
2026-02-25 01:06:10,117 sats.satellite.EO              INFO       <5317.00> EO: timed termination at 5317.0 for action_charge
2026-02-25 01:06:10,118 data.base                      INFO       <5317.00> Total reward: {}
2026-02-25 01:06:10,118 comm.communication             INFO       <5317.00> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:10,119 sats.satellite.EO              INFO       <5317.00> EO: Satellite EO requires retasking
2026-02-25 01:06:10,150 gym                            INFO       <5317.00> Step reward: 0.0
2026-02-25 01:06:10,150 gym                            INFO       <5317.00> === STARTING STEP ===
2026-02-25 01:06:10,151 sats.satellite.EO              INFO       <5317.00> EO: target index 15 tasked
2026-02-25 01:06:10,151 sats.satellite.EO              INFO       <5317.00> EO: Target(tgt-1113) tasked for imaging
2026-02-25 01:06:10,152 sats.satellite.EO              INFO       <5317.00> EO: Target(tgt-1113) window enabled: 5362.0 to 5472.2
2026-02-25 01:06:10,152 sats.satellite.EO              INFO       <5317.00> EO: setting timed terminal event at 5472.2
2026-02-25 01:06:10,189 sats.satellite.EO              INFO       <5472.50> EO: timed termination at 5472.2 for Target(tgt-1113) window
2026-02-25 01:06:10,190 data.base                      INFO       <5472.50> Total reward: {}
2026-02-25 01:06:10,191 comm.communication             INFO       <5472.50> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:10,192 sats.satellite.EO              INFO       <5472.50> EO: Satellite EO requires retasking
2026-02-25 01:06:10,221 gym                            INFO       <5472.50> Step reward: 0.0
2026-02-25 01:06:10,222 gym                            INFO       <5472.50> === STARTING STEP ===
2026-02-25 01:06:10,222 sats.satellite.EO              INFO       <5472.50> EO: target index 25 tasked
2026-02-25 01:06:10,223 sats.satellite.EO              INFO       <5472.50> EO: Target(tgt-385) tasked for imaging
2026-02-25 01:06:10,224 sats.satellite.EO              INFO       <5472.50> EO: Target(tgt-385) window enabled: 5510.8 to 5625.7
2026-02-25 01:06:10,225 sats.satellite.EO              INFO       <5472.50> EO: setting timed terminal event at 5625.7
2026-02-25 01:06:10,261 sats.satellite.EO              INFO       <5626.00> EO: timed termination at 5625.7 for Target(tgt-385) window
2026-02-25 01:06:10,262 data.base                      INFO       <5626.00> Total reward: {}
2026-02-25 01:06:10,262 comm.communication             INFO       <5626.00> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:10,263 sats.satellite.EO              INFO       <5626.00> EO: Satellite EO requires retasking
2026-02-25 01:06:10,294 gym                            INFO       <5626.00> Step reward: 0.0
2026-02-25 01:06:10,294 gym                            INFO       <5626.00> === STARTING STEP ===
2026-02-25 01:06:10,295 sats.satellite.EO              INFO       <5626.00> EO: target index 4 tasked
2026-02-25 01:06:10,295 sats.satellite.EO              INFO       <5626.00> EO: Target(tgt-610) tasked for imaging
2026-02-25 01:06:10,296 sats.satellite.EO              INFO       <5626.00> EO: Target(tgt-610) window enabled: 5648.8 to 5663.9
2026-02-25 01:06:10,297 sats.satellite.EO              INFO       <5626.00> EO: setting timed terminal event at 5663.9
2026-02-25 01:06:10,307 sats.satellite.EO              INFO       <5664.00> EO: timed termination at 5663.9 for Target(tgt-610) window
2026-02-25 01:06:10,308 data.base                      INFO       <5664.00> Total reward: {}
2026-02-25 01:06:10,308 comm.communication             INFO       <5664.00> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:10,309 sats.satellite.EO              INFO       <5664.00> EO: Satellite EO requires retasking
2026-02-25 01:06:10,340 gym                            INFO       <5664.00> Step reward: 0.0
2026-02-25 01:06:10,340 gym                            INFO       <5664.00> === STARTING STEP ===
2026-02-25 01:06:10,341 sats.satellite.EO              INFO       <5664.00> EO: target index 3 tasked
2026-02-25 01:06:10,341 sats.satellite.EO              INFO       <5664.00> EO: Target(tgt-2254) tasked for imaging
2026-02-25 01:06:10,342 sats.satellite.EO              INFO       <5664.00> EO: Target(tgt-2254) window enabled: 5578.4 to 5694.7
2026-02-25 01:06:10,342 sats.satellite.EO              INFO       <5664.00> EO: setting timed terminal event at 5694.7
2026-02-25 01:06:10,351 sats.satellite.EO              INFO       <5695.00> EO: timed termination at 5694.7 for Target(tgt-2254) window
2026-02-25 01:06:10,352 data.base                      INFO       <5695.00> Total reward: {}
2026-02-25 01:06:10,352 comm.communication             INFO       <5695.00> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:10,353 sats.satellite.EO              INFO       <5695.00> EO: Satellite EO requires retasking
2026-02-25 01:06:10,383 gym                            INFO       <5695.00> Step reward: 0.0
2026-02-25 01:06:10,383 gym                            INFO       <5695.00> === STARTING STEP ===
2026-02-25 01:06:10,384 sats.satellite.EO              INFO       <5695.00> EO: target index 28 tasked
2026-02-25 01:06:10,385 sats.satellite.EO              INFO       <5695.00> EO: Target(tgt-596) tasked for imaging
2026-02-25 01:06:10,386 sats.satellite.EO              INFO       <5695.00> EO: Target(tgt-596) window enabled: 5900.3 to 5929.9
2026-02-25 01:06:10,386 sats.satellite.EO              INFO       <5695.00> EO: setting timed terminal event at 5929.9
2026-02-25 01:06:10,441 sats.satellite.EO              INFO       <5930.00> EO: timed termination at 5929.9 for Target(tgt-596) window
2026-02-25 01:06:10,442 data.base                      INFO       <5930.00> Total reward: {}
2026-02-25 01:06:10,442 comm.communication             INFO       <5930.00> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:10,443 sats.satellite.EO              INFO       <5930.00> EO: Satellite EO requires retasking
2026-02-25 01:06:10,474 gym                            INFO       <5930.00> Step reward: 0.0
2026-02-25 01:06:10,475 gym                            INFO       <5930.00> === STARTING STEP ===
2026-02-25 01:06:10,475 sats.satellite.EO              INFO       <5930.00> EO: target index 28 tasked
2026-02-25 01:06:10,476 sats.satellite.EO              INFO       <5930.00> EO: Target(tgt-2978) tasked for imaging
2026-02-25 01:06:10,476 sats.satellite.EO              INFO       <5930.00> EO: Target(tgt-2978) window enabled: 6057.5 to 6105.6
2026-02-25 01:06:10,477 sats.satellite.EO              INFO       <5930.00> EO: setting timed terminal event at 6105.6
2026-02-25 01:06:10,518 sats.satellite.EO              INFO       <6106.00> EO: timed termination at 6105.6 for Target(tgt-2978) window
2026-02-25 01:06:10,519 data.base                      INFO       <6106.00> Total reward: {}
2026-02-25 01:06:10,520 comm.communication             INFO       <6106.00> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:10,521 sats.satellite.EO              INFO       <6106.00> EO: Satellite EO requires retasking
2026-02-25 01:06:10,553 gym                            INFO       <6106.00> Step reward: 0.0
2026-02-25 01:06:10,554 gym                            INFO       <6106.00> === STARTING STEP ===
2026-02-25 01:06:10,554 sats.satellite.EO              INFO       <6106.00> EO: target index 19 tasked
2026-02-25 01:06:10,555 sats.satellite.EO              INFO       <6106.00> EO: Target(tgt-904) tasked for imaging
2026-02-25 01:06:10,555 sats.satellite.EO              INFO       <6106.00> EO: Target(tgt-904) window enabled: 6143.1 to 6235.9
2026-02-25 01:06:10,556 sats.satellite.EO              INFO       <6106.00> EO: setting timed terminal event at 6235.9
2026-02-25 01:06:10,588 sats.satellite.EO              INFO       <6236.00> EO: timed termination at 6235.9 for Target(tgt-904) window
2026-02-25 01:06:10,589 data.base                      INFO       <6236.00> Total reward: {}
2026-02-25 01:06:10,589 comm.communication             INFO       <6236.00> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:10,590 sats.satellite.EO              INFO       <6236.00> EO: Satellite EO requires retasking
2026-02-25 01:06:10,620 gym                            INFO       <6236.00> Step reward: 0.0
2026-02-25 01:06:10,621 gym                            INFO       <6236.00> === STARTING STEP ===
2026-02-25 01:06:10,621 sats.satellite.EO              INFO       <6236.00> EO: target index 30 tasked
2026-02-25 01:06:10,622 sats.satellite.EO              INFO       <6236.00> EO: Target(tgt-8651) tasked for imaging
2026-02-25 01:06:10,623 sats.satellite.EO              INFO       <6236.00> EO: Target(tgt-8651) window enabled: 6412.4 to 6498.6
2026-02-25 01:06:10,623 sats.satellite.EO              INFO       <6236.00> EO: setting timed terminal event at 6498.6
2026-02-25 01:06:10,686 sats.satellite.EO              INFO       <6499.00> EO: timed termination at 6498.6 for Target(tgt-8651) window
2026-02-25 01:06:10,687 data.base                      INFO       <6499.00> Total reward: {}
2026-02-25 01:06:10,688 comm.communication             INFO       <6499.00> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:10,689 sats.satellite.EO              INFO       <6499.00> EO: Satellite EO requires retasking
2026-02-25 01:06:10,719 gym                            INFO       <6499.00> Step reward: 0.0
2026-02-25 01:06:10,719 gym                            INFO       <6499.00> === STARTING STEP ===
2026-02-25 01:06:10,720 sats.satellite.EO              INFO       <6499.00> EO: target index 24 tasked
2026-02-25 01:06:10,720 sats.satellite.EO              INFO       <6499.00> EO: Target(tgt-2118) tasked for imaging
2026-02-25 01:06:10,721 sats.satellite.EO              INFO       <6499.00> EO: Target(tgt-2118) window enabled: 6677.6 to 6711.8
2026-02-25 01:06:10,721 sats.satellite.EO              INFO       <6499.00> EO: setting timed terminal event at 6711.8
2026-02-25 01:06:10,776 sats.satellite.EO              INFO       <6712.00> EO: timed termination at 6711.8 for Target(tgt-2118) window
2026-02-25 01:06:10,777 data.base                      INFO       <6712.00> Total reward: {}
2026-02-25 01:06:10,777 comm.communication             INFO       <6712.00> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:10,779 sats.satellite.EO              INFO       <6712.00> EO: Satellite EO requires retasking
2026-02-25 01:06:10,811 gym                            INFO       <6712.00> Step reward: 0.0
2026-02-25 01:06:10,811 gym                            INFO       <6712.00> === STARTING STEP ===
2026-02-25 01:06:10,812 sats.satellite.EO              INFO       <6712.00> EO: target index 7 tasked
2026-02-25 01:06:10,812 sats.satellite.EO              INFO       <6712.00> EO: Target(tgt-736) tasked for imaging
2026-02-25 01:06:10,813 sats.satellite.EO              INFO       <6712.00> EO: Target(tgt-736) window enabled: 6663.0 to 6784.0
2026-02-25 01:06:10,813 sats.satellite.EO              INFO       <6712.00> EO: setting timed terminal event at 6784.0
2026-02-25 01:06:10,832 sats.satellite.EO              INFO       <6784.00> EO: timed termination at 6784.0 for Target(tgt-736) window
2026-02-25 01:06:10,833 data.base                      INFO       <6784.00> Total reward: {}
2026-02-25 01:06:10,833 comm.communication             INFO       <6784.00> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:10,834 sats.satellite.EO              INFO       <6784.00> EO: Satellite EO requires retasking
2026-02-25 01:06:10,864 gym                            INFO       <6784.00> Step reward: 0.0
2026-02-25 01:06:10,865 gym                            INFO       <6784.00> === STARTING STEP ===
2026-02-25 01:06:10,866 sats.satellite.EO              INFO       <6784.00> EO: action_charge tasked for 60.0 seconds
2026-02-25 01:06:10,866 sats.satellite.EO              INFO       <6784.00> EO: setting timed terminal event at 6844.0
2026-02-25 01:06:10,881 sats.satellite.EO              INFO       <6844.00> EO: timed termination at 6844.0 for action_charge
2026-02-25 01:06:10,882 data.base                      INFO       <6844.00> Total reward: {}
2026-02-25 01:06:10,882 comm.communication             INFO       <6844.00> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:10,883 sats.satellite.EO              INFO       <6844.00> EO: Satellite EO requires retasking
2026-02-25 01:06:10,915 gym                            INFO       <6844.00> Step reward: 0.0
2026-02-25 01:06:10,915 gym                            INFO       <6844.00> === STARTING STEP ===
2026-02-25 01:06:10,916 sats.satellite.EO              INFO       <6844.00> EO: target index 26 tasked
2026-02-25 01:06:10,916 sats.satellite.EO              INFO       <6844.00> EO: Target(tgt-9891) tasked for imaging
2026-02-25 01:06:10,917 sats.satellite.EO              INFO       <6844.00> EO: Target(tgt-9891) window enabled: 6947.3 to 7034.1
2026-02-25 01:06:10,917 sats.satellite.EO              INFO       <6844.00> EO: setting timed terminal event at 7034.1
2026-02-25 01:06:10,962 sats.satellite.EO              INFO       <7034.50> EO: timed termination at 7034.1 for Target(tgt-9891) window
2026-02-25 01:06:10,963 data.base                      INFO       <7034.50> Total reward: {}
2026-02-25 01:06:10,964 comm.communication             INFO       <7034.50> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:10,965 sats.satellite.EO              INFO       <7034.50> EO: Satellite EO requires retasking
2026-02-25 01:06:10,996 gym                            INFO       <7034.50> Step reward: 0.0
2026-02-25 01:06:10,997 gym                            INFO       <7034.50> === STARTING STEP ===
2026-02-25 01:06:10,998 sats.satellite.EO              INFO       <7034.50> EO: action_charge tasked for 60.0 seconds
2026-02-25 01:06:10,998 sats.satellite.EO              INFO       <7034.50> EO: setting timed terminal event at 7094.5
2026-02-25 01:06:11,017 sats.satellite.EO              INFO       <7094.50> EO: timed termination at 7094.5 for action_charge
2026-02-25 01:06:11,018 data.base                      INFO       <7094.50> Total reward: {}
2026-02-25 01:06:11,019 comm.communication             INFO       <7094.50> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:11,020 sats.satellite.EO              INFO       <7094.50> EO: Satellite EO requires retasking
2026-02-25 01:06:11,052 gym                            INFO       <7094.50> Step reward: 0.0
2026-02-25 01:06:11,052 gym                            INFO       <7094.50> === STARTING STEP ===
2026-02-25 01:06:11,053 sats.satellite.EO              INFO       <7094.50> EO: target index 24 tasked
2026-02-25 01:06:11,053 sats.satellite.EO              INFO       <7094.50> EO: Target(tgt-1377) tasked for imaging
2026-02-25 01:06:11,054 sats.satellite.EO              INFO       <7094.50> EO: Target(tgt-1377) window enabled: 7194.9 to 7309.0
2026-02-25 01:06:11,055 sats.satellite.EO              INFO       <7094.50> EO: setting timed terminal event at 7309.0
2026-02-25 01:06:11,105 sats.satellite.EO              INFO       <7309.50> EO: timed termination at 7309.0 for Target(tgt-1377) window
2026-02-25 01:06:11,106 data.base                      INFO       <7309.50> Total reward: {}
2026-02-25 01:06:11,106 comm.communication             INFO       <7309.50> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:11,108 sats.satellite.EO              INFO       <7309.50> EO: Satellite EO requires retasking
2026-02-25 01:06:11,139 gym                            INFO       <7309.50> Step reward: 0.0
2026-02-25 01:06:11,140 gym                            INFO       <7309.50> === STARTING STEP ===
2026-02-25 01:06:11,140 sats.satellite.EO              INFO       <7309.50> EO: target index 14 tasked
2026-02-25 01:06:11,141 sats.satellite.EO              INFO       <7309.50> EO: Target(tgt-4529) tasked for imaging
2026-02-25 01:06:11,141 sats.satellite.EO              INFO       <7309.50> EO: Target(tgt-4529) window enabled: 7379.7 to 7465.6
2026-02-25 01:06:11,142 sats.satellite.EO              INFO       <7309.50> EO: setting timed terminal event at 7465.6
2026-02-25 01:06:11,179 sats.satellite.EO              INFO       <7466.00> EO: timed termination at 7465.6 for Target(tgt-4529) window
2026-02-25 01:06:11,181 data.base                      INFO       <7466.00> Total reward: {}
2026-02-25 01:06:11,181 comm.communication             INFO       <7466.00> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:11,182 sats.satellite.EO              INFO       <7466.00> EO: Satellite EO requires retasking
2026-02-25 01:06:11,214 gym                            INFO       <7466.00> Step reward: 0.0
2026-02-25 01:06:11,215 gym                            INFO       <7466.00> === STARTING STEP ===
2026-02-25 01:06:11,215 sats.satellite.EO              INFO       <7466.00> EO: target index 14 tasked
2026-02-25 01:06:11,216 sats.satellite.EO              INFO       <7466.00> EO: Target(tgt-3275) tasked for imaging
2026-02-25 01:06:11,217 sats.satellite.EO              INFO       <7466.00> EO: Target(tgt-3275) window enabled: 7630.0 to 7665.9
2026-02-25 01:06:11,218 sats.satellite.EO              INFO       <7466.00> EO: setting timed terminal event at 7665.9
2026-02-25 01:06:11,279 sats.satellite.EO              INFO       <7666.00> EO: timed termination at 7665.9 for Target(tgt-3275) window
2026-02-25 01:06:11,280 data.base                      INFO       <7666.00> Total reward: {}
2026-02-25 01:06:11,280 comm.communication             INFO       <7666.00> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:11,281 sats.satellite.EO              INFO       <7666.00> EO: Satellite EO requires retasking
2026-02-25 01:06:11,313 gym                            INFO       <7666.00> Step reward: 0.0
2026-02-25 01:06:11,313 gym                            INFO       <7666.00> === STARTING STEP ===
2026-02-25 01:06:11,314 sats.satellite.EO              INFO       <7666.00> EO: target index 1 tasked
2026-02-25 01:06:11,314 sats.satellite.EO              INFO       <7666.00> EO: Target(tgt-8139) tasked for imaging
2026-02-25 01:06:11,315 sats.satellite.EO              INFO       <7666.00> EO: Target(tgt-8139) window enabled: 7618.2 to 7732.1
2026-02-25 01:06:11,315 sats.satellite.EO              INFO       <7666.00> EO: setting timed terminal event at 7732.1
2026-02-25 01:06:11,335 sats.satellite.EO              INFO       <7732.50> EO: timed termination at 7732.1 for Target(tgt-8139) window
2026-02-25 01:06:11,337 data.base                      INFO       <7732.50> Total reward: {}
2026-02-25 01:06:11,337 comm.communication             INFO       <7732.50> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:11,338 sats.satellite.EO              INFO       <7732.50> EO: Satellite EO requires retasking
2026-02-25 01:06:11,370 gym                            INFO       <7732.50> Step reward: 0.0
2026-02-25 01:06:11,370 gym                            INFO       <7732.50> === STARTING STEP ===
2026-02-25 01:06:11,371 sats.satellite.EO              INFO       <7732.50> EO: target index 13 tasked
2026-02-25 01:06:11,371 sats.satellite.EO              INFO       <7732.50> EO: Target(tgt-8384) tasked for imaging
2026-02-25 01:06:11,372 sats.satellite.EO              INFO       <7732.50> EO: Target(tgt-8384) window enabled: 7806.6 to 7864.1
2026-02-25 01:06:11,372 sats.satellite.EO              INFO       <7732.50> EO: setting timed terminal event at 7864.1
2026-02-25 01:06:11,404 sats.satellite.EO              INFO       <7864.50> EO: timed termination at 7864.1 for Target(tgt-8384) window
2026-02-25 01:06:11,405 data.base                      INFO       <7864.50> Total reward: {}
2026-02-25 01:06:11,406 comm.communication             INFO       <7864.50> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:11,407 sats.satellite.EO              INFO       <7864.50> EO: Satellite EO requires retasking
2026-02-25 01:06:11,438 gym                            INFO       <7864.50> Step reward: 0.0
2026-02-25 01:06:11,438 gym                            INFO       <7864.50> === STARTING STEP ===
2026-02-25 01:06:11,439 sats.satellite.EO              INFO       <7864.50> EO: target index 24 tasked
2026-02-25 01:06:11,439 sats.satellite.EO              INFO       <7864.50> EO: Target(tgt-4732) tasked for imaging
2026-02-25 01:06:11,440 sats.satellite.EO              INFO       <7864.50> EO: Target(tgt-4732) window enabled: 7921.6 to 8034.5
2026-02-25 01:06:11,441 sats.satellite.EO              INFO       <7864.50> EO: setting timed terminal event at 8034.5
2026-02-25 01:06:11,481 sats.satellite.EO              INFO       <8034.50> EO: timed termination at 8034.5 for Target(tgt-4732) window
2026-02-25 01:06:11,482 data.base                      INFO       <8034.50> Total reward: {}
2026-02-25 01:06:11,483 comm.communication             INFO       <8034.50> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:11,483 sats.satellite.EO              INFO       <8034.50> EO: Satellite EO requires retasking
2026-02-25 01:06:11,514 gym                            INFO       <8034.50> Step reward: 0.0
2026-02-25 01:06:11,515 gym                            INFO       <8034.50> === STARTING STEP ===
2026-02-25 01:06:11,515 sats.satellite.EO              INFO       <8034.50> EO: target index 3 tasked
2026-02-25 01:06:11,516 sats.satellite.EO              INFO       <8034.50> EO: Target(tgt-837) tasked for imaging
2026-02-25 01:06:11,516 sats.satellite.EO              INFO       <8034.50> EO: Target(tgt-837) window enabled: 8012.5 to 8058.6
2026-02-25 01:06:11,517 sats.satellite.EO              INFO       <8034.50> EO: setting timed terminal event at 8058.6
2026-02-25 01:06:11,524 sats.satellite.EO              INFO       <8059.00> EO: timed termination at 8058.6 for Target(tgt-837) window
2026-02-25 01:06:11,525 data.base                      INFO       <8059.00> Total reward: {}
2026-02-25 01:06:11,526 comm.communication             INFO       <8059.00> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:11,527 sats.satellite.EO              INFO       <8059.00> EO: Satellite EO requires retasking
2026-02-25 01:06:11,558 gym                            INFO       <8059.00> Step reward: 0.0
2026-02-25 01:06:11,558 gym                            INFO       <8059.00> === STARTING STEP ===
2026-02-25 01:06:11,559 sats.satellite.EO              INFO       <8059.00> EO: target index 14 tasked
2026-02-25 01:06:11,559 sats.satellite.EO              INFO       <8059.00> EO: Target(tgt-4328) tasked for imaging
2026-02-25 01:06:11,560 sats.satellite.EO              INFO       <8059.00> EO: Target(tgt-4328) window enabled: 8030.4 to 8149.8
2026-02-25 01:06:11,560 sats.satellite.EO              INFO       <8059.00> EO: setting timed terminal event at 8149.8
2026-02-25 01:06:11,583 sats.satellite.EO              INFO       <8150.00> EO: timed termination at 8149.8 for Target(tgt-4328) window
2026-02-25 01:06:11,584 data.base                      INFO       <8150.00> Total reward: {}
2026-02-25 01:06:11,585 comm.communication             INFO       <8150.00> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:11,586 sats.satellite.EO              INFO       <8150.00> EO: Satellite EO requires retasking
2026-02-25 01:06:11,618 gym                            INFO       <8150.00> Step reward: 0.0
2026-02-25 01:06:11,619 gym                            INFO       <8150.00> === STARTING STEP ===
2026-02-25 01:06:11,619 sats.satellite.EO              INFO       <8150.00> EO: target index 15 tasked
2026-02-25 01:06:11,620 sats.satellite.EO              INFO       <8150.00> EO: Target(tgt-4223) tasked for imaging
2026-02-25 01:06:11,621 sats.satellite.EO              INFO       <8150.00> EO: Target(tgt-4223) window enabled: 8117.6 to 8225.7
2026-02-25 01:06:11,621 sats.satellite.EO              INFO       <8150.00> EO: setting timed terminal event at 8225.7
2026-02-25 01:06:11,644 sats.satellite.EO              INFO       <8226.00> EO: timed termination at 8225.7 for Target(tgt-4223) window
2026-02-25 01:06:11,645 data.base                      INFO       <8226.00> Total reward: {}
2026-02-25 01:06:11,645 comm.communication             INFO       <8226.00> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:11,646 sats.satellite.EO              INFO       <8226.00> EO: Satellite EO requires retasking
2026-02-25 01:06:11,678 gym                            INFO       <8226.00> Step reward: 0.0
2026-02-25 01:06:11,679 gym                            INFO       <8226.00> === STARTING STEP ===
2026-02-25 01:06:11,679 sats.satellite.EO              INFO       <8226.00> EO: target index 18 tasked
2026-02-25 01:06:11,680 sats.satellite.EO              INFO       <8226.00> EO: Target(tgt-5823) tasked for imaging
2026-02-25 01:06:11,681 sats.satellite.EO              INFO       <8226.00> EO: Target(tgt-5823) window enabled: 8309.0 to 8372.6
2026-02-25 01:06:11,681 sats.satellite.EO              INFO       <8226.00> EO: setting timed terminal event at 8372.6
2026-02-25 01:06:11,716 sats.satellite.EO              INFO       <8373.00> EO: timed termination at 8372.6 for Target(tgt-5823) window
2026-02-25 01:06:11,718 data.base                      INFO       <8373.00> Total reward: {}
2026-02-25 01:06:11,718 comm.communication             INFO       <8373.00> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:11,719 sats.satellite.EO              INFO       <8373.00> EO: Satellite EO requires retasking
2026-02-25 01:06:11,751 gym                            INFO       <8373.00> Step reward: 0.0
2026-02-25 01:06:11,752 gym                            INFO       <8373.00> === STARTING STEP ===
2026-02-25 01:06:11,752 sats.satellite.EO              INFO       <8373.00> EO: target index 11 tasked
2026-02-25 01:06:11,753 sats.satellite.EO              INFO       <8373.00> EO: Target(tgt-8615) tasked for imaging
2026-02-25 01:06:11,753 sats.satellite.EO              INFO       <8373.00> EO: Target(tgt-8615) window enabled: 8388.5 to 8486.7
2026-02-25 01:06:11,754 sats.satellite.EO              INFO       <8373.00> EO: setting timed terminal event at 8486.7
2026-02-25 01:06:11,782 sats.satellite.EO              INFO       <8487.00> EO: timed termination at 8486.7 for Target(tgt-8615) window
2026-02-25 01:06:11,783 data.base                      INFO       <8487.00> Total reward: {}
2026-02-25 01:06:11,783 comm.communication             INFO       <8487.00> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:11,784 sats.satellite.EO              INFO       <8487.00> EO: Satellite EO requires retasking
2026-02-25 01:06:11,816 gym                            INFO       <8487.00> Step reward: 0.0
2026-02-25 01:06:11,816 gym                            INFO       <8487.00> === STARTING STEP ===
2026-02-25 01:06:11,817 sats.satellite.EO              INFO       <8487.00> EO: target index 20 tasked
2026-02-25 01:06:11,817 sats.satellite.EO              INFO       <8487.00> EO: Target(tgt-4320) tasked for imaging
2026-02-25 01:06:11,818 sats.satellite.EO              INFO       <8487.00> EO: Target(tgt-4320) window enabled: 8555.0 to 8669.0
2026-02-25 01:06:11,818 sats.satellite.EO              INFO       <8487.00> EO: setting timed terminal event at 8669.0
2026-02-25 01:06:11,862 sats.satellite.EO              INFO       <8669.00> EO: timed termination at 8669.0 for Target(tgt-4320) window
2026-02-25 01:06:11,863 data.base                      INFO       <8669.00> Total reward: {}
2026-02-25 01:06:11,863 comm.communication             INFO       <8669.00> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:11,865 sats.satellite.EO              INFO       <8669.00> EO: Satellite EO requires retasking
2026-02-25 01:06:11,897 gym                            INFO       <8669.00> Step reward: 0.0
2026-02-25 01:06:11,898 gym                            INFO       <8669.00> === STARTING STEP ===
2026-02-25 01:06:11,898 sats.satellite.EO              INFO       <8669.00> EO: target index 20 tasked
2026-02-25 01:06:11,899 sats.satellite.EO              INFO       <8669.00> EO: Target(tgt-6970) tasked for imaging
2026-02-25 01:06:11,900 sats.satellite.EO              INFO       <8669.00> EO: Target(tgt-6970) window enabled: 8672.3 to 8792.4
2026-02-25 01:06:11,900 sats.satellite.EO              INFO       <8669.00> EO: setting timed terminal event at 8792.4
2026-02-25 01:06:11,930 sats.satellite.EO              INFO       <8792.50> EO: timed termination at 8792.4 for Target(tgt-6970) window
2026-02-25 01:06:11,931 data.base                      INFO       <8792.50> Total reward: {}
2026-02-25 01:06:11,932 comm.communication             INFO       <8792.50> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:11,933 sats.satellite.EO              INFO       <8792.50> EO: Satellite EO requires retasking
2026-02-25 01:06:11,965 gym                            INFO       <8792.50> Step reward: 0.0
2026-02-25 01:06:11,965 gym                            INFO       <8792.50> === STARTING STEP ===
2026-02-25 01:06:11,966 sats.satellite.EO              INFO       <8792.50> EO: target index 29 tasked
2026-02-25 01:06:11,967 sats.satellite.EO              INFO       <8792.50> EO: Target(tgt-3655) tasked for imaging
2026-02-25 01:06:11,968 sats.satellite.EO              INFO       <8792.50> EO: Target(tgt-3655) window enabled: 8985.4 to 9085.1
2026-02-25 01:06:11,968 sats.satellite.EO              INFO       <8792.50> EO: setting timed terminal event at 9085.1
2026-02-25 01:06:12,042 sats.satellite.EO              INFO       <9085.50> EO: timed termination at 9085.1 for Target(tgt-3655) window
2026-02-25 01:06:12,044 data.base                      INFO       <9085.50> Total reward: {}
2026-02-25 01:06:12,044 comm.communication             INFO       <9085.50> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:12,045 sats.satellite.EO              INFO       <9085.50> EO: Satellite EO requires retasking
2026-02-25 01:06:12,079 gym                            INFO       <9085.50> Step reward: 0.0
2026-02-25 01:06:12,079 gym                            INFO       <9085.50> === STARTING STEP ===
2026-02-25 01:06:12,080 sats.satellite.EO              INFO       <9085.50> EO: target index 5 tasked
2026-02-25 01:06:12,081 sats.satellite.EO              INFO       <9085.50> EO: Target(tgt-1763) tasked for imaging
2026-02-25 01:06:12,082 sats.satellite.EO              INFO       <9085.50> EO: Target(tgt-1763) window enabled: 9018.0 to 9134.5
2026-02-25 01:06:12,082 sats.satellite.EO              INFO       <9085.50> EO: setting timed terminal event at 9134.5
2026-02-25 01:06:12,098 sats.satellite.EO              INFO       <9134.50> EO: timed termination at 9134.5 for Target(tgt-1763) window
2026-02-25 01:06:12,099 data.base                      INFO       <9134.50> Total reward: {}
2026-02-25 01:06:12,100 comm.communication             INFO       <9134.50> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:12,102 sats.satellite.EO              INFO       <9134.50> EO: Satellite EO requires retasking
2026-02-25 01:06:12,134 gym                            INFO       <9134.50> Step reward: 0.0
2026-02-25 01:06:12,135 gym                            INFO       <9134.50> === STARTING STEP ===
2026-02-25 01:06:12,136 sats.satellite.EO              INFO       <9134.50> EO: target index 5 tasked
2026-02-25 01:06:12,136 sats.satellite.EO              INFO       <9134.50> EO: Target(tgt-7444) tasked for imaging
2026-02-25 01:06:12,137 sats.satellite.EO              INFO       <9134.50> EO: Target(tgt-7444) window enabled: 9176.2 to 9206.3
2026-02-25 01:06:12,138 sats.satellite.EO              INFO       <9134.50> EO: setting timed terminal event at 9206.3
2026-02-25 01:06:12,157 sats.satellite.EO              INFO       <9206.50> EO: timed termination at 9206.3 for Target(tgt-7444) window
2026-02-25 01:06:12,158 data.base                      INFO       <9206.50> Total reward: {}
2026-02-25 01:06:12,159 comm.communication             INFO       <9206.50> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:12,160 sats.satellite.EO              INFO       <9206.50> EO: Satellite EO requires retasking
2026-02-25 01:06:12,194 gym                            INFO       <9206.50> Step reward: 0.0
2026-02-25 01:06:12,195 gym                            INFO       <9206.50> === STARTING STEP ===
2026-02-25 01:06:12,195 sats.satellite.EO              INFO       <9206.50> EO: target index 28 tasked
2026-02-25 01:06:12,196 sats.satellite.EO              INFO       <9206.50> EO: Target(tgt-1594) tasked for imaging
2026-02-25 01:06:12,197 sats.satellite.EO              INFO       <9206.50> EO: Target(tgt-1594) window enabled: 9274.2 to 9394.6
2026-02-25 01:06:12,198 sats.satellite.EO              INFO       <9206.50> EO: setting timed terminal event at 9394.6
2026-02-25 01:06:12,248 sats.satellite.EO              INFO       <9395.00> EO: timed termination at 9394.6 for Target(tgt-1594) window
2026-02-25 01:06:12,250 data.base                      INFO       <9395.00> Total reward: {}
2026-02-25 01:06:12,250 comm.communication             INFO       <9395.00> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:12,251 sats.satellite.EO              INFO       <9395.00> EO: Satellite EO requires retasking
2026-02-25 01:06:12,284 gym                            INFO       <9395.00> Step reward: 0.0
2026-02-25 01:06:12,285 gym                            INFO       <9395.00> === STARTING STEP ===
2026-02-25 01:06:12,286 sats.satellite.EO              INFO       <9395.00> EO: target index 26 tasked
2026-02-25 01:06:12,286 sats.satellite.EO              INFO       <9395.00> EO: Target(tgt-1746) tasked for imaging
2026-02-25 01:06:12,287 sats.satellite.EO              INFO       <9395.00> EO: Target(tgt-1746) window enabled: 9602.6 to 9700.9
2026-02-25 01:06:12,287 sats.satellite.EO              INFO       <9395.00> EO: setting timed terminal event at 9700.9
2026-02-25 01:06:12,378 sim.simulator                  INFO       <9695.00> Max step duration reached
2026-02-25 01:06:12,380 data.base                      INFO       <9695.00> Total reward: {}
2026-02-25 01:06:12,380 comm.communication             INFO       <9695.00> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:12,415 gym                            INFO       <9695.00> Step reward: 0.0
2026-02-25 01:06:12,416 gym                            INFO       <9695.00> === STARTING STEP ===
2026-02-25 01:06:12,416 sats.satellite.EO              INFO       <9695.00> EO: target index 2 tasked
2026-02-25 01:06:12,417 sats.satellite.EO              INFO       <9695.00> EO: Target(tgt-9457) tasked for imaging
2026-02-25 01:06:12,418 sats.satellite.EO              INFO       <9695.00> EO: Target(tgt-9457) window enabled: 9602.9 to 9719.7
2026-02-25 01:06:12,419 sats.satellite.EO              INFO       <9695.00> EO: setting timed terminal event at 9719.7
2026-02-25 01:06:12,427 sats.satellite.EO              INFO       <9720.00> EO: timed termination at 9719.7 for Target(tgt-9457) window
2026-02-25 01:06:12,429 data.base                      INFO       <9720.00> Total reward: {}
2026-02-25 01:06:12,429 comm.communication             INFO       <9720.00> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:12,431 sats.satellite.EO              INFO       <9720.00> EO: Satellite EO requires retasking
2026-02-25 01:06:12,464 gym                            INFO       <9720.00> Step reward: 0.0
2026-02-25 01:06:12,465 gym                            INFO       <9720.00> === STARTING STEP ===
2026-02-25 01:06:12,465 sats.satellite.EO              INFO       <9720.00> EO: target index 6 tasked
2026-02-25 01:06:12,466 sats.satellite.EO              INFO       <9720.00> EO: Target(tgt-938) tasked for imaging
2026-02-25 01:06:12,467 sats.satellite.EO              INFO       <9720.00> EO: Target(tgt-938) window enabled: 9681.7 to 9777.7
2026-02-25 01:06:12,468 sats.satellite.EO              INFO       <9720.00> EO: setting timed terminal event at 9777.7
2026-02-25 01:06:12,482 sats.satellite.EO              INFO       <9778.00> EO: timed termination at 9777.7 for Target(tgt-938) window
2026-02-25 01:06:12,484 data.base                      INFO       <9778.00> Total reward: {}
2026-02-25 01:06:12,484 comm.communication             INFO       <9778.00> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:12,486 sats.satellite.EO              INFO       <9778.00> EO: Satellite EO requires retasking
2026-02-25 01:06:12,519 gym                            INFO       <9778.00> Step reward: 0.0
2026-02-25 01:06:12,519 gym                            INFO       <9778.00> === STARTING STEP ===
2026-02-25 01:06:12,520 sats.satellite.EO              INFO       <9778.00> EO: action_charge tasked for 60.0 seconds
2026-02-25 01:06:12,520 sats.satellite.EO              INFO       <9778.00> EO: setting timed terminal event at 9838.0
2026-02-25 01:06:12,536 sats.satellite.EO              INFO       <9838.00> EO: timed termination at 9838.0 for action_charge
2026-02-25 01:06:12,537 data.base                      INFO       <9838.00> Total reward: {}
2026-02-25 01:06:12,538 comm.communication             INFO       <9838.00> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:12,539 sats.satellite.EO              INFO       <9838.00> EO: Satellite EO requires retasking
2026-02-25 01:06:12,573 gym                            INFO       <9838.00> Step reward: 0.0
2026-02-25 01:06:12,573 gym                            INFO       <9838.00> === STARTING STEP ===
2026-02-25 01:06:12,574 sats.satellite.EO              INFO       <9838.00> EO: target index 8 tasked
2026-02-25 01:06:12,574 sats.satellite.EO              INFO       <9838.00> EO: Target(tgt-404) tasked for imaging
2026-02-25 01:06:12,575 sats.satellite.EO              INFO       <9838.00> EO: Target(tgt-404) window enabled: 9788.7 to 9906.2
2026-02-25 01:06:12,576 sats.satellite.EO              INFO       <9838.00> EO: setting timed terminal event at 9906.2
2026-02-25 01:06:12,593 sats.satellite.EO              INFO       <9906.50> EO: timed termination at 9906.2 for Target(tgt-404) window
2026-02-25 01:06:12,595 data.base                      INFO       <9906.50> Total reward: {}
2026-02-25 01:06:12,595 comm.communication             INFO       <9906.50> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:12,596 sats.satellite.EO              INFO       <9906.50> EO: Satellite EO requires retasking
2026-02-25 01:06:12,631 gym                            INFO       <9906.50> Step reward: 0.0
2026-02-25 01:06:12,632 gym                            INFO       <9906.50> === STARTING STEP ===
2026-02-25 01:06:12,633 sats.satellite.EO              INFO       <9906.50> EO: target index 28 tasked
2026-02-25 01:06:12,633 sats.satellite.EO              INFO       <9906.50> EO: Target(tgt-1766) tasked for imaging
2026-02-25 01:06:12,634 sats.satellite.EO              INFO       <9906.50> EO: Target(tgt-1766) window enabled: 10026.8 to 10116.2
2026-02-25 01:06:12,635 sats.satellite.EO              INFO       <9906.50> EO: setting timed terminal event at 10116.2
2026-02-25 01:06:12,697 sats.satellite.EO              INFO       <10116.50> EO: timed termination at 10116.2 for Target(tgt-1766) window
2026-02-25 01:06:12,698 data.base                      INFO       <10116.50> Total reward: {}
2026-02-25 01:06:12,699 comm.communication             INFO       <10116.50> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:12,700 sats.satellite.EO              INFO       <10116.50> EO: Satellite EO requires retasking
2026-02-25 01:06:12,734 gym                            INFO       <10116.50> Step reward: 0.0
2026-02-25 01:06:12,735 gym                            INFO       <10116.50> === STARTING STEP ===
2026-02-25 01:06:12,736 sats.satellite.EO              INFO       <10116.50> EO: target index 14 tasked
2026-02-25 01:06:12,736 sats.satellite.EO              INFO       <10116.50> EO: Target(tgt-4018) tasked for imaging
2026-02-25 01:06:12,737 sats.satellite.EO              INFO       <10116.50> EO: Target(tgt-4018) window enabled: 10195.5 to 10287.7
2026-02-25 01:06:12,738 sats.satellite.EO              INFO       <10116.50> EO: setting timed terminal event at 10287.7
2026-02-25 01:06:12,785 sats.satellite.EO              INFO       <10288.00> EO: timed termination at 10287.7 for Target(tgt-4018) window
2026-02-25 01:06:12,787 data.base                      INFO       <10288.00> Total reward: {}
2026-02-25 01:06:12,787 comm.communication             INFO       <10288.00> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:12,788 sats.satellite.EO              INFO       <10288.00> EO: Satellite EO requires retasking
2026-02-25 01:06:12,823 gym                            INFO       <10288.00> Step reward: 0.0
2026-02-25 01:06:12,823 gym                            INFO       <10288.00> === STARTING STEP ===
2026-02-25 01:06:12,824 sats.satellite.EO              INFO       <10288.00> EO: target index 0 tasked
2026-02-25 01:06:12,825 sats.satellite.EO              INFO       <10288.00> EO: Target(tgt-5682) tasked for imaging
2026-02-25 01:06:12,826 sats.satellite.EO              INFO       <10288.00> EO: Target(tgt-5682) window enabled: 10171.4 to 10292.3
2026-02-25 01:06:12,826 sats.satellite.EO              INFO       <10288.00> EO: setting timed terminal event at 10292.3
2026-02-25 01:06:12,829 sats.satellite.EO              INFO       <10292.50> EO: timed termination at 10292.3 for Target(tgt-5682) window
2026-02-25 01:06:12,830 data.base                      INFO       <10292.50> Total reward: {}
2026-02-25 01:06:12,831 comm.communication             INFO       <10292.50> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:12,832 sats.satellite.EO              INFO       <10292.50> EO: Satellite EO requires retasking
2026-02-25 01:06:12,865 gym                            INFO       <10292.50> Step reward: 0.0
2026-02-25 01:06:12,866 gym                            INFO       <10292.50> === STARTING STEP ===
2026-02-25 01:06:12,867 sats.satellite.EO              INFO       <10292.50> EO: target index 5 tasked
2026-02-25 01:06:12,867 sats.satellite.EO              INFO       <10292.50> EO: Target(tgt-8774) tasked for imaging
2026-02-25 01:06:12,868 sats.satellite.EO              INFO       <10292.50> EO: Target(tgt-8774) window enabled: 10210.7 to 10323.7
2026-02-25 01:06:12,869 sats.satellite.EO              INFO       <10292.50> EO: setting timed terminal event at 10323.7
2026-02-25 01:06:12,879 sats.satellite.EO              INFO       <10324.00> EO: timed termination at 10323.7 for Target(tgt-8774) window
2026-02-25 01:06:12,880 data.base                      INFO       <10324.00> Total reward: {}
2026-02-25 01:06:12,881 comm.communication             INFO       <10324.00> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:12,882 sats.satellite.EO              INFO       <10324.00> EO: Satellite EO requires retasking
2026-02-25 01:06:12,916 gym                            INFO       <10324.00> Step reward: 0.0
2026-02-25 01:06:12,917 gym                            INFO       <10324.00> === STARTING STEP ===
2026-02-25 01:06:12,917 sats.satellite.EO              INFO       <10324.00> EO: target index 22 tasked
2026-02-25 01:06:12,918 sats.satellite.EO              INFO       <10324.00> EO: Target(tgt-9107) tasked for imaging
2026-02-25 01:06:12,919 sats.satellite.EO              INFO       <10324.00> EO: Target(tgt-9107) window enabled: 10427.7 to 10518.9
2026-02-25 01:06:12,919 sats.satellite.EO              INFO       <10324.00> EO: setting timed terminal event at 10518.9
2026-02-25 01:06:12,978 sats.satellite.EO              INFO       <10519.00> EO: timed termination at 10518.9 for Target(tgt-9107) window
2026-02-25 01:06:12,980 data.base                      INFO       <10519.00> Total reward: {}
2026-02-25 01:06:12,980 comm.communication             INFO       <10519.00> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:12,981 sats.satellite.EO              INFO       <10519.00> EO: Satellite EO requires retasking
2026-02-25 01:06:13,015 gym                            INFO       <10519.00> Step reward: 0.0
2026-02-25 01:06:13,016 gym                            INFO       <10519.00> === STARTING STEP ===
2026-02-25 01:06:13,016 sats.satellite.EO              INFO       <10519.00> EO: target index 19 tasked
2026-02-25 01:06:13,017 sats.satellite.EO              INFO       <10519.00> EO: Target(tgt-5109) tasked for imaging
2026-02-25 01:06:13,018 sats.satellite.EO              INFO       <10519.00> EO: Target(tgt-5109) window enabled: 10573.5 to 10662.0
2026-02-25 01:06:13,018 sats.satellite.EO              INFO       <10519.00> EO: setting timed terminal event at 10662.0
2026-02-25 01:06:13,053 sats.satellite.EO              INFO       <10662.50> EO: timed termination at 10662.0 for Target(tgt-5109) window
2026-02-25 01:06:13,054 data.base                      INFO       <10662.50> Total reward: {}
2026-02-25 01:06:13,054 comm.communication             INFO       <10662.50> Optimizing data communication between all pairs of satellites
2026-02-25 01:06:13,055 sats.satellite.EO              INFO       <10662.50> EO: Satellite EO requires retasking
2026-02-25 01:06:13,090 sats.satellite.EO              WARNING    <10662.50> EO: failed battery_valid check
2026-02-25 01:06:13,091 gym                            INFO       <10662.50> Step reward: 0.0
2026-02-25 01:06:13,091 gym                            INFO       <10662.50> Episode terminated: True
2026-02-25 01:06:13,092 gym                            INFO       <10662.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(2.060397138736484)}
Covered by clouds: {Target(tgt-7365), Target(tgt-9828), Target(tgt-6163), Target(tgt-2692), Target(tgt-2425), Target(tgt-4585), Target(tgt-3310), Target(tgt-7233), Target(tgt-1992), Target(tgt-7321)}
Not covered by clouds: {Target(tgt-7003), Target(tgt-9187), Target(tgt-2257), Target(tgt-7111), Target(tgt-842), Target(tgt-997), Target(tgt-4557), Target(tgt-8715), Target(tgt-346)}