Skip to content
vinay0000 edited this page Apr 8, 2024 · 13 revisions

Welcome to the Earth Observation Simulator (EO-Sim) Wiki!

This purpose of this wiki is to provide an overview of the EO-Sim project and documentation. It also keeps track of the high-level project goals, and tasks.

Project goals

The purpose of EO-Sim is to provide satellite mission data useful in mission design and operations. The current status and planned revisions are described below.

Current (Feb 2024) status

Presently there are 3 packages (and corresponding repos):

InstruPy Produces functionality to model instruments, and produce expected data metrics given the target geometry and the instrument specifications.

OrbitPy Provides orbit-propagation, coverage (different types), line-of-sight ground-station contact, eclipse, pixel-projection (under-dev) calculations. The orbit propagation and coverage core functionality is provided by the C++ package propcov.

EOSim GUI Provides a graphical user interface to set basic mission parameters, simulate and visualize 2d plots and animation with CesiumJS. This is based on Tkinter.

Planned Revisions

InstruPy Continue as is.

OrbitPy

  • Disband the propcov package.
  • Switch to third-party orbit-propagation libraries (e.g., skyfield, GMAT) for high fidelity orbit propagation calculations. OrbitPy shall only provide a wrapper, which can produce propagation data at a standard format, for limited set of coordinate frames.
  • Core coverage library would be provided through the CoverageKinematics library (under dev). OrbitPy shall provide an wrapper (which shall also function as the Earth coverage applications layer). (How about GNSS-R coverage?)

EOSim GUI

  • Archive the EOSim GUI package.
  • Start a new package called as MissionEvaluator, whose function is to provide evaluation of mission data (coverage metrics, revisit time, new proposed metrics, etc.)
  • Utilize the visualization scripts in the EOSim GUI (2d and animations based) to provide visualization of the mission data.

Compatibility with TAT-C/ NOS-T

  • Start a new SystemModelPy library, which would contain the schemas for initialization of the various objects used in EO-Sim, such as Satellite, Orbit, etc. This would also be used by the D-SHIELD Planner.
  • Start using pydantic, typing, uuid, enum and geojson_pydantic packages in a similar way to how it has been used in TAT-C (see the schemas.py files). docs link and NOS-T

Planned Milestones

Task breakdown

Increasing (propagation & coverage calculation) accuracy

  • (Automated) Grab nearest available TLE, and use for orbit propagation
  • Incorporation of SKyField propagators
  • GNSS-R coverage calculations with elliptical Earth approximation

Coverage Kinematics Library

Earth Coverage applications layer (wrapper) of the Coverage Kinematics library (OrbitPy)