-
Notifications
You must be signed in to change notification settings - Fork 95
Preetam Sundar Das: MISSION SUPPORT SYSTEM(MSS): GUI FOR AUTOMATED PLOTTING : GSOC2024
- Name: Preetam Sundar Das
- Organization: Python Software Foundation
- Sub-organization: Mission Support System
- Mentors: Sreelakshmi Jayarajan, Reimar Bauer, Matthias Riße
- Proposal Link: Link to Proposal
- Project Size: Large (350 Hours)
- GSoC Branch: GSOC2024-PreetamSundarDas
- Weekly Blogs: Mastodon Blogs link
- Develop the Autoplot Docking Widget, a graphical interface to enhance user interaction with the existing CLI tool in the Mission Support System (MSS).
- Allow users to create, upload, and modify JSON configuration files for current or future plot downloads.
- Integrate the widget into multiple views, such as Top View, Side View, and Linear View, for seamless operation within MSS.
- Enable customization of plot settings such as start and end times, and time intervals for data downloads.
- Offer the ability to directly download plots from the widget, streamlining the process for scientists and researchers.
The Mission Support System (MSS) is a software developed by scientists in the field of atmospheric science. It aims to simplify the planning of scientific flights, where atmospheric parameters are measured. Research aircraft carry comprehensive scientific payloads with data acquisition instruments from various companies and research institutions. Measuring parameters such as the chemical composition of trace gases, temperature, or aerosol particle characteristics is crucial for understanding atmospheric processes, climate change, and ozone hole recovery.
This project involves developing the Autoplot Docking Widget, designed to enhance user interaction with an existing CLI tool for downloading plots from servers. Integrated into multiple views (Top View, Side View, and Linear View), the widget allows users to create or upload JSON configuration files for current or future plot downloads.
Users can configure settings through the MSUI, upload configurations into the widget, and make adjustments. The widget ensures consistency by updating the MSUI based on loaded configurations and replicating changes across the application. It also provides options to set start and end times, along with time intervals for plot downloads.
The Autoplot Docking Widget includes several components:
- Select Configuration File: Upload a pre-existing JSON file to the widget, make changes, download, or use it as needed.
-
Tree Widgets:
- Left Tree Widget: Configure parameters such as Flight, Map Sections, Vertical, Filename, Initial Time, and Valid Time.
- Right Tree Widget: Configure parameters such as URL, Layer, Style, Level, Start Time, End Time, and Interval.
- Three Combo Boxes: Configure start time, end time, and time interval.
- Download Plots: Directly download plots based on widget configurations and save them in the default JSON file.
- Update/Create Configuration File: Update a pre-existing JSON file or create a new one based on current configurations.
Link to video tutorials here.
S.No | Description | Link to PR |
---|---|---|
1 | Creation of the GUI | Link to PR |
2 | Complete integration of the widget, update MSUI based on configurations, download plots implemented, enhancements of the CLI tool | Link to PR |
- Direct access to the Autoplot Docking Widget integrated with all three views.
- Configurations can be added, updated, or removed in the tree widgets with immediate reflection in the MSUI.
- Pre-existing configuration files can be uploaded in JSON format for modifications or downloading.
- Plots can be downloaded directly using the download plots button.
- New configuration files can be created or existing files updated.
- A user-friendly approach to store or download configurations.
A significant challenge was updating the MSUI based on current configurations, requiring a thorough review of wms control.py
and top view.py
files. This exploration was time-consuming but provided valuable insights into the codebase. Integrating the docking widget with the MSUI was initially difficult due to my unfamiliarity with the concept. Another issue was the high level of interconnection between methods, which limited reusability. However, this tight coupling was necessary for certain functionalities, and I drew inspiration from these methods to design similar functionalities where applicable. The guidance and support from my mentors were really helpful in overcoming these challenges.
- Currently, the Autoplot Docking Widget supports configurations for only one layer from one URL. Future improvements could include support for multilayering and multiple WMS servers.
- Start times and end times are not currently stored in the JSON file. This may be further added to make it more convenient for users.