This page was created by the IDL library routine
mk_html_help2
.
Last modified: Wed Dec 20 10:37:44 2023.
NAME: thm_ui_coordinate_systems PURPOSE: This object exists for two purposes: 1) Maintain the list of coordinate systems used throughout SPEDAS in a single location 2) Encapsulate the methods that produce coordinate system lists for different contexts, e.g., the verify data panel, load data panel, data processing panel, etc. Both are ultimately for code maintenance KEYWORDS: METHODS: makeCoordSysList: creates and returns a list of valid coordinate systems makeCoordSysListForSpinModel: creates and returns a list of valid coordinate systems that don't require spin model variables to be loaded makeCoordSysListForTHEMIS: creates and returns a list of valid THEMIS-centric coordinate systems ('dsl', 'ssl', 'spg') makeCoordSysListForTHEMISReqPos: creates and returns a list of valid THEMIS coordinate systems that require position data to be transformed to/from EXAMPLES: To make a simple list of general purpose coordinate systems: THEMIS> coordSysObj = obj_new('thm_ui_coordinate_systems') ; create the object THEMIS> print, coordSysObj->makeCoordSysList(/uppercase) ; make the list DSL SSL SPG GSM AGSM GSE GEI SM GEO MAG SEL SSE THEMIS> print, coordSysObj->makeCoordSysList(/uppercase, /include_none) ; include N/A N/A DSL SSL SPG GSM GSE GEI SM GEO MAG SEL SSE THEMIS> print, coordSysObj->makeCoordSysList(/uppercase, /include_none, /include_all) ; includes 'N/A' and 'ALL' N/A DSL SSL SPG GSM GSE GEI SM GEO MAG SEL SSE ALL THEMIS> obj_destroy, coordSysObj ; delete the object NOTE: All coordinate system lists exist in this object's constructor, with pointers to the lists in the objects state structure Changes to this object should be reflected in the corresponding test procedure, thm_ui_test_coordinate_systems_obj $LastChangedBy: crussell $ $LastChangedDate: 2015-09-18 14:21:09 -0700 (Fri, 18 Sep 2015) $ $LastChangedRevision: 18843 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_6_0/projects/themis/spedas_plugin/thm_ui_cotrans/thm_ui_coordinate_systems__define.pro $
(See projects/themis/spedas_plugin/thm_ui_cotrans/thm_ui_coordinate_systems__define.pro)
Procedure: thm_ui_cotrans Purpose: Perform coordinate transforms for THEMIS dproc plugin. This is the primary routine which loads support data as requested and calls thm_cotrans to perform the transformation. Calling Sequence: Called internally by SPEDAS API Input: active_data: List of of tplot vars exported from the GUI for processing support_parameters: Structure containing options from the setup routine (thm_ui_cotrans_options) status_bar: SPEDAS GUI status bar object history_window: SPEDAS GUI history window object _extra keyword also required by API API Output: output_names: List of tplot variables to be loaded into the GUI on completion. support_names: List of support data to be left as tplot variables. All other new tplot variables will be deleted on completion Notes: This routine executes the core of the operation and should be replayable without required user input. To that end, any user querries should be placed in the setup routine (thm_ui_cotrans_options). $LastChangedBy: aaflores $ $LastChangedDate: 2015-04-24 18:45:02 -0700 (Fri, 24 Apr 2015) $ $LastChangedRevision: 17429 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_6_0/projects/themis/spedas_plugin/thm_ui_cotrans/thm_ui_cotrans.pro $
(See projects/themis/spedas_plugin/thm_ui_cotrans/thm_ui_cotrans.pro)
Procedure: thm_ui_cotrans_options Purpose: Gets and returns information required to perform THEMIS coordinate transforms in the SPEDAS GUI. This is the setup routine for thm_ui_cotrans and the routine explicitly listed in the plugin text file. Calling Sequence: Called internally by SPEDAS API Input: gui_id: Top level widget ID needed for building new windows status_bar: SPEDAS GUI status bar object history_window: SPEDAS GUI history window object loaded_data: SPEDAS loaded data object. Used to check necessity of loading THEMIS support data. API Output: plugin_structure: Custom output structure used to pass information to plugin's primary routine (thm_ui_cotrans). Notes: This routine is for setup only. Any action needed to replay the requested operation must occur in the primary routine (thm_ui_cotrans) instead of here. This includes: -adding to or editing the GUI's loaded data -loading support data or other necessary tplot variables $LastChangedBy: aaflores $ $LastChangedDate: 2015-05-22 16:55:11 -0700 (Fri, 22 May 2015) $ $LastChangedRevision: 17684 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_6_0/projects/themis/spedas_plugin/thm_ui_cotrans/thm_ui_cotrans_options.pro $
(See projects/themis/spedas_plugin/thm_ui_cotrans/thm_ui_cotrans_options.pro)
NAME: thm_ui_req_slp PURPOSE: Determines availablity of solar/lunar ephemeris data. CALLING SEQUENCE: General: bool = thm_ui_req_spin(inCoord,outCoord,trange [,loadedData]) Example: if thm_ui_req_spin(inCoord,outCoord,trange,loadedData) then begin thm_load_slp,datatype='all',trange=trange endif INPUT: inCoord: string storing the destination coordinate system (e.g. 'gse') outCoord: string storing the destination coordinate system (e.g. 'sse') trange: two element arraw storing the time range loadedData: gui loadedData object reference OUTPUT: Returns boolean: 1 if required data is not present or does not cover the time range, 0 otherwise. NOTES: This code assumes that only explicit transformations into the coordinates in question will require slp data. HISTORY: 2015-04-24 - loaded data object now optional $LastChangedBy: aaflores $ $LastChangedDate: 2015-04-24 18:45:02 -0700 (Fri, 24 Apr 2015) $ $LastChangedRevision: 17429 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_6_0/projects/themis/spedas_plugin/thm_ui_cotrans/thm_ui_req_slp.pro $
(See projects/themis/spedas_plugin/thm_ui_cotrans/thm_ui_req_slp.pro)
NAME: thm_ui_req_spin PURPOSE: Determines availability of parameters for spin model. CALLING SEQUENCE: bool = thm_ui_req_spin(in_coord, out_coord, probe, trange [,loadedData]) Example: if thm_ui_req_spin(in_coord, out_coord, probe, trange) then begin thm_load_state, probe=probe, trange=trange, /get_support_data endif INPUT: in_coord: string storing the original coordinate system out_coord: a string storing the destination coordinate system probe: string probe designation trange: two element double storing requested time range loadedData: (optional) SPEDAS loadedData object OUTPUT: return value: 0 if required data is present for entire time range plus margin 1 otherwise NOTES: HISTORY: 2015-04-24 - loaded data object now optional $LastChangedBy: aaflores $ $LastChangedDate: 2015-04-24 18:45:02 -0700 (Fri, 24 Apr 2015) $ $LastChangedRevision: 17429 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_6_0/projects/themis/spedas_plugin/thm_ui_cotrans/thm_ui_req_spin.pro $
(See projects/themis/spedas_plugin/thm_ui_cotrans/thm_ui_req_spin.pro)