This page was created by the IDL library routine
mk_html_help2.
Last modified: Fri Nov 2 10:24:04 2012.
Procedure: num_to_str_pad
Purpose:
This is a very basic operation that gets repeated a lot in date file output.
This takes a number as input and pads zeros on the front so that the number outputs
at fixed field width.
Inputs:
val: The number to be converted
len: The final length requested
Keywords:
pad: Select a character other than '0' with which to pad
integral: Normally, if val is a floating point type, if will add a .00, If this keyword is set, forces no decimal points.
Notes:
1. For a while I resisted putting this in the distribution as it seemed too specific an operation,
but at the point when I was considering implementing this routine for a 4th time in a separate
namespace, I just decided to go ahead and add this instead.
2. There is no error checking to determine if the input is wider than 'len'
3. Currently floating point inputs will produce unreliable results.
Example:
date_str = num_to_str_pad(year,4)+num_to_str_pad(mon,2)+num_to_str_pad(day,2)
$LastChangedBy: pcruce $
$LastChangedDate: 2010-03-16 18:00:51 -0700 (Tue, 16 Mar 2010) $
$LastChangedRevision: 7416 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/thmsoc/tags/tdas_7_01_test/idl/themis/common/num_to_str_pad.pro $
(See themis/common/num_to_str_pad.pro)
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.
no_warning = if set, do not issue a warning if the input is invalid
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)
FUNCTION: thm_component_to_tplot, plot_type, active_vnames
PURPOSE:
Checks the plot type (SPACECRAFT or COMPONENTS) and creates
(if necessary) new tplot variables
INPUT: active_vars string array of variable names (these are the
active variables that are currently available)
cw gui id for history window
mw gui id for progress window
OUTPUT: new_vars string array of new active variables, these
variables are regrouped by SPACECRAFT or COMPONENT
KEYWORDS:
SEE ALSO: "STORE_DATA", "GET_DATA", "SPLIT_VEC", "OPTIONS", "TPLOT"
CREATED BY: Cindy Goethel
MODIFICATION BY:
LAST MODIFICATION:
(See themis/common/thm_component_to_tplot.pro)
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: pcruce $
$LastChangedDate: 2012-01-27 14:11:42 -0800 (Fri, 27 Jan 2012) $
$LastChangedRevision: 9639 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/thmsoc/tags/tdas_7_01_test/idl/themis/common/thm_config.pro $
(See themis/common/thm_config.pro)
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)
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: aaflores $
$LastChangedDate: 2012-02-21 11:08:29 -0800 (Tue, 21 Feb 2012) $
$LastChangedRevision: 9796 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/thmsoc/tags/tdas_7_01_test/idl/themis/common/thm_data2load.pro $
(See themis/common/thm_data2load.pro)
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)
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: aaflores $
$LastChangedDate: 2012-01-24 11:22:53 -0800 (Tue, 24 Jan 2012) $
$LastChangedRevision: 9600 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/thmsoc/tags/tdas_7_01_test/idl/themis/common/thm_esa_overviews.pro $
(See themis/common/thm_esa_overviews.pro)
NAME:
thm_ffffbk_composite
PURPOSE:
Creates a composite FFF and FBK tplot variable for overview plots
CALLING SEQUENCE:
var = thm_ffffbk_composite(fffvar, fbkvar, scale = scale, $
min_gap = min_gap)
INPUT:
fffvar = the name of the FFF variable
fbkvar = the name of the FBS variable
OUTPUT:
var = the name of the composite variable, will be fbkvar+'_mix'
KEYWORDS:
scale = scale factor to multiply the FFF data, the default is 1.0
min_gap = the minimum gap size for FFF data, FBK data will not be
inserted into gaps smaller than this. The default is 300.0
seconds
HISTORY:
11-Aug-2010, jmm, jimm@ssl.berkeley.edu
Version:
$LastChangedBy: jimm $
$LastChangedDate: 2010-08-12 15:04:38 -0700 (Thu, 12 Aug 2010) $
$LastChangedRevision: 7757 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/thmsoc/tags/tdas_7_01_test/idl/themis/common/thm_ffffbk_composite.pro $
(See themis/common/thm_ffffbk_composite.pro)
NAME:
thm_fftfbk_overplot
PURPOSE:
Creates overview plots of FBK and FFT (in fast-survey FFF mode) for
all probes. Two plots are created, one for the "inner probes" (a, d,
e) and one for the "outer probes" (b, c). There are four quantities
for each probe, two FBK and two FFF.
CALLING SEQUENCE:
thm_fftfbk_overplot, date=date,device = device, $
directory = directory, makepng = makepng
INPUT:
date = the date for the plots, e.g., '2012-12-21' in any tplottable
format
OUTPUT:
none explicit, plots are generated
KEYWORDS:
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 './')
$LastChangedBy: aaflores $
$LastChangedDate: 2012-01-26 16:41:44 -0800 (Thu, 26 Jan 2012) $
$LastChangedRevision: 9622 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/thmsoc/tags/tdas_7_01_test/idl/themis/common/thm_fftfbk_overplot.pro $
(See themis/common/thm_fftfbk_overplot.pro)
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: aaflores $
$LastChangedDate: 2012-01-24 11:22:53 -0800 (Tue, 24 Jan 2012) $
$LastChangedRevision: 9600 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/thmsoc/tags/tdas_7_01_test/idl/themis/common/thm_fgm_overviews.pro $
(See themis/common/thm_fgm_overviews.pro)
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: aaflores $
$LastChangedDate: 2012-01-06 12:37:07 -0800 (Fri, 06 Jan 2012) $
$LastChangedRevision: 9507 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/thmsoc/tags/tdas_7_01_test/idl/themis/common/thm_fgm_shell.pro $
(See themis/common/thm_fgm_shell.pro)
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.
23-may-2008, cg, added optional keyword /either to the call to
resolve_routine
(See themis/common/thm_file_download.pro)
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: $
$LastChangedDate: $
$LastChangedRevision: $
$URL: $
(See themis/common/thm_fitgmom_overviews.pro)
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)
NAME:
thm_gen_multipng_plot
PURPOSE:
Creates full day, 6 hour and 2 hour png files for data for a given
day, Note that the data must have already been plotted for this
routine to work properly. It calls tplot without arguments.
CALLING SEQUENCE:
thm_gen_multipng_plot, filename_proto, date, directory=directory
INPUT:
filename_proto = the first part of the eventual filename, e.g.,
'tha_l2_overview', dates and times are appended to
make up the full filename
date = the date for the data
OUTPUT:
png files, with names directory+filename_proto+yyddmm_hshf.png,
where hshf refers to start and end hours for the plot.
KEYWORDS:
directory = the output directory, remember the trailing slash....
vars24 = the variable names to plot for the full 24hr plot, the
default is to call tplot without any inputs
vars06 = the variable names to plot for the 6hr plots, the
default is to call tplot without any inputs
vars02 = the variable names to plot for the 2hr plots, the
default is to call tplot without any inputs
HISTORY:
21-may-2008, jmm, jimm@ssl.berkeley.edu
$LastChangedBy: jimm $
$LastChangedDate: 2008-06-13 14:22:01 -0700 (Fri, 13 Jun 2008) $
$LastChangedRevision: 3206 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/thmsoc/tags/tdas_7_01_test/idl/themis/common/thm_gen_multipngplot.pro $
(See themis/common/thm_gen_multipngplot.pro)
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)
PRO thm_graphics_config This routine does just the graphics configuration for themis. It can be called from routines that need to have a guaranteed graphics configuration without forcing the rest of the themis initialization to be run. This is done to avoid overwriting settings that may have been set by users later in their session. Keywords: colortable: overwrite the default colortable initialization $LastChangedBy: bsadeghi $ $LastChangedDate: 2012-02-23 10:05:32 -0800 (Thu, 23 Feb 2012) $ $LastChangedRevision: 9834 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/thmsoc/tags/tdas_7_01_test/idl/themis/common/thm_graphics_config.pro $
(See themis/common/thm_graphics_config.pro)
NAME:
thm_gui_original
PURPOSE:
GUI for THEMIS data analysis
CALLING SEQUENCE:
thm_gui_original
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)
cg, 29-may-2008, added a new structure that defines the SCM
calibration parameters. altered how the load SCM data is
handled, it now calls a different GUI for SCM data
jmm, Tweaking to test SVN, 21-May-2009
$LastChangedBy: $
$LastChangedDate: $
$LastChangedRevision: $
$URL: $
(See themis/common/thm_gui_original.pro)
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://themis.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://themis.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://themis.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: jimm $
$LastChangedDate: 2010-10-22 13:55:01 -0700 (Fri, 22 Oct 2010) $
$LastChangedRevision: 7884 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/thmsoc/tags/tdas_7_01_test/idl/themis/common/thm_init.pro $
(See themis/common/thm_init.pro)
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.
/NO_UPDATE: prevent contact to server if local file already exists.
/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: jimmpc1 $
$LastChangedDate: 2012-03-08 14:08:25 -0800 (Thu, 08 Mar 2012) $
$LastChangedRevision: 10001 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/thmsoc/tags/tdas_7_01_test/idl/themis/common/thm_load_proc_arg.pro $
(See themis/common/thm_load_proc_arg.pro)
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.
/NO_UPDATE: prevent contact to server if local file already exists.
/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
Note that the suffix is *not* applied to support_data.
SCM_CAL: structure that contains calibration paramters
Notes:
This routine is (should be) platform independent.
$LastChangedBy: jimmpc1 $
$LastChangedDate: 2012-03-08 13:55:00 -0800 (Thu, 08 Mar 2012) $
$LastChangedRevision: 9999 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/thmsoc/tags/tdas_7_01_test/idl/themis/common/thm_load_xxx.pro $
(See themis/common/thm_load_xxx.pro)
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: bckerr $
$LastChangedDate: 2009-07-31 13:29:00 -0700 (Fri, 31 Jul 2009) $
$LastChangedRevision: 6512 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/thmsoc/tags/tdas_7_01_test/idl/themis/common/thm_new_coords.pro $
(See themis/common/thm_new_coords.pro)
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_7_01_test/idl/themis/common/thm_new_units.pro $
(See themis/common/thm_new_units.pro)
Function: thm_probe_num Purpose: Converts probe letters into probe numbers and vice versa. Provide a single character or number to this routine, or an array of characters and numbers and it will return those values but converted into the alternative representation. Inputs: name: Either an array or a single element. Can be either numbers or letters. Outputs: A single element or an array of elements converted to the alternative representation. Example: print,thm_probe_num(['a','b','c','d','e']) 5 1 2 3 4 print,thm_probe_num([1,2,3,4,5]) b c d e a Notes: $LastChangedBy: pcruce $ $LastChangedDate: 2008-06-30 16:26:54 -0700 (Mon, 30 Jun 2008) $ $LastChangedRevision: 3229 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/thmsoc/tags/tdas_7_01_test/idl/themis/common/thm_probe_num.pro $
(See themis/common/thm_probe_num.pro)
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
10-aug-2011, lphilpott, Modified to allow to read a THEMIS template path from the config file
$LastChangedBy$
$LastChangedDate$
$LastChangedRevision$
$URL$
(See themis/common/thm_read_config.pro)
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)
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
sccessful
HISTORY:
20-nov-2007, jmm, jimm@ssl.berkeley.edu
$LastChangedBy: pcruce $
$LastChangedDate: 2009-08-03 17:09:36 -0700 (Mon, 03 Aug 2009) $
$LastChangedRevision: 6522 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/thmsoc/tags/tdas_7_01_test/idl/themis/common/thm_sample_rate_bar.pro $
(See themis/common/thm_sample_rate_bar.pro)
function THM_SCPOT2DENS.PRO Purpose: This stand-alone function calculates the spacecraft potential derived density. All argindex_esa_e[0] uments should be 1-d arrays. Average temps will be interpolated onto the SCPOT, using the time values (SCPTIME). Result: The plasma density as a function of SCPOT keeping the same time base (SCPTIME). Calling sequence: RESULT = THM_SCPOT2DENS( scpot, scptime, Te, Tetime, dens_e, dens_e_time, dens_i, dens_i_time ) where SCPOT: The spacecraft potential time (call THM_LOAD_ESA, DATATYPE = 'peer_sc_pot'). SCPTIME: The time base of SCPOT. TE: The electron temperature (a la THM_LOAD_ESA, DATATYPE = 'peer_avgtemp'). TETIME: The time base of TE. DENS_E: The electron density (call THM_LOAD_ESA, DATATYPE = 'peer_density'). DENS_E_TIME: The time base for DENS_E. DENS_I: The ion density (call THM_LOAD_ESA, DATATYPE = 'peir_density'). DENS_I_TIME: The time base for DENS_I. W.M.Feuerstein, 2009-05-18. Example: see THM_CRIB_SCPOT2DENS.PRO $LastChangedBy: $ $LastChangedDate: $ $LastChangedRevision: $ $URL: $
(See themis/common/thm_scpot2dens.pro)
NAME:
thm_scpot2dens_opt_n
PURPOSE:
Convert the spacecraft potential to the electron density
CATEGORY:
EFI, ESA
CALLING SEQUENCE:
thm_scpot2dens_opt_n,sc=sc,datatype_esa=datatype_esa,trange=trange
EXAMPLE:
thm_scpot2dens_opt_n,sc='d',datatype_esa='peer' ;scpot and vthermal from peer
PRE-REQUIREMENTS:
Timespan for the calculation like
timespan,'2009-01-01/00:00:00',1,/day
KEYWORD PARAMETERS:
probe spacecraft name: 'a', 'b', 'c', 'd' or 'e'. Default is 'a'.
datatype_esa ESA datatype: 'peef', 'peer', 'peem' or
'peeb'. Default is 'peer'.
trange The time range to input, if not set, then the timespan
value is used.
OUTPUTS:
'th?_*_density' Electron density in cm-3
RESTRICTIONS:
The calculated electron density may include
uncertainties. Uncertainties are larger where the thermal
velocity of electrons is not accurately estimated: in the
plasmasphere, plasmatrough and lobe. Error data in the electron
thermal speed or spacecraft potential give unreliable denisities.
MODIFICATION HISTORY:
Written by: Toshi Nishimura@UCLA/NAGOYA, 05/02/2009 (toshi at atmos.ucla.edu)
Modification 05/26/2009 Add keywords 'datatype_esa'.
Modification 07/13/2009 Update the scpot-density relation mainly
for the plasmasphere.
Modfication 10/08/2009 Added trange keyword, jmm, jimm@ssl.berkeley.edu
Collaborators: Vassilis Angelopoulos, John Bonnell and Wen Li
It is recommended to contact people listed above before
presentations or publications using the data created by this
code.
(See themis/common/thm_scpot2dens_opt_n.pro)
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_7_01_test/idl/themis/common/thm_spec_lim4overplot.pro $
(See themis/common/thm_spec_lim4overplot.pro)
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: aaflores $
$LastChangedDate: 2012-01-26 16:41:44 -0800 (Thu, 26 Jan 2012) $
$LastChangedRevision: 9622 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/thmsoc/tags/tdas_7_01_test/idl/themis/common/thm_sst_overviews.pro $
(See themis/common/thm_sst_overviews.pro)
FUNCTION: thm_tplot_to_component, active_vnames, cw, mw
PURPOSE:
Checks the plot type (SPACECRAFT or COMPONENTS) and creates
(if necessary) new tplot variables
INPUT: active_vars string array of variable names (these are the
active variables that are currently available)
cw gui id for history window
mw gui id for progress window
OUTPUT: new_vars string array of new active variables, these
variables are regrouped by SPACECRAFT or COMPONENT
KEYWORDS:
SEE ALSO: "STORE_DATA", "GET_DATA", "SPLIT_VEC", "OPTIONS", "TPLOT"
CREATED BY: Cindy Goethel
MODIFICATION BY:
LAST MODIFICATION:
(See themis/common/thm_tplot_to_component.pro)
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)
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
11-feb-2009, jmm, restored old version
$LastChangedBy: lphilpott $
$LastChangedDate: 2012-02-16 11:17:44 -0800 (Thu, 16 Feb 2012) $
$LastChangedRevision: 9761 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/thmsoc/tags/tdas_7_01_test/idl/themis/common/thm_ui_config.pro $
(See themis/common/thm_ui_config.pro)
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)
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)
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
18-mar-2009, jmm, fixed problem with writing string representations
of byte values
10-aug-2011, lphilpott, modified to write a template path to the config file too.
$LastChangedBy$
$LastChangedDate$
$LastChangedRevision$
$URL$
(See themis/common/thm_write_config.pro)
Procedure: thm_write_probe_timing_tables.pro
Purpose: This routine takes two string file names as input arguments, reads all 'phases_???.txt' files present in the WD,
determines the primary (statistically significant) apid sampling times in terms on one-second-mark 'ticks' and spin 'sectors',
writes 'ticks' and 'sectors' found to probe timing table files, and generates png images of the timelines per apid.
Inputs: Parameters: ticks_table_file, sectors_table_file (to be generated by the routine)
Non-Parameters: phases_xxx.txt files in PWD (ASCII files containing apid:xxx header times, one second mark phases, spin phases, and delta_phi timeline)
These ASCII files need to be generated by write_probe_timing_phases.bash
Keywords:
NO_PNG: If set, png images are not produced
TEST: If set, ALL tick counts are recorded and written to file (except for apid:410)
Otherwise, only tick counts = 1,2,8,16 and 32 are recorded and written to file
Outputs: ticks_table_file, sectors_table_file and png images of phases per apid (default)
Examples:
thm_write_probe_timing_tables,'ticks_table.txt','sectors_table.txt'
thm_write_probe_timing_tables,'ticks_table.txt','sectors_table.txt',/no_png
thm_write_probe_timing_tables,'ticks_table.txt','sectors_table.txt',/no_png,/test
See Also:
${TMTOOLS_ROOT}/src/scripts/write_probe_timing_phases.bash
$LastChangedBy: $
$LastChangedDate: $
$LastChangedRevision: $
$URL: $
(See themis/common/thm_write_probe_timing_tables.pro)