This page was created by the IDL library routine mk_html_help2.

Last modified: Tue Aug 12 14:47:10 2008.


Directory Listing of Routines


Routine Descriptions

TEST_LEAP_YR

[Next Routine] [List of Routines]
 NAME:
       test_leap_yr
 CALLING SEQUENCE:
       lyr=test_leap_yr(iyr,modays=modays)
 PURPOSE:
       Determines whether a given year is a leap year, and
       returns the number of days in every month
 INPUT:
       iyr = The year, as an integer
 OUTPUT:
       lyr= 1 if iyr is a leap year and 0 if not
 KEYWORDS:
       modays= the number of days in each month
       modays= [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] for
       a leap yr, [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] otherwise
 HISTORY:
       Written 19-OCt-93 by JM
       Rewritten, 9-jul-2007, jmm

(See themis/common/thm_ui_timefix.pro)


THM_CHECK_VALID_NAME

[Previous Routine] [Next Routine] [List of Routines]
NAME:
thm_check_valid_name
PURPOSE:
checks a string or array input against another array and 'all' to
find matches.
CALLING SEQUENCE:
 ok_names = thm_check_valid_name(names, valid_names)
INPUT:
 names = a string array of possible names for data types, stations,
 etc...
 valid_names = those names that will be valid
OUTPUT:
 ok_names = the valid data names, if there are none, then the null
 string is returned
KEYWORDS:
 include_all = if set, include 'all' in the possible datanames
 ignore_case = if set converts all inputs 
 loose_interpretation = if set, adds wild card '*'s to each end of
                        the input names -- used in thm_load_mom, and
                        thm_load_esa, where there are many L2 variables.
HISTORY:
 22-jan-2007, jmm, jimm@ssl.berkeley.edu
 11-feb-2007, jmm, Added loose_interpretation keyword

 $LastChangedBy: kenb-mac $
 $LastChangedDate: 2007-01-26 15:52:34 -0800 (Fri, 26 Jan 2007) $
 $LastChangedRevision: 241 $
 $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/thmsoc/trunk/idl/themis/common/thm_check_valid_name.pro $

(See themis/common/thm_check_valid_name.pro)


THM_CONFIG

[Previous Routine] [Next Routine] [List of Routines]
  PRO themis_config

  This procedure serves as the themis configuration file.  It sets global (system)
  variables and initializes devices

  This procedure will define the location of data files and the data server.
  This procedure is intended to be called from within the "THM_INIT" procedure.

  This should be the only THEMIS file that requires modification for use in different
  locations.

  There is no need to modify this file if:
     - Your computer is an SSL UNIX machine that mounts "/disks/data/"   (i.e. ALL Linux and Solaris machines at SSL)
     - You use a portable computer that will be caching files on a local hard drive.


  Settings  in this file will be overridden by settings in the environment.
  (see setup_themis or setup_themis_bash for examples of setting environment
  variables on UNIX-like systems.  The environment can also be set on Windows
  systems.)

  KEYWORDS
     no_color_setup   added to prevent cronjob to crash, hfrey, 2007-02-10

  Author:  Davin Larson Nov 2006
           jmm, 2007-05-17, Altered to read thm_comfig text file,
           this removes the need for someone to alter this program
           jmm, 2007-07-02, applies slashes to remote and local
           directories, if they are not there
           cg, 2008-5-6, reset default default directory

 $LastChangedBy: cgoethel $
 $LastChangedDate: 2008-05-06 11:09:13 -0700 (Tue, 06 May 2008) $
 $LastChangedRevision: 3005 $
 $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/thmsoc/tags/tdas_4_01/idl/themis/common/thm_config.pro $

(See themis/common/thm_config.pro)


THM_CONFIG_FILEDIR

[Previous Routine] [Next Routine] [List of Routines]
Function: thm_config_filedir.pro
Purpose: Get the applications user directory for THEMIS data analysis software

$LastChangedBy$
$LastChangedDate$
$LastChangedRevision$
$URL$

(See themis/common/thm_config_filedir.pro)


THM_DATA2LOAD

[Previous Routine] [Next Routine] [List of Routines]
NAME:
 thm_data2load
PURPOSE:
 returns a list of variables that can be loaded for a given THEMIS
 instrument. For the most part, it calls the appropriate thm_load
 routine with the /valid_names keyword set. The dataypes and
 valid_names keywords are used inconsistently in the thm_loads, and
 do not allow for the distinction between level2 data that is
 to be input from level2 files, and level2 data the is to be input
 from level1 files and calbrated, cotrans'ed, etc... but has the same
 name as an L2 variable. Designed to be called from
 thm_ui_valid_dtype.pro
CALLING SEQUENCE:
 dtyp = thm_data2load(instrument, level)
INPUT:
 instrument = the THEMIS instrument: one of:
           ['asi', 'ask', 'esa', 'efi', 'fbk', 'fft', 'fgm', $
            'fit', 'gmag', 'mom', 'scm', 'sst', 'state', 'bau', 'hsk', 'trg']
 level = 'l1' for any data that can be gotten from the l1 file --
         including calibrated, etc... 'l2' for data gotten from L2
         files. 'l10' for data that only is loaded from L1 files. For
         ESA data, 'L10' data and 'L1' data are gotten from the
         packet files.
OUTPUT:
 dtyp = a string array that can be used as an input to the datatype
        keyword for the given instrument
HISTORY:
 started on 31-Jan-2008, jmm, jimm@ssl.berkeley.edu, this is under
 development for the next 6 months or so.
 9-apr-2008, jmm, added all instruments, for Version 4_00
$LastChangedBy $
$LastChangedDate  $
$LastChangedRevision $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/thmsoc/tags/tdas_4_01/idl/themis/common/thm_data2load.pro $

(See themis/common/thm_data2load.pro)


THM_DATA_CALIBRATED

[Previous Routine] [Next Routine] [List of Routines]
	Function: THM_DATA_CALIBRATED

	Purpose:  Determine whether the data stored in a particular TPLOT variable has already been calibrated by examining the contents of it's DLIMIT structure.

	Calling Sequence:
		tplot_var = 'tha_eff'
		get_data, tplot_var, data=d, limit=l, dlimit=dl
		if thm_data_calibrated( dl) then return
               ; -- or --
               if thm_data_calibrated('tha_eff') then return

	Arguements:
		DL, Anonymous STRUCT or tplot varaible name

	Notes:
		None.

 $LastChangedBy: kenb-mac $
 $LastChangedDate: 2007-05-02 17:25:43 -0700 (Wed, 02 May 2007) $
 $LastChangedRevision: 629 $
 $URL $

(See themis/common/thm_data_calibrated.pro)


THM_ESA_OVERVIEWS

[Previous Routine] [Next Routine] [List of Routines]
Purpose:
Generates esa overview plots for a given date
this includes one day long plot and 4 1/4 day plots
It stores these plots in the current directory

Arguments:
       date: the date for which the plots will be generated

       directory(optional): an optional output directory
 
       device(optional):switch to 'z' device for cron plotting

Example:
 thm_esa_overviews,'2007-03-23',dir='~/out',device='z'

 $LastChangedBy: jimm $
 $LastChangedDate: 2008-03-07 14:08:42 -0800 (Fri, 07 Mar 2008) $
 $LastChangedRevision: 2460 $
 $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/thmsoc/tags/tdas_4_01/idl/themis/common/thm_esa_overviews.pro $

(See themis/common/thm_esa_overviews.pro)


THM_FGM_OVERVIEWS

[Previous Routine] [Next Routine] [List of Routines]
Purpose:
Generates fgm overview plots for a given date
this includes one day long plot and 4 1/4 day plots
It stores these plots in the current directory

Arguments:
       date: the date for which the plots will be generated

       directory(optional): an optional output directory
 
       device(optional):switch to 'z' device for cron plotting

 $LastChangedBy: jimm $
 $LastChangedDate: 2008-03-05 11:47:57 -0800 (Wed, 05 Mar 2008) $
 $LastChangedRevision: 2449 $
 $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/thmsoc/tags/tdas_4_01/idl/themis/common/thm_fgm_overviews.pro $

(See themis/common/thm_fgm_overviews.pro)


THM_FGM_SHELL

[Previous Routine] [Next Routine] [List of Routines]
 Purpose: wrapper for the thm_fgm_overviews procedure

 Arguments: 
        date(optional): the input date (default: current date)

        reprocess(optional): set this keyword to reprocess all the
        plots

        test_reprocess(optional): set this keyword to perform jimm's
        reprocessing test
         
        directory(optional): the directory into which pngs will be
        output (default: current working directory)

 $LastChangedBy: pcruce $
 $LastChangedDate: 2007-09-19 14:13:17 -0700 (Wed, 19 Sep 2007) $
 $LastChangedRevision: 1598 $
 $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/thmsoc/tags/tdas_4_01/idl/themis/common/thm_fgm_shell.pro $

(See themis/common/thm_fgm_shell.pro)


THM_FILE_DOWNLOAD

[Previous Routine] [Next Routine] [List of Routines]
PROCEDURE:  thm_file_download
PURPOSE:  This is a general purpose routine will download all THEMIS data files within
 a given time range.
  It looks for all procedures that match: "thm_load_*.pro" and executes them with the /DOWNLOADONLY keyword set.

 Warning -  This is a BETA  routine and may be deleted in a future release.

(See themis/common/thm_file_download.pro)


THM_FITGMOM_OVERVIEWS

[Previous Routine] [Next Routine] [List of Routines]
Purpose:
Generates a set of field and moment plots.
Only ground processed moments will be used.

The plots include:


Arguments:
       date: the date for which the plots will be generated

       probe: the probe for which the plots will be generated

       directory(optional): an optional output directory
 
       device(optional):switch to 'z' device for cron plotting

       makepng(optional):set this keyword to direct script to make a png

Example:
 thm_fitgmom_overviews,'2007-03-23','b',dir='~/out',device='z'

 $LastChangedBy: jimm $
 $LastChangedDate: 2007-12-03 16:23:07 -0800 (Mon, 03 Dec 2007) $
 $LastChangedRevision: 2138 $
 $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/thmsoc/trunk/idl/themis/common/thm_sst_overviews.pro $

(See themis/common/thm_fitgmom_overviews.pro)


THM_FITMOM_OVERVIEWS

[Previous Routine] [Next Routine] [List of Routines]
Purpose:
Generates a set of field and moment plots.
Spacecraft moments will be used whenever possible

The plots include:


Arguments:
       date: the date for which the plots will be generated

       probe: the probe for which the plots will be generated

       directory(optional): an optional output directory
 
       device(optional):switch to 'z' device for cron plotting

Example:
 thm_fitmom_overviews,'2007-03-23','b',dir='~/out',device='z'

 $LastChangedBy: jimm $
 $LastChangedDate: 2007-12-03 16:23:07 -0800 (Mon, 03 Dec 2007) $
 $LastChangedRevision: 2138 $
 $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/thmsoc/trunk/idl/themis/common/thm_sst_overviews.pro $

(See themis/common/thm_fitmom_overviews.pro)


THM_GEN_OVERPLOT

[Previous Routine] [Next Routine] [List of Routines]
 Purpose: To make mission overview plots of all instruments

 Inputs:  PROBES: spacecraft ('a','b','c','d','e')
          DATE: the date string or seconds since 1970 ('2007-03-23')
          DUR: duration (default units are days)
          DAYS: redundant keyword to set  the units of duration (but its comforting to have)
          HOURS: keyword to make the duration be in units of hours
          DEVICE: sets the device (x or z) (default is x)
          MAKEPNG: keyword to generate 5 png files
          DIRECTORY: sets the directory where the above pngs are placed (default is './')
	   FEARLESS: keyword that prevents program from quitting when it fears its in an infinite loop
			(infinite loop is feared when catch statement has been call 1000 times)
	   DONT_DELETE_DATA:  keyword to not delete all existing tplot variables before loading data in for
			        the overview plot (sometimes old variables can interfere with overview plot)

 Example: thm_gen_overplot,probe='a',date='2007-03-23',dur=1
	   The above example will produce a full day plot in the X window.


Version:
 $LastChangedBy$
 $LastChangedDate$
 $LastChangedRevision$
 $URL$

(See themis/common/thm_gen_overplot.pro)


THM_GUI

[Previous Routine] [Next Routine] [List of Routines]
NAME:
 thm_gui
PURPOSE:
 GUI for THEMIS data analysis
CALLING SEQUENCE:
 thm_gui
INPUT:
 none
OUTPUT:
 none
HISTORY:
 Version 2.0 jmm, jimm@ssl.berkeley.edu 25-apr-2007
             jmm, 21-may-2007, Currently Only Loads data
             jmm, 7-jun-2007, all buttons are now defined
             jmm, 31-jul-2007, added warning for too long time ranges
             jmm, 2-aug-2007, added widget_kill_request block so that
                  the pointers and progobj are cleaned up when you click
                  the 'x'
             jmm, 11-sep-2007, added this comment
             jmm, 25-oct-2007, Now holds plot parameters (wondow
                               number,etc) in state structure
             jmm, 4-mar-2008, put in this comment to test email
                  notifications
             cg,  1-apr-2008, added ps_size and ps_units to pstate structure
                  (needed to store user inputs for postscript file size)
$LastChangedBy$
$LastChangedDate$
$LastChangedRevision$
$URL$

(See themis/common/thm_gui.pro)


THM_INIT

[Previous Routine] [Next Routine] [List of Routines]
PROCEDURE:  thm_init
PURPOSE:    Initializes system variables for themis.  Can be called from idl_startup to set
            custom locations.

 The system variable !THEMIS is defined here.  The elements of this structure are explained below:

 !THEMIS.LOCAL_DATA_DIR    This is the root location for all THEMIS data files.
                  The THEMIS software expects all data files to reside in specific subdirectories relative
                  to this root directory.;

 !THEMIS.REMOTE_DATA_DIR   This is the URL of the server that can provide the data files.
                  (default is: "http://sprg.ssl.berkeley.edu/data/themis/")
                  if the software does not find a needed file in LOCAL_DATA_DIR,
                  then it will attempt to download the data from the URL and REMOTE_DATA_DIR is defined,
                  the software will attempt to download the file from REMOTE_DATA_DIR, place it in LOCAL_DATA_DIR
                  with the same relative pathname, and then continue processing.


KEYWORDS:
   RESET:           Reset !themis to values in environment (or values in keywords).
   LOCAL_DATA_DIR:  use given value for local_data_dir, rather than environment. Only works on
                    initial call or reset.
   REMOTE_DATA_DIR: Use given value for remote_data_dir, rather than env.  Only works on inital
                    call or reset.
   NO_COLOR_SETUP   do not set colors if already taken care of

 Typical examples:

          Desktop UNIX/LINUX computer located at SSL
   LOCAL_DATA_DIR  = '/disks/data/themis/'               ; This master directory is read only.
   REMOTE_DATA_DIR = ''                                  ; Should be empty sting. (/disks/data/themis and server are the same)

          Desktop WINDOWS computer located at SSL
   LOCAL_DATA_DIR  = '\\justice\data\themis\'            ; Justice is a samba server (physically the same as /disk/data/themis)
   REMOTE_DATA_DIR = ''

          laptop WINDOWS computer located far from a data server, but with internet connection.
   LOCAL_DATA_DIR  = 'C;\data\themis\'                              ; Local (portable) directory on laptop
   REMOTE_DATA_DIR = 'http://sprg.ssl.berkeley.edu/data/themis/'    ;  URL used to download data to LOCAL_DATA_DIR

          MacOS computer located away from SSL without a nearby data server
   LOCAL_DATA_DIR  = '/data/themis/'                              ; Local (portable) directory on laptop
   REMOTE_DATA_DIR = 'http://sprg.ssl.berkeley.edu/data/themis/'    ;  URL used to download data to LOCAL_DATA_DIR

   Note: If automatic downloads are used. (i.e. REMOTE_DATA_DIR is not an empty string) the user must ensure that
   LOCAL_DATA_DIR is writeable.

   Note to WINDOWS users: the WINDOWS version of IDL accepts both the '\' and '/' character as the directory
   separation character. The converse is not true.


HISTORY
 Written by Davin Larson
 2006-12-16 KRB Can now be called from idl_startup to set paths using
 optional keywords.
 2007-07-02, jmm, Adds trailing slash to local and remote data dirs,
                  if not there

$LastChangedBy: davin-win $
$LastChangedDate: 2008-04-03 16:12:20 -0700 (Thu, 03 Apr 2008) $
$LastChangedRevision: 2596 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/thmsoc/tags/tdas_4_01/idl/themis/common/thm_init.pro $

(See themis/common/thm_init.pro)


THM_LOAD_PROC_ARG

[Previous Routine] [Next Routine] [List of Routines]
Procedure: THM_LOAD_PROC_ARG

Purpose:  Generic argument validation routine for THEMIS Data File Loading
   routines, meant to be called by
   instrument-specific thm_load procedures.

keywords:
  post_process_proc: name of procedure to call after cdf2tplot is called
                     will be called w/ keywords sname, dt (datatype), lvl,
                     and _extra.
  relpath_funct: name of routine to call in place of file_dailynames
                 may simply be a wrapper.
                 will be called w/ keywords sname, dt (datatype), lvl,
                 and _extra.
  cdf_to_tplot: user-supplied procedure to override cdf2tplot
  sname  = site or probe name. The default is 'all',
  type_sname = string, set to 'probe' or 'site'
  vsnames = space-separated list of valid probes/sites
  datatype = Can be any datatype from the list of valid datatypes
             or 'all'
  vdatatypes = space-separated list of valid data types
  file_vdatatypes = space-separated list of file types corresponding to each
          valid data type.  If there is a one-to-one correpspondence
          between filetype and datatype, vfiletypes may be left undefined.
          If all datatypes are in a single file, then vfiltypes may contain
          a single name, rather than a list.
  vL2datatypes= space-separated list of datatypes valid for L2 data
  vL2coord= space-separated list of coordinates valid for L2 data
  file_vL2datatypes=same as file_vdatatypes, but for L2 data.  Defaults to
          value of file_vdatatypes.
  TRANGE= (Optional) Time range of interest  (2 element array), if
          this is not set, the default is to prompt the user. Note
          that if the input time range is not a full day, a full
          day's data is loaded
  level = the level of the data, the default is 'l1', or level-1
          data. A string (e.g., 'l2') or an integer can be used. 'all'
          can be passed in also, to get all levels.
  vlevels=A space-separated list of valid levels, e.g. 'l1 l2'
  proc_type =  the type of data, i.e. 'raw' or 'calibrated'. This is
          for validating the 'type' keyword to thm_load procs.
  vtypes =A space-separated list of valid types, e.g. 'raw calibrated'
          No validation on proc_type if not set.
  deftype = default for type.  only applied to L1.  If not supplied, 
            then 'calibrated' will be uses as the default value.
  CDF_DATA: named variable in which to return cdf data structure: only works
          for a single spacecraft and datafile name.
  VARNAMES: names of variables to load from cdf: default is all.
  /GET_SUPPORT_DATA: load support_data variables as well as data variables
                      into tplot variables.
  /valid_names, if set, then this routine will return the valid probe, datatype
          and/or level options in named variables supplied as
          arguments to the corresponding keywords.
  files   named varible for output of pathnames of local files.
  /VERBOSE  set to output some useful info
Output Keywords:
  oft     distinct file types that need to be loaded.  Array of strings.
  ofdt    datatypes corresponding to each file type in ofts. Array of
          strings, each containing a space-separate list of datatypes .
  odt     validated datatypes
  olvl    validated levels.
  otyp    validated type.
Notes:
  This routine is a utility function used to implement thm_load_??? routines.

 $LastChangedBy: jimm $
 $LastChangedDate: 2008-03-05 11:47:57 -0800 (Wed, 05 Mar 2008) $
 $LastChangedRevision: 2449 $
 $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/thmsoc/tags/tdas_4_01/idl/themis/common/thm_load_proc_arg.pro $

(See themis/common/thm_load_proc_arg.pro)


THM_LOAD_XXX

[Previous Routine] [Next Routine] [List of Routines]
Procedure: THM_LOAD_XXX

Purpose:  Generic THEMIS Data File Loading routine, meant to be called by
   type specific thm_load procedures.

keywords:
  post_process_proc: name of procedure to call after cdf2tplot is called
                     will be called w/ keywords sname, dt (datatype), lvl,
                     and _extra.
  relpath_funct: name of routine to call in place of file_dailynames
                 may simply be a wrapper.
                 will be called w/ keywords sname, dt (datatype), lvl,
                 and _extra.
  cdf_to_tplot: user-supplied procedure to override cdf2tplot
  sname  = site or probe name. The default is 'all',
  type_sname = string, set to 'probe' or 'site'
  /all_sites_in_one: set this if all sites are contained in a single file.
  vsnames = space-separated list of valid probes/sites
  datatype = Can be any datatype from the list of valid datatypes
             or 'all'
  vdatatypes = space-separated list of valid data types
  file_vdatatypes = space-separated list of file types corresponding to each
          valid data type.  If there is a one-to-one correpspondence
          between filetype and datatype, vfiletypes may be left undefined.
          If all datatypes are in a single file, then file_vdatatypes may
          contain a single name, rather than a list.
  TRANGE= (Optional) Time range of interest  (2 element array), if
          this is not set, the default is to prompt the user. Note
          that if the input time range is not a full day, a full
          day's data is loaded
  level = the level of the data, the default is 'l1', or Level 1
          data. A string (e.g., 'l2') or an integer can be used.
  vlevels=A space-separated list of valid levels, e.g. 'l1 l2'
  proc_type =  the type of data, i.e. 'raw' or 'calibrated'. This is
          for validating the 'type' keyword to thm_load procs.
  vtypes =A space-separated list of valid types, e.g. 'raw calibrated'
  vL2datatypes= space-separated list of datatypes valid for L2 data
  vL2coord= space-separated list of coordinates valid for L2 data
  file_vL2datatypes=same as file_vdatatypes, but for L2 data.  Defaults to
          value of file_vdatatypes.
  coord = coordinate system of data to  be loaded.  For L2, may be an array or
          space-separated list, which will checked against vL2coord.
          For L1, no checking: passed on to post_process_proc.
  CDF_DATA: named variable in which to return cdf data structure: only works
          for a single spacecraft and datafile name.
  VARNAMES: names of variables to load from cdf: default is all.
  /GET_SUPPORT_DATA: load support_data variables as well as data variables
                      into tplot variables.
  /DOWNLOADONLY: download file but don't read it.
  /valid_names, if set, then this routine will return the valid probe, datatype
          and/or level options in named variables supplied as
          arguments to the corresponding keywords.
  files   named varible for output of pathnames of local files.
  /VERBOSE  set to output some useful info
  suffix  suffix to add to names of tplot variables loaded from CDF

Notes:
  This routine is (should be) platform independent.

 $LastChangedBy: pcruce $
 $LastChangedDate: 2008-01-28 17:05:44 -0800 (Mon, 28 Jan 2008) $
 $LastChangedRevision: 2321 $
 $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/thmsoc/tags/tdas_4_01/idl/themis/common/thm_load_xxx.pro $

(See themis/common/thm_load_xxx.pro)


THM_NEW_COORDS

[Previous Routine] [Next Routine] [List of Routines]
NAME:
 thm_new_coords
PURPOSE:
 sets coordinate systems in the dlimits structure of input
 tplot variables from the CDF attributes, or alternatively, input
 keywords
CALLING SEQUENCE:
 thm_new_coords,vars,coords_in=coords_in
INPUT:
 vars = variable names
OUTPUT:
 none explicit, the dlimits structure of the variables are changed
KEYWORDS:
 coords_in = if set, then the coords for all vars will be set to this
             value (this is a scalar input)
HISTORY:
 12-feb-2008, jmm, jimm@ssl.berkeley.edu
$LastChangedBy: jimm $
$LastChangedDate: 2008-03-05 11:47:57 -0800 (Wed, 05 Mar 2008) $
$LastChangedRevision: 2449 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/thmsoc/tags/tdas_4_01/idl/themis/common/thm_new_coords.pro $

(See themis/common/thm_new_coords.pro)


THM_NEW_UNITS

[Previous Routine] [Next Routine] [List of Routines]
NAME:
 thm_new_units
PURPOSE:
 sets units in the dlimits structure of input tplot variables from
 the CDF attributes, or alternatively, input keywords
CALLING SEQUENCE:
 thm_new_units,vars,units_in=units_in
INPUT:
 vars = variable names
OUTPUT:
 none explicit, the dlimits structure of the variables are changed
KEYWORDS:
 units_in = if set, then the units for all vars will be set to this
            value (this is a scalar input)
HISTORY:
 12-feb-2008, jmm, jimm@ssl.berkeley.edu
$LastChangedBy: jimm $
$LastChangedDate: 2008-03-05 11:47:57 -0800 (Wed, 05 Mar 2008) $
$LastChangedRevision: 2449 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/thmsoc/tags/tdas_4_01/idl/themis/common/thm_new_units.pro $

(See themis/common/thm_new_units.pro)


THM_READ_CONFIG

[Previous Routine] [Next Routine] [List of Routines]
NAME:
 thm_read_config
PURPOSE:
 Reads the thm_config file
CALLING SEQUENCE:
 cstruct = thm_read_config()
INPUT:
 none, the filename is hardcoded, 'thm_config.txt',and is s put in a
 folder given by the routine thm_config_filedir, that uses the IDL
 routine app_user_dir to create/obtain it: my linux example:
 /disks/ice/home/jimm/.idl/themis/thm_config-4-linux
OUTPUT:
 cstruct = a structure with the changeable fields of the !themis
           structure
HISTORY:
 17-may-2007, jmm, jimm@ssl.berkeley.edu
 2-jul-2007, jmm, 'Add trailing slash to data directories, if necessary
$LastChangedBy$
$LastChangedDate$
$LastChangedRevision$
$URL$

(See themis/common/thm_read_config.pro)


THM_ROI_BAR

[Previous Routine] [Next Routine] [List of Routines]
NAME:
 thm_roi_bar
PURPOSE:
 creates the roi bar for overview plots
CALLING SEQUENCE:
 p = thm_roi_bar(in_data)

 INPUT:
  in_data: the name of the roi variable to
           be plotted(generally something like 'thb_state_roi'

OUTPUT:
 p = the variable name of the roi_bar, set to '' if not
 successfule
HISTORY:
 2007-02-28 pcruce@ssl.berkeley.edu
 
 $LastChangedBy: pcruce $
 $LastChangedDate: 2008-01-25 15:07:47 -0800 (Fri, 25 Jan 2008) $
 $LastChangedRevision: 2315 $
 $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/thmsoc/trunk/idl/themis/common/thm_sample_rate_bar.pro $

(See themis/common/thm_roi_bar.pro)


THM_SAMPLE_RATE_BAR

[Previous Routine] [Next Routine] [List of Routines]
NAME:
 thm_sample_rate_bar
PURPOSE:
 creates the sample rate bar for overview plots
CALLING SEQUENCE:
 p = thm_sample_rate_bar(date,duration,probe)
INPUT:
 date =  the date for the start of the timespan, 
 duration = the duration of your bar in days
 probe = THEMIS probe Id

KEYWORDS:
 outline: set this to 1 to generate a sample rate panel with
          a black outline rather than no outline
OUTPUT:
 p = the variable name of the sample_rate_bar, set to '' if not
 sccessfule
HISTORY:
 20-nov-2007, jmm, jimm@ssl.berkeley.edu
 $LastChangedBy: jimm $
 $LastChangedDate: 2008-05-14 20:45:51 -0700 (Wed, 14 May 2008) $
 $LastChangedRevision: 3086 $
 $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/thmsoc/tags/tdas_4_01/idl/themis/common/thm_sample_rate_bar.pro $

(See themis/common/thm_sample_rate_bar.pro)


THM_SPEC_LIM4OVERPLOT

[Previous Routine] [Next Routine] [List of Routines]
This program takes a variable and sets zero values to the minimum
nonzero value -- not NaN's though
ro thm_spec_lim4overplot, var, zmin = zmin, zmax = zmax, zlog = zlog, $
                          ymin = ymin, ymax = ymax, ylog = ylog, $
                          overwrite = overwrite, _extra = _extra
Version:
 $LastChangedBy: jimm $
 $LastChangedDate: 2007-11-28 13:32:47 -0800 (Wed, 28 Nov 2007) $
 $LastChangedRevision: 2091 $
 $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/thmsoc/tags/tdas_4_01/idl/themis/common/thm_spec_lim4overplot.pro $

(See themis/common/thm_spec_lim4overplot.pro)


THM_SST_OVERVIEWS

[Previous Routine] [Next Routine] [List of Routines]
Purpose:
Generates sst overview plots for a given date
this includes one day long plot and 4 1/4 day plots
It stores these plots in the current directory

Arguments:
       date: the date for which the plots will be generated

       directory(optional): an optional output directory
 
       device(optional):switch to 'z' device for cron plotting

Example:
 thm_sst_overviews,'2007-03-23',dir='~/out',device='z'

 $LastChangedBy: jimm $
 $LastChangedDate: 2008-03-07 14:08:42 -0800 (Fri, 07 Mar 2008) $
 $LastChangedRevision: 2460 $
 $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/thmsoc/tags/tdas_4_01/idl/themis/common/thm_sst_overviews.pro $

(See themis/common/thm_sst_overviews.pro)


THM_TPLOT_VAR

[Previous Routine] [Next Routine] [List of Routines]
Function: THM_TPLOT_VAR

Purpose:  Creates TPLOT variable name from SC id and data qty strings.
keywords:
   /VERBOSE or VERBOSE=n ; set to enable diagnostic message output.
		higher values of n produce more and lower-level diagnostic messages.
   /ALL

Example:
	sc = 'a'
	name = 'eff'
   tplot_var = thm_tplot_var( sc, name)
Notes:

 $LastChangedBy: kenb-mac $
 $LastChangedDate: 2007-02-08 10:02:45 -0800 (Thu, 08 Feb 2007) $
 $LastChangedRevision: 329 $
 $URL $

(See themis/common/thm_tplot_var.pro)


THM_UI_CALL_TPLOT

[Previous Routine] [Next Routine] [List of Routines]
NAME:
 thm_ui_call_tplot
PURPOSE:
 A widget interface for calling tplot from the themis_w widget,
 currently of limited usefulness, but expandable
CALLING SEQUENCE:
 thm_ui_call_tplot, master_widget_id
INPUT:
 master_widget_id = the id number of the widget that calls this
OUTPUT:
 none, there are buttons to push for plotting, setting limits, not
 sure what else yet...
HISTORY:
 14-dec-2006, jmm, jimm@ssl.berkeley.edu
 13-feb-2007, jmm, fixed problem with !p.background resetting in
 set_plot commands
 12-mar-2007, jmm, Added wavelet button
 2-apr-2007, jmm, Added pwrspc options, NEEDS TESTING.
 jun-2007, jmm, split from dproc widget.
 12-jul-2007, jmm, added a message widget, for invalid user input
                   errors, grays out all buttons while processing
 31-jul-2007, jmm, various checks for windows present to avoid tplot
                   and ctime bombs
 25-oct-2007, jmm, plot info, window number, size, ptyp, are no held
                   in the main GUI state structure
 19-mar-2008, jmm, changed state.ptyp to pstate.ptyp to fix bug
 1-apr-2008, cg, added a pop-up window to allow user to set size/units
                 for postscript files
 5-may-2008, cg, fixed bug with scroll bar
$LastChangedBy: kenb-mac $
$LastChangedDate: 2007-01-26 15:52:34 -0800 (Fri, 26 Jan 2007) $
$LastChangedRevision: 241 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/thmsoc/trunk/idl/themis/common/thm_ui_call_tplot.pro $

(See themis/common/thm_ui_call_tplot.pro)


THM_UI_CHECK4SPIN

[Previous Routine] [Next Routine] [List of Routines]
NAME:
 thm_ui_check4spin
PURPOSE:
 given a THEMIS tplot variable name, check to see if spin period and
 phase exist, for coordinate transformations, If they do not, load
 the state data for the appropriate time period
CALLING SEQUENCE:
 thm_ui_check4spin, vname, vname_spin1, vname_spin2, history_out
INPUT:
 vname = tplot variable name
OUTPUT:
 vname_spin1 = the tplot variable containing the spin period. or
                 spinras
 vname_spin2 = the tplot variable containing the spin phase or 
                   spindec
 history_out = a history string, if data needs loading
KEYWORDS:
 rasdec = if set, return the variables for spinras, and spindec used
          for dsl <-> gse tranformations
HISTORY:
 26-feb-2007, jmm, jimm@ssl.berkeley.edu
$LastChangedBy: jwl $
$LastChangedDate: 2008-08-12 11:35:45 -0700 (Tue, 12 Aug 2008) $
$LastChangedRevision: 3383 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/thmsoc/tags/tdas_4_01/idl/themis/common/thm_ui_check4spin.pro $

(See themis/common/thm_ui_check4spin.pro)


THM_UI_CHOOSE_DTYPE

[Previous Routine] [Next Routine] [List of Routines]
NAME:
 thm_ui_choose_dtype
PURPOSE:
 A widget for choosing data for the THEMIS data analysis GUI
CALLING SEQUENCE:
 thm_ui_choose_dtype, instr, dtyp, station, astation, probe
INPUT:
 instr = the instrument,  one of ['asi', 'ask', 'esa_pkt', $
           'efi', 'fbk', 'fft', 'fgm', $
           'fit', 'gmag', 'mom', 'scm', 'sst', 'state']
OUTPUT:
 dtyp = the output datatype, a string of instr/datatype/datalevel,
        e.g., 'state/spinras/l1'
 station = the ground station(s) if gmag data was chosen
 astation = the ground station(s) if asi data was chosen
 probe = the spacecraft if spacecraft data was chosen
HISTORY:
 jmm, jimm@ssl.berkeley.edu 1-may-2007
 jmm, Changed the probe list to reflect probe assigments:
      A (P5), B (P1), C (P2), D (P3) and E (P4)
       14-jun-2007
 jmm, correctly handles level 1 and level 2 datatypes, 11-jul-2007
 jmm, really correctly handles level 1 and 2 data types, by using a
      common block to handle them
 jmm, changed default behavior of windows, when an invalid string is
      used, then the available data types are set to 'None',
      31-jul-2007
 jmm, Changed call to thm_ui_valid_dtype to
      reflect new version, 11-apr-2008
$LastChangedBy$
$LastChangedDate$
$LastChangedRevision$
$URL$

(See themis/common/thm_ui_choose_dtype.pro)


THM_UI_CONFIG

[Previous Routine] [Next Routine] [List of Routines]
NAME:
 thm_ui_config
PURPOSE:
 A widget that allows the user to set some of the fields in the
 !themis system variable: Also allows the user to set the themis
 configuration text file, and save it
HISTORY:
 17-may-2007, jmm, jimm@ssl.berkeley.edu
 2-jul-2007, jmm, 'Add trailing slash to data directories, if necessary
 5-may-2008, cg, removed text boxes and replaced with radio buttons or 
                 pulldowns, fixed reset to default
$LastChangedBy$
$LastChangedDate$
$LastChangedRevision$
$URL$

(See themis/common/thm_ui_config.pro)


THM_UI_COTRANS

[Previous Routine] [Next Routine] [List of Routines]
NAME:
 thm_ui_cotrans
PURPOSE:
 Widget for coordinate transforms
CALLING SEQUENCE:
 thm_ui_cotrans, gui_id
INPUT:
 gui_id = the widget id of the thm_gui widget that called this one.
OUTPUT:
 none explicit, new variables are created
HISTORY:
 26-feb-2007, jmm, jimm@ssl.berkeley.edu
 10-apr-2007, jmm, changed input from state to the variable names
 31-may-2007, jmm, rewrite to become its own widget, and to call
              thm_cotrans, rather than cotrans directly
 12-jul-2007, jmm, added a message widget, for invalid user input errors
 06-may-2008, cg, rearranged gui so that message window is at bottom, is
              longer and doesn't wrap
$LastChangedBy$
$LastChangedDate$
$LastChangedRevision$
$URL$

(See themis/common/thm_ui_cotrans.pro)


THM_UI_DPROC

[Previous Routine] [Next Routine] [List of Routines]
NAME:
 thm_ui_dproc
PURPOSE:
 A widget interface for calling tplot from the themis_w widget,
 currently of limited usefulness, but expandable
CALLING SEQUENCE:
 thm_ui_dproc, master_widget_id
INPUT:
 master_widget_id = the id number of the widget that calls this
OUTPUT:
 none, there are buttons to push for plotting, setting limits, not
 sure what else yet...
HISTORY:
 06-may-2008, cg, added check to validate data, any active data that
                  has dimensions ge 3 cannot be processed
                  added data check for despike, time deriv, wavelet, 
                  powerspec, active data that has a y component > 6 
                  cannot be processed
                  and finally, rearranged widgets to allow for a long
                  narrow message window
 28-mar-2008, cg, added filename dialog box to ascii save option,
                  and passed file name to tplot_ascii
 14-dec-2006, jmm, jimm@ssl.berkeley.edu
 13-feb-2007, jmm, fixed problem with !p.background resetting in
 set_plot commands
 12-mar-2007, jmm, Added wavelet button
 2-apr-2007, jmm, Added pwrspc options
 5-jun-2007, jmm, rewritten
 12-jul-2007, jmm, added a message widget, for invalid user input
                   errors, grays out all buttons while processing
 31-jul-2007, jmm, changed time limits to 'set time limits'
 17-mar-2008, jmm, changed smooth option to input seconds, not npts
$LastChangedBy: kenb-mac $
$LastChangedDate: 2007-01-26 15:52:34 -0800 (Fri, 26 Jan 2007) $
$LastChangedRevision: 241 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/thmsoc/trunk/idl/themis/common/thm_ui_dproc.pro $

(See themis/common/thm_ui_dproc.pro)


THM_UI_ERROR

[Previous Routine] [Next Routine] [List of Routines]
NAME:
thm_ui_error
PURPOSE:
 A widget to display, edit and save the file 'thm_gui_error.txt' error

$LastChangedBy$
$LastChangedDate$
$LastChangedRevision$
$URL$

(See themis/common/thm_ui_error.pro)


THM_UI_HELP

[Previous Routine] [Next Routine] [List of Routines]
NAME:
thm_ui_help
PURPOSE:
 A widget to display the file 'thm_gui.txt' help

$LastChangedBy$
$LastChangedDate$
$LastChangedRevision$
$URL$

(See themis/common/thm_ui_help.pro)


THM_UI_LOAD_DATA_FN

[Previous Routine] [Next Routine] [List of Routines]
NAME:
thm_ui_load_data_fn
PURPOSE:
A widget interface to load CDF data for whatever instrument
CALLING SEQUENCE:
varnames = thm_ui_load_data_fn(st_time, en_time, $
                              dtype = dtype, $
                              station = station, $
                              astation = astation, $
                              probe = probe)
INPUT:
st_time, en_time = start and end times in seconds from
                   1-jan-1970 0:00
KEYWORDS:
dtype, the type of data, a string, of form
       'instrument/datatype/datalevel', the default is 'gmag/mag/l2'
station, the ground station of the gmag data, default is '*', for all
astation, the ground station of the asi data, default is '*', for all
probe = one or more of ['a','b','c','d','e'], default is ['a','b','c','d','e']
OUTPUT:
varnames = an array of tplot variable names, to pass into tplot
HISTORY:
 22-sep-2006, jmm, jimm@ssl.berkeley.edu
 23-oct-2006, jmm, changed to call cdf2tplot
 30-oct-2006, jmm, changed again, to call load_thg_mag, also added 
                   dtype and station as inputs
 13-nov-2006, jmm, changed the argument list, now the output is a
                   data id string, added a check for start time > end
                   time
 08-dec-2006, krb, changed load_thg_mag to thm_load_gmag
 13-dec-2006, jmm, Added call to cdf2tplot for data for which there
                   is no load program...
 14-dec-2006, jmm, returns an array of variable names and
                   subscripts, which should be easier to read..
 15-dec-2006, jmm, Added calls to thm_load_fgm, fit, sst, efi,
                   ask,probe can be an array
 16-jan-2007, jmm, Add all of the thm_load routines
 5-feb-2007, jmm, update calls to load routines
 10-apr-2007, jmm, removed history tracking, which is now handled in
                   thm_gui_event, also changed dtype, station
                   astation and probe to keywords
 1-may-2007, jmm, New version, new argument list,etc....
 10-may-2007, jmm, New version, new argument list,etc... that last
                   one lasted a long time, didn't it
 30-jul-2007, jmm, allow for string time input, this is needed to
                   run histories.
 11-apr-2008, jmm, Added 'spin' ipnput option
 21-apr-2008, WMFeuerstein, Changed THM_LOAD_SCM call as per Vassilis'
                   instructions.
$LastChangedBy$
$LastChangedDate$
$LastChangedRevision$
$URL$

(See themis/common/thm_ui_load_data_fn.pro)


THM_UI_MULTICHOICE_HISTORY

[Previous Routine] [Next Routine] [List of Routines]
 This program creates a string for the history array when multiple
 datatypes, spacecraft or stations are chosen, for use in the
 themis_w_event routine
$LastChangedBy: kenb-mac $
$LastChangedDate: 2007-01-26 15:52:34 -0800 (Fri, 26 Jan 2007) $
$LastChangedRevision: 241 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/thmsoc/trunk/idl/themis/common/thm_ui_multichoice_history.pro $

(See themis/common/thm_ui_multichoice_history.pro)


THM_UI_NPAR

[Previous Routine] [Next Routine] [List of Routines]
NAME:
 thm_ui_npar
PURPOSE:
 Simple widget that allows user to change n parameter values and units (if units were
 specified)
CALLING SEQUENCE:
 new_value = thm_ui_npar(name, init_value, [radio_array=radio_array], $
                         [radio_value=radio_value])
INPUT:
 name = the name of the parameter, can be an array
 init_value = the initial value of the parameter, e.g., '1.0', must
              be a string array of the smae size as name
 radio_array = optional string array containing radio button names
 radio_value = optional string containing the radio button to set initially
OUTPUT:
 new_value = the output value of the parameters, a string array of values,
             e.g., ['4.67', '3.0', ...n]
             if optional radio buttons were used the last element of  the array
             will contain the radio button selection,
             e.g., ['4.67', '3.0', ..., 'inches']
METHODS:
 thm_ui_npar0 - creates the window, widgets, and calls the xmanager
 thm_ui_npar0_event - event handler for the window (handles parameter input, cancel/
                      accept buttons, and window close 'X'
 thm_ui_rad_event - event handler for the radio buttons; thm_ui_npar0 - creates the window, widgets, and calls the xmanager
HISTORY:
 5-feb-2007, jmm, jimm@ssl.berkeley.edu
 25-OCt-2007, jmm, added KILL_REQUEST block

$LastChangedBy$
$LastChangedDate$
$LastChangedRevision$
$URL$

(See themis/common/thm_ui_npar.pro)


THM_UI_ONLY_TRANGE

[Previous Routine] [Next Routine] [List of Routines]
NAME:
 thm_ui_only_trange
PURPOSE:
 This program oprerates on the tplot data_quants to strip out data
 the is not in the input time range: start time, end time, and the
 subscripts of the appropriate data_quants structures are used, this
 is designed to be used in thm_ui_load_data_fn only... jmm,
 13-nov-2006
INPUT:
 st_time, en_time = time in seconds from 1-jan-1970 0:00
 data_ss = the subscripts of the data array to on which to operate
OUTPUT:
 None explicit, the tplot variables are changed
HISTORY:
 jmm, 13-nov-2006, jimm@ssl.berkeley.edu
 jmm, 13-dec-2006, made to work for non thg_mag data

$LastChangedBy: kenb-mac $
$LastChangedDate: 2007-01-26 15:52:34 -0800 (Fri, 26 Jan 2007) $
$LastChangedRevision: 241 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/thmsoc/trunk/idl/themis/common/thm_ui_only_trange.pro $

(See themis/common/thm_ui_only_trange.pro)


THM_UI_PAR

[Previous Routine] [Next Routine] [List of Routines]
NAME:
 thm_ui_par
PURPOSE:
 Simple widget that asks for a parameter
CALLING SEQUENCE:
 new_value = thm_ui_par(name, init_value)
INPUT:
 name = the name of the parameter, e.g., 'time_resolution'
 init_value = the initial value of the parameter, e.g., '1.0', must
              be a string.
OUTPUT:
 new_value = the output value of the parameter, a string, e.g., '4.67'
HISTORY:
 22-jan-2007, jmm, jimm@ssl.berkeley.edu
 25-OCt-2007, jmm, added KILL_REQUEST block
$LastChangedBy: kenb-mac $
$LastChangedDate: 2007-01-26 15:52:34 -0800 (Fri, 26 Jan 2007) $
$LastChangedRevision: 241 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/thmsoc/trunk/idl/themis/common/thm_ui_par.pro $

(See themis/common/thm_ui_par.pro)


THM_UI_PROGOBJ__DEFINE

[Previous Routine] [Next Routine] [List of Routines]
NAME:
 thm_ui_progobj__define
PURPOSE:
 defines an object to pass through into file_retrieve and
 file_http_copy that allows updates to the thm_gui progress widget
METHODS DEFINED IN THIS CLASS:
 set = sets the parameter (only one, the gui widget id)
 get = returns the parameter
 update = if called, this updates the thm_gui progress widget, with
          the input text
 checkcancel = Currently does nothing, but will eventually allow the
               user to cancel a download.
HISTORY:
 15-may-2007, jmm, jimm@ssl.berkeley.edu
 24-jul-2007, jmm, activated checkcancel, to see if it can do anything...
 5-mar-2008, jmm, pass _extra through to thm_ui_update_progress, to
                  allow the message_wid value to be passed through
 $LastChangedBy$
 $LastChangedDate$
 $LastChangedRevision$
 $URL$

(See themis/common/thm_ui_progobj__define.pro)


THM_UI_RESET_COMMON_BLOCK

[Previous Routine] [Next Routine] [List of Routines]
 This puts the input data structure into the tplot common block as
 the data_quants structure, and undefines all of the other variables
 in the common block, using temporary, the original common block is
 saved in a different common block. This is needed to call the
 stackmagplot routine on a subset of stations
 13-nov-2006, jmm, jimm@ssl.berkeley.edu

$LastChangedBy: kenb-mac $
$LastChangedDate: 2007-01-26 15:52:34 -0800 (Fri, 26 Jan 2007) $
$LastChangedRevision: 241 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/thmsoc/trunk/idl/themis/common/thm_ui_reset_common_block.pro $

(See themis/common/thm_ui_reset_common_block.pro)


THM_UI_SCLIST

[Previous Routine] [Next Routine] [List of Routines]
NAME:
 thm_ui_sclist
PURPOSE:
 creates an array for the different themis spacecraft, to be used in
 a list widget
CALLING SEQUENCE:
 sclist = thm_ui_sclist()
INPUT:
 none
OUTPUT:
 sclist = ['THA', 'THB', 'THC', 'THD', 'THE']

$LastChangedBy: kenb-mac $
$LastChangedDate: 2007-01-26 15:52:34 -0800 (Fri, 26 Jan 2007) $
$LastChangedRevision: 241 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/thmsoc/trunk/idl/themis/common/thm_ui_sclist.pro $

(See themis/common/thm_ui_sclist.pro)


THM_UI_SET_ACTIVE_DSET

[Previous Routine] [Next Routine] [List of Routines]
NAME:
 thm_ui_set_active_dset
PURPOSE:
 sets active datasets in themis GUI to given tplot varnames, used in
 the call_tplot widget.
CALLING SEQUENCE:
 ss = thm_ui_set_active_dset(gui_id, active_names)
INPUT:
 gui_id = the widget id for the master widget
 active_names = the tplot variable names
OUTPUT:
 ss = the subscripts of the valid active varnames in the full
      tnames() array
HISTORY:
 22-jan-2007, jmm, jimm@ssl.berkeley.edu
 27-feb-2007, jmm, removed call to set_state_ptrs routine
 10-may-2007, jmm, changed argument list, to use the GUI_ID and not
                   the state structure
 7-may-2008, jmm, Slight change to avoid putting in invalid names

$LastChangedBy: kenb-mac $
$LastChangedDate: 2007-01-26 15:52:34 -0800 (Fri, 26 Jan 2007) $
$LastChangedRevision: 241 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/thmsoc/trunk/idl/themis/common/thm_ui_set_active_dset.pro $

(See themis/common/thm_ui_set_active_dset.pro)


THM_UI_SET_DATA_ID

[Previous Routine] [Next Routine] [List of Routines]
NAME:
 thm_ui_set_data_id
PURPOSE:
 This program sets the data_id values of the pointer in the thm_gui state
 structure, given the tplot common block:
INPUT:
 state_or_id = thm_gui state structure, or gui_id
HISTORY:
 26-feb-2007, jmm, jimm@ssl.berkeley.edu
 10-may-2007, jmm, allow for input of the gui_id instead of the state

$LastChangedBy:$
$LastChangedDate:$
$LastChangedRevision:$
$URL:$

(See themis/common/thm_ui_set_data_id.pro)


THM_UI_SET_TRANGE

[Previous Routine] [Next Routine] [List of Routines]
NAME:
 thm_ui_set_trange
PURPOSE:
 A widget interface for setting time ranges for the thm_gui widget
CALLING SEQUENCE:
 thm_ui_set_trange, master_widget_id
INPUT:
 master_widget_id = the id number of the widget that calls this
OUTPUT:
 none, the start and end time are set
HISTORY:
 9-may-2007, jmm, jimm@ssl.berkeley.edu
 12-jul-2007, jmm, Removed ability to type in time values..
 19-jul-2007, jmm, typed time values are back..
 25-oct-2007, jmm, Added kill_request block
$LastChangedBy:$
$LastChangedDate:$
$LastChangedRevision:$
$URL:$

(See themis/common/thm_ui_set_trange.pro)


THM_UI_SHOW_DLIM

[Previous Routine] [Next Routine] [List of Routines]
Name:
THM_UI_SHOW_DLIM.PRO

Syntax:
  THM_UI_SHOW_DLIM ,tplot_name, group=group
    where,
    tplot_name is the name string or index number of a single tplot
      variable.

Purpose:
  Display the output of help,/structure for the default limits
    structure of specified tplot variable.

Keywords:
  group

Example:
  This is a subroutine to THM_GUI.PRO -- not intended for outside
    calls (but it wil work).

Author: W.M.Feuerstein, 2008/2/4

Modification History:
  Padded names array with white space to make widget output left
    justified, WMF.
  Fixed group kw (must die with parent), fixed Windows bug,
    added DLIMITS.DATA_ATT info (if present), WMF, 3/5/2008.

History:
  A J. McTiernan request.
  Adapted from TPLOT_LABEL.PRO

$LastChangedBy: jimm $
$LastChangedDate: 2008-03-26 16:41:45 -0700 (Wed, 26 Mar 2008) $
$LastChangedRevision: 2528 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/thmsoc/tags/tdas_4_01/idl/themis/common/thm_ui_show_dlim.pro $

(See themis/common/thm_ui_show_dlim.pro)


THM_UI_SUMMPLOT

[Previous Routine] [Next Routine] [List of Routines]
NAME:
 thm_ui_summplot
PURPOSE:
 This widget prompts the user for a choice of probe, and then Calls
 the thm_gen_overplot routine.
HISTORY:
 21-jun-2007, jmm, jimm@ssl.berkeley.edu
 31-jul-2007, jmm, resets active data in correct order after plotting
$LastChangedBy$
$LastChangedDate$
$LastChangedRevision$
$URL$

(See themis/common/thm_ui_summplot.pro)


THM_UI_TIMEFIX

[Previous Routine] [Next Routine] [List of Routines]
NAME:
 thm_ui_timefix
PURPOSE:
 Will fix an input time string of yyyy-mm-dd hh:mm:ss.xxxx if there
 is only 1 digit in the day or hour or second, etc.
 Will also return an error message, if the months, days, hours,
 seconds are not valid
$LastChangedBy$
$LastChangedDate$
$LastChangedRevision$
$URL$
unction thm_ui_timefix, time_in, progobj = progobj, _extra = _extra

(See themis/common/thm_ui_timefix.pro)


THM_UI_TSELECT

[Previous Routine] [Next Routine] [List of Routines]
NAME:
 thm_ui_tselect
PURPOSE:
 A list widget for time selection, this is a blocking widget, it must
 be exited for anything to happen
CALLING SEQUENCE:
 thm_ui_teslect
INPUT:
 none
OUTPUT:
 the selected time is held in the common block saved_time_sel
HISTORY:
 sep-2006,  jmm,  jimm@ssl.berkeley.edu

$LastChangedBy: kenb-mac $
$LastChangedDate: 2007-01-26 15:52:34 -0800 (Fri, 26 Jan 2007) $
$LastChangedRevision: 241 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/thmsoc/trunk/idl/themis/common/thm_ui_tselect.pro $

(See themis/common/thm_ui_tselect.pro)


THM_UI_TSELECT_FN

[Previous Routine] [Next Routine] [List of Routines]
 Calls the thm_tselect widget, returns the value..
16-jul-2007, jmm added the init_time input
$LastChangedBy: kenb-mac $
$LastChangedDate: 2007-01-26 15:52:34 -0800 (Fri, 26 Jan 2007) $
$LastChangedRevision: 241 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/thmsoc/trunk/idl/themis/common/thm_ui_tselect_fn.pro $

(See themis/common/thm_ui_tselect_fn.pro)


THM_UI_UPDATE_DATA_ALL

[Previous Routine] [Next Routine] [List of Routines]
NAME:
 thm_ui_update_data_all
PURPOSE:
 Calls thm_ui_set_data_id, thm_ui_set_active_dset and
 thm_ui_update_data_display in one procedure, 
CALLING SEQUENCE:
 thm_ui_update_data_all, gui_id, active_vnames
INPUT:
 gui_id = a widget id for the gui
OUTPUT:
 none
HISTORY:
 5-jun-2007, jmm, jimm@ssl.berkeley.edu
 7-may-2008, jmm, sort and uniq functionality is handled by tnames
                  call. This is now a short program....
$LastChangedBy$
$LastChangedDate$
$LastChangedRevision$
$URL$

(See themis/common/thm_ui_update_data_all.pro)


THM_UI_UPDATE_DATA_DISPLAY

[Previous Routine] [Next Routine] [List of Routines]
NAME:
 thm_ui_update_data_display
PURPOSE:
 update the loaded-data display for the themis_w widget
CALLIMG SEQUENCE:
 thm_ui_update_data_display, widget_id
INPUT:
 widget_id = the id number of the widget
HISTORY:
 dec-2006, jmm jimm@ssl.berkeley.edu
 18-jun-2007, jmm, changed to access 'active data' widget
 16-jul-2007, jmm, changed to add coordinate system to display
$LastChangedBy: kenb-mac $
$LastChangedDate: 2007-01-26 15:52:34 -0800 (Fri, 26 Jan 2007) $
$LastChangedRevision: 241 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/thmsoc/trunk/idl/themis/common/thm_ui_update_data_display.pro $

(See themis/common/thm_ui_update_data_display.pro)


THM_UI_UPDATE_HISTORY

[Previous Routine] [Next Routine] [List of Routines]
NAME:
 thm_ui_update_history
PURPOSE:
 Adds the string input to the state structure history array
INPUT:
 string = a string to add to the history array. Note that this is
 returned undefined, if it is passed in by reference, i/e/, if it's a
 named variable.
OUTPUT:
 state.history is updated
HISTORY:
 sep-2006, jmm, jimm@ssl.berkeley.edu
 26-feb-2007, jmm, fixed problem with multiple lines when choosing
                   multiple probes, datatypes, sataiotns, etc...
 8-may-2007, jmm, changed so that the thm_gui widget id is now passed
                  in, since the history widget is now on the main
                  widget, removed some error checking, if things are
                  undefined in here i want to know

$LastChangedBy: kenb-mac $
$LastChangedDate: 2007-01-26 15:52:34 -0800 (Fri, 26 Jan 2007) $
$LastChangedRevision: 241 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/thmsoc/trunk/idl/themis/common/thm_ui_update_history.pro $

(See themis/common/thm_ui_update_history.pro)


THM_UI_UPDATE_PROGRESS

[Previous Routine] [Next Routine] [List of Routines]
NAME:
 thm_ui_update_progress
PURPOSE:
 Write a string into the progress widget for the THEMIS GUI
CALLING SEQUENCE:
 thm_ui_update_progress, gui_id, input_string
INPUT:
 gui_id = the widget_id for the GUI
 input_string = a string to be displayed
OUTPUT:
 None
KEYWORDS:
 message_wid = id for any other message widgets that you might like
                to display the messages
HISTORY:
 jmm, 9-may-2007, jimm@ssl.berkeley.edu
 jmm, 5-mar-2008, added multiple lines, and the ability to show in
                  multiple message widgets.
$LastChangedBy$
$LastChangedDate$
$LastChangedRevision$
$URL$

(See themis/common/thm_ui_update_progress.pro)


THM_UI_USERDEF

[Previous Routine] [Next Routine] [List of Routines]
NAME:
 thm_ui_userdef
PURPOSE:
 A widget that allows the user to define his own operator to be used
 on the data from a tplot variable, e.g., the user types in the
 string '2.0*!pi*q', and a temporary function is created which takes
 the data and does this multiplication. This is pretty experimental.
CALLING SEQUENCE:
 thm_ui_userdef, gui_id
INPUT:
 gui_id = the id of the main gui widget
OUTPUT:
 none explicit, hopefully new tplot variables are created
HISTORY:
 7-jun-2007, jmm, jimm@ssl.berkeley.edu

$LastChangedBy$
$LastChangedDate$
$LastChangedRevision$
$URL$

(See themis/common/thm_ui_userdef.pro)


THM_UI_VALID_DTYPE

[Previous Routine] [Next Routine] [List of Routines]
NAME:
 thm_ui_valid_dtype
PURPOSE:
 get valid datatype names from thm_load_* routines, using the
 valid_names keyword and returns a list of data types that can be
 loaded for each instrument.
CALLING SEQUENCE:
 datalist = thm_ui_valid_dtype(instrument, ilist, llist)
INPUT:
 none
OUTPUT:
 datalist = a list of the datatypes that can be loaded
 instrument = the instrument responsible for this datatype
 ilist = a list of the input instrument replicated for each datalist
         element
 llist = the level of the data, some have 'l1', some have 'l2' some
         have one for each
HISTORY:
 16-jan-2007, jmm, jimm@ssl.berkeley.edu
 29-jan-2007, jmm, various changes, now station isn't returned, gmag
 and asi output are hard-wired, other changes will ensue when load
 routines are standardized.
 4-feb-2007, jmm, Rewritten back to the old hard-wired version....
 5-jul-2007, jmm, Added level information
 11-apr-2008, jmm, now calls thm_data2load.pro, for 1 instrument
$LastChangedBy: kenb-mac $
$LastChangedDate: 2007-01-26 15:52:34 -0800 (Fri, 26 Jan 2007) $
$LastChangedRevision: 241 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/thmsoc/trunk/idl/themis/common/thm_ui_valid_dtype.pro $

(See themis/common/thm_ui_valid_dtype.pro)


THM_UI_WAVELET

[Previous Routine] [Next Routine] [List of Routines]
NAME:
 thm_ui_wavelet
PURPOSE:
 wavelet transform of the input tplot variables, fist calls split_vec
 to split up any multi-component vectors.
CALLING SEQUENCE:
 thm_ui_wavelet, vnames, new_names, polar=polar,_extra=_extra
INPUT:
 vnames = the tplot variable names to transform
OUTPUT:
 new_names = new variable names generated by the process
KEYWORDS:
 polar = if set, passes the /polar keyword into the split_vec
         procedure, new variable names for 3-d data will be polar,
         and not '_x','_y','_z'
 gui_id = the main GUI widget ID, for messages
 messw_id = the dproc widget id, for messages
HISTORY:
 12-mar-2007, jmm, jimm@ssl.berkeley.edu
 5-jun-2007, jmm, no longer handles history
 7-may-2008, W. Michael Feuerstein, Test for >= 2 finite points.

$LastChangedBy$
$LastChangedDate$
$LastChangedRevision$
$URL$

(See themis/common/thm_ui_wavelet.pro)


THM_VALID_INPUT

[Previous Routine] [Next Routine] [List of Routines]
function thm_valid_input
purpose:
  for thm_load routines to validate the input keyword and set it to a standard
  format ('l1', 'l2', etc.).  
parameters:
  input:  keyword input to be validated from thm_load routine: array or scalar
  label:  name of input keyword that is being validated
keywords:
  vinputs: a space-separated string, like 'l1 l2'
  definput: a string like 'l2'.  Required.
  include_all:  if set will accept multiple values on input, and include 'all'
                as a valid input. 'all' is equivalent to '*'
  verbose: to maintain control of verbosity 
  format: format to use to convert numerical input to string.  Numerical input
          disallowed if absent.  examples: "('l',I1)" or "('v', I02)"
 return value:
    a scalar string, e.g. 'l1'
    if /include_all: an array of strings
    on error: empty string: ''
example:
        lvl = thm_valid_input(level,'Level',vinputs='l1 l2',definput='l1',$
                               foramt="('l', I1)", verbose=verbose)
        if lvl eq '' then return                             

(See themis/common/thm_valid_input.pro)


THM_VALID_LEVEL

[Previous Routine] [Next Routine] [List of Routines]
function thm_valid_level
purpose:
  for thm_load routines to validate the level keyword and set it to a standard
  format ('l1', 'l2', etc.).  Only a single level is allowed.
keywords:
  level:  level keyword input from thm_load routine
  vlevels: a space-separated string, like 'l1 l2'
  deflevel: a string like 'l2'.  defaults to 'l1'
example:
        lvl = thm_valid_level('l1','l1 l2','l1')

(See themis/common/thm_valid_level.pro)


THM_WRITE_CONFIG

[Previous Routine] [Next Routine] [List of Routines]
NAME:
 thm_write_config
PURPOSE:
 Writes the thm_config file
CALLING SEQUENCE:
 thm_write_config, copy=copy
INPUT:
 none, the filename is hardcoded, 'thm_config.txt',and is s put in a
 folder given by the routine thm_config_filedir, that uses the IDL
 routine app_user_dir to create/obtain it: my linux example:
 /disks/ice/home/jimm/.idl/themis/thm_config-4-linux
OUTPUT:
 the file is written, and a copy of any old file is generated
KEYWORD:
 copy = if set, the file is read in and a copy with the !stime
        appended is written out
HISTORY:
 17-may-2007, jmm, jimm@ssl.berkeley.edu
$LastChangedBy$
$LastChangedDate$
$LastChangedRevision$
$URL$

(See themis/common/thm_write_config.pro)


TPWRSPC[1]

[Previous Routine] [Next Routine] [List of Routines]
NAME:
 tpwrspc
PURPOSE:
 wapper for pwrspc.pro for calling from GUI, a split_vec is performed
 on the data if necessary
CALLING SEQUENCE:
 thm_ui_pwrspc, varnames, new_names, trange, history_ext, $
                polar = polar, dynamic = dynamic, _extra = _extra
INPUT:
 varnames = an array (or scalar) of tplot variable names
Output
 new_names = the variable names of any new variables
HISTORY:
 28-mar-2007, jmm, jimm.ssl.berkeley.edu
 2-apr-2007, jmm, added the /dynamic keyword
 5-jun-2007, jmm, no longer handles history

$LastChangedBy$
$LastChangedDate$
$LastChangedRevision$
$URL$

(See themis/common/thm_ui_pwrspc.pro)


YESNO_WIDGET_FN

[Previous Routine] [List of Routines]
NAME:
 yesno_widget_fn
PURPOSE:
 Simple widget that asks for a yes or no
CALLING SEQUENCE:
 yn=yesno_widget_fn(title, list = list, _extra = _extra)
INPUT:
 title = a title, or a question
OUTPUT:
 yn = 0 for no, 1 for yes
KEYWORDS:
 list, a string array to put in the widget, as an aid
HISTORY:
 27-nov-2006, jmm, jimm@ssl.berkeley.edu
 31-jul-2007, jmm, added /enable_yes_always button, default behavior
              is to not allow this sort of thing
 27-mar-2008, jmm, just added this comment to test SVN from my PC..
 27-mar-2008, jmm, another comment to test SVN from my PC..
 10-apr-2008, jmm, another test of SVN
$LastChangedBy: kenb-mac $
$LastChangedDate: 2007-01-26 15:52:34 -0800 (Fri, 26 Jan 2007) $
$LastChangedRevision: 241 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/thmsoc/trunk/idl/themis/common/yesno_widget_fn.pro $

(See themis/common/yesno_widget_fn.pro)