Training with RLlib PPO

RLlib is a high-performance, distributed reinforcement learning library. It is preferable to other RL libraries (e.g. Stable Baselines

  1. for bsk_rl environments because it steps environments copies asynchronously; because of the variable step lengths, variable episode step counts, and long episode reset times, stepping each environment independently can increase step throughput by 2-5 times.

Warning: RLlib had a bug that results in an undesirable timeout which stops training. It has since been resolved: https://github.com/ray-project/ray/pull/45147

RLlib is actively developed and can change significantly from version to version. For this script, the following version is used:

[1]:
from importlib.metadata import version
version("ray")  # Parent package of RLlib
[1]:
'2.35.0'

Define the Environment

A nadir-scanning environment is created, to the one used in this paper. The satellite has to collect data while managing the data buffer level and battery level.

First, the satellite class is defined. A custom dynamics model is created that defines a few additional properties to use in the state.

[2]:
import numpy as np
from bsk_rl import act, data, obs, sats, scene
from bsk_rl.sim import dyn, fsw

class ScanningDownlinkDynModel(dyn.ContinuousImagingDynModel, dyn.GroundStationDynModel):
    # Define some custom properties to be accessed in the state
    @property
    def instrument_pointing_error(self) -> float:
        r_BN_P_unit = self.r_BN_P/np.linalg.norm(self.r_BN_P)
        c_hat_P = self.satellite.fsw.c_hat_P
        return np.arccos(np.dot(-r_BN_P_unit, c_hat_P))

    @property
    def solar_pointing_error(self) -> float:
        a = self.world.gravFactory.spiceObject.planetStateOutMsgs[
            self.world.sun_index
        ].read().PositionVector
        a_hat_N = a / np.linalg.norm(a)
        nHat_B = self.satellite.sat_args["nHat_B"]
        NB = np.transpose(self.BN)
        nHat_N = NB @ nHat_B
        return np.arccos(np.dot(nHat_N, a_hat_N))

class ScanningSatellite(sats.AccessSatellite):
    observation_spec = [
        obs.SatProperties(
            dict(prop="storage_level_fraction"),
            dict(prop="battery_charge_fraction"),
            dict(prop="wheel_speeds_fraction"),
            dict(prop="instrument_pointing_error", norm=np.pi),
            dict(prop="solar_pointing_error", norm=np.pi)
        ),
        obs.OpportunityProperties(
            dict(prop="opportunity_open", norm=5700),
            dict(prop="opportunity_close", norm=5700),
            type="ground_station",
            n_ahead_observe=1,
        ),
        obs.Eclipse(norm=5700),
        obs.Time(),
    ]
    action_spec = [
        act.Scan(duration=180.0),
        act.Charge(duration=120.0),
        act.Downlink(duration=60.0),
        act.Desat(duration=60.0),
    ]
    dyn_type = ScanningDownlinkDynModel
    fsw_type = fsw.ContinuousImagingFSWModel

Next, parameters are set. Since this scenario is focused on maintaining acceptable data and power levels, these are tuned to create a sufficiently interesting mission.

[3]:
sat = ScanningSatellite(
    "Scanner-1",
    sat_args=dict(
        # Data
        dataStorageCapacity=5000 * 8e6,  # bits
        storageInit=lambda: np.random.uniform(0.0, 0.8) * 5000 * 8e6,
        instrumentBaudRate=0.5 * 8e6,
        transmitterBaudRate=-50 * 8e6,
        # Power
        batteryStorageCapacity=200 * 3600,  # W*s
        storedCharge_Init=lambda: np.random.uniform(0.3, 1.0) * 200 * 3600,
        basePowerDraw=-10.0,  # W
        instrumentPowerDraw=-30.0,  # W
        transmitterPowerDraw=-25.0,  # W
        thrusterPowerDraw=-80.0,  # W
        panelArea=0.25,
        # Attitude
        imageAttErrorRequirement=0.1,
        imageRateErrorRequirement=0.1,
        disturbance_vector=lambda: np.random.normal(scale=0.0001, size=3),  # N*m
        maxWheelSpeed=6000.0,  # RPM
        wheelSpeeds=lambda: np.random.uniform(-3000, 3000, 3),
        desatAttitude="nadir",
    )
)

Finally, the environment arguments are set. Stepping through this environment is demonstrated at the bottom of the page.

[4]:
duration = 5 * 5700.0  # About 5 orbits
env_args = dict(
    satellite=sat,
    scenario=scene.UniformNadirScanning(value_per_second=1/duration),
    rewarder=data.ScanningTimeReward(),
    time_limit=duration,
    failure_penalty=-1.0,
    terminate_on_time_limit=True,
)

Set Up Custom Logging

The bsk_rl package supplies a utility to make logging information at the end of episodes easier. This is useful to see how an agent’s policy is changing over time, using a monitoring program such as TensorBoard. The callback is configured by writing a function that takes the environment as an input and returns a dictionary with values to be logged.

[5]:
def episode_data_callback(env):
    reward = env.rewarder.cum_reward
    reward = sum(reward.values()) / len(reward)
    orbits = env.simulator.sim_time / (95 * 60)

    data = dict(
        reward=reward,
        # Are satellites dying, and how and when?
        alive=float(env.satellite.is_alive()),
        rw_status_valid=float(env.satellite.dynamics.rw_speeds_valid()),
        battery_status_valid=float(env.satellite.dynamics.battery_valid()),
        orbits_complete=orbits,
    )
    if orbits > 0:
        data["reward_per_orbit"] = reward / orbits
    if not env.satellite.is_alive():
        data["orbits_complete_partial_only"] = orbits

    return data

Configure Ray and PPO

PPO (or some other algorithm) can be configured. Of particular importance are setting sample_timeout_s and metrics_episode_collection_timeout_s to appropriately high values for this environment. The episode_data_callback is included in the environment arguments, and the WrappedEpisodeDataCallbacks must be included in training to trigger logging.

[6]:
import bsk_rl.utils.rllib  # noqa To access "SatelliteTasking-RLlib"
from ray.rllib.algorithms.ppo import PPOConfig
from bsk_rl.utils.rllib.callbacks import WrappedEpisodeDataCallbacks

N_CPUS = 3

training_args = dict(
    lr=0.00003,
    gamma=0.999,
    train_batch_size=250,  # usually a larger number, like 2500
    num_sgd_iter=10,
    model=dict(fcnet_hiddens=[512, 512], vf_share_layers=False),
    lambda_=0.95,
    use_kl_loss=False,
    clip_param=0.1,
    grad_clip=0.5,
)

config = (
    PPOConfig()
    .training(**training_args)
    .env_runners(num_env_runners=N_CPUS-1, sample_timeout_s=1000.0)
    .environment(
        env="SatelliteTasking-RLlib",
        env_config=dict(**env_args, episode_data_callback=episode_data_callback),
    )
    .reporting(
        metrics_num_episodes_for_smoothing=1,
        metrics_episode_collection_timeout_s=180,
    )
    .checkpointing(export_native_model_files=True)
    .framework(framework="torch")
    .api_stack(
        enable_rl_module_and_learner=True,
        enable_env_runner_and_connector_v2=True,
    )
    .callbacks(WrappedEpisodeDataCallbacks)
)

Once the PPO configuration has been set, ray can be started and the agent can be trained.

Training on a reasonably modern machine, we can achieve 5M steps over 32 processors in 6 to 18 hours, depending on specific environment configurations.

Note that the custom logging metrics are reported under env_runners.

[7]:
import ray
from ray import tune

ray.init(
    ignore_reinit_error=True,
    num_cpus=N_CPUS,
    object_store_memory=2_000_000_000,  # 2 GB
)

# Run the training
tune.run(
    "PPO",
    config=config.to_dict(),
    stop={"training_iteration": 10},  # Adjust the number of iterations as needed
    checkpoint_freq=10,
    checkpoint_at_end=True
)

# Shutdown Ray
ray.shutdown()
2025-08-25 18:16:10,371 INFO worker.py:1783 -- Started a local Ray instance.
2025-08-25 18:16:13,934 INFO tune.py:616 -- [output] This uses the legacy output and progress reporter, as Jupyter notebooks are not supported by the new engine, yet. For more information, please see https://github.com/ray-project/ray/issues/36949
/opt/hostedtoolcache/Python/3.11.13/x64/lib/python3.11/site-packages/gymnasium/spaces/box.py:130: UserWarning: WARN: Box bound precision lowered by casting to float32
  gym.logger.warn(f"Box bound precision lowered by casting to {self.dtype}")
/opt/hostedtoolcache/Python/3.11.13/x64/lib/python3.11/site-packages/gymnasium/utils/passive_env_checker.py:164: UserWarning: WARN: The obs returned by the `reset()` method was expecting numpy array dtype to be float32, actual type: float64
  logger.warn(
/opt/hostedtoolcache/Python/3.11.13/x64/lib/python3.11/site-packages/gymnasium/utils/passive_env_checker.py:188: UserWarning: WARN: The obs returned by the `reset()` method is not within the observation space.
  logger.warn(f"{pre} is not within the observation space.")

Tune Status

Current time:2025-08-25 18:16:56
Running for: 00:00:42.62
Memory: 4.6/15.6 GiB

System Info

Using FIFO scheduling algorithm.
Logical resource usage: 3.0/3 CPUs, 0/0 GPUs

Trial Status

Trial name status loc iter total time (s) num_env_steps_sample d_lifetime num_episodes_lifetim e num_env_steps_traine d_lifetime
PPO_SatelliteTasking-RLlib_95cf2_00000TERMINATED10.1.0.68:5294 10 27.39352500122500
(PPO pid=5294) Install gputil for GPU system monitoring.

Trial Progress

Trial name env_runners fault_tolerance learners num_agent_steps_sampled_lifetime num_env_steps_sampled_lifetime num_env_steps_trained_lifetime num_episodes_lifetimeperf timers
PPO_SatelliteTasking-RLlib_95cf2_00000{'num_env_steps_sampled_lifetime': 25000, 'battery_status_valid': nan, 'reward': nan, 'num_agent_steps_sampled_lifetime': {'default_agent': 13750}, 'num_module_steps_sampled': {'default_policy': 250}, 'num_episodes': 0, 'alive': nan, 'rw_status_valid': nan, 'sample': np.float64(2.4035509446421055), 'orbits_complete': nan, 'num_env_steps_sampled': 250, 'num_module_steps_sampled_lifetime': {'default_policy': 13750}, 'num_agent_steps_sampled': {'default_agent': 250}, 'episode_len_min': 64, 'episode_return_min': -0.8278947368421053, 'episode_len_max': 122, 'episode_len_mean': 93.0, 'reward_per_orbit': nan, 'module_episode_returns_mean': {'default_policy': -0.7372456140350878}, 'orbits_complete_partial_only': nan, 'agent_episode_returns_mean': {'default_agent': -0.7372456140350878}, 'episode_duration_sec_mean': 2.1489870764999637, 'time_between_sampling': np.float64(0.2370639240299162), 'episode_return_mean': -0.7372456140350878, 'episode_return_max': -0.6465964912280702}{'num_healthy_workers': 2, 'num_in_flight_async_reqs': 0, 'num_remote_worker_restarts': 0}{'default_policy': {'vf_loss': 0.0010348180076107383, 'vf_loss_unclipped': 0.0010348180076107383, 'vf_explained_var': 0.9330025911331177, 'entropy': 1.2659502029418945, 'curr_entropy_coeff': 0.0, 'default_optimizer_learning_rate': 3e-05, 'total_loss': -0.028630826622247696, 'mean_kl_loss': 0.0, 'gradients_default_optimizer_global_norm': 0.1378076672554016, 'num_trainable_parameters': 139525.0, 'policy_loss': -0.02966565638780594, 'num_module_steps_trained': 250, 'num_non_trainable_parameters': 0.0}, '__all_modules__': {'num_trainable_parameters': 139525.0, 'num_module_steps_trained': 250, 'num_non_trainable_parameters': 0.0, 'num_env_steps_trained': 250, 'total_loss': -0.028630826622247696}}{'default_agent': 2500} 2500 2500 12{'cpu_util_percent': np.float64(46.075), 'ram_util_percent': np.float64(29.1)}{'env_runner_sampling_timer': 2.5082814404597134, 'learner_update_timer': 0.11140114889880866, 'synch_weights': 0.0057688562549715605, 'synch_env_connectors': 0.005804314373860465}
(SingleAgentEnvRunner pid=5341) 2025-08-25 18:16:32,747 sats.satellite.Scanner-1       WARNING    <21120.00> Scanner-1: failed battery_valid check
(SingleAgentEnvRunner pid=5341) 2025-08-25 18:16:38,227 sats.satellite.Scanner-1       WARNING    <28500.00> Scanner-1: failed battery_valid check
(SingleAgentEnvRunner pid=5341) 2025-08-25 18:16:43,215 sats.satellite.Scanner-1       WARNING    <26520.00> Scanner-1: failed battery_valid check
(SingleAgentEnvRunner pid=5342) 2025-08-25 18:16:48,631 sats.satellite.Scanner-1       WARNING    <26640.00> Scanner-1: failed battery_valid check [repeated 3x across cluster] (Ray deduplicates logs by default. Set RAY_DEDUP_LOGS=0 to disable log deduplication, or see https://docs.ray.io/en/master/ray-observability/user-guides/configure-logging.html#log-deduplication for more options.)
2025-08-25 18:16:56,591 INFO tune.py:1009 -- Wrote the latest version of all result files and experiment state to '/home/runner/ray_results/PPO_2025-08-25_18-16-13' in 0.0216s.
(PPO pid=5294) Checkpoint successfully created at: Checkpoint(filesystem=local, path=/home/runner/ray_results/PPO_2025-08-25_18-16-13/PPO_SatelliteTasking-RLlib_95cf2_00000_0_2025-08-25_18-16-13/checkpoint_000000)
(SingleAgentEnvRunner pid=5341) 2025-08-25 18:16:52,626 sats.satellite.Scanner-1       WARNING    <16320.00> Scanner-1: failed battery_valid check [repeated 4x across cluster]
2025-08-25 18:16:57,075 INFO tune.py:1041 -- Total run time: 43.14 seconds (42.60 seconds for the tuning loop).

Loading the Policy Network

The policy network can be found in the p0 subdirectory of the checkpoint output, if using the torch backend, and the model subdirectory of the checkpoint output. Use bsk_rl.utils.rllib.load_torch_mlp_policy to load torch policies.

Stepping Through the Environment

The environment is stepped through with random actions to give a sense of how it acts.

[8]:
from bsk_rl import SatelliteTasking

env = SatelliteTasking(**env_args, log_level="INFO")
env.reset()
terminated = False
while not terminated:
    action = env.action_space.sample()
    observation, reward, terminated, truncated, info = env.step(action)
2025-08-25 18:16:58,383 gym                            INFO       Resetting environment with seed=1049087589
2025-08-25 18:16:58,510 sats.satellite.Scanner-1       INFO       <0.00> Scanner-1: Finding opportunity windows from 0.00 to 28500.00 seconds
2025-08-25 18:16:58,603 gym                            INFO       <0.00> Environment reset
2025-08-25 18:16:58,604 gym                            INFO       <0.00> === STARTING STEP ===
2025-08-25 18:16:58,605 sats.satellite.Scanner-1       INFO       <0.00> Scanner-1: action_charge tasked for 120.0 seconds
2025-08-25 18:16:58,605 sats.satellite.Scanner-1       INFO       <0.00> Scanner-1: setting timed terminal event at 120.0
2025-08-25 18:16:58,619 sats.satellite.Scanner-1       INFO       <120.00> Scanner-1: timed termination at 120.0 for action_charge
2025-08-25 18:16:58,619 data.base                      INFO       <120.00> Total reward: {}
2025-08-25 18:16:58,620 comm.communication             INFO       <120.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:58,621 sats.satellite.Scanner-1       INFO       <120.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:58,622 gym                            INFO       <120.00> Step reward: 0.0
2025-08-25 18:16:58,623 gym                            INFO       <120.00> === STARTING STEP ===
2025-08-25 18:16:58,624 sats.satellite.Scanner-1       INFO       <120.00> Scanner-1: action_nadir_scan tasked for 180.0 seconds
2025-08-25 18:16:58,624 sats.satellite.Scanner-1       INFO       <120.00> Scanner-1: setting timed terminal event at 300.0
2025-08-25 18:16:58,645 sats.satellite.Scanner-1       INFO       <300.00> Scanner-1: timed termination at 300.0 for action_nadir_scan
2025-08-25 18:16:58,645 data.base                      INFO       <300.00> Total reward: {'Scanner-1': 0.00431578947368421}
2025-08-25 18:16:58,646 comm.communication             INFO       <300.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:58,646 sats.satellite.Scanner-1       INFO       <300.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:58,648 gym                            INFO       <300.00> Step reward: 0.00431578947368421
2025-08-25 18:16:58,649 gym                            INFO       <300.00> === STARTING STEP ===
2025-08-25 18:16:58,650 sats.satellite.Scanner-1       INFO       <300.00> Scanner-1: action_desat tasked for 60.0 seconds
2025-08-25 18:16:58,650 sats.satellite.Scanner-1       INFO       <300.00> Scanner-1: setting timed terminal event at 360.0
2025-08-25 18:16:58,658 sats.satellite.Scanner-1       INFO       <360.00> Scanner-1: timed termination at 360.0 for action_desat
2025-08-25 18:16:58,659 data.base                      INFO       <360.00> Total reward: {}
2025-08-25 18:16:58,659 comm.communication             INFO       <360.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:58,660 sats.satellite.Scanner-1       INFO       <360.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:58,662 gym                            INFO       <360.00> Step reward: 0.0
2025-08-25 18:16:58,662 gym                            INFO       <360.00> === STARTING STEP ===
2025-08-25 18:16:58,663 sats.satellite.Scanner-1       INFO       <360.00> Scanner-1: action_charge tasked for 120.0 seconds
2025-08-25 18:16:58,663 sats.satellite.Scanner-1       INFO       <360.00> Scanner-1: setting timed terminal event at 480.0
2025-08-25 18:16:58,679 sats.satellite.Scanner-1       INFO       <480.00> Scanner-1: timed termination at 480.0 for action_charge
2025-08-25 18:16:58,679 data.base                      INFO       <480.00> Total reward: {}
2025-08-25 18:16:58,680 comm.communication             INFO       <480.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:58,680 sats.satellite.Scanner-1       INFO       <480.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:58,682 gym                            INFO       <480.00> Step reward: 0.0
2025-08-25 18:16:58,684 gym                            INFO       <480.00> === STARTING STEP ===
2025-08-25 18:16:58,684 sats.satellite.Scanner-1       INFO       <480.00> Scanner-1: action_downlink tasked for 60.0 seconds
2025-08-25 18:16:58,684 sats.satellite.Scanner-1       INFO       <480.00> Scanner-1: setting timed terminal event at 540.0
2025-08-25 18:16:58,692 sats.satellite.Scanner-1       INFO       <540.00> Scanner-1: timed termination at 540.0 for action_downlink
2025-08-25 18:16:58,692 data.base                      INFO       <540.00> Total reward: {}
2025-08-25 18:16:58,693 comm.communication             INFO       <540.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:58,693 sats.satellite.Scanner-1       INFO       <540.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:58,695 gym                            INFO       <540.00> Step reward: 0.0
2025-08-25 18:16:58,696 gym                            INFO       <540.00> === STARTING STEP ===
2025-08-25 18:16:58,696 sats.satellite.Scanner-1       INFO       <540.00> Scanner-1: action_charge tasked for 120.0 seconds
2025-08-25 18:16:58,697 sats.satellite.Scanner-1       INFO       <540.00> Scanner-1: setting timed terminal event at 660.0
2025-08-25 18:16:58,710 sats.satellite.Scanner-1       INFO       <660.00> Scanner-1: timed termination at 660.0 for action_charge
2025-08-25 18:16:58,710 data.base                      INFO       <660.00> Total reward: {}
2025-08-25 18:16:58,711 comm.communication             INFO       <660.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:58,711 sats.satellite.Scanner-1       INFO       <660.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:58,713 gym                            INFO       <660.00> Step reward: 0.0
2025-08-25 18:16:58,714 gym                            INFO       <660.00> === STARTING STEP ===
2025-08-25 18:16:58,715 sats.satellite.Scanner-1       INFO       <660.00> Scanner-1: action_desat tasked for 60.0 seconds
2025-08-25 18:16:58,715 sats.satellite.Scanner-1       INFO       <660.00> Scanner-1: setting timed terminal event at 720.0
2025-08-25 18:16:58,722 sats.satellite.Scanner-1       INFO       <720.00> Scanner-1: timed termination at 720.0 for action_desat
2025-08-25 18:16:58,723 data.base                      INFO       <720.00> Total reward: {}
2025-08-25 18:16:58,723 comm.communication             INFO       <720.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:58,724 sats.satellite.Scanner-1       INFO       <720.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:58,726 gym                            INFO       <720.00> Step reward: 0.0
2025-08-25 18:16:58,727 gym                            INFO       <720.00> === STARTING STEP ===
2025-08-25 18:16:58,728 sats.satellite.Scanner-1       INFO       <720.00> Scanner-1: action_desat tasked for 60.0 seconds
2025-08-25 18:16:58,728 sats.satellite.Scanner-1       INFO       <720.00> Scanner-1: setting timed terminal event at 780.0
2025-08-25 18:16:58,735 sats.satellite.Scanner-1       INFO       <780.00> Scanner-1: timed termination at 780.0 for action_desat
2025-08-25 18:16:58,736 data.base                      INFO       <780.00> Total reward: {}
2025-08-25 18:16:58,736 comm.communication             INFO       <780.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:58,737 sats.satellite.Scanner-1       INFO       <780.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:58,739 gym                            INFO       <780.00> Step reward: 0.0
2025-08-25 18:16:58,739 gym                            INFO       <780.00> === STARTING STEP ===
2025-08-25 18:16:58,740 sats.satellite.Scanner-1       INFO       <780.00> Scanner-1: action_downlink tasked for 60.0 seconds
2025-08-25 18:16:58,741 sats.satellite.Scanner-1       INFO       <780.00> Scanner-1: setting timed terminal event at 840.0
2025-08-25 18:16:58,748 sats.satellite.Scanner-1       INFO       <840.00> Scanner-1: timed termination at 840.0 for action_downlink
2025-08-25 18:16:58,748 data.base                      INFO       <840.00> Total reward: {}
2025-08-25 18:16:58,749 comm.communication             INFO       <840.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:58,750 sats.satellite.Scanner-1       INFO       <840.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:58,751 gym                            INFO       <840.00> Step reward: 0.0
2025-08-25 18:16:58,752 gym                            INFO       <840.00> === STARTING STEP ===
2025-08-25 18:16:58,753 sats.satellite.Scanner-1       INFO       <840.00> Scanner-1: action_nadir_scan tasked for 180.0 seconds
2025-08-25 18:16:58,753 sats.satellite.Scanner-1       INFO       <840.00> Scanner-1: setting timed terminal event at 1020.0
2025-08-25 18:16:58,772 sats.satellite.Scanner-1       INFO       <1020.00> Scanner-1: timed termination at 1020.0 for action_nadir_scan
2025-08-25 18:16:58,773 data.base                      INFO       <1020.00> Total reward: {'Scanner-1': 0.002}
2025-08-25 18:16:58,773 comm.communication             INFO       <1020.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:58,774 sats.satellite.Scanner-1       INFO       <1020.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:58,775 gym                            INFO       <1020.00> Step reward: 0.002
2025-08-25 18:16:58,776 gym                            INFO       <1020.00> === STARTING STEP ===
2025-08-25 18:16:58,777 sats.satellite.Scanner-1       INFO       <1020.00> Scanner-1: action_desat tasked for 60.0 seconds
2025-08-25 18:16:58,777 sats.satellite.Scanner-1       INFO       <1020.00> Scanner-1: setting timed terminal event at 1080.0
2025-08-25 18:16:58,785 sats.satellite.Scanner-1       INFO       <1080.00> Scanner-1: timed termination at 1080.0 for action_desat
2025-08-25 18:16:58,785 data.base                      INFO       <1080.00> Total reward: {}
2025-08-25 18:16:58,785 comm.communication             INFO       <1080.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:58,786 sats.satellite.Scanner-1       INFO       <1080.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:58,788 gym                            INFO       <1080.00> Step reward: 0.0
2025-08-25 18:16:58,789 gym                            INFO       <1080.00> === STARTING STEP ===
2025-08-25 18:16:58,789 sats.satellite.Scanner-1       INFO       <1080.00> Scanner-1: action_charge tasked for 120.0 seconds
2025-08-25 18:16:58,790 sats.satellite.Scanner-1       INFO       <1080.00> Scanner-1: setting timed terminal event at 1200.0
2025-08-25 18:16:58,803 sats.satellite.Scanner-1       INFO       <1200.00> Scanner-1: timed termination at 1200.0 for action_charge
2025-08-25 18:16:58,803 data.base                      INFO       <1200.00> Total reward: {}
2025-08-25 18:16:58,804 comm.communication             INFO       <1200.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:58,804 sats.satellite.Scanner-1       INFO       <1200.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:58,806 gym                            INFO       <1200.00> Step reward: 0.0
2025-08-25 18:16:58,806 gym                            INFO       <1200.00> === STARTING STEP ===
2025-08-25 18:16:58,807 sats.satellite.Scanner-1       INFO       <1200.00> Scanner-1: action_nadir_scan tasked for 180.0 seconds
2025-08-25 18:16:58,807 sats.satellite.Scanner-1       INFO       <1200.00> Scanner-1: setting timed terminal event at 1380.0
2025-08-25 18:16:58,826 sats.satellite.Scanner-1       INFO       <1380.00> Scanner-1: timed termination at 1380.0 for action_nadir_scan
2025-08-25 18:16:58,827 data.base                      INFO       <1380.00> Total reward: {'Scanner-1': 0.003614035087719298}
2025-08-25 18:16:58,828 comm.communication             INFO       <1380.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:58,828 sats.satellite.Scanner-1       INFO       <1380.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:58,830 gym                            INFO       <1380.00> Step reward: 0.003614035087719298
2025-08-25 18:16:58,831 gym                            INFO       <1380.00> === STARTING STEP ===
2025-08-25 18:16:58,831 sats.satellite.Scanner-1       INFO       <1380.00> Scanner-1: action_desat tasked for 60.0 seconds
2025-08-25 18:16:58,832 sats.satellite.Scanner-1       INFO       <1380.00> Scanner-1: setting timed terminal event at 1440.0
2025-08-25 18:16:58,841 sats.satellite.Scanner-1       INFO       <1440.00> Scanner-1: timed termination at 1440.0 for action_desat
2025-08-25 18:16:58,841 data.base                      INFO       <1440.00> Total reward: {}
2025-08-25 18:16:58,842 comm.communication             INFO       <1440.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:58,842 sats.satellite.Scanner-1       INFO       <1440.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:58,844 gym                            INFO       <1440.00> Step reward: 0.0
2025-08-25 18:16:58,845 gym                            INFO       <1440.00> === STARTING STEP ===
2025-08-25 18:16:58,845 sats.satellite.Scanner-1       INFO       <1440.00> Scanner-1: action_downlink tasked for 60.0 seconds
2025-08-25 18:16:58,846 sats.satellite.Scanner-1       INFO       <1440.00> Scanner-1: setting timed terminal event at 1500.0
2025-08-25 18:16:58,853 sats.satellite.Scanner-1       INFO       <1500.00> Scanner-1: timed termination at 1500.0 for action_downlink
2025-08-25 18:16:58,854 data.base                      INFO       <1500.00> Total reward: {}
2025-08-25 18:16:58,854 comm.communication             INFO       <1500.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:58,855 sats.satellite.Scanner-1       INFO       <1500.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:58,857 gym                            INFO       <1500.00> Step reward: 0.0
2025-08-25 18:16:58,857 gym                            INFO       <1500.00> === STARTING STEP ===
2025-08-25 18:16:58,858 sats.satellite.Scanner-1       INFO       <1500.00> Scanner-1: action_downlink tasked for 60.0 seconds
2025-08-25 18:16:58,858 sats.satellite.Scanner-1       INFO       <1500.00> Scanner-1: setting timed terminal event at 1560.0
2025-08-25 18:16:58,866 sats.satellite.Scanner-1       INFO       <1560.00> Scanner-1: timed termination at 1560.0 for action_downlink
2025-08-25 18:16:58,866 data.base                      INFO       <1560.00> Total reward: {}
2025-08-25 18:16:58,867 comm.communication             INFO       <1560.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:58,867 sats.satellite.Scanner-1       INFO       <1560.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:58,869 gym                            INFO       <1560.00> Step reward: 0.0
2025-08-25 18:16:58,870 gym                            INFO       <1560.00> === STARTING STEP ===
2025-08-25 18:16:58,870 sats.satellite.Scanner-1       INFO       <1560.00> Scanner-1: action_charge tasked for 120.0 seconds
2025-08-25 18:16:58,871 sats.satellite.Scanner-1       INFO       <1560.00> Scanner-1: setting timed terminal event at 1680.0
2025-08-25 18:16:58,885 sats.satellite.Scanner-1       INFO       <1680.00> Scanner-1: timed termination at 1680.0 for action_charge
2025-08-25 18:16:58,885 data.base                      INFO       <1680.00> Total reward: {}
2025-08-25 18:16:58,886 comm.communication             INFO       <1680.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:58,886 sats.satellite.Scanner-1       INFO       <1680.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:58,888 gym                            INFO       <1680.00> Step reward: 0.0
2025-08-25 18:16:58,889 gym                            INFO       <1680.00> === STARTING STEP ===
2025-08-25 18:16:58,889 sats.satellite.Scanner-1       INFO       <1680.00> Scanner-1: action_charge tasked for 120.0 seconds
2025-08-25 18:16:58,890 sats.satellite.Scanner-1       INFO       <1680.00> Scanner-1: setting timed terminal event at 1800.0
2025-08-25 18:16:58,903 sats.satellite.Scanner-1       INFO       <1800.00> Scanner-1: timed termination at 1800.0 for action_charge
2025-08-25 18:16:58,903 data.base                      INFO       <1800.00> Total reward: {}
2025-08-25 18:16:58,904 comm.communication             INFO       <1800.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:58,904 sats.satellite.Scanner-1       INFO       <1800.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:58,907 gym                            INFO       <1800.00> Step reward: 0.0
2025-08-25 18:16:58,907 gym                            INFO       <1800.00> === STARTING STEP ===
2025-08-25 18:16:58,908 sats.satellite.Scanner-1       INFO       <1800.00> Scanner-1: action_nadir_scan tasked for 180.0 seconds
2025-08-25 18:16:58,908 sats.satellite.Scanner-1       INFO       <1800.00> Scanner-1: setting timed terminal event at 1980.0
2025-08-25 18:16:58,927 sats.satellite.Scanner-1       INFO       <1980.00> Scanner-1: timed termination at 1980.0 for action_nadir_scan
2025-08-25 18:16:58,928 data.base                      INFO       <1980.00> Total reward: {'Scanner-1': 0.003719298245614035}
2025-08-25 18:16:58,928 comm.communication             INFO       <1980.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:58,929 sats.satellite.Scanner-1       INFO       <1980.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:58,931 gym                            INFO       <1980.00> Step reward: 0.003719298245614035
2025-08-25 18:16:58,931 gym                            INFO       <1980.00> === STARTING STEP ===
2025-08-25 18:16:58,932 sats.satellite.Scanner-1       INFO       <1980.00> Scanner-1: action_downlink tasked for 60.0 seconds
2025-08-25 18:16:58,933 sats.satellite.Scanner-1       INFO       <1980.00> Scanner-1: setting timed terminal event at 2040.0
2025-08-25 18:16:58,940 sats.satellite.Scanner-1       INFO       <2040.00> Scanner-1: timed termination at 2040.0 for action_downlink
2025-08-25 18:16:58,940 data.base                      INFO       <2040.00> Total reward: {}
2025-08-25 18:16:58,941 comm.communication             INFO       <2040.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:58,941 sats.satellite.Scanner-1       INFO       <2040.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:58,943 gym                            INFO       <2040.00> Step reward: 0.0
2025-08-25 18:16:58,944 gym                            INFO       <2040.00> === STARTING STEP ===
2025-08-25 18:16:58,944 sats.satellite.Scanner-1       INFO       <2040.00> Scanner-1: action_nadir_scan tasked for 180.0 seconds
2025-08-25 18:16:58,945 sats.satellite.Scanner-1       INFO       <2040.00> Scanner-1: setting timed terminal event at 2220.0
2025-08-25 18:16:58,964 sats.satellite.Scanner-1       INFO       <2220.00> Scanner-1: timed termination at 2220.0 for action_nadir_scan
2025-08-25 18:16:58,964 data.base                      INFO       <2220.00> Total reward: {'Scanner-1': 0.004350877192982456}
2025-08-25 18:16:58,964 comm.communication             INFO       <2220.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:58,965 sats.satellite.Scanner-1       INFO       <2220.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:58,967 gym                            INFO       <2220.00> Step reward: 0.004350877192982456
2025-08-25 18:16:58,967 gym                            INFO       <2220.00> === STARTING STEP ===
2025-08-25 18:16:58,968 sats.satellite.Scanner-1       INFO       <2220.00> Scanner-1: action_downlink tasked for 60.0 seconds
2025-08-25 18:16:58,968 sats.satellite.Scanner-1       INFO       <2220.00> Scanner-1: setting timed terminal event at 2280.0
2025-08-25 18:16:58,976 sats.satellite.Scanner-1       INFO       <2280.00> Scanner-1: timed termination at 2280.0 for action_downlink
2025-08-25 18:16:58,976 data.base                      INFO       <2280.00> Total reward: {}
2025-08-25 18:16:58,976 comm.communication             INFO       <2280.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:58,977 sats.satellite.Scanner-1       INFO       <2280.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:58,979 gym                            INFO       <2280.00> Step reward: 0.0
2025-08-25 18:16:58,979 gym                            INFO       <2280.00> === STARTING STEP ===
2025-08-25 18:16:58,981 sats.satellite.Scanner-1       INFO       <2280.00> Scanner-1: action_desat tasked for 60.0 seconds
2025-08-25 18:16:58,981 sats.satellite.Scanner-1       INFO       <2280.00> Scanner-1: setting timed terminal event at 2340.0
2025-08-25 18:16:58,989 sats.satellite.Scanner-1       INFO       <2340.00> Scanner-1: timed termination at 2340.0 for action_desat
2025-08-25 18:16:58,989 data.base                      INFO       <2340.00> Total reward: {}
2025-08-25 18:16:58,990 comm.communication             INFO       <2340.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:58,990 sats.satellite.Scanner-1       INFO       <2340.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:58,992 gym                            INFO       <2340.00> Step reward: 0.0
2025-08-25 18:16:58,993 gym                            INFO       <2340.00> === STARTING STEP ===
2025-08-25 18:16:58,993 sats.satellite.Scanner-1       INFO       <2340.00> Scanner-1: action_downlink tasked for 60.0 seconds
2025-08-25 18:16:58,994 sats.satellite.Scanner-1       INFO       <2340.00> Scanner-1: setting timed terminal event at 2400.0
2025-08-25 18:16:59,001 sats.satellite.Scanner-1       INFO       <2400.00> Scanner-1: timed termination at 2400.0 for action_downlink
2025-08-25 18:16:59,001 data.base                      INFO       <2400.00> Total reward: {}
2025-08-25 18:16:59,002 comm.communication             INFO       <2400.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:59,003 sats.satellite.Scanner-1       INFO       <2400.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:59,005 gym                            INFO       <2400.00> Step reward: 0.0
2025-08-25 18:16:59,005 gym                            INFO       <2400.00> === STARTING STEP ===
2025-08-25 18:16:59,006 sats.satellite.Scanner-1       INFO       <2400.00> Scanner-1: action_desat tasked for 60.0 seconds
2025-08-25 18:16:59,006 sats.satellite.Scanner-1       INFO       <2400.00> Scanner-1: setting timed terminal event at 2460.0
2025-08-25 18:16:59,014 sats.satellite.Scanner-1       INFO       <2460.00> Scanner-1: timed termination at 2460.0 for action_desat
2025-08-25 18:16:59,014 data.base                      INFO       <2460.00> Total reward: {}
2025-08-25 18:16:59,014 comm.communication             INFO       <2460.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:59,015 sats.satellite.Scanner-1       INFO       <2460.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:59,017 gym                            INFO       <2460.00> Step reward: 0.0
2025-08-25 18:16:59,017 gym                            INFO       <2460.00> === STARTING STEP ===
2025-08-25 18:16:59,018 sats.satellite.Scanner-1       INFO       <2460.00> Scanner-1: action_charge tasked for 120.0 seconds
2025-08-25 18:16:59,018 sats.satellite.Scanner-1       INFO       <2460.00> Scanner-1: setting timed terminal event at 2580.0
2025-08-25 18:16:59,031 sats.satellite.Scanner-1       INFO       <2580.00> Scanner-1: timed termination at 2580.0 for action_charge
2025-08-25 18:16:59,032 data.base                      INFO       <2580.00> Total reward: {}
2025-08-25 18:16:59,033 comm.communication             INFO       <2580.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:59,033 sats.satellite.Scanner-1       INFO       <2580.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:59,035 gym                            INFO       <2580.00> Step reward: 0.0
2025-08-25 18:16:59,036 gym                            INFO       <2580.00> === STARTING STEP ===
2025-08-25 18:16:59,036 sats.satellite.Scanner-1       INFO       <2580.00> Scanner-1: action_charge tasked for 120.0 seconds
2025-08-25 18:16:59,036 sats.satellite.Scanner-1       INFO       <2580.00> Scanner-1: setting timed terminal event at 2700.0
2025-08-25 18:16:59,050 sats.satellite.Scanner-1       INFO       <2700.00> Scanner-1: timed termination at 2700.0 for action_charge
2025-08-25 18:16:59,050 data.base                      INFO       <2700.00> Total reward: {}
2025-08-25 18:16:59,051 comm.communication             INFO       <2700.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:59,051 sats.satellite.Scanner-1       INFO       <2700.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:59,053 gym                            INFO       <2700.00> Step reward: 0.0
2025-08-25 18:16:59,054 gym                            INFO       <2700.00> === STARTING STEP ===
2025-08-25 18:16:59,054 sats.satellite.Scanner-1       INFO       <2700.00> Scanner-1: action_charge tasked for 120.0 seconds
2025-08-25 18:16:59,054 sats.satellite.Scanner-1       INFO       <2700.00> Scanner-1: setting timed terminal event at 2820.0
2025-08-25 18:16:59,068 sats.satellite.Scanner-1       INFO       <2820.00> Scanner-1: timed termination at 2820.0 for action_charge
2025-08-25 18:16:59,068 data.base                      INFO       <2820.00> Total reward: {}
2025-08-25 18:16:59,069 comm.communication             INFO       <2820.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:59,069 sats.satellite.Scanner-1       INFO       <2820.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:59,071 gym                            INFO       <2820.00> Step reward: 0.0
2025-08-25 18:16:59,072 gym                            INFO       <2820.00> === STARTING STEP ===
2025-08-25 18:16:59,073 sats.satellite.Scanner-1       INFO       <2820.00> Scanner-1: action_downlink tasked for 60.0 seconds
2025-08-25 18:16:59,073 sats.satellite.Scanner-1       INFO       <2820.00> Scanner-1: setting timed terminal event at 2880.0
2025-08-25 18:16:59,080 sats.satellite.Scanner-1       INFO       <2880.00> Scanner-1: timed termination at 2880.0 for action_downlink
2025-08-25 18:16:59,081 data.base                      INFO       <2880.00> Total reward: {}
2025-08-25 18:16:59,081 comm.communication             INFO       <2880.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:59,082 sats.satellite.Scanner-1       INFO       <2880.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:59,084 gym                            INFO       <2880.00> Step reward: 0.0
2025-08-25 18:16:59,084 gym                            INFO       <2880.00> === STARTING STEP ===
2025-08-25 18:16:59,085 sats.satellite.Scanner-1       INFO       <2880.00> Scanner-1: action_charge tasked for 120.0 seconds
2025-08-25 18:16:59,085 sats.satellite.Scanner-1       INFO       <2880.00> Scanner-1: setting timed terminal event at 3000.0
2025-08-25 18:16:59,098 sats.satellite.Scanner-1       INFO       <3000.00> Scanner-1: timed termination at 3000.0 for action_charge
2025-08-25 18:16:59,099 data.base                      INFO       <3000.00> Total reward: {}
2025-08-25 18:16:59,100 comm.communication             INFO       <3000.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:59,100 sats.satellite.Scanner-1       INFO       <3000.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:59,102 gym                            INFO       <3000.00> Step reward: 0.0
2025-08-25 18:16:59,103 gym                            INFO       <3000.00> === STARTING STEP ===
2025-08-25 18:16:59,103 sats.satellite.Scanner-1       INFO       <3000.00> Scanner-1: action_charge tasked for 120.0 seconds
2025-08-25 18:16:59,104 sats.satellite.Scanner-1       INFO       <3000.00> Scanner-1: setting timed terminal event at 3120.0
2025-08-25 18:16:59,117 sats.satellite.Scanner-1       INFO       <3120.00> Scanner-1: timed termination at 3120.0 for action_charge
2025-08-25 18:16:59,117 data.base                      INFO       <3120.00> Total reward: {}
2025-08-25 18:16:59,118 comm.communication             INFO       <3120.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:59,118 sats.satellite.Scanner-1       INFO       <3120.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:59,120 gym                            INFO       <3120.00> Step reward: 0.0
2025-08-25 18:16:59,120 gym                            INFO       <3120.00> === STARTING STEP ===
2025-08-25 18:16:59,121 sats.satellite.Scanner-1       INFO       <3120.00> Scanner-1: action_downlink tasked for 60.0 seconds
2025-08-25 18:16:59,121 sats.satellite.Scanner-1       INFO       <3120.00> Scanner-1: setting timed terminal event at 3180.0
2025-08-25 18:16:59,129 sats.satellite.Scanner-1       INFO       <3180.00> Scanner-1: timed termination at 3180.0 for action_downlink
2025-08-25 18:16:59,129 data.base                      INFO       <3180.00> Total reward: {}
2025-08-25 18:16:59,130 comm.communication             INFO       <3180.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:59,130 sats.satellite.Scanner-1       INFO       <3180.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:59,132 gym                            INFO       <3180.00> Step reward: 0.0
2025-08-25 18:16:59,133 gym                            INFO       <3180.00> === STARTING STEP ===
2025-08-25 18:16:59,133 sats.satellite.Scanner-1       INFO       <3180.00> Scanner-1: action_desat tasked for 60.0 seconds
2025-08-25 18:16:59,134 sats.satellite.Scanner-1       INFO       <3180.00> Scanner-1: setting timed terminal event at 3240.0
2025-08-25 18:16:59,141 sats.satellite.Scanner-1       INFO       <3240.00> Scanner-1: timed termination at 3240.0 for action_desat
2025-08-25 18:16:59,142 data.base                      INFO       <3240.00> Total reward: {}
2025-08-25 18:16:59,142 comm.communication             INFO       <3240.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:59,143 sats.satellite.Scanner-1       INFO       <3240.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:59,145 gym                            INFO       <3240.00> Step reward: 0.0
2025-08-25 18:16:59,146 gym                            INFO       <3240.00> === STARTING STEP ===
2025-08-25 18:16:59,146 sats.satellite.Scanner-1       INFO       <3240.00> Scanner-1: action_nadir_scan tasked for 180.0 seconds
2025-08-25 18:16:59,147 sats.satellite.Scanner-1       INFO       <3240.00> Scanner-1: setting timed terminal event at 3420.0
2025-08-25 18:16:59,165 sats.satellite.Scanner-1       INFO       <3420.00> Scanner-1: timed termination at 3420.0 for action_nadir_scan
2025-08-25 18:16:59,166 data.base                      INFO       <3420.00> Total reward: {'Scanner-1': 0.004771929824561403}
2025-08-25 18:16:59,166 comm.communication             INFO       <3420.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:59,167 sats.satellite.Scanner-1       INFO       <3420.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:59,169 gym                            INFO       <3420.00> Step reward: 0.004771929824561403
2025-08-25 18:16:59,169 gym                            INFO       <3420.00> === STARTING STEP ===
2025-08-25 18:16:59,171 sats.satellite.Scanner-1       INFO       <3420.00> Scanner-1: action_nadir_scan tasked for 180.0 seconds
2025-08-25 18:16:59,171 sats.satellite.Scanner-1       INFO       <3420.00> Scanner-1: setting timed terminal event at 3600.0
2025-08-25 18:16:59,191 sats.satellite.Scanner-1       INFO       <3600.00> Scanner-1: timed termination at 3600.0 for action_nadir_scan
2025-08-25 18:16:59,192 data.base                      INFO       <3600.00> Total reward: {'Scanner-1': 0.00631578947368421}
2025-08-25 18:16:59,193 comm.communication             INFO       <3600.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:59,193 sats.satellite.Scanner-1       INFO       <3600.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:59,195 gym                            INFO       <3600.00> Step reward: 0.00631578947368421
2025-08-25 18:16:59,196 gym                            INFO       <3600.00> === STARTING STEP ===
2025-08-25 18:16:59,196 sats.satellite.Scanner-1       INFO       <3600.00> Scanner-1: action_charge tasked for 120.0 seconds
2025-08-25 18:16:59,197 sats.satellite.Scanner-1       INFO       <3600.00> Scanner-1: setting timed terminal event at 3720.0
2025-08-25 18:16:59,210 sats.satellite.Scanner-1       INFO       <3720.00> Scanner-1: timed termination at 3720.0 for action_charge
2025-08-25 18:16:59,211 data.base                      INFO       <3720.00> Total reward: {}
2025-08-25 18:16:59,211 comm.communication             INFO       <3720.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:59,211 sats.satellite.Scanner-1       INFO       <3720.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:59,213 gym                            INFO       <3720.00> Step reward: 0.0
2025-08-25 18:16:59,215 gym                            INFO       <3720.00> === STARTING STEP ===
2025-08-25 18:16:59,215 sats.satellite.Scanner-1       INFO       <3720.00> Scanner-1: action_desat tasked for 60.0 seconds
2025-08-25 18:16:59,216 sats.satellite.Scanner-1       INFO       <3720.00> Scanner-1: setting timed terminal event at 3780.0
2025-08-25 18:16:59,223 sats.satellite.Scanner-1       INFO       <3780.00> Scanner-1: timed termination at 3780.0 for action_desat
2025-08-25 18:16:59,224 data.base                      INFO       <3780.00> Total reward: {}
2025-08-25 18:16:59,224 comm.communication             INFO       <3780.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:59,225 sats.satellite.Scanner-1       INFO       <3780.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:59,227 gym                            INFO       <3780.00> Step reward: 0.0
2025-08-25 18:16:59,227 gym                            INFO       <3780.00> === STARTING STEP ===
2025-08-25 18:16:59,228 sats.satellite.Scanner-1       INFO       <3780.00> Scanner-1: action_downlink tasked for 60.0 seconds
2025-08-25 18:16:59,228 sats.satellite.Scanner-1       INFO       <3780.00> Scanner-1: setting timed terminal event at 3840.0
2025-08-25 18:16:59,235 sats.satellite.Scanner-1       INFO       <3840.00> Scanner-1: timed termination at 3840.0 for action_downlink
2025-08-25 18:16:59,236 data.base                      INFO       <3840.00> Total reward: {}
2025-08-25 18:16:59,236 comm.communication             INFO       <3840.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:59,237 sats.satellite.Scanner-1       INFO       <3840.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:59,239 gym                            INFO       <3840.00> Step reward: 0.0
2025-08-25 18:16:59,240 gym                            INFO       <3840.00> === STARTING STEP ===
2025-08-25 18:16:59,240 sats.satellite.Scanner-1       INFO       <3840.00> Scanner-1: action_nadir_scan tasked for 180.0 seconds
2025-08-25 18:16:59,240 sats.satellite.Scanner-1       INFO       <3840.00> Scanner-1: setting timed terminal event at 4020.0
2025-08-25 18:16:59,260 sats.satellite.Scanner-1       INFO       <4020.00> Scanner-1: timed termination at 4020.0 for action_nadir_scan
2025-08-25 18:16:59,260 data.base                      INFO       <4020.00> Total reward: {'Scanner-1': 0.004631578947368421}
2025-08-25 18:16:59,261 comm.communication             INFO       <4020.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:59,262 sats.satellite.Scanner-1       INFO       <4020.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:59,263 gym                            INFO       <4020.00> Step reward: 0.004631578947368421
2025-08-25 18:16:59,264 gym                            INFO       <4020.00> === STARTING STEP ===
2025-08-25 18:16:59,264 sats.satellite.Scanner-1       INFO       <4020.00> Scanner-1: action_charge tasked for 120.0 seconds
2025-08-25 18:16:59,265 sats.satellite.Scanner-1       INFO       <4020.00> Scanner-1: setting timed terminal event at 4140.0
2025-08-25 18:16:59,278 sats.satellite.Scanner-1       INFO       <4140.00> Scanner-1: timed termination at 4140.0 for action_charge
2025-08-25 18:16:59,279 data.base                      INFO       <4140.00> Total reward: {}
2025-08-25 18:16:59,279 comm.communication             INFO       <4140.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:59,280 sats.satellite.Scanner-1       INFO       <4140.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:59,281 gym                            INFO       <4140.00> Step reward: 0.0
2025-08-25 18:16:59,282 gym                            INFO       <4140.00> === STARTING STEP ===
2025-08-25 18:16:59,282 sats.satellite.Scanner-1       INFO       <4140.00> Scanner-1: action_desat tasked for 60.0 seconds
2025-08-25 18:16:59,283 sats.satellite.Scanner-1       INFO       <4140.00> Scanner-1: setting timed terminal event at 4200.0
2025-08-25 18:16:59,291 sats.satellite.Scanner-1       INFO       <4200.00> Scanner-1: timed termination at 4200.0 for action_desat
2025-08-25 18:16:59,291 data.base                      INFO       <4200.00> Total reward: {}
2025-08-25 18:16:59,291 comm.communication             INFO       <4200.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:59,292 sats.satellite.Scanner-1       INFO       <4200.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:59,294 gym                            INFO       <4200.00> Step reward: 0.0
2025-08-25 18:16:59,294 gym                            INFO       <4200.00> === STARTING STEP ===
2025-08-25 18:16:59,295 sats.satellite.Scanner-1       INFO       <4200.00> Scanner-1: action_charge tasked for 120.0 seconds
2025-08-25 18:16:59,295 sats.satellite.Scanner-1       INFO       <4200.00> Scanner-1: setting timed terminal event at 4320.0
2025-08-25 18:16:59,309 sats.satellite.Scanner-1       INFO       <4320.00> Scanner-1: timed termination at 4320.0 for action_charge
2025-08-25 18:16:59,309 data.base                      INFO       <4320.00> Total reward: {}
2025-08-25 18:16:59,310 comm.communication             INFO       <4320.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:59,310 sats.satellite.Scanner-1       INFO       <4320.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:59,312 gym                            INFO       <4320.00> Step reward: 0.0
2025-08-25 18:16:59,313 gym                            INFO       <4320.00> === STARTING STEP ===
2025-08-25 18:16:59,314 sats.satellite.Scanner-1       INFO       <4320.00> Scanner-1: action_downlink tasked for 60.0 seconds
2025-08-25 18:16:59,314 sats.satellite.Scanner-1       INFO       <4320.00> Scanner-1: setting timed terminal event at 4380.0
2025-08-25 18:16:59,322 sats.satellite.Scanner-1       INFO       <4380.00> Scanner-1: timed termination at 4380.0 for action_downlink
2025-08-25 18:16:59,322 data.base                      INFO       <4380.00> Total reward: {}
2025-08-25 18:16:59,323 comm.communication             INFO       <4380.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:59,323 sats.satellite.Scanner-1       INFO       <4380.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:59,325 gym                            INFO       <4380.00> Step reward: 0.0
2025-08-25 18:16:59,326 gym                            INFO       <4380.00> === STARTING STEP ===
2025-08-25 18:16:59,326 sats.satellite.Scanner-1       INFO       <4380.00> Scanner-1: action_nadir_scan tasked for 180.0 seconds
2025-08-25 18:16:59,327 sats.satellite.Scanner-1       INFO       <4380.00> Scanner-1: setting timed terminal event at 4560.0
2025-08-25 18:16:59,346 sats.satellite.Scanner-1       INFO       <4560.00> Scanner-1: timed termination at 4560.0 for action_nadir_scan
2025-08-25 18:16:59,347 data.base                      INFO       <4560.00> Total reward: {'Scanner-1': 0.004842105263157894}
2025-08-25 18:16:59,347 comm.communication             INFO       <4560.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:59,348 sats.satellite.Scanner-1       INFO       <4560.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:59,350 gym                            INFO       <4560.00> Step reward: 0.004842105263157894
2025-08-25 18:16:59,350 gym                            INFO       <4560.00> === STARTING STEP ===
2025-08-25 18:16:59,351 sats.satellite.Scanner-1       INFO       <4560.00> Scanner-1: action_downlink tasked for 60.0 seconds
2025-08-25 18:16:59,351 sats.satellite.Scanner-1       INFO       <4560.00> Scanner-1: setting timed terminal event at 4620.0
2025-08-25 18:16:59,359 sats.satellite.Scanner-1       INFO       <4620.00> Scanner-1: timed termination at 4620.0 for action_downlink
2025-08-25 18:16:59,359 data.base                      INFO       <4620.00> Total reward: {}
2025-08-25 18:16:59,360 comm.communication             INFO       <4620.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:59,360 sats.satellite.Scanner-1       INFO       <4620.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:59,362 gym                            INFO       <4620.00> Step reward: 0.0
2025-08-25 18:16:59,363 gym                            INFO       <4620.00> === STARTING STEP ===
2025-08-25 18:16:59,364 sats.satellite.Scanner-1       INFO       <4620.00> Scanner-1: action_desat tasked for 60.0 seconds
2025-08-25 18:16:59,364 sats.satellite.Scanner-1       INFO       <4620.00> Scanner-1: setting timed terminal event at 4680.0
2025-08-25 18:16:59,373 sats.satellite.Scanner-1       INFO       <4680.00> Scanner-1: timed termination at 4680.0 for action_desat
2025-08-25 18:16:59,373 data.base                      INFO       <4680.00> Total reward: {}
2025-08-25 18:16:59,374 comm.communication             INFO       <4680.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:59,374 sats.satellite.Scanner-1       INFO       <4680.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:59,376 gym                            INFO       <4680.00> Step reward: 0.0
2025-08-25 18:16:59,377 gym                            INFO       <4680.00> === STARTING STEP ===
2025-08-25 18:16:59,377 sats.satellite.Scanner-1       INFO       <4680.00> Scanner-1: action_desat tasked for 60.0 seconds
2025-08-25 18:16:59,378 sats.satellite.Scanner-1       INFO       <4680.00> Scanner-1: setting timed terminal event at 4740.0
2025-08-25 18:16:59,387 sats.satellite.Scanner-1       INFO       <4740.00> Scanner-1: timed termination at 4740.0 for action_desat
2025-08-25 18:16:59,387 data.base                      INFO       <4740.00> Total reward: {}
2025-08-25 18:16:59,388 comm.communication             INFO       <4740.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:59,388 sats.satellite.Scanner-1       INFO       <4740.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:59,390 gym                            INFO       <4740.00> Step reward: 0.0
2025-08-25 18:16:59,391 gym                            INFO       <4740.00> === STARTING STEP ===
2025-08-25 18:16:59,391 sats.satellite.Scanner-1       INFO       <4740.00> Scanner-1: action_charge tasked for 120.0 seconds
2025-08-25 18:16:59,392 sats.satellite.Scanner-1       INFO       <4740.00> Scanner-1: setting timed terminal event at 4860.0
2025-08-25 18:16:59,407 sats.satellite.Scanner-1       INFO       <4860.00> Scanner-1: timed termination at 4860.0 for action_charge
2025-08-25 18:16:59,407 data.base                      INFO       <4860.00> Total reward: {}
2025-08-25 18:16:59,408 comm.communication             INFO       <4860.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:59,408 sats.satellite.Scanner-1       INFO       <4860.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:59,410 gym                            INFO       <4860.00> Step reward: 0.0
2025-08-25 18:16:59,411 gym                            INFO       <4860.00> === STARTING STEP ===
2025-08-25 18:16:59,411 sats.satellite.Scanner-1       INFO       <4860.00> Scanner-1: action_downlink tasked for 60.0 seconds
2025-08-25 18:16:59,411 sats.satellite.Scanner-1       INFO       <4860.00> Scanner-1: setting timed terminal event at 4920.0
2025-08-25 18:16:59,420 sats.satellite.Scanner-1       INFO       <4920.00> Scanner-1: timed termination at 4920.0 for action_downlink
2025-08-25 18:16:59,420 data.base                      INFO       <4920.00> Total reward: {}
2025-08-25 18:16:59,421 comm.communication             INFO       <4920.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:59,421 sats.satellite.Scanner-1       INFO       <4920.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:59,423 gym                            INFO       <4920.00> Step reward: 0.0
2025-08-25 18:16:59,424 gym                            INFO       <4920.00> === STARTING STEP ===
2025-08-25 18:16:59,424 sats.satellite.Scanner-1       INFO       <4920.00> Scanner-1: action_desat tasked for 60.0 seconds
2025-08-25 18:16:59,424 sats.satellite.Scanner-1       INFO       <4920.00> Scanner-1: setting timed terminal event at 4980.0
2025-08-25 18:16:59,432 sats.satellite.Scanner-1       INFO       <4980.00> Scanner-1: timed termination at 4980.0 for action_desat
2025-08-25 18:16:59,433 data.base                      INFO       <4980.00> Total reward: {}
2025-08-25 18:16:59,433 comm.communication             INFO       <4980.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:59,434 sats.satellite.Scanner-1       INFO       <4980.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:59,436 gym                            INFO       <4980.00> Step reward: 0.0
2025-08-25 18:16:59,436 gym                            INFO       <4980.00> === STARTING STEP ===
2025-08-25 18:16:59,437 sats.satellite.Scanner-1       INFO       <4980.00> Scanner-1: action_desat tasked for 60.0 seconds
2025-08-25 18:16:59,437 sats.satellite.Scanner-1       INFO       <4980.00> Scanner-1: setting timed terminal event at 5040.0
2025-08-25 18:16:59,445 sats.satellite.Scanner-1       INFO       <5040.00> Scanner-1: timed termination at 5040.0 for action_desat
2025-08-25 18:16:59,446 data.base                      INFO       <5040.00> Total reward: {}
2025-08-25 18:16:59,446 comm.communication             INFO       <5040.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:59,447 sats.satellite.Scanner-1       INFO       <5040.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:59,448 gym                            INFO       <5040.00> Step reward: 0.0
2025-08-25 18:16:59,449 gym                            INFO       <5040.00> === STARTING STEP ===
2025-08-25 18:16:59,449 sats.satellite.Scanner-1       INFO       <5040.00> Scanner-1: action_desat tasked for 60.0 seconds
2025-08-25 18:16:59,450 sats.satellite.Scanner-1       INFO       <5040.00> Scanner-1: setting timed terminal event at 5100.0
2025-08-25 18:16:59,458 sats.satellite.Scanner-1       INFO       <5100.00> Scanner-1: timed termination at 5100.0 for action_desat
2025-08-25 18:16:59,458 data.base                      INFO       <5100.00> Total reward: {}
2025-08-25 18:16:59,459 comm.communication             INFO       <5100.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:59,459 sats.satellite.Scanner-1       INFO       <5100.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:59,461 gym                            INFO       <5100.00> Step reward: 0.0
2025-08-25 18:16:59,462 gym                            INFO       <5100.00> === STARTING STEP ===
2025-08-25 18:16:59,462 sats.satellite.Scanner-1       INFO       <5100.00> Scanner-1: action_charge tasked for 120.0 seconds
2025-08-25 18:16:59,463 sats.satellite.Scanner-1       INFO       <5100.00> Scanner-1: setting timed terminal event at 5220.0
2025-08-25 18:16:59,477 sats.satellite.Scanner-1       INFO       <5220.00> Scanner-1: timed termination at 5220.0 for action_charge
2025-08-25 18:16:59,478 data.base                      INFO       <5220.00> Total reward: {}
2025-08-25 18:16:59,478 comm.communication             INFO       <5220.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:59,479 sats.satellite.Scanner-1       INFO       <5220.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:59,480 gym                            INFO       <5220.00> Step reward: 0.0
2025-08-25 18:16:59,481 gym                            INFO       <5220.00> === STARTING STEP ===
2025-08-25 18:16:59,481 sats.satellite.Scanner-1       INFO       <5220.00> Scanner-1: action_downlink tasked for 60.0 seconds
2025-08-25 18:16:59,482 sats.satellite.Scanner-1       INFO       <5220.00> Scanner-1: setting timed terminal event at 5280.0
2025-08-25 18:16:59,490 sats.satellite.Scanner-1       INFO       <5280.00> Scanner-1: timed termination at 5280.0 for action_downlink
2025-08-25 18:16:59,490 data.base                      INFO       <5280.00> Total reward: {}
2025-08-25 18:16:59,491 comm.communication             INFO       <5280.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:59,491 sats.satellite.Scanner-1       INFO       <5280.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:59,493 gym                            INFO       <5280.00> Step reward: 0.0
2025-08-25 18:16:59,494 gym                            INFO       <5280.00> === STARTING STEP ===
2025-08-25 18:16:59,495 sats.satellite.Scanner-1       INFO       <5280.00> Scanner-1: action_nadir_scan tasked for 180.0 seconds
2025-08-25 18:16:59,495 sats.satellite.Scanner-1       INFO       <5280.00> Scanner-1: setting timed terminal event at 5460.0
2025-08-25 18:16:59,514 sats.satellite.Scanner-1       INFO       <5460.00> Scanner-1: timed termination at 5460.0 for action_nadir_scan
2025-08-25 18:16:59,515 data.base                      INFO       <5460.00> Total reward: {'Scanner-1': 0.005017543859649122}
2025-08-25 18:16:59,515 comm.communication             INFO       <5460.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:59,516 sats.satellite.Scanner-1       INFO       <5460.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:59,518 gym                            INFO       <5460.00> Step reward: 0.005017543859649122
2025-08-25 18:16:59,518 gym                            INFO       <5460.00> === STARTING STEP ===
2025-08-25 18:16:59,519 sats.satellite.Scanner-1       INFO       <5460.00> Scanner-1: action_nadir_scan tasked for 180.0 seconds
2025-08-25 18:16:59,519 sats.satellite.Scanner-1       INFO       <5460.00> Scanner-1: setting timed terminal event at 5640.0
2025-08-25 18:16:59,541 sats.satellite.Scanner-1       INFO       <5640.00> Scanner-1: timed termination at 5640.0 for action_nadir_scan
2025-08-25 18:16:59,542 data.base                      INFO       <5640.00> Total reward: {'Scanner-1': 0.00631578947368421}
2025-08-25 18:16:59,542 comm.communication             INFO       <5640.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:59,543 sats.satellite.Scanner-1       INFO       <5640.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:59,544 gym                            INFO       <5640.00> Step reward: 0.00631578947368421
2025-08-25 18:16:59,545 gym                            INFO       <5640.00> === STARTING STEP ===
2025-08-25 18:16:59,546 sats.satellite.Scanner-1       INFO       <5640.00> Scanner-1: action_desat tasked for 60.0 seconds
2025-08-25 18:16:59,546 sats.satellite.Scanner-1       INFO       <5640.00> Scanner-1: setting timed terminal event at 5700.0
2025-08-25 18:16:59,554 sats.satellite.Scanner-1       INFO       <5700.00> Scanner-1: timed termination at 5700.0 for action_desat
2025-08-25 18:16:59,555 data.base                      INFO       <5700.00> Total reward: {}
2025-08-25 18:16:59,555 comm.communication             INFO       <5700.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:59,556 sats.satellite.Scanner-1       INFO       <5700.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:59,558 gym                            INFO       <5700.00> Step reward: 0.0
2025-08-25 18:16:59,558 gym                            INFO       <5700.00> === STARTING STEP ===
2025-08-25 18:16:59,559 sats.satellite.Scanner-1       INFO       <5700.00> Scanner-1: action_nadir_scan tasked for 180.0 seconds
2025-08-25 18:16:59,559 sats.satellite.Scanner-1       INFO       <5700.00> Scanner-1: setting timed terminal event at 5880.0
2025-08-25 18:16:59,578 sats.satellite.Scanner-1       INFO       <5880.00> Scanner-1: timed termination at 5880.0 for action_nadir_scan
2025-08-25 18:16:59,579 data.base                      INFO       <5880.00> Total reward: {'Scanner-1': 0.00487719298245614}
2025-08-25 18:16:59,580 comm.communication             INFO       <5880.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:59,580 sats.satellite.Scanner-1       INFO       <5880.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:59,582 gym                            INFO       <5880.00> Step reward: 0.00487719298245614
2025-08-25 18:16:59,583 gym                            INFO       <5880.00> === STARTING STEP ===
2025-08-25 18:16:59,583 sats.satellite.Scanner-1       INFO       <5880.00> Scanner-1: action_charge tasked for 120.0 seconds
2025-08-25 18:16:59,584 sats.satellite.Scanner-1       INFO       <5880.00> Scanner-1: setting timed terminal event at 6000.0
2025-08-25 18:16:59,597 sats.satellite.Scanner-1       INFO       <6000.00> Scanner-1: timed termination at 6000.0 for action_charge
2025-08-25 18:16:59,598 data.base                      INFO       <6000.00> Total reward: {}
2025-08-25 18:16:59,598 comm.communication             INFO       <6000.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:59,598 sats.satellite.Scanner-1       INFO       <6000.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:59,600 gym                            INFO       <6000.00> Step reward: 0.0
2025-08-25 18:16:59,601 gym                            INFO       <6000.00> === STARTING STEP ===
2025-08-25 18:16:59,602 sats.satellite.Scanner-1       INFO       <6000.00> Scanner-1: action_charge tasked for 120.0 seconds
2025-08-25 18:16:59,602 sats.satellite.Scanner-1       INFO       <6000.00> Scanner-1: setting timed terminal event at 6120.0
2025-08-25 18:16:59,615 sats.satellite.Scanner-1       INFO       <6120.00> Scanner-1: timed termination at 6120.0 for action_charge
2025-08-25 18:16:59,616 data.base                      INFO       <6120.00> Total reward: {}
2025-08-25 18:16:59,616 comm.communication             INFO       <6120.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:59,617 sats.satellite.Scanner-1       INFO       <6120.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:59,618 gym                            INFO       <6120.00> Step reward: 0.0
2025-08-25 18:16:59,619 gym                            INFO       <6120.00> === STARTING STEP ===
2025-08-25 18:16:59,619 sats.satellite.Scanner-1       INFO       <6120.00> Scanner-1: action_nadir_scan tasked for 180.0 seconds
2025-08-25 18:16:59,620 sats.satellite.Scanner-1       INFO       <6120.00> Scanner-1: setting timed terminal event at 6300.0
2025-08-25 18:16:59,639 sats.satellite.Scanner-1       INFO       <6300.00> Scanner-1: timed termination at 6300.0 for action_nadir_scan
2025-08-25 18:16:59,639 data.base                      INFO       <6300.00> Total reward: {'Scanner-1': 0.004912280701754385}
2025-08-25 18:16:59,640 comm.communication             INFO       <6300.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:59,640 sats.satellite.Scanner-1       INFO       <6300.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:59,642 gym                            INFO       <6300.00> Step reward: 0.004912280701754385
2025-08-25 18:16:59,643 gym                            INFO       <6300.00> === STARTING STEP ===
2025-08-25 18:16:59,643 sats.satellite.Scanner-1       INFO       <6300.00> Scanner-1: action_charge tasked for 120.0 seconds
2025-08-25 18:16:59,644 sats.satellite.Scanner-1       INFO       <6300.00> Scanner-1: setting timed terminal event at 6420.0
2025-08-25 18:16:59,657 sats.satellite.Scanner-1       INFO       <6420.00> Scanner-1: timed termination at 6420.0 for action_charge
2025-08-25 18:16:59,657 data.base                      INFO       <6420.00> Total reward: {}
2025-08-25 18:16:59,658 comm.communication             INFO       <6420.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:59,658 sats.satellite.Scanner-1       INFO       <6420.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:59,660 gym                            INFO       <6420.00> Step reward: 0.0
2025-08-25 18:16:59,660 gym                            INFO       <6420.00> === STARTING STEP ===
2025-08-25 18:16:59,661 sats.satellite.Scanner-1       INFO       <6420.00> Scanner-1: action_charge tasked for 120.0 seconds
2025-08-25 18:16:59,661 sats.satellite.Scanner-1       INFO       <6420.00> Scanner-1: setting timed terminal event at 6540.0
2025-08-25 18:16:59,675 sats.satellite.Scanner-1       INFO       <6540.00> Scanner-1: timed termination at 6540.0 for action_charge
2025-08-25 18:16:59,675 data.base                      INFO       <6540.00> Total reward: {}
2025-08-25 18:16:59,676 comm.communication             INFO       <6540.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:59,677 sats.satellite.Scanner-1       INFO       <6540.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:59,679 gym                            INFO       <6540.00> Step reward: 0.0
2025-08-25 18:16:59,679 gym                            INFO       <6540.00> === STARTING STEP ===
2025-08-25 18:16:59,680 sats.satellite.Scanner-1       INFO       <6540.00> Scanner-1: action_nadir_scan tasked for 180.0 seconds
2025-08-25 18:16:59,680 sats.satellite.Scanner-1       INFO       <6540.00> Scanner-1: setting timed terminal event at 6720.0
2025-08-25 18:16:59,702 sats.satellite.Scanner-1       INFO       <6720.00> Scanner-1: timed termination at 6720.0 for action_nadir_scan
2025-08-25 18:16:59,703 data.base                      INFO       <6720.00> Total reward: {'Scanner-1': 0.00512280701754386}
2025-08-25 18:16:59,704 comm.communication             INFO       <6720.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:59,704 sats.satellite.Scanner-1       INFO       <6720.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:59,706 gym                            INFO       <6720.00> Step reward: 0.00512280701754386
2025-08-25 18:16:59,706 gym                            INFO       <6720.00> === STARTING STEP ===
2025-08-25 18:16:59,707 sats.satellite.Scanner-1       INFO       <6720.00> Scanner-1: action_downlink tasked for 60.0 seconds
2025-08-25 18:16:59,708 sats.satellite.Scanner-1       INFO       <6720.00> Scanner-1: setting timed terminal event at 6780.0
2025-08-25 18:16:59,715 sats.satellite.Scanner-1       INFO       <6780.00> Scanner-1: timed termination at 6780.0 for action_downlink
2025-08-25 18:16:59,715 data.base                      INFO       <6780.00> Total reward: {}
2025-08-25 18:16:59,716 comm.communication             INFO       <6780.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:59,716 sats.satellite.Scanner-1       INFO       <6780.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:59,718 gym                            INFO       <6780.00> Step reward: 0.0
2025-08-25 18:16:59,719 gym                            INFO       <6780.00> === STARTING STEP ===
2025-08-25 18:16:59,719 sats.satellite.Scanner-1       INFO       <6780.00> Scanner-1: action_downlink tasked for 60.0 seconds
2025-08-25 18:16:59,719 sats.satellite.Scanner-1       INFO       <6780.00> Scanner-1: setting timed terminal event at 6840.0
2025-08-25 18:16:59,727 sats.satellite.Scanner-1       INFO       <6840.00> Scanner-1: timed termination at 6840.0 for action_downlink
2025-08-25 18:16:59,727 data.base                      INFO       <6840.00> Total reward: {}
2025-08-25 18:16:59,728 comm.communication             INFO       <6840.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:59,728 sats.satellite.Scanner-1       INFO       <6840.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:59,730 gym                            INFO       <6840.00> Step reward: 0.0
2025-08-25 18:16:59,731 gym                            INFO       <6840.00> === STARTING STEP ===
2025-08-25 18:16:59,732 sats.satellite.Scanner-1       INFO       <6840.00> Scanner-1: action_nadir_scan tasked for 180.0 seconds
2025-08-25 18:16:59,732 sats.satellite.Scanner-1       INFO       <6840.00> Scanner-1: setting timed terminal event at 7020.0
2025-08-25 18:16:59,751 sats.satellite.Scanner-1       INFO       <7020.00> Scanner-1: timed termination at 7020.0 for action_nadir_scan
2025-08-25 18:16:59,751 data.base                      INFO       <7020.00> Total reward: {'Scanner-1': 0.004912280701754385}
2025-08-25 18:16:59,752 comm.communication             INFO       <7020.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:59,753 sats.satellite.Scanner-1       INFO       <7020.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:59,754 gym                            INFO       <7020.00> Step reward: 0.004912280701754385
2025-08-25 18:16:59,755 gym                            INFO       <7020.00> === STARTING STEP ===
2025-08-25 18:16:59,755 sats.satellite.Scanner-1       INFO       <7020.00> Scanner-1: action_desat tasked for 60.0 seconds
2025-08-25 18:16:59,756 sats.satellite.Scanner-1       INFO       <7020.00> Scanner-1: setting timed terminal event at 7080.0
2025-08-25 18:16:59,763 sats.satellite.Scanner-1       INFO       <7080.00> Scanner-1: timed termination at 7080.0 for action_desat
2025-08-25 18:16:59,764 data.base                      INFO       <7080.00> Total reward: {}
2025-08-25 18:16:59,765 comm.communication             INFO       <7080.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:59,765 sats.satellite.Scanner-1       INFO       <7080.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:59,767 gym                            INFO       <7080.00> Step reward: 0.0
2025-08-25 18:16:59,768 gym                            INFO       <7080.00> === STARTING STEP ===
2025-08-25 18:16:59,768 sats.satellite.Scanner-1       INFO       <7080.00> Scanner-1: action_downlink tasked for 60.0 seconds
2025-08-25 18:16:59,768 sats.satellite.Scanner-1       INFO       <7080.00> Scanner-1: setting timed terminal event at 7140.0
2025-08-25 18:16:59,776 sats.satellite.Scanner-1       INFO       <7140.00> Scanner-1: timed termination at 7140.0 for action_downlink
2025-08-25 18:16:59,777 data.base                      INFO       <7140.00> Total reward: {}
2025-08-25 18:16:59,777 comm.communication             INFO       <7140.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:59,778 sats.satellite.Scanner-1       INFO       <7140.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:59,779 gym                            INFO       <7140.00> Step reward: 0.0
2025-08-25 18:16:59,780 gym                            INFO       <7140.00> === STARTING STEP ===
2025-08-25 18:16:59,781 sats.satellite.Scanner-1       INFO       <7140.00> Scanner-1: action_desat tasked for 60.0 seconds
2025-08-25 18:16:59,781 sats.satellite.Scanner-1       INFO       <7140.00> Scanner-1: setting timed terminal event at 7200.0
2025-08-25 18:16:59,789 sats.satellite.Scanner-1       INFO       <7200.00> Scanner-1: timed termination at 7200.0 for action_desat
2025-08-25 18:16:59,789 data.base                      INFO       <7200.00> Total reward: {}
2025-08-25 18:16:59,789 comm.communication             INFO       <7200.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:59,790 sats.satellite.Scanner-1       INFO       <7200.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:59,791 gym                            INFO       <7200.00> Step reward: 0.0
2025-08-25 18:16:59,792 gym                            INFO       <7200.00> === STARTING STEP ===
2025-08-25 18:16:59,792 sats.satellite.Scanner-1       INFO       <7200.00> Scanner-1: action_desat tasked for 60.0 seconds
2025-08-25 18:16:59,793 sats.satellite.Scanner-1       INFO       <7200.00> Scanner-1: setting timed terminal event at 7260.0
2025-08-25 18:16:59,801 sats.satellite.Scanner-1       INFO       <7260.00> Scanner-1: timed termination at 7260.0 for action_desat
2025-08-25 18:16:59,801 data.base                      INFO       <7260.00> Total reward: {}
2025-08-25 18:16:59,802 comm.communication             INFO       <7260.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:59,803 sats.satellite.Scanner-1       INFO       <7260.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:59,804 gym                            INFO       <7260.00> Step reward: 0.0
2025-08-25 18:16:59,805 gym                            INFO       <7260.00> === STARTING STEP ===
2025-08-25 18:16:59,806 sats.satellite.Scanner-1       INFO       <7260.00> Scanner-1: action_charge tasked for 120.0 seconds
2025-08-25 18:16:59,806 sats.satellite.Scanner-1       INFO       <7260.00> Scanner-1: setting timed terminal event at 7380.0
2025-08-25 18:16:59,821 sats.satellite.Scanner-1       INFO       <7380.00> Scanner-1: timed termination at 7380.0 for action_charge
2025-08-25 18:16:59,822 data.base                      INFO       <7380.00> Total reward: {}
2025-08-25 18:16:59,822 comm.communication             INFO       <7380.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:59,822 sats.satellite.Scanner-1       INFO       <7380.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:59,824 gym                            INFO       <7380.00> Step reward: 0.0
2025-08-25 18:16:59,825 gym                            INFO       <7380.00> === STARTING STEP ===
2025-08-25 18:16:59,825 sats.satellite.Scanner-1       INFO       <7380.00> Scanner-1: action_downlink tasked for 60.0 seconds
2025-08-25 18:16:59,826 sats.satellite.Scanner-1       INFO       <7380.00> Scanner-1: setting timed terminal event at 7440.0
2025-08-25 18:16:59,833 sats.satellite.Scanner-1       INFO       <7440.00> Scanner-1: timed termination at 7440.0 for action_downlink
2025-08-25 18:16:59,834 data.base                      INFO       <7440.00> Total reward: {}
2025-08-25 18:16:59,834 comm.communication             INFO       <7440.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:59,835 sats.satellite.Scanner-1       INFO       <7440.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:59,837 gym                            INFO       <7440.00> Step reward: 0.0
2025-08-25 18:16:59,837 gym                            INFO       <7440.00> === STARTING STEP ===
2025-08-25 18:16:59,838 sats.satellite.Scanner-1       INFO       <7440.00> Scanner-1: action_nadir_scan tasked for 180.0 seconds
2025-08-25 18:16:59,838 sats.satellite.Scanner-1       INFO       <7440.00> Scanner-1: setting timed terminal event at 7620.0
2025-08-25 18:16:59,857 sats.satellite.Scanner-1       INFO       <7620.00> Scanner-1: timed termination at 7620.0 for action_nadir_scan
2025-08-25 18:16:59,858 data.base                      INFO       <7620.00> Total reward: {'Scanner-1': 0.004631578947368421}
2025-08-25 18:16:59,858 comm.communication             INFO       <7620.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:59,859 sats.satellite.Scanner-1       INFO       <7620.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:59,860 gym                            INFO       <7620.00> Step reward: 0.004631578947368421
2025-08-25 18:16:59,861 gym                            INFO       <7620.00> === STARTING STEP ===
2025-08-25 18:16:59,861 sats.satellite.Scanner-1       INFO       <7620.00> Scanner-1: action_charge tasked for 120.0 seconds
2025-08-25 18:16:59,862 sats.satellite.Scanner-1       INFO       <7620.00> Scanner-1: setting timed terminal event at 7740.0
2025-08-25 18:16:59,875 sats.satellite.Scanner-1       INFO       <7740.00> Scanner-1: timed termination at 7740.0 for action_charge
2025-08-25 18:16:59,875 data.base                      INFO       <7740.00> Total reward: {}
2025-08-25 18:16:59,876 comm.communication             INFO       <7740.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:59,876 sats.satellite.Scanner-1       INFO       <7740.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:59,878 gym                            INFO       <7740.00> Step reward: 0.0
2025-08-25 18:16:59,879 gym                            INFO       <7740.00> === STARTING STEP ===
2025-08-25 18:16:59,880 sats.satellite.Scanner-1       INFO       <7740.00> Scanner-1: action_desat tasked for 60.0 seconds
2025-08-25 18:16:59,880 sats.satellite.Scanner-1       INFO       <7740.00> Scanner-1: setting timed terminal event at 7800.0
2025-08-25 18:16:59,887 sats.satellite.Scanner-1       INFO       <7800.00> Scanner-1: timed termination at 7800.0 for action_desat
2025-08-25 18:16:59,888 data.base                      INFO       <7800.00> Total reward: {}
2025-08-25 18:16:59,888 comm.communication             INFO       <7800.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:59,889 sats.satellite.Scanner-1       INFO       <7800.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:59,891 gym                            INFO       <7800.00> Step reward: 0.0
2025-08-25 18:16:59,891 gym                            INFO       <7800.00> === STARTING STEP ===
2025-08-25 18:16:59,892 sats.satellite.Scanner-1       INFO       <7800.00> Scanner-1: action_desat tasked for 60.0 seconds
2025-08-25 18:16:59,893 sats.satellite.Scanner-1       INFO       <7800.00> Scanner-1: setting timed terminal event at 7860.0
2025-08-25 18:16:59,900 sats.satellite.Scanner-1       INFO       <7860.00> Scanner-1: timed termination at 7860.0 for action_desat
2025-08-25 18:16:59,900 data.base                      INFO       <7860.00> Total reward: {}
2025-08-25 18:16:59,901 comm.communication             INFO       <7860.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:59,901 sats.satellite.Scanner-1       INFO       <7860.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:59,903 gym                            INFO       <7860.00> Step reward: 0.0
2025-08-25 18:16:59,904 gym                            INFO       <7860.00> === STARTING STEP ===
2025-08-25 18:16:59,904 sats.satellite.Scanner-1       INFO       <7860.00> Scanner-1: action_downlink tasked for 60.0 seconds
2025-08-25 18:16:59,905 sats.satellite.Scanner-1       INFO       <7860.00> Scanner-1: setting timed terminal event at 7920.0
2025-08-25 18:16:59,912 sats.satellite.Scanner-1       INFO       <7920.00> Scanner-1: timed termination at 7920.0 for action_downlink
2025-08-25 18:16:59,913 data.base                      INFO       <7920.00> Total reward: {}
2025-08-25 18:16:59,913 comm.communication             INFO       <7920.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:59,914 sats.satellite.Scanner-1       INFO       <7920.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:59,916 gym                            INFO       <7920.00> Step reward: 0.0
2025-08-25 18:16:59,916 gym                            INFO       <7920.00> === STARTING STEP ===
2025-08-25 18:16:59,917 sats.satellite.Scanner-1       INFO       <7920.00> Scanner-1: action_nadir_scan tasked for 180.0 seconds
2025-08-25 18:16:59,917 sats.satellite.Scanner-1       INFO       <7920.00> Scanner-1: setting timed terminal event at 8100.0
2025-08-25 18:16:59,936 sats.satellite.Scanner-1       INFO       <8100.00> Scanner-1: timed termination at 8100.0 for action_nadir_scan
2025-08-25 18:16:59,937 data.base                      INFO       <8100.00> Total reward: {'Scanner-1': 0.004912280701754385}
2025-08-25 18:16:59,937 comm.communication             INFO       <8100.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:59,938 sats.satellite.Scanner-1       INFO       <8100.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:59,940 gym                            INFO       <8100.00> Step reward: 0.004912280701754385
2025-08-25 18:16:59,941 gym                            INFO       <8100.00> === STARTING STEP ===
2025-08-25 18:16:59,941 sats.satellite.Scanner-1       INFO       <8100.00> Scanner-1: action_nadir_scan tasked for 180.0 seconds
2025-08-25 18:16:59,942 sats.satellite.Scanner-1       INFO       <8100.00> Scanner-1: setting timed terminal event at 8280.0
2025-08-25 18:16:59,964 sats.satellite.Scanner-1       INFO       <8280.00> Scanner-1: timed termination at 8280.0 for action_nadir_scan
2025-08-25 18:16:59,964 data.base                      INFO       <8280.00> Total reward: {'Scanner-1': 0.00631578947368421}
2025-08-25 18:16:59,965 comm.communication             INFO       <8280.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:59,966 sats.satellite.Scanner-1       INFO       <8280.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:59,968 gym                            INFO       <8280.00> Step reward: 0.00631578947368421
2025-08-25 18:16:59,968 gym                            INFO       <8280.00> === STARTING STEP ===
2025-08-25 18:16:59,969 sats.satellite.Scanner-1       INFO       <8280.00> Scanner-1: action_desat tasked for 60.0 seconds
2025-08-25 18:16:59,970 sats.satellite.Scanner-1       INFO       <8280.00> Scanner-1: setting timed terminal event at 8340.0
2025-08-25 18:16:59,977 sats.satellite.Scanner-1       INFO       <8340.00> Scanner-1: timed termination at 8340.0 for action_desat
2025-08-25 18:16:59,978 data.base                      INFO       <8340.00> Total reward: {}
2025-08-25 18:16:59,978 comm.communication             INFO       <8340.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:59,978 sats.satellite.Scanner-1       INFO       <8340.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:59,980 gym                            INFO       <8340.00> Step reward: 0.0
2025-08-25 18:16:59,981 gym                            INFO       <8340.00> === STARTING STEP ===
2025-08-25 18:16:59,981 sats.satellite.Scanner-1       INFO       <8340.00> Scanner-1: action_downlink tasked for 60.0 seconds
2025-08-25 18:16:59,982 sats.satellite.Scanner-1       INFO       <8340.00> Scanner-1: setting timed terminal event at 8400.0
2025-08-25 18:16:59,990 sats.satellite.Scanner-1       INFO       <8400.00> Scanner-1: timed termination at 8400.0 for action_downlink
2025-08-25 18:16:59,990 data.base                      INFO       <8400.00> Total reward: {}
2025-08-25 18:16:59,991 comm.communication             INFO       <8400.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:16:59,991 sats.satellite.Scanner-1       INFO       <8400.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:16:59,993 gym                            INFO       <8400.00> Step reward: 0.0
2025-08-25 18:16:59,994 gym                            INFO       <8400.00> === STARTING STEP ===
2025-08-25 18:16:59,994 sats.satellite.Scanner-1       INFO       <8400.00> Scanner-1: action_desat tasked for 60.0 seconds
2025-08-25 18:16:59,994 sats.satellite.Scanner-1       INFO       <8400.00> Scanner-1: setting timed terminal event at 8460.0
2025-08-25 18:17:00,002 sats.satellite.Scanner-1       INFO       <8460.00> Scanner-1: timed termination at 8460.0 for action_desat
2025-08-25 18:17:00,003 data.base                      INFO       <8460.00> Total reward: {}
2025-08-25 18:17:00,003 comm.communication             INFO       <8460.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:17:00,004 sats.satellite.Scanner-1       INFO       <8460.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:17:00,006 gym                            INFO       <8460.00> Step reward: 0.0
2025-08-25 18:17:00,006 gym                            INFO       <8460.00> === STARTING STEP ===
2025-08-25 18:17:00,007 sats.satellite.Scanner-1       INFO       <8460.00> Scanner-1: action_charge tasked for 120.0 seconds
2025-08-25 18:17:00,007 sats.satellite.Scanner-1       INFO       <8460.00> Scanner-1: setting timed terminal event at 8580.0
2025-08-25 18:17:00,020 sats.satellite.Scanner-1       INFO       <8580.00> Scanner-1: timed termination at 8580.0 for action_charge
2025-08-25 18:17:00,021 data.base                      INFO       <8580.00> Total reward: {}
2025-08-25 18:17:00,021 comm.communication             INFO       <8580.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:17:00,022 sats.satellite.Scanner-1       INFO       <8580.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:17:00,024 gym                            INFO       <8580.00> Step reward: 0.0
2025-08-25 18:17:00,025 gym                            INFO       <8580.00> === STARTING STEP ===
2025-08-25 18:17:00,025 sats.satellite.Scanner-1       INFO       <8580.00> Scanner-1: action_desat tasked for 60.0 seconds
2025-08-25 18:17:00,026 sats.satellite.Scanner-1       INFO       <8580.00> Scanner-1: setting timed terminal event at 8640.0
2025-08-25 18:17:00,034 sats.satellite.Scanner-1       INFO       <8640.00> Scanner-1: timed termination at 8640.0 for action_desat
2025-08-25 18:17:00,035 data.base                      INFO       <8640.00> Total reward: {}
2025-08-25 18:17:00,035 comm.communication             INFO       <8640.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:17:00,036 sats.satellite.Scanner-1       INFO       <8640.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:17:00,037 gym                            INFO       <8640.00> Step reward: 0.0
2025-08-25 18:17:00,038 gym                            INFO       <8640.00> === STARTING STEP ===
2025-08-25 18:17:00,038 sats.satellite.Scanner-1       INFO       <8640.00> Scanner-1: action_downlink tasked for 60.0 seconds
2025-08-25 18:17:00,039 sats.satellite.Scanner-1       INFO       <8640.00> Scanner-1: setting timed terminal event at 8700.0
2025-08-25 18:17:00,048 sats.satellite.Scanner-1       INFO       <8700.00> Scanner-1: timed termination at 8700.0 for action_downlink
2025-08-25 18:17:00,048 data.base                      INFO       <8700.00> Total reward: {}
2025-08-25 18:17:00,049 comm.communication             INFO       <8700.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:17:00,050 sats.satellite.Scanner-1       INFO       <8700.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:17:00,051 gym                            INFO       <8700.00> Step reward: 0.0
2025-08-25 18:17:00,052 gym                            INFO       <8700.00> === STARTING STEP ===
2025-08-25 18:17:00,052 sats.satellite.Scanner-1       INFO       <8700.00> Scanner-1: action_charge tasked for 120.0 seconds
2025-08-25 18:17:00,053 sats.satellite.Scanner-1       INFO       <8700.00> Scanner-1: setting timed terminal event at 8820.0
2025-08-25 18:17:00,066 sats.satellite.Scanner-1       INFO       <8820.00> Scanner-1: timed termination at 8820.0 for action_charge
2025-08-25 18:17:00,067 data.base                      INFO       <8820.00> Total reward: {}
2025-08-25 18:17:00,067 comm.communication             INFO       <8820.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:17:00,067 sats.satellite.Scanner-1       INFO       <8820.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:17:00,069 gym                            INFO       <8820.00> Step reward: 0.0
2025-08-25 18:17:00,070 gym                            INFO       <8820.00> === STARTING STEP ===
2025-08-25 18:17:00,071 sats.satellite.Scanner-1       INFO       <8820.00> Scanner-1: action_charge tasked for 120.0 seconds
2025-08-25 18:17:00,071 sats.satellite.Scanner-1       INFO       <8820.00> Scanner-1: setting timed terminal event at 8940.0
2025-08-25 18:17:00,084 sats.satellite.Scanner-1       INFO       <8940.00> Scanner-1: timed termination at 8940.0 for action_charge
2025-08-25 18:17:00,085 data.base                      INFO       <8940.00> Total reward: {}
2025-08-25 18:17:00,085 comm.communication             INFO       <8940.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:17:00,085 sats.satellite.Scanner-1       INFO       <8940.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:17:00,087 gym                            INFO       <8940.00> Step reward: 0.0
2025-08-25 18:17:00,088 gym                            INFO       <8940.00> === STARTING STEP ===
2025-08-25 18:17:00,088 sats.satellite.Scanner-1       INFO       <8940.00> Scanner-1: action_nadir_scan tasked for 180.0 seconds
2025-08-25 18:17:00,089 sats.satellite.Scanner-1       INFO       <8940.00> Scanner-1: setting timed terminal event at 9120.0
2025-08-25 18:17:00,108 sats.satellite.Scanner-1       INFO       <9120.00> Scanner-1: timed termination at 9120.0 for action_nadir_scan
2025-08-25 18:17:00,109 data.base                      INFO       <9120.00> Total reward: {'Scanner-1': 0.004947368421052631}
2025-08-25 18:17:00,110 comm.communication             INFO       <9120.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:17:00,110 sats.satellite.Scanner-1       INFO       <9120.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:17:00,112 gym                            INFO       <9120.00> Step reward: 0.004947368421052631
2025-08-25 18:17:00,113 gym                            INFO       <9120.00> === STARTING STEP ===
2025-08-25 18:17:00,113 sats.satellite.Scanner-1       INFO       <9120.00> Scanner-1: action_nadir_scan tasked for 180.0 seconds
2025-08-25 18:17:00,113 sats.satellite.Scanner-1       INFO       <9120.00> Scanner-1: setting timed terminal event at 9300.0
2025-08-25 18:17:00,132 sats.satellite.Scanner-1       INFO       <9300.00> Scanner-1: timed termination at 9300.0 for action_nadir_scan
2025-08-25 18:17:00,133 data.base                      INFO       <9300.00> Total reward: {'Scanner-1': 0.00631578947368421}
2025-08-25 18:17:00,134 comm.communication             INFO       <9300.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:17:00,134 sats.satellite.Scanner-1       INFO       <9300.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:17:00,136 gym                            INFO       <9300.00> Step reward: 0.00631578947368421
2025-08-25 18:17:00,137 gym                            INFO       <9300.00> === STARTING STEP ===
2025-08-25 18:17:00,137 sats.satellite.Scanner-1       INFO       <9300.00> Scanner-1: action_desat tasked for 60.0 seconds
2025-08-25 18:17:00,138 sats.satellite.Scanner-1       INFO       <9300.00> Scanner-1: setting timed terminal event at 9360.0
2025-08-25 18:17:00,145 sats.satellite.Scanner-1       INFO       <9360.00> Scanner-1: timed termination at 9360.0 for action_desat
2025-08-25 18:17:00,146 data.base                      INFO       <9360.00> Total reward: {}
2025-08-25 18:17:00,147 comm.communication             INFO       <9360.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:17:00,147 sats.satellite.Scanner-1       INFO       <9360.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:17:00,149 gym                            INFO       <9360.00> Step reward: 0.0
2025-08-25 18:17:00,150 gym                            INFO       <9360.00> === STARTING STEP ===
2025-08-25 18:17:00,150 sats.satellite.Scanner-1       INFO       <9360.00> Scanner-1: action_charge tasked for 120.0 seconds
2025-08-25 18:17:00,151 sats.satellite.Scanner-1       INFO       <9360.00> Scanner-1: setting timed terminal event at 9480.0
2025-08-25 18:17:00,164 sats.satellite.Scanner-1       INFO       <9480.00> Scanner-1: timed termination at 9480.0 for action_charge
2025-08-25 18:17:00,164 data.base                      INFO       <9480.00> Total reward: {}
2025-08-25 18:17:00,165 comm.communication             INFO       <9480.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:17:00,165 sats.satellite.Scanner-1       INFO       <9480.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:17:00,167 gym                            INFO       <9480.00> Step reward: 0.0
2025-08-25 18:17:00,168 gym                            INFO       <9480.00> === STARTING STEP ===
2025-08-25 18:17:00,169 sats.satellite.Scanner-1       INFO       <9480.00> Scanner-1: action_downlink tasked for 60.0 seconds
2025-08-25 18:17:00,169 sats.satellite.Scanner-1       INFO       <9480.00> Scanner-1: setting timed terminal event at 9540.0
2025-08-25 18:17:00,176 sats.satellite.Scanner-1       INFO       <9540.00> Scanner-1: timed termination at 9540.0 for action_downlink
2025-08-25 18:17:00,177 data.base                      INFO       <9540.00> Total reward: {}
2025-08-25 18:17:00,177 comm.communication             INFO       <9540.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:17:00,178 sats.satellite.Scanner-1       INFO       <9540.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:17:00,180 gym                            INFO       <9540.00> Step reward: 0.0
2025-08-25 18:17:00,180 gym                            INFO       <9540.00> === STARTING STEP ===
2025-08-25 18:17:00,181 sats.satellite.Scanner-1       INFO       <9540.00> Scanner-1: action_desat tasked for 60.0 seconds
2025-08-25 18:17:00,182 sats.satellite.Scanner-1       INFO       <9540.00> Scanner-1: setting timed terminal event at 9600.0
2025-08-25 18:17:00,189 sats.satellite.Scanner-1       INFO       <9600.00> Scanner-1: timed termination at 9600.0 for action_desat
2025-08-25 18:17:00,190 data.base                      INFO       <9600.00> Total reward: {}
2025-08-25 18:17:00,190 comm.communication             INFO       <9600.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:17:00,191 sats.satellite.Scanner-1       INFO       <9600.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:17:00,192 gym                            INFO       <9600.00> Step reward: 0.0
2025-08-25 18:17:00,193 gym                            INFO       <9600.00> === STARTING STEP ===
2025-08-25 18:17:00,193 sats.satellite.Scanner-1       INFO       <9600.00> Scanner-1: action_downlink tasked for 60.0 seconds
2025-08-25 18:17:00,194 sats.satellite.Scanner-1       INFO       <9600.00> Scanner-1: setting timed terminal event at 9660.0
2025-08-25 18:17:00,201 sats.satellite.Scanner-1       INFO       <9660.00> Scanner-1: timed termination at 9660.0 for action_downlink
2025-08-25 18:17:00,202 data.base                      INFO       <9660.00> Total reward: {}
2025-08-25 18:17:00,202 comm.communication             INFO       <9660.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:17:00,203 sats.satellite.Scanner-1       INFO       <9660.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:17:00,205 gym                            INFO       <9660.00> Step reward: 0.0
2025-08-25 18:17:00,206 gym                            INFO       <9660.00> === STARTING STEP ===
2025-08-25 18:17:00,206 sats.satellite.Scanner-1       INFO       <9660.00> Scanner-1: action_charge tasked for 120.0 seconds
2025-08-25 18:17:00,207 sats.satellite.Scanner-1       INFO       <9660.00> Scanner-1: setting timed terminal event at 9780.0
2025-08-25 18:17:00,220 sats.satellite.Scanner-1       INFO       <9780.00> Scanner-1: timed termination at 9780.0 for action_charge
2025-08-25 18:17:00,220 data.base                      INFO       <9780.00> Total reward: {}
2025-08-25 18:17:00,221 comm.communication             INFO       <9780.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:17:00,221 sats.satellite.Scanner-1       INFO       <9780.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:17:00,223 gym                            INFO       <9780.00> Step reward: 0.0
2025-08-25 18:17:00,224 gym                            INFO       <9780.00> === STARTING STEP ===
2025-08-25 18:17:00,225 sats.satellite.Scanner-1       INFO       <9780.00> Scanner-1: action_charge tasked for 120.0 seconds
2025-08-25 18:17:00,225 sats.satellite.Scanner-1       INFO       <9780.00> Scanner-1: setting timed terminal event at 9900.0
2025-08-25 18:17:00,238 sats.satellite.Scanner-1       INFO       <9900.00> Scanner-1: timed termination at 9900.0 for action_charge
2025-08-25 18:17:00,238 data.base                      INFO       <9900.00> Total reward: {}
2025-08-25 18:17:00,239 comm.communication             INFO       <9900.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:17:00,239 sats.satellite.Scanner-1       INFO       <9900.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:17:00,241 gym                            INFO       <9900.00> Step reward: 0.0
2025-08-25 18:17:00,242 gym                            INFO       <9900.00> === STARTING STEP ===
2025-08-25 18:17:00,243 sats.satellite.Scanner-1       INFO       <9900.00> Scanner-1: action_charge tasked for 120.0 seconds
2025-08-25 18:17:00,243 sats.satellite.Scanner-1       INFO       <9900.00> Scanner-1: setting timed terminal event at 10020.0
2025-08-25 18:17:00,256 sats.satellite.Scanner-1       INFO       <10020.00> Scanner-1: timed termination at 10020.0 for action_charge
2025-08-25 18:17:00,256 data.base                      INFO       <10020.00> Total reward: {}
2025-08-25 18:17:00,257 comm.communication             INFO       <10020.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:17:00,257 sats.satellite.Scanner-1       INFO       <10020.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:17:00,259 gym                            INFO       <10020.00> Step reward: 0.0
2025-08-25 18:17:00,260 gym                            INFO       <10020.00> === STARTING STEP ===
2025-08-25 18:17:00,261 sats.satellite.Scanner-1       INFO       <10020.00> Scanner-1: action_downlink tasked for 60.0 seconds
2025-08-25 18:17:00,261 sats.satellite.Scanner-1       INFO       <10020.00> Scanner-1: setting timed terminal event at 10080.0
2025-08-25 18:17:00,268 sats.satellite.Scanner-1       INFO       <10080.00> Scanner-1: timed termination at 10080.0 for action_downlink
2025-08-25 18:17:00,269 data.base                      INFO       <10080.00> Total reward: {}
2025-08-25 18:17:00,270 comm.communication             INFO       <10080.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:17:00,270 sats.satellite.Scanner-1       INFO       <10080.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:17:00,272 gym                            INFO       <10080.00> Step reward: 0.0
2025-08-25 18:17:00,273 gym                            INFO       <10080.00> === STARTING STEP ===
2025-08-25 18:17:00,273 sats.satellite.Scanner-1       INFO       <10080.00> Scanner-1: action_nadir_scan tasked for 180.0 seconds
2025-08-25 18:17:00,274 sats.satellite.Scanner-1       INFO       <10080.00> Scanner-1: setting timed terminal event at 10260.0
2025-08-25 18:17:00,297 sats.satellite.Scanner-1       INFO       <10260.00> Scanner-1: timed termination at 10260.0 for action_nadir_scan
2025-08-25 18:17:00,297 data.base                      INFO       <10260.00> Total reward: {'Scanner-1': 0.005087719298245614}
2025-08-25 18:17:00,298 comm.communication             INFO       <10260.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:17:00,298 sats.satellite.Scanner-1       INFO       <10260.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:17:00,300 gym                            INFO       <10260.00> Step reward: 0.005087719298245614
2025-08-25 18:17:00,300 gym                            INFO       <10260.00> === STARTING STEP ===
2025-08-25 18:17:00,301 sats.satellite.Scanner-1       INFO       <10260.00> Scanner-1: action_nadir_scan tasked for 180.0 seconds
2025-08-25 18:17:00,301 sats.satellite.Scanner-1       INFO       <10260.00> Scanner-1: setting timed terminal event at 10440.0
2025-08-25 18:17:00,321 sats.satellite.Scanner-1       INFO       <10440.00> Scanner-1: timed termination at 10440.0 for action_nadir_scan
2025-08-25 18:17:00,321 data.base                      INFO       <10440.00> Total reward: {'Scanner-1': 0.00631578947368421}
2025-08-25 18:17:00,322 comm.communication             INFO       <10440.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:17:00,323 sats.satellite.Scanner-1       INFO       <10440.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:17:00,324 gym                            INFO       <10440.00> Step reward: 0.00631578947368421
2025-08-25 18:17:00,325 gym                            INFO       <10440.00> === STARTING STEP ===
2025-08-25 18:17:00,325 sats.satellite.Scanner-1       INFO       <10440.00> Scanner-1: action_desat tasked for 60.0 seconds
2025-08-25 18:17:00,326 sats.satellite.Scanner-1       INFO       <10440.00> Scanner-1: setting timed terminal event at 10500.0
2025-08-25 18:17:00,333 sats.satellite.Scanner-1       INFO       <10500.00> Scanner-1: timed termination at 10500.0 for action_desat
2025-08-25 18:17:00,334 data.base                      INFO       <10500.00> Total reward: {}
2025-08-25 18:17:00,334 comm.communication             INFO       <10500.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:17:00,335 sats.satellite.Scanner-1       INFO       <10500.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:17:00,336 gym                            INFO       <10500.00> Step reward: 0.0
2025-08-25 18:17:00,337 gym                            INFO       <10500.00> === STARTING STEP ===
2025-08-25 18:17:00,337 sats.satellite.Scanner-1       INFO       <10500.00> Scanner-1: action_downlink tasked for 60.0 seconds
2025-08-25 18:17:00,338 sats.satellite.Scanner-1       INFO       <10500.00> Scanner-1: setting timed terminal event at 10560.0
2025-08-25 18:17:00,345 sats.satellite.Scanner-1       INFO       <10560.00> Scanner-1: timed termination at 10560.0 for action_downlink
2025-08-25 18:17:00,346 data.base                      INFO       <10560.00> Total reward: {}
2025-08-25 18:17:00,346 comm.communication             INFO       <10560.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:17:00,347 sats.satellite.Scanner-1       INFO       <10560.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:17:00,349 gym                            INFO       <10560.00> Step reward: 0.0
2025-08-25 18:17:00,349 gym                            INFO       <10560.00> === STARTING STEP ===
2025-08-25 18:17:00,350 sats.satellite.Scanner-1       INFO       <10560.00> Scanner-1: action_charge tasked for 120.0 seconds
2025-08-25 18:17:00,351 sats.satellite.Scanner-1       INFO       <10560.00> Scanner-1: setting timed terminal event at 10680.0
2025-08-25 18:17:00,364 sats.satellite.Scanner-1       INFO       <10680.00> Scanner-1: timed termination at 10680.0 for action_charge
2025-08-25 18:17:00,364 data.base                      INFO       <10680.00> Total reward: {}
2025-08-25 18:17:00,365 comm.communication             INFO       <10680.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:17:00,365 sats.satellite.Scanner-1       INFO       <10680.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:17:00,367 gym                            INFO       <10680.00> Step reward: 0.0
2025-08-25 18:17:00,368 gym                            INFO       <10680.00> === STARTING STEP ===
2025-08-25 18:17:00,368 sats.satellite.Scanner-1       INFO       <10680.00> Scanner-1: action_desat tasked for 60.0 seconds
2025-08-25 18:17:00,369 sats.satellite.Scanner-1       INFO       <10680.00> Scanner-1: setting timed terminal event at 10740.0
2025-08-25 18:17:00,376 sats.satellite.Scanner-1       INFO       <10740.00> Scanner-1: timed termination at 10740.0 for action_desat
2025-08-25 18:17:00,377 data.base                      INFO       <10740.00> Total reward: {}
2025-08-25 18:17:00,377 comm.communication             INFO       <10740.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:17:00,378 sats.satellite.Scanner-1       INFO       <10740.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:17:00,380 gym                            INFO       <10740.00> Step reward: 0.0
2025-08-25 18:17:00,381 gym                            INFO       <10740.00> === STARTING STEP ===
2025-08-25 18:17:00,381 sats.satellite.Scanner-1       INFO       <10740.00> Scanner-1: action_nadir_scan tasked for 180.0 seconds
2025-08-25 18:17:00,382 sats.satellite.Scanner-1       INFO       <10740.00> Scanner-1: setting timed terminal event at 10920.0
2025-08-25 18:17:00,401 sats.satellite.Scanner-1       INFO       <10920.00> Scanner-1: timed termination at 10920.0 for action_nadir_scan
2025-08-25 18:17:00,401 data.base                      INFO       <10920.00> Total reward: {'Scanner-1': 0.004947368421052631}
2025-08-25 18:17:00,402 comm.communication             INFO       <10920.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:17:00,402 sats.satellite.Scanner-1       INFO       <10920.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:17:00,404 gym                            INFO       <10920.00> Step reward: 0.004947368421052631
2025-08-25 18:17:00,405 gym                            INFO       <10920.00> === STARTING STEP ===
2025-08-25 18:17:00,406 sats.satellite.Scanner-1       INFO       <10920.00> Scanner-1: action_desat tasked for 60.0 seconds
2025-08-25 18:17:00,406 sats.satellite.Scanner-1       INFO       <10920.00> Scanner-1: setting timed terminal event at 10980.0
2025-08-25 18:17:00,415 sats.satellite.Scanner-1       INFO       <10980.00> Scanner-1: timed termination at 10980.0 for action_desat
2025-08-25 18:17:00,415 data.base                      INFO       <10980.00> Total reward: {}
2025-08-25 18:17:00,416 comm.communication             INFO       <10980.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:17:00,416 sats.satellite.Scanner-1       INFO       <10980.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:17:00,418 gym                            INFO       <10980.00> Step reward: 0.0
2025-08-25 18:17:00,419 gym                            INFO       <10980.00> === STARTING STEP ===
2025-08-25 18:17:00,419 sats.satellite.Scanner-1       INFO       <10980.00> Scanner-1: action_downlink tasked for 60.0 seconds
2025-08-25 18:17:00,420 sats.satellite.Scanner-1       INFO       <10980.00> Scanner-1: setting timed terminal event at 11040.0
2025-08-25 18:17:00,427 sats.satellite.Scanner-1       INFO       <11040.00> Scanner-1: timed termination at 11040.0 for action_downlink
2025-08-25 18:17:00,428 data.base                      INFO       <11040.00> Total reward: {}
2025-08-25 18:17:00,428 comm.communication             INFO       <11040.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:17:00,429 sats.satellite.Scanner-1       INFO       <11040.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:17:00,431 gym                            INFO       <11040.00> Step reward: 0.0
2025-08-25 18:17:00,432 gym                            INFO       <11040.00> === STARTING STEP ===
2025-08-25 18:17:00,432 sats.satellite.Scanner-1       INFO       <11040.00> Scanner-1: action_nadir_scan tasked for 180.0 seconds
2025-08-25 18:17:00,433 sats.satellite.Scanner-1       INFO       <11040.00> Scanner-1: setting timed terminal event at 11220.0
2025-08-25 18:17:00,452 sats.satellite.Scanner-1       INFO       <11220.00> Scanner-1: timed termination at 11220.0 for action_nadir_scan
2025-08-25 18:17:00,452 data.base                      INFO       <11220.00> Total reward: {'Scanner-1': 0.004947368421052631}
2025-08-25 18:17:00,453 comm.communication             INFO       <11220.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:17:00,454 sats.satellite.Scanner-1       INFO       <11220.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:17:00,455 gym                            INFO       <11220.00> Step reward: 0.004947368421052631
2025-08-25 18:17:00,456 gym                            INFO       <11220.00> === STARTING STEP ===
2025-08-25 18:17:00,456 sats.satellite.Scanner-1       INFO       <11220.00> Scanner-1: action_downlink tasked for 60.0 seconds
2025-08-25 18:17:00,457 sats.satellite.Scanner-1       INFO       <11220.00> Scanner-1: setting timed terminal event at 11280.0
2025-08-25 18:17:00,464 sats.satellite.Scanner-1       INFO       <11280.00> Scanner-1: timed termination at 11280.0 for action_downlink
2025-08-25 18:17:00,465 data.base                      INFO       <11280.00> Total reward: {}
2025-08-25 18:17:00,465 comm.communication             INFO       <11280.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:17:00,466 sats.satellite.Scanner-1       INFO       <11280.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:17:00,468 gym                            INFO       <11280.00> Step reward: 0.0
2025-08-25 18:17:00,468 gym                            INFO       <11280.00> === STARTING STEP ===
2025-08-25 18:17:00,469 sats.satellite.Scanner-1       INFO       <11280.00> Scanner-1: action_desat tasked for 60.0 seconds
2025-08-25 18:17:00,469 sats.satellite.Scanner-1       INFO       <11280.00> Scanner-1: setting timed terminal event at 11340.0
2025-08-25 18:17:00,478 sats.satellite.Scanner-1       INFO       <11340.00> Scanner-1: timed termination at 11340.0 for action_desat
2025-08-25 18:17:00,479 data.base                      INFO       <11340.00> Total reward: {}
2025-08-25 18:17:00,479 comm.communication             INFO       <11340.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:17:00,479 sats.satellite.Scanner-1       INFO       <11340.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:17:00,481 gym                            INFO       <11340.00> Step reward: 0.0
2025-08-25 18:17:00,482 gym                            INFO       <11340.00> === STARTING STEP ===
2025-08-25 18:17:00,482 sats.satellite.Scanner-1       INFO       <11340.00> Scanner-1: action_downlink tasked for 60.0 seconds
2025-08-25 18:17:00,483 sats.satellite.Scanner-1       INFO       <11340.00> Scanner-1: setting timed terminal event at 11400.0
2025-08-25 18:17:00,491 sats.satellite.Scanner-1       INFO       <11400.00> Scanner-1: timed termination at 11400.0 for action_downlink
2025-08-25 18:17:00,492 data.base                      INFO       <11400.00> Total reward: {}
2025-08-25 18:17:00,493 comm.communication             INFO       <11400.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:17:00,493 sats.satellite.Scanner-1       INFO       <11400.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:17:00,495 gym                            INFO       <11400.00> Step reward: 0.0
2025-08-25 18:17:00,495 gym                            INFO       <11400.00> === STARTING STEP ===
2025-08-25 18:17:00,496 sats.satellite.Scanner-1       INFO       <11400.00> Scanner-1: action_downlink tasked for 60.0 seconds
2025-08-25 18:17:00,497 sats.satellite.Scanner-1       INFO       <11400.00> Scanner-1: setting timed terminal event at 11460.0
2025-08-25 18:17:00,504 sats.satellite.Scanner-1       INFO       <11460.00> Scanner-1: timed termination at 11460.0 for action_downlink
2025-08-25 18:17:00,504 data.base                      INFO       <11460.00> Total reward: {}
2025-08-25 18:17:00,505 comm.communication             INFO       <11460.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:17:00,505 sats.satellite.Scanner-1       INFO       <11460.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:17:00,507 gym                            INFO       <11460.00> Step reward: 0.0
2025-08-25 18:17:00,508 gym                            INFO       <11460.00> === STARTING STEP ===
2025-08-25 18:17:00,509 sats.satellite.Scanner-1       INFO       <11460.00> Scanner-1: action_charge tasked for 120.0 seconds
2025-08-25 18:17:00,509 sats.satellite.Scanner-1       INFO       <11460.00> Scanner-1: setting timed terminal event at 11580.0
2025-08-25 18:17:00,522 sats.satellite.Scanner-1       INFO       <11580.00> Scanner-1: timed termination at 11580.0 for action_charge
2025-08-25 18:17:00,522 data.base                      INFO       <11580.00> Total reward: {}
2025-08-25 18:17:00,523 comm.communication             INFO       <11580.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:17:00,523 sats.satellite.Scanner-1       INFO       <11580.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:17:00,525 gym                            INFO       <11580.00> Step reward: 0.0
2025-08-25 18:17:00,526 gym                            INFO       <11580.00> === STARTING STEP ===
2025-08-25 18:17:00,526 sats.satellite.Scanner-1       INFO       <11580.00> Scanner-1: action_desat tasked for 60.0 seconds
2025-08-25 18:17:00,527 sats.satellite.Scanner-1       INFO       <11580.00> Scanner-1: setting timed terminal event at 11640.0
2025-08-25 18:17:00,534 sats.satellite.Scanner-1       INFO       <11640.00> Scanner-1: timed termination at 11640.0 for action_desat
2025-08-25 18:17:00,535 data.base                      INFO       <11640.00> Total reward: {}
2025-08-25 18:17:00,535 comm.communication             INFO       <11640.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:17:00,536 sats.satellite.Scanner-1       INFO       <11640.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:17:00,538 gym                            INFO       <11640.00> Step reward: 0.0
2025-08-25 18:17:00,538 gym                            INFO       <11640.00> === STARTING STEP ===
2025-08-25 18:17:00,539 sats.satellite.Scanner-1       INFO       <11640.00> Scanner-1: action_desat tasked for 60.0 seconds
2025-08-25 18:17:00,539 sats.satellite.Scanner-1       INFO       <11640.00> Scanner-1: setting timed terminal event at 11700.0
2025-08-25 18:17:00,547 sats.satellite.Scanner-1       INFO       <11700.00> Scanner-1: timed termination at 11700.0 for action_desat
2025-08-25 18:17:00,547 data.base                      INFO       <11700.00> Total reward: {}
2025-08-25 18:17:00,548 comm.communication             INFO       <11700.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:17:00,548 sats.satellite.Scanner-1       INFO       <11700.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:17:00,550 gym                            INFO       <11700.00> Step reward: 0.0
2025-08-25 18:17:00,551 gym                            INFO       <11700.00> === STARTING STEP ===
2025-08-25 18:17:00,551 sats.satellite.Scanner-1       INFO       <11700.00> Scanner-1: action_charge tasked for 120.0 seconds
2025-08-25 18:17:00,552 sats.satellite.Scanner-1       INFO       <11700.00> Scanner-1: setting timed terminal event at 11820.0
2025-08-25 18:17:00,565 sats.satellite.Scanner-1       INFO       <11820.00> Scanner-1: timed termination at 11820.0 for action_charge
2025-08-25 18:17:00,566 data.base                      INFO       <11820.00> Total reward: {}
2025-08-25 18:17:00,566 comm.communication             INFO       <11820.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:17:00,567 sats.satellite.Scanner-1       INFO       <11820.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:17:00,568 gym                            INFO       <11820.00> Step reward: 0.0
2025-08-25 18:17:00,569 gym                            INFO       <11820.00> === STARTING STEP ===
2025-08-25 18:17:00,570 sats.satellite.Scanner-1       INFO       <11820.00> Scanner-1: action_downlink tasked for 60.0 seconds
2025-08-25 18:17:00,570 sats.satellite.Scanner-1       INFO       <11820.00> Scanner-1: setting timed terminal event at 11880.0
2025-08-25 18:17:00,579 sats.satellite.Scanner-1       INFO       <11880.00> Scanner-1: timed termination at 11880.0 for action_downlink
2025-08-25 18:17:00,579 data.base                      INFO       <11880.00> Total reward: {}
2025-08-25 18:17:00,580 comm.communication             INFO       <11880.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:17:00,580 sats.satellite.Scanner-1       INFO       <11880.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:17:00,582 gym                            INFO       <11880.00> Step reward: 0.0
2025-08-25 18:17:00,583 gym                            INFO       <11880.00> === STARTING STEP ===
2025-08-25 18:17:00,583 sats.satellite.Scanner-1       INFO       <11880.00> Scanner-1: action_downlink tasked for 60.0 seconds
2025-08-25 18:17:00,584 sats.satellite.Scanner-1       INFO       <11880.00> Scanner-1: setting timed terminal event at 11940.0
2025-08-25 18:17:00,592 sats.satellite.Scanner-1       INFO       <11940.00> Scanner-1: timed termination at 11940.0 for action_downlink
2025-08-25 18:17:00,593 data.base                      INFO       <11940.00> Total reward: {}
2025-08-25 18:17:00,594 comm.communication             INFO       <11940.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:17:00,594 sats.satellite.Scanner-1       INFO       <11940.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:17:00,596 gym                            INFO       <11940.00> Step reward: 0.0
2025-08-25 18:17:00,597 gym                            INFO       <11940.00> === STARTING STEP ===
2025-08-25 18:17:00,597 sats.satellite.Scanner-1       INFO       <11940.00> Scanner-1: action_charge tasked for 120.0 seconds
2025-08-25 18:17:00,598 sats.satellite.Scanner-1       INFO       <11940.00> Scanner-1: setting timed terminal event at 12060.0
2025-08-25 18:17:00,613 sats.satellite.Scanner-1       INFO       <12060.00> Scanner-1: timed termination at 12060.0 for action_charge
2025-08-25 18:17:00,613 data.base                      INFO       <12060.00> Total reward: {}
2025-08-25 18:17:00,614 comm.communication             INFO       <12060.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:17:00,614 sats.satellite.Scanner-1       INFO       <12060.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:17:00,616 gym                            INFO       <12060.00> Step reward: 0.0
2025-08-25 18:17:00,617 gym                            INFO       <12060.00> === STARTING STEP ===
2025-08-25 18:17:00,617 sats.satellite.Scanner-1       INFO       <12060.00> Scanner-1: action_desat tasked for 60.0 seconds
2025-08-25 18:17:00,618 sats.satellite.Scanner-1       INFO       <12060.00> Scanner-1: setting timed terminal event at 12120.0
2025-08-25 18:17:00,626 sats.satellite.Scanner-1       INFO       <12120.00> Scanner-1: timed termination at 12120.0 for action_desat
2025-08-25 18:17:00,627 data.base                      INFO       <12120.00> Total reward: {}
2025-08-25 18:17:00,627 comm.communication             INFO       <12120.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:17:00,628 sats.satellite.Scanner-1       INFO       <12120.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:17:00,630 gym                            INFO       <12120.00> Step reward: 0.0
2025-08-25 18:17:00,631 gym                            INFO       <12120.00> === STARTING STEP ===
2025-08-25 18:17:00,631 sats.satellite.Scanner-1       INFO       <12120.00> Scanner-1: action_charge tasked for 120.0 seconds
2025-08-25 18:17:00,632 sats.satellite.Scanner-1       INFO       <12120.00> Scanner-1: setting timed terminal event at 12240.0
2025-08-25 18:17:00,644 sats.satellite.Scanner-1       INFO       <12240.00> Scanner-1: timed termination at 12240.0 for action_charge
2025-08-25 18:17:00,645 data.base                      INFO       <12240.00> Total reward: {}
2025-08-25 18:17:00,645 comm.communication             INFO       <12240.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:17:00,646 sats.satellite.Scanner-1       INFO       <12240.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:17:00,648 gym                            INFO       <12240.00> Step reward: 0.0
2025-08-25 18:17:00,648 gym                            INFO       <12240.00> === STARTING STEP ===
2025-08-25 18:17:00,649 sats.satellite.Scanner-1       INFO       <12240.00> Scanner-1: action_downlink tasked for 60.0 seconds
2025-08-25 18:17:00,649 sats.satellite.Scanner-1       INFO       <12240.00> Scanner-1: setting timed terminal event at 12300.0
2025-08-25 18:17:00,657 sats.satellite.Scanner-1       INFO       <12300.00> Scanner-1: timed termination at 12300.0 for action_downlink
2025-08-25 18:17:00,658 data.base                      INFO       <12300.00> Total reward: {}
2025-08-25 18:17:00,658 comm.communication             INFO       <12300.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:17:00,659 sats.satellite.Scanner-1       INFO       <12300.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:17:00,661 gym                            INFO       <12300.00> Step reward: 0.0
2025-08-25 18:17:00,662 gym                            INFO       <12300.00> === STARTING STEP ===
2025-08-25 18:17:00,662 sats.satellite.Scanner-1       INFO       <12300.00> Scanner-1: action_downlink tasked for 60.0 seconds
2025-08-25 18:17:00,662 sats.satellite.Scanner-1       INFO       <12300.00> Scanner-1: setting timed terminal event at 12360.0
2025-08-25 18:17:00,670 sats.satellite.Scanner-1       INFO       <12360.00> Scanner-1: timed termination at 12360.0 for action_downlink
2025-08-25 18:17:00,670 data.base                      INFO       <12360.00> Total reward: {}
2025-08-25 18:17:00,671 comm.communication             INFO       <12360.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:17:00,671 sats.satellite.Scanner-1       INFO       <12360.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:17:00,673 gym                            INFO       <12360.00> Step reward: 0.0
2025-08-25 18:17:00,673 gym                            INFO       <12360.00> === STARTING STEP ===
2025-08-25 18:17:00,674 sats.satellite.Scanner-1       INFO       <12360.00> Scanner-1: action_desat tasked for 60.0 seconds
2025-08-25 18:17:00,674 sats.satellite.Scanner-1       INFO       <12360.00> Scanner-1: setting timed terminal event at 12420.0
2025-08-25 18:17:00,682 sats.satellite.Scanner-1       INFO       <12420.00> Scanner-1: timed termination at 12420.0 for action_desat
2025-08-25 18:17:00,683 data.base                      INFO       <12420.00> Total reward: {}
2025-08-25 18:17:00,684 comm.communication             INFO       <12420.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:17:00,684 sats.satellite.Scanner-1       INFO       <12420.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:17:00,686 gym                            INFO       <12420.00> Step reward: 0.0
2025-08-25 18:17:00,686 gym                            INFO       <12420.00> === STARTING STEP ===
2025-08-25 18:17:00,687 sats.satellite.Scanner-1       INFO       <12420.00> Scanner-1: action_nadir_scan tasked for 180.0 seconds
2025-08-25 18:17:00,687 sats.satellite.Scanner-1       INFO       <12420.00> Scanner-1: setting timed terminal event at 12600.0
2025-08-25 18:17:00,707 sats.satellite.Scanner-1       INFO       <12600.00> Scanner-1: timed termination at 12600.0 for action_nadir_scan
2025-08-25 18:17:00,707 data.base                      INFO       <12600.00> Total reward: {'Scanner-1': 0.004912280701754385}
2025-08-25 18:17:00,708 comm.communication             INFO       <12600.00> Optimizing data communication between all pairs of satellites
2025-08-25 18:17:00,708 sats.satellite.Scanner-1       INFO       <12600.00> Scanner-1: Satellite Scanner-1 requires retasking
2025-08-25 18:17:00,709 sats.satellite.Scanner-1       WARNING    <12600.00> Scanner-1: failed battery_valid check
2025-08-25 18:17:00,710 gym                            INFO       <12600.00> Step reward: -0.9950877192982456
2025-08-25 18:17:00,711 gym                            INFO       <12600.00> Episode terminated: True
2025-08-25 18:17:00,711 gym                            INFO       <12600.00> Episode truncated: False