Intern in the Mission Operations Department, Mars Orbiting Missions Operations Unit
Darmstadt
- Organization: ESA - European Space Agency
- Location: Darmstadt
- Grade: Internship - Internship
-
Occupational Groups:
- Operations and Administrations
- Closing Date: 2025-11-30
Intern in the Mission Operations Department, Mars Orbiting Missions Operations Unit
Darmstadt, DE
Location
ESOC, Darmstadt, Germany
Our team and mission
The Mars Orbiting Mission Operations Unit (OPS-OPM) is a team of 10 engineers responsible for the operations of the ExoMars Trace Gas Orbiter and the Mars Express spacecraft in-orbit around Mars. This includes monitoring, control and mission planning of the spacecrafts and related ground systems (e.g. data systems, ground stations).
Candidates interested are encouraged to visit the ESA website: http://www.esa.int
Field(s) of activity for the internship
Topic of the internship : Modernization of the Mars Express payload data volume modelling tool
You will report to the Head of Mars Orbiting Missions Operations Unit. While integrated in the Trace Gas Orbiter and Mars Express Flight Control Team, your primary tasks will be related to the modernisation of the Mars Express payload data volume modelling tool.
The existing tool, which is mainly used for identifying on-board data overwrites as part of our data recovery process, is aging, hard to maintain and relies directly on obsolete data systems. It is expected to stop working completely as other infrastructure data systems (which are used as data source) evolve over time.
The new payload data volume modelling tool shall:
- take as input, Mission Planning System files for payload activities and data downlink plans.
- model fill-levels and downlink of individual payload packet stores.
- take packet store reports received from the spacecraft for each packet store and correct the predictions.
- be able to show packet store overfills and predict expected overwrite times for any given observation.
- report expected data volume for any given observation to allow engineers to estimate the required redump time.
- check the dump plan for empty periods to identify where data from a given observation could be redumped.
Implementational requirements:
- all information shall be displayed in graph- and table-form on a dashboard using a Grafana installation on a Virtual Machine.
- data from the Mission Planning System should be provided to Grafana in the form of json via http using python scripts/libraries.
- a series of interface scripts/library are expected to be written to provide spacecraft telemetry and ground station pass information to Grafana.
- grafana should perform the modelling/calculations over the selected time range on the fly when the dashboard is refreshed.
- no backend database shall be used. Instead the Mission Planning files should be read directly and spacecraft and ground station pass information shall be queried directly via Application Programming Interfaces.
- interface scripts should be created such that they can be extend and used to display any data stored in their respective sources.
The objective of this position is partly to replace a useful but aging tool with something more maintainable, but also to experiment with an interesting open source data aggregation tool (Grafana).
Grafana is already in use by the “Multi Mission as a Service” Team at ESOC. We think the potential to use it to create dashboards to display and overlay both Mission Planning outputs and real spacecraft data, could have wide use cases.
This project would give us the means to read Mission Planning files and data from various other sources which would serve as the starting point for future expansions.
The intention is not to create a new database backend but rather to access existing datasources that do not talk to each other and then aggregating and displaying their contents in novel and useful ways.
Behavioural competencies
Result Orientation
Operational Efficiency
Fostering Cooperation
Relationship Management
Continuous Improvement
Forward Thinking
For more information, please refer to ESA Core Behavioural Competencies guidebook
Education
You must be a university student, preferably studying at master’s level. In addition, you must be able to prove that you will be enrolled at your University for the entire duration of the internship.
Additional requirements
The working languages of the Agency are English and French. A good knowledge of one of these is required. Knowledge of another ESA Member State language is an asset.
During the interview, your motivation for applying to this role will be explored.
For this position you should be proficient in programming/scripting in Python, json and REST APIs. Experience with Grafana would be an asset.
Diversity, Equity and Inclusiveness
ESA is an equal opportunity employer, committed to achieving diversity within the workforce and creating an inclusive working environment. We therefore welcome applications from all qualified candidates irrespective of gender, sexual orientation, ethnicity, religious beliefs, age, disability or other characteristics.
At the Agency we value diversity, and we welcome people with disabilities. Whenever possible, we seek to accommodate individuals with disabilities by providing the necessary support at the workplace. The Human Resources Department can also provide assistance during the recruitment process. If you would like to discuss this further, please contact us via email at contact.human.resources@esa.int.
Important Information and Disclaimer
During the recruitment process, the Agency may request applicants to undergo selection tests.
The information published on ESA’s careers website regarding internship conditions is correct at the time of publication. It is not intended to be exhaustive and may not address all questions you would have.
Nationality
Please note that applications are only considered from nationals of one of the following States: Austria, Belgium, Czechia, Denmark, Estonia, Finland, France, Germany, Greece, Hungary, Ireland, Italy, Latvia, Lithuania, Luxembourg, the Netherlands, Norway, Poland, Portugal, Romania, Slovakia, Slovenia, Spain, Sweden, Switzerland, and the United Kingdom. Applicants from Canada as a Cooperating State can apply as well as those from Bulgaria, Croatia, Cyprus and Malta as European Cooperating States (ECS).
Applications from non-qualifying applicants will most likely be discarded by the recruiting manager.