SPEDAS Developer's Guide: Difference between revisions

From SPEDAS Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 30: Line 30:
=== Configuration Settings ===
=== Configuration Settings ===
Config Settings components allow you to add a new mission tab to the Configuration Settings window found at the menu: File -> Configuration Settings...; these tabs allow your users to modify various configuration settings that persist through SPEDAS sessions. For most missions, these are wrappers meant to override settings in your mission system variable (!yyy), usually set in yyy_init. For example, config plug-ins allow your users to change the local data directory, whether data are downloaded from a remote site or only loaded from the local cache.
Config Settings components allow you to add a new mission tab to the Configuration Settings window found at the menu: File -> Configuration Settings...; these tabs allow your users to modify various configuration settings that persist through SPEDAS sessions. For most missions, these are wrappers meant to override settings in your mission system variable (!yyy), usually set in yyy_init. For example, config plug-ins allow your users to change the local data directory, whether data are downloaded from a remote site or only loaded from the local cache.
[[File:Mms_config.png|340px|center|MMS Config Settings component]]


=== Tools Menu ===
=== Tools Menu ===
Menu components allow you to add a new item to the 'Tools' menu in the GUI. These are currently used in SPEDAS to generate mission overview plots, but can also be used to act as wrappers around more complex functionality (e.g., generating 2D particle slices).  
Menu components allow you to add a new item to the 'Tools' menu in the GUI. These are currently used in SPEDAS to generate mission overview plots, but can also be used to act as wrappers around more complex functionality (e.g., generating 2D particle slices).  
[[File:Tools.png|340px|center|Tools menu component]]


=== Data Processing ===
=== Data Processing ===
Data Processing components allow you to add a new item to the "More..." menu in the "Data Processing" window, found at Analysis -> Data Processing. Data Processing components allow you to add additional data processing operations to the Data Processing window (e.g., mission specific coordinate transformations).  
Data Processing components allow you to add a new item to the "More..." menu in the "Data Processing" window, found at Analysis -> Data Processing. Data Processing components allow you to add additional data processing operations to the Data Processing window (e.g., mission specific coordinate transformations).  
[[File:Data_processing.png|340px|center|Data Processing component]]


=== About ===
=== About ===

Revision as of 17:59, 30 April 2018

Command Line

Central to all command-line plug-ins in SPEDAS is a routine (typcailly yyy_load_xyz, where YYY is the mission and XYZ is the instrument) or set of routines that grabs remote data files from an HTTPS/FTP server and loads those data into tplot variables.


The data model for tplot variables can be found at: http://spedas.org/wiki/index.php?title=Data_model


Graphical User Interface (GUI)

GUI plug-ins are described by a simple text file located in the folder: spedas_gui/plugins/. Each mission contains its own text file describing the various components of the plugin.


Several types of GUI plug-in components are available, including:

  • Load Data
  • Configuration Settings
  • Tools Menu
  • Data Processing
  • About


A GUI plug-in consists of one or more of the above components, and can have multiple components of any type (e.g., the THEMIS plug-in in SPEDAS contains 2 load_data components, 13 data_processing components, 2 menu components, 1 about component and 1 config component). The suggested way of creating a component for your mission is to fork the example code found in the spedas_gui/api_examples/ folder and modify it for your own mission.

Load Data

Load Data (load_data) components allow you to add a new mission tab to the Load Data window found at the menu: File -> Load Data. These tabs are essentially wrappers around the command-line load routine used to load data into tplot variables.

An example of adding a new tab can be found at: spedas_gui/api_examples/load_data_tab/

MMS Load Data component
MMS Load Data component

Configuration Settings

Config Settings components allow you to add a new mission tab to the Configuration Settings window found at the menu: File -> Configuration Settings...; these tabs allow your users to modify various configuration settings that persist through SPEDAS sessions. For most missions, these are wrappers meant to override settings in your mission system variable (!yyy), usually set in yyy_init. For example, config plug-ins allow your users to change the local data directory, whether data are downloaded from a remote site or only loaded from the local cache.

MMS Config Settings component
MMS Config Settings component


Tools Menu

Menu components allow you to add a new item to the 'Tools' menu in the GUI. These are currently used in SPEDAS to generate mission overview plots, but can also be used to act as wrappers around more complex functionality (e.g., generating 2D particle slices).

Tools menu component
Tools menu component

Data Processing

Data Processing components allow you to add a new item to the "More..." menu in the "Data Processing" window, found at Analysis -> Data Processing. Data Processing components allow you to add additional data processing operations to the Data Processing window (e.g., mission specific coordinate transformations).

Data Processing component
Data Processing component

About

About components allow you to add a new item describing your mission to the "About SPEDAS Plugins..." menu found at Help -> About.

Adding Plug-ins to the GUI

Create a .txt file that fully describes your GUI plug-in components and drop it into the /spedas_gui/plugins folder.


Example