{
  "schema": "artsat.elements.v2",
  "updated_utc": "2026-10-22T13:05:22Z",
  "solution": "Own Find_Orb orbit solution with JPL DE-441",
  "frame": "heliocentric osculating J2000 ecliptic elements at the stated TT epoch",
  "source": "Deduplicated [local observation archive] plus archived Project Pluto/NEOCP observations; Roman split at NASA 2026-08-31 16:02 UTC and JPL trajectory event 2026-09-24 14:05 UTC; upper stage fitted as one orbit",
  "objects": {
    "norman_grace": {
      "name": "Nancy Grace Roman Space Telescope",
      "short_name": "Roman Telescope",
      "designation": "2026-199A",
      "source_url": "https://www.projectpluto.com/pluto/mpecs/26199a.htm",
      "source_created_utc": "2026-10-22T13:05:22Z",
      "observation_count": 13,
      "source_observation_count": 13,
      "mean_residual_arcsec": 0.14256,
      "heliocentric_elements": {
        "epoch_jd_tt": 2461322.5,
        "a_au": 1.0251719182573,
        "e": 0.0237929742976,
        "i_deg": 0.1084084216367,
        "node_deg": 52.2348962006803,
        "peri_deg": 7.9320067941749,
        "mean_anomaly_deg": 316.8232337431939
      },
      "brightness": {
        "reported_count": 150,
        "latest": {
          "magnitude": 18.4,
          "band": "V",
          "utc": "2026-10-09T18:01:21.216Z"
        },
        "bands": {
          "G": {
            "count": 18,
            "median_magnitude": 13.6,
            "minimum_magnitude": 13.3,
            "maximum_magnitude": 17.1
          },
          "O": {
            "count": 3,
            "median_magnitude": 16.45,
            "minimum_magnitude": 16.43,
            "maximum_magnitude": 16.47
          },
          "R": {
            "count": 12,
            "median_magnitude": 12.05,
            "minimum_magnitude": 11.1,
            "maximum_magnitude": 14.4
          },
          "V": {
            "count": 117,
            "median_magnitude": 16.6,
            "minimum_magnitude": 12.2,
            "maximum_magnitude": 19.4
          }
        },
        "note": "Measured apparent magnitudes from roman.obs; not a brightness prediction."
      },
      "current_solution_id": "post-second-maneuver-current",
      "orbit_model": "three independent orbits separated at the NASA burn and the later JPL trajectory event",
      "solutions": [
        {
          "id": "pre-first-maneuver",
          "label": "Vor dem ersten NASA-Manöver",
          "ephemeris_active": false,
          "observation_count": 46,
          "source_observation_count": 46,
          "mean_residual_arcsec": 0.41089,
          "earliest_used_utc": "2026-08-30T20:04:05.088Z",
          "latest_used_utc": "2026-08-31T15:12:31.766Z",
          "heliocentric_elements": {
            "epoch_jd_tt": 2461283.5,
            "a_au": 0.9840606923805,
            "e": 0.0661476761924,
            "i_deg": 0.8569829669156,
            "node_deg": 156.5657917576995,
            "peri_deg": 63.3991760512433,
            "mean_anomaly_deg": 110.3823368221579
          }
        },
        {
          "id": "between-maneuvers",
          "label": "Zwischen den Manövern",
          "ephemeris_active": false,
          "observation_count": 95,
          "source_observation_count": 95,
          "mean_residual_arcsec": 0.2785,
          "earliest_used_utc": "2026-08-31T17:18:35.222Z",
          "latest_used_utc": "2026-09-22T20:57:39.686Z",
          "heliocentric_elements": {
            "epoch_jd_tt": 2461305.5,
            "a_au": 1.0162776103817,
            "e": 0.0112130733977,
            "i_deg": 0.0787803741414,
            "node_deg": 101.0849316698034,
            "peri_deg": 324.6747455881086,
            "mean_anomaly_deg": 293.9095478669434
          }
        },
        {
          "id": "post-second-maneuver-current",
          "label": "Nach dem JPL-Trajektorienereignis (aktuell)",
          "ephemeris_active": true,
          "observation_count": 13,
          "source_observation_count": 13,
          "mean_residual_arcsec": 0.14256,
          "earliest_used_utc": "2026-09-26T19:55:25.046Z",
          "latest_used_utc": "2026-10-09T18:01:21.216Z",
          "heliocentric_elements": {
            "epoch_jd_tt": 2461322.5,
            "a_au": 1.0251719182573,
            "e": 0.0237929742976,
            "i_deg": 0.1084084216367,
            "node_deg": 52.2348962006803,
            "peri_deg": 7.9320067941749,
            "mean_anomaly_deg": 316.8232337431939
          }
        }
      ],
      "maneuver": {
        "applies": true,
        "official": {
          "start_utc": "2026-08-31T16:02:00.000Z",
          "duration_description": "approximately three minutes",
          "source": "NASA",
          "source_url": "https://science.nasa.gov/blogs/roman/2026/08/31/nasas-roman-completes-first-mid-course-correction-burn/",
          "use_in_fit": "The official time defines which observations belong to the pre- and post-maneuver fits."
        },
        "observations_only": {
          "method": "Observation-only bracketing; no external time and no interpolation used",
          "last_pre_observation_utc": "2026-08-31T15:12:31.766Z",
          "first_post_observation_utc": "2026-08-31T17:18:35.222Z",
          "interval_minutes": 126.05760030448437,
          "interval_midpoint_utc": "2026-08-31T16:15:33.494Z",
          "midpoint_half_width_minutes": 63.028800152242184,
          "meaning": "The observations alone constrain the maneuver only to this open interval."
        },
        "second": {
          "event_utc": "2026-09-24T14:05:00.000Z",
          "source": "NASA/JPL Horizons SPK -211 trajectory",
          "source_url": "https://ssd.jpl.nasa.gov/horizons/",
          "status": "strong dynamical event encoded in the JPL trajectory; not an official NASA burn announcement",
          "detection": {
            "method": "five-minute JPL SPK velocity-force residual",
            "core_start_utc": "2026-09-24T14:00:00.000Z",
            "core_end_utc": "2026-09-24T14:10:00.000Z",
            "weighted_center_utc": "2026-09-24T14:04:59.000Z",
            "peak_residual_acceleration_m_s2": 0.0003849025345478152
          },
          "observations_only": {
            "method": "Observation-only bracketing around the independent JPL trajectory event",
            "last_pre_observation_utc": "2026-09-22T20:57:39.686Z",
            "first_post_observation_utc": "2026-09-26T19:55:25.046Z",
            "interval_minutes": 5697.755999788642,
            "interval_midpoint_utc": "2026-09-24T20:26:32.366Z",
            "midpoint_half_width_minutes": 2848.877999894321,
            "meaning": "The observations bracket but do not independently time the second maneuver."
          },
          "orbit_fit_state_difference": {
            "reference_utc": "2026-09-24T14:05:00.000Z",
            "method": "Difference of the independent Find_Orb/DE441 fit state vectors interpolated to the JPL trajectory-event time",
            "delta_v_m_s": 0.29445492852218613,
            "delta_v_components_m_s": [
              0.2260216314530515,
              0.16502659739727324,
              0.0915649998513897
            ],
            "position_gap_km": 190.78506405138083,
            "caveat": "Nominal fit-to-fit state difference only; the 712 km position discontinuity and missing covariance/burn telemetry prevent interpreting this as a physical maneuver delta-v."
          },
          "use_in_fit": "The JPL event time falls inside the observation-only bracket and separates the between/current fits."
        },
        "finite_burn_nominal": {
          "schema": "artsat.finite-burn-analysis.v1",
          "generated_utc": "2026-10-22T13:06:11Z",
          "model": "Two independent Find_Orb/DE441 fits joined by uniform thrust over 180 seconds",
          "assumptions": [
            "The reported approximately three-minute duration is fixed to exactly 180 seconds.",
            "The pre- and post-fit geocentric J2000 states are treated as exact nominal trajectories.",
            "The velocity increment grows linearly during the burn; gravity is already present in each propagated fit."
          ],
          "search_interval": {
            "last_pre_observation_utc": "2026-08-31T15:12:31.766Z",
            "first_post_observation_utc": "2026-08-31T17:18:35.222Z"
          },
          "best_nominal_bridge": {
            "start_utc": "2026-08-31T16:13:52.166Z",
            "midpoint_utc": "2026-08-31T16:15:22.166Z",
            "end_utc": "2026-08-31T16:16:52.166Z",
            "bridge_error_km": 0.8907392993786275,
            "unbridged_position_gap_km": 0.9772324322020506,
            "delta_v_m_s": 4.464915602812719,
            "mean_acceleration_m_s2": 0.024805086682292886,
            "delta_v_equatorial_j2000_m_s": [
              -3.9350812231860632,
              1.4323540364575114,
              1.5488605558321946
            ],
            "delta_v_direction_ra_deg": 159.9986937137554,
            "delta_v_direction_dec_deg": 20.29756665514976,
            "delta_v_rtn_m_s": {
              "radial": -4.379345465980913,
              "transverse": -0.8697757298317463,
              "normal": 0.017170021215238713
            }
          },
          "official_nasa_start": {
            "start_utc": "2026-08-31T16:02:00.000Z",
            "midpoint_utc": "2026-08-31T16:03:30.000Z",
            "end_utc": "2026-08-31T16:05:00.000Z",
            "bridge_error_km": 3.3020675169688167,
            "unbridged_position_gap_km": 2.9171328034137356,
            "delta_v_m_s": 4.464956939406041,
            "mean_acceleration_m_s2": 0.02480531633003356,
            "delta_v_equatorial_j2000_m_s": [
              -3.9351134290831453,
              1.432387579744514,
              1.5488668736832427
            ],
            "delta_v_direction_ra_deg": 159.9984131748616,
            "delta_v_direction_dec_deg": 20.297456903727692,
            "delta_v_rtn_m_s": {
              "radial": -4.378649577867045,
              "transverse": -0.8734841817885676,
              "normal": 0.017138528526868414
            }
          },
          "best_minus_nasa_seconds": 712.166,
          "warning": "This nominal state-bridge minimum is not a statistically valid maneuver-time uncertainty. Orbit covariance and burn telemetry are not included."
        }
      }
    },
    "upper_stage": {
      "name": "F9 Heavy Upper Stage",
      "short_name": "Upper Stage",
      "designation": "2026-199B",
      "source_url": "https://www.projectpluto.com/pluto/mpecs/26199b.htm",
      "source_created_utc": "2026-10-22T13:05:22Z",
      "observation_count": 270,
      "source_observation_count": 277,
      "mean_residual_arcsec": 0.51583,
      "heliocentric_elements": {
        "epoch_jd_tt": 2461322.5,
        "a_au": 1.0184440284616,
        "e": 0.0113047840953,
        "i_deg": 0.1087866578821,
        "node_deg": 109.0526784996326,
        "peri_deg": 317.3688499595276,
        "mean_anomaly_deg": 309.5027939687633
      },
      "brightness": {
        "reported_count": 272,
        "latest": {
          "magnitude": 19.3,
          "band": "V",
          "utc": "2026-10-09T18:15:45.821Z"
        },
        "bands": {
          "G": {
            "count": 73,
            "median_magnitude": 18.4,
            "minimum_magnitude": 13.2,
            "maximum_magnitude": 19.6
          },
          "I": {
            "count": 3,
            "median_magnitude": 18.47,
            "minimum_magnitude": 18.29,
            "maximum_magnitude": 18.5
          },
          "O": {
            "count": 15,
            "median_magnitude": 17.18,
            "minimum_magnitude": 14.57,
            "maximum_magnitude": 19.04
          },
          "R": {
            "count": 18,
            "median_magnitude": 12.95,
            "minimum_magnitude": 11.1,
            "maximum_magnitude": 18.77
          },
          "V": {
            "count": 148,
            "median_magnitude": 15.7,
            "minimum_magnitude": 11.7,
            "maximum_magnitude": 19.5
          },
          "W": {
            "count": 15,
            "median_magnitude": 18.65,
            "minimum_magnitude": 17.35,
            "maximum_magnitude": 19.15
          }
        },
        "note": "Measured apparent magnitudes from roman.obs; not a brightness prediction."
      },
      "current_solution_id": "single-current",
      "orbit_model": "single orbit; no maneuver modeled",
      "solutions": [
        {
          "id": "single-current",
          "label": "Einzige aktuelle Bahn",
          "ephemeris_active": true,
          "observation_count": 270,
          "source_observation_count": 277,
          "mean_residual_arcsec": 0.51583,
          "earliest_used_utc": "2026-08-30T20:04:05.088Z",
          "latest_used_utc": "2026-10-09T18:15:45.820Z",
          "heliocentric_elements": {
            "epoch_jd_tt": 2461322.5,
            "a_au": 1.0184440284616,
            "e": 0.0113047840953,
            "i_deg": 0.1087866578821,
            "node_deg": 109.0526784996326,
            "peri_deg": 317.3688499595276,
            "mean_anomaly_deg": 309.5027939687633
          }
        }
      ],
      "maneuver": {
        "applies": false,
        "reason": "No upper-stage maneuver is assumed or fitted."
      }
    }
  },
  "quality_control": {
    "excluded_gross_outliers": {
      "Roman": [
        "2026-08-30T23:56:02.918Z"
      ],
      "FalconH": [
        "2026-08-31T00:30:46.627Z"
      ]
    },
    "note": "Excluded measurements remain in the OBS80 download and residual scatter but do not affect the fitted orbits."
  }
}
