Skip to main content

Python package for OSVE

Project description

Operations Simulation & Validation Engine (OSVE)

Introduction

OSVE is Python package that incorporates a C/C++ library to assist the development and implementation of the science operations by the JUICE Science Operations Center (SOC).

Its main functionality is to simulate and validate the S/C pointing timeline, instrument timeline and to perform operational constraint checks and assessment of Power and Data Volume resources.

AGM & EPS Libraries

OSVE's core includes the Experiment Planning System (EPS) and the Attitude Generator Module (AGM) C/C++ software applications developed by TEC (ESTEC) and PSS (ESAC) that have been used to implement the science planning and conduct in-flight science operations for ESA's Venus Express, Mars Express, Rosetta, Solar Orbiter, and BepiColombo missions.

Documentation

A detailed documentation is available with a thorough description of OSVE, the API documentation is also included and is automatically generated from the content of the docs directory and from the docstrings of the public signatures of the source code.

Additional documentation is available at the JUICE SOC Toolkit Help.

Building the Documentation

pip install sphinx
pip install sphinx sphinx_rtd_theme
cd docs
sphinx-build -b html source build

Installation

OSVE is available from the Python Package Index repository. Install it by running the following command:

pip install osve

Using the Library

After installing the library can be used with the Python Shell or with its CLI.

Python Shell

A basic test of the library contents can be done as follows:

from osve import osve
sim = osve.osve()
version = sim.get_app_version()
print(version)

Command line Interface

The package has a CLI entry point:

usage: osve [-h] -r ROOTPATH -s SESSIONFILE

JUICE Operations Simulation & Validation Engine (OSVE) command line interface

optional arguments:
  -h, --help            show this help message and exit
  -r ROOTPATH, --RootPath ROOTPATH
                        Top level path of the scenario file_path to be used to resolve the relative paths
  -s SESSIONFILE, --SessionFile SESSIONFILE
                        Location and name of the session file containing all the scenarios files

JUICE SOC Tools using OSVE

There are a number of JUICE SOC tools that make usage of OSVE. The most remarkable public ones are listed hereunder:

  • PTWrapper Acts as a wrapper to simplify the usage of OSVE to simulate a Pointing Timeline and generate the Attitude as a SPICE CK to assist the Pointing Timeline Harmonisation of the Detailed Scenario process.
  • juice-phs Exploits and uses the OSVE capabilities to assist the Instrument Timeline Harmonisation of the Detailed Scenario process.

OSVE Session File

The OSVE Session File is a text file in JSON format intended to specify to OSVE the settings or parameters to use during initialisation, simulation and reporting steps.

The JSON file is structured with the following objects:

  • sessionConfiguration Main session object containing the specified OSVE settings.
    • source Defines the source or the origin of the data used for this OSVE execution.
    • simulationConfiguration Defines the simulation settings for the OSVE execution.
    • attitudeSimulationConfiguration Defines the attitude simulation settings used by AGM during the OSVE execution. If not specified, OSVE will run the simulation without using AGM.
      • kernelsList Defines SPICE kernels settings for being used by AGM during the OSVE execution.
    • instrumentSimulationConfiguration Defines the instrument simulation settings for being used by EPS during the OSVE execution. In not specified, OSVE will run the simulation without EPS.
    • inputFiles Defines the input files for the OSVE execution.
      • modellingConfiguration Defines the Experiment modelling files for being used by EPS.
    • outputFiles Defines the output files that OSVE will generate after the execution.
    • logging Defines the logging parameters of OSVE.

A template of the Session file with a description of each parameter is available at session-file. In the JSON file keywords are mandatory unless specified as [OPTIONAL]. Some keywords are labeled as [NOT_USED], this just remarks that this keyword is not used by OSVE itself but can be used for traceability purposes.

An example of a session file with all the available OSVE overlays is available at session-file-example. More examples of Session files are provided in the test directories. E.g.: Minor Moons test scenario.

OSVE C++/C Library

The C++/C library for which the current Python package works as a wrapper for can also be directly used and linked with other applications. If this path is chosen it is recommended to inspect the source code of the Python Package to understand how to use it.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

osve-2.5.1-py3-none-any.whl (31.8 MB view details)

Uploaded Python 3

File details

Details for the file osve-2.5.1-py3-none-any.whl.

File metadata

  • Download URL: osve-2.5.1-py3-none-any.whl
  • Upload date:
  • Size: 31.8 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.4

File hashes

Hashes for osve-2.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a60d59a3159abb84912b40d4e864a8f3687a3bd8649e7d74daf457b86bb6957b
MD5 247ea5936e4f9f5c94bc4ae45b7c54b5
BLAKE2b-256 467190f070f02bdfb4d5b1cc37bbcece075f8f1345a17ae46df99c5c8af41582

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page