This page was created by the IDL library routine mk_html_help2.

Last modified: Thu Aug 6 12:53:14 2020.


Directory Listing of Routines


Routine Descriptions

SPD_GEN_PROMPT_ROUTINE

[Next Routine] [List of Routines]
*****************************************************************************************

  FUNCTION :   spd_gen_prompt_routine.pro
  PURPOSE  :   Prompts user for information related to STR_OUT or informs user with
                 information defined by PRO_OUT or ERRMSG.  The routine returns
                 the output from the prompt if the user set STR_OUT.

  CALLED BY:   
               NA

  INCLUDES:
               NA

  CALLS:
               is_num.pro

  REQUIRES:    
               1)  SPEDAS IDL Libraries

  INPUT:
               TEST_IN    :  Scalar [see FORM_OUT] that is used to initialize the
                               prompt return variable
                               [Default = {not set}]

  EXAMPLES:    
               [calling sequence]
               val__out = spd_gen_prompt_routine([test_in] [,STR_OUT=str_out]         $
                                                 [,PRO_OUT=pro_out] [,ERRMSG=errmsg]  $
                                                 [,FORM_OUT=form_out]                 )

  KEYWORDS:    
               STR_OUT    :  Scalar [string] that tells the user what to enter at
                               prompt
                               [Default = {not set}]
               PRO_OUT    :  Scalar(or array) [string] containing instructions for
                               input.  If input is an array, each element is output as
                               a new line.
                               [Default = {not set}]
               ERRMSG     :  Scalar(or array) [string] containing error message(s) the
                               user wishes to print to screen for feedback from a
                               calling/wrapping routine.  If input is an array, each
                               element is output as a new line.
                               [Default = {not set}]
               FORM_OUT   :  Scalar [integer/long] defining the type code of the prompt
                               input and output.  Let us define the following,
                               for brevity:
                                    FPN = floating-point #
                                    SP  = single-precision
                                    DP  = double-precision
                                    UI  = unsigned integer
                                    SI  = signed integer
                               Allowed input values include:
                                  1  :  BYTE     [8-bit UI]
                                  2  :  INT      [16-bit SI]
                                  3  :  LONG     [32-bit SI]
                                  4  :  FLOAT    [32-bit, SP, FPN]
                                  5  :  DOUBLE   [64-bit, DP, FPN]
                                  6  :  COMPLEX  [32-bit, SP, FPN for Real and Imaginary]
                                  7  :  STRING   [0 to 2147483647 characters]
                                  9  :  DCOMPLEX [64-bit, DP, FPN for Real and Imaginary]
                                 12  :  UINT     [16-bit UI]
                                 13  :  ULONG    [32-bit UI]
                                 14  :  LONG64   [64-bit SI]
                                 15  :  ULONG64  [64-bit UI]
                               [Default = 7]

   CHANGED:  1)  Finished writing routine and moved to ~/wind_3dp_pro/LYNN_PRO
                                                                   [04/29/2015   v1.0.0]
             2)  Fixed a bug in type determining case statement and updated Man. page
                                                                   [09/08/2016   v1.1.0]
             3)  Changed name from general_prompt_routine.pro to
                   spd_gen_prompt_routine.pro for migration of version
                   to SPEDAS libraries --> now calls:
                   is_num.pro
                                                                   [09/08/2016   v1.2.0]

   NOTES:      
               1)  See IDL documentation for SIZE.PRO for possible type codes
               2)  If FORM_OUT = 7, then the routine will force a lower-case output
               3)  This is a direct adaptation of the routine general_prompt_routine.pro
                     from L.B. Wilson's UMN Modified Wind/3DP IDL Libraries

  REFERENCES:  
               NA

   CREATED:  04/28/2015
   CREATED BY:  Lynn B. Wilson III
    LAST MODIFIED:  09/08/2016   v1.2.0
    MODIFIED BY: Lynn B. Wilson III

 $LastChangedBy: lbwilsoniii_desk $
 $LastChangedDate: 2016-09-08 13:15:03 -0700 (Thu, 08 Sep 2016) $
 $LastChangedRevision: 21805 $
 $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_4_0/general/missions/wind/waves/spd_gen_prompt_routine.pro $

*****************************************************************************************

(See general/missions/wind/waves/spd_gen_prompt_routine.pro)


SPD_GET_VALID_TRANGE

[Previous Routine] [Next Routine] [List of Routines]
*****************************************************************************************

  FUNCTION :   spd_get_valid_trange.pro
  PURPOSE  :   This routine determines a time range in several formats from inputs
                 define by the optional keywords or prompts to the user.

  CALLED BY:   
               NA

  INCLUDES:
               NA

  CALLS:
               time_double.pro
               test_spd_date_format.pro
               is_num.pro
               spd_gen_prompt_routine.pro
               time_string.pro
               time_struct.pro

  REQUIRES:    
               1)  SPEDAS IDL Libraries

  INPUT:
               NA

  EXAMPLES:    
               [calling sequence]
               struc = spd_get_valid_trange([TDATE=tdate] [,TRANGE=trange] $
                                            [,PRECISION=prec]              )

  KEYWORDS:    
               TDATE          :  Scalar [string] defining the date of interest of the form:
                                   'YYYY-MM-DD' [MM=month, DD=day, YYYY=year]
                                   [Default = {prompted input if TRANGE not set}]
               TRANGE         :  [2]-Element [double] array specifying the Unix time
                                   range for which to define/constrain data
                                   [Default = {prompted input if TDATE not set}]
               PRECISION      :  Scalar [long] defining precision of the string output:
                                   = -5  :  Year only
                                   = -4  :  Year, month
                                   = -3  :  Year, month, date
                                   = -2  :  Year, month, date, hour
                                   = -1  :  Year, month, date, hour, minute
                                   = 0   :  Year, month, date, hour, minute, sec
                                   = >0  :  fractional seconds
                                   [Default = 0]
               MIN_TDATE      :  Scalar [string] defining the minimum allowable
                                   date that user can specify [same format as TDATE]
                                   [Default = '1957-10-04']
               MAX_TDATE      :  Scalar [numeric] defining the maximum allowable
                                   date that user can specify [same format as TDATE]
                                   [Default = {today's date}]

   CHANGED:  1)  Continued to write routine
                                                                   [09/25/2015   v1.0.0]
             2)  Fixed bug when both TDATE and TRANGE are set
                                                                   [09/25/2015   v1.0.1]
             3)  Changed a default output message, updated Man. page, and changed the
                   minimum time range limit from 1 hour to 1 microsecond
                                                                   [10/05/2015   v1.0.2]
             4)  Added NOMSSG keyword to test_tdate_format.pro to reduce unnecessary
                   and/or redundant output messages
                                                                   [11/02/2015   v1.0.3]
             5)  Fixed bug when NO_CLEAN keyword is set in call to time_struct.pro
                   [bug only affected day of year output]
                                                                   [09/08/2016   v1.1.0]
             6)  Changed name from get_valid_trange.pro to
                   spd_get_valid_trange.pro for migration of version
                   to SPEDAS libraries --> now calls:
                   test_spd_date_format.pro
                   is_num.pro
                   spd_gen_prompt_routine.pro
                   and added keywords:  MAX_TDATE and MIN_TDATE
                                                                   [09/08/2016   v1.2.0]

   NOTES:      
               1)  If no keywords are given, the routine will prompt the user for a
                     single date and define the time range as that given date.
               2)  See also:  time_struct.pro, time_string.pro, time_struct.pro
               3)  Setting TDATE will result in a time range for the date defined from
                     the start to the end of the day
               3)  This is a direct adaptation of the routine get_valid_trange.pro
                     from L.B. Wilson's UMN Modified Wind/3DP IDL Libraries

  REFERENCES:  
               NA

   CREATED:  09/23/2015
   CREATED BY:  Lynn B. Wilson III
    LAST MODIFIED:  09/08/2016   v1.2.0
    MODIFIED BY: Lynn B. Wilson III

 $LastChangedBy: lbwilsoniii_desk $
 $LastChangedDate: 2016-09-08 13:15:03 -0700 (Thu, 08 Sep 2016) $
 $LastChangedRevision: 21805 $
 $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_4_0/general/missions/wind/waves/spd_get_valid_trange.pro $

*****************************************************************************************

(See general/missions/wind/waves/spd_get_valid_trange.pro)


TEST_SPD_DATE_FORMAT

[Previous Routine] [Next Routine] [List of Routines]
*****************************************************************************************

  FUNCTION :   test_spd_date_format.pro
  PURPOSE  :   This routine tests whether an input is consistent with the expected
                 format for a date used by several software routines within the
                 TPLOT libraries.  The expected format is 'YYYY-MM-DD', where
                 YYYY=year, MM=month, and DD=day.

  CALLED BY:   
               NA

  INCLUDES:
               NA

  CALLS:
               NA

  REQUIRES:    
               NA

  INPUT:
               TDATE    :  Scalar (or array) [string] defining the date of interest of
                             the form:  'YYYY-MM-DD' [MM=month, DD=day, YYYY=year]

  EXAMPLES:    
               [calling sequence]
               test = test_tdate_format(tdate [,NOMSSG=nomssg])

  KEYWORDS:    
               NOMSSG   :  If set, routine will not print out warning/informational
                             messages
                             [Default = FALSE]

   CHANGED:  1)  Added keyword:  NOMSSG
                                                                   [11/02/2015   v1.1.0]
             2)  Changed name from test_tdate_format.pro to test_spd_date_format.pro
                   for migration of version to SPEDAS libraries
                                                                   [09/08/2016   v1.2.0]

   NOTES:      
               1)  The format expected by this routine is commonly used in the
                     SPEDAS/TDAS libraries
               2)  This is a direct adaptation of the routine test_tdate_format.pro from
                     L.B. Wilson's UMN Modified Wind/3DP IDL Libraries

  REFERENCES:  
               NA

   CREATED:  09/22/2015
   CREATED BY:  Lynn B. Wilson III
    LAST MODIFIED:  09/08/2016   v1.2.0
    MODIFIED BY: Lynn B. Wilson III

 $LastChangedBy: lbwilsoniii_desk $
 $LastChangedDate: 2016-09-08 13:15:03 -0700 (Thu, 08 Sep 2016) $
 $LastChangedRevision: 21805 $
 $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_4_0/general/missions/wind/waves/test_spd_date_format.pro $

*****************************************************************************************

(See general/missions/wind/waves/test_spd_date_format.pro)


WI_TDS_DUSTIMPACT_LOAD

[Previous Routine] [List of Routines]
*****************************************************************************************

  PROCEDURE:   wi_tds_dustimpact_load.pro
  PURPOSE  :   This routine retrieves/downloads CDF files and loads the resulting data
                 into TPLOT.  The data files contain the dust impact database from the
                 Wind/WAVES instrument's time domain sampler (TDS), created by
                 David M. Malaspina and Lynn B. Wilson III as part of a 2014 NASA
                 ROSES Heliophysics Guest Investigator (H-GI) program for the Open Data-
                 Development Element (ODDE) grant.

  CALLED BY:   
               NA

  INCLUDES:
               NA

  CALLS:
               time_string.pro
               time_double.pro
               root_data_dir.pro
               wind_init.pro
               spd_get_valid_trange.pro
               is_num.pro
               file_dailynames.pro
               spd_download.pro
               file_retrieve.pro
               timespan.pro
               cdf2tplot.pro
               tnames.pro
               options.pro
               tplot_options.pro
               get_data.pro
               store_data.pro

  REQUIRES:    
               1)  SPEDAS IDL Libraries
               2)  TDS dust impact database CDF files at:
                     http://spdf.gsfc.nasa.gov/pub/data/wind/waves/dust_impact_l3/

  INPUT:
               NA

  EXAMPLES:    
               [calling sequence]
               wi_tds_dustimpact_load [,TRANGE=trange] [,VERBOSE=verbose]       $
                                      [,/DOWNLOADONLY] [,VARFORMAT=varformat]   $
                                      [,SOURCE_OPTIONS=source] [,/ADDMASTER]    $
                                      [,PREFIX=prefix] [,MIDFIX=midfix]         $
                                      [,MIDPOS=midpos] [,SUFFIX=suffix]         $
                                      [/LOAD_LABELS] [,FILES=files]             $
                                      [,TPLOTNAMES=tplotnames]

               ;;  Example:  Get dust impacts between Jan. 1-4, 2000
               tdate_st       = '2000-01-01'
               tdate_en       = '2000-01-04'
               start_of_day   = '00:00:00.000'
               end___of_day   = '23:59:59.999'
               tr_t           = [tdate_st[0]+'/'+start_of_day[0],tdate_en[0]+'/'+end___of_day[0]]
               tran           = time_double(tr_t)
               wi_tds_dustimpact_load,TRANGE=tran,FILES=files,TPLOTNAMES=tplotnames

  KEYWORDS:    
               **********************************
               ***       DIRECT  INPUTS       ***
               **********************************
               TRANGE          :  [2]-Element [double] array specifying the Unix time
                                   range for which to limit the data in DATA
                                   [Default = handled by file finding routines]
               VERBOSE         :  Scalar [numeric] defining the level to which the
                                    routine dprint.pro outputs information
               DOWNLOADONLY    :  If set, routine will exit after it retrieves the
                                    desired data files
                                    [Default = FALSE]
               VARFORMAT       :  Scalar or [N]-Element [string] array specifying the
                                    CDF variable names to load into TPLOT
                                    [Default = '*' (for all variables)]
               DATATYPE        :  ***  Not Used by this routine  ***
                                    [kept for compatibility with other SPEDAS routines]
               SOURCE_OPTIONS  :  Scalar [structure] defining information relevant to
                                    local and remote file management
                                    [Default = !wind (initiated by wind_init.pro)]
               ADDMASTER       :  If set, the routine file_dailynames.pro will add a
                                    file path with the zeroth date
                                    [Default = FALSE]
               PREFIX          :  Scalar [string] defining the characters that will
                                    pre-pend all TPLOT handles produced by this routine
                                    [Default = 'Wind_tds_dust_']
               MIDFIX          :  Scalar [string] defining the characters that will
                                    be placed at MIDPOS within all TPLOT handles
                                    produced by this routine
                                    [Default = '']
               MIDPOS          :  Scalar [numeric] defining the starting character
                                    position in which to place the string defined by
                                    the MIDFIX keyword
                                    [Default = 0]
               SUFFIX          :  Scalar [string] defining the characters that will
                                    append all TPLOT handles produced by this routine
                                    [Default = '']
               LOAD_LABELS     :  If set, the labels from labl_ptr_1 in the CDF file
                                    attributes will be copied into the TPLOT DLIMITS
                                    structure
               *****************
               ***  OUTPUTS  ***
               *****************
               FILES           :  [N]-Element [string] array of file names, with full
                                    directory paths, to the CDF files downloaded and
                                    loaded (or just loaded) into TPLOT
               TPLOTNAMES      :  [N]-Element [string] array of TPLOT handles loaded

   CHANGED:  1)  Continued to write routine
                                                                   [08/24/2016   v1.0.0]
             2)  Continued to write routine
                                                                   [08/24/2016   v1.0.0]
             3)  Continued to write routine
                                                                   [08/25/2016   v1.0.0]
             4)  Continued to write routine
                                                                   [09/02/2016   v1.0.0]
             5)  Continued to write routine
                                                                   [09/02/2016   v1.0.0]
             6)  Continued to write routine
                                                                   [09/02/2016   v1.0.0]
             7)  Finished writing routine
                                                                   [09/02/2016   v1.0.0]
             8)  Now calls spd_get_valid_trange.pro and cleaned up a little and
                   moved to SPEDAS directory
                                                                   [09/08/2016   v1.1.0]
             9)  Updated SPDF URL:  All NASA URLs are now https
                                                                   [02/09/2017   v1.1.1]

   NOTES:      
               1)  If the TRANGE keyword is not set, the routine will prompt the user
                     for a date and then define the time range as one full day

  REFERENCES:  
               1)  Bougeret, J.-L., M.L. Kaiser, P.J. Kellogg, R. Manning, K. Goetz,
                      S.J. Monson, N. Monge, L. Friel, C.A. Meetre, C. Perche,
                      L. Sitruk, and S. Hoang "WAVES:  The Radio and Plasma
                      Wave Investigation on the Wind Spacecraft," Space Sci. Rev.
                      Vol. 71, pp. 231-263, doi:10.1007/BF00751331, (1995).
               2)  Malaspina, D.M., M. Horanyi, A. Zaslavsky, K. Goetz, L.B. Wilson III,
                      and K. Kersten "Interplanetary and interstellar dust observed by
                      the Wind/WAVES electric field instrument," Geophys. Res. Lett.
                      Vol. 41, pp. 266-272, doi:10.1002/2013GL058786, (2014).
               3)  Malaspina, D.M., and L.B. Wilson III "A Database of Interplanetary
                      and Interstellar Dust Detected by the Wind Spacecraft,"
                      J. Geophys. Res. Vol. 121, submitted July 19, 2016.

   CREATED:  08/23/2016
   CREATED BY:  Lynn B. Wilson III
    LAST MODIFIED:  02/09/2017   v1.1.1
    MODIFIED BY: Lynn B. Wilson III

 $LastChangedBy: lbwilsoniii_desk $
 $LastChangedDate: 2017-02-09 11:42:45 -0800 (Thu, 09 Feb 2017) $
 $LastChangedRevision: 22754 $
 $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_4_0/general/missions/wind/waves/wi_tds_dustimpact_load.pro $

*****************************************************************************************

(See general/missions/wind/waves/wi_tds_dustimpact_load.pro)