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

ADD_TT2000_OFFSET

[Next Routine] [List of Routines]

Procedure: add_tt2000_offset

Purpose:
  Takes TDAS double timestamp and offsets date(s) using the data in the CDF 3.4(or later) leap second config file.
  Like time_string and time_double, it is vectorized and accepts array inputs of arbitrary dimensions
 
Inputs: 
  Dates: If /subtract is not set: double precision seconds since 1970 TAI (Unix timestamp)  Can be scalar or array values with any dimensions or ordering.
         If /subtract is set: double precision seconds since 1970 TT(timestamp TT 1970 epoch) can be scalar or array values with any dimensions or ordering
          
Keywords:
  subtract:  If this keyword is set, this function will subtract leap seconds from a TT date that already includes them.
  
  Offsets: Set this to a named variable in which to return the offsets used for the calculation.  Note that these can differ in both sign and magnitude for
  a particular date, depending on whether you are adding or subtracting.

Return Value:
  The data with leap seconds added(or removed). 
  
Notes:
  #1 This routine requires the CDF 3.4 leap second file.  One will be provided with the TDAS install, but it will be updated
  automatically when a new leap second occurs.
  
  #2 The IDL system variable "!CDF_LEAP_SECONDS" must be defined for this routine to work.  This variable is defined by
  calling cdf_leap_second_init.  Normally, the initialization routine for missions that use tt2000 should use this.

  #3 The calculation adds both leap seconds and the 32.184 second historical offset between TAI and TT


Examples:
THEMIS>  print,time_double('2007-03-23')-add_tt2000_offset(time_double('2007-03-23'))
      -65.183998
THEMIS>  print,time_double('2007-03-23')-add_tt2000_offset(time_double('2007-03-23'),offsets=off_p)
      -65.183998
THEMIS> print,off_p
      65.1840     
THEMIS>  print,time_double('2007-03-23')-add_tt2000_offset(time_double('2007-03-23'),offsets=off_s,/subtract)
       65.183998
THEMIS> print,off_s
     -65.1840  


 $LastChangedBy: egrimes $
 $LastChangedDate: 2019-03-21 10:47:10 -0700 (Thu, 21 Mar 2019) $
 $LastChangedRevision: 26870 $
 $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_4_0/general/misc/time/TT2000/add_tt2000_offset.pro $

(See general/misc/time/TT2000/add_tt2000_offset.pro)


CDF_LEAP_SECOND_INIT

[Previous Routine] [Next Routine] [List of Routines]
PROCEDURE:  cdf_leap_second_init
PURPOSE:    CDF library 3.4.0 and later supports time formats
            the include leap seconds.  Specifically tt2000.
            This routine maintains the calibration file that is required
            by the CDF library and TDAS to perform the conversions.

NOTES: #1 Missions that use tt2000 times in their CDFs should call this routine inside their mission init/
       config routines. (e.g. thm_init/thm_config)
       #2 Set !CDF_LEAP_SECOND.preserve_leap_seconds=1 if you want to keep leap seconds included in unix times after they're imported.
       This may mean that the data set will have a time dependent time skew with other data sets by ~35 seconds.(or more as additional 
       leap seconds are added.)
       #3 This routine may modify the environment variable CDF_LEAPSECONDTABLE and update the CDF leap second table if a new version is found.
        

$LastChangedBy: egrimes $
$LastChangedDate: 2019-03-11 09:25:23 -0700 (Mon, 11 Mar 2019) $
$LastChangedRevision: 26778 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_4_0/general/misc/time/TT2000/cdf_leap_second_init.pro $

(See general/misc/time/TT2000/cdf_leap_second_init.pro)


CRIB_TT2000

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

Procedure: Crib TT2000

Purpose:  Demonstrate how to use TT2000 times with TDAS.  Describe what operations are performed on import.

Notes: Requires CDF 3.4.0 or newer

 $LastChangedBy: pcruce $
 $LastChangedDate: 2012-04-18 15:14:40 -0700 (Wed, 18 Apr 2012) $
 $LastChangedRevision: 10350 $
 $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_4_0/general/misc/time/TT2000/crib_tt2000.pro $

(See general/misc/time/TT2000/crib_tt2000.pro)


TT2000_2_UNIX

[Previous Routine] [Next Routine] [List of Routines]
 FUNCTION:
         tt2000_2_unix

 PURPOSE:
         Converts TT2000 times to unix times. This function converts the input time
           to a 64-bit integer prior to calling time_double (the input is required to 
           be a 64-bit integer if the /tt2000 keyword is specified)

 INPUT:
         time: time values in TT2000
         
 EXAMPLE:
         IDL> unix_time = tt2000_2_unix(4.98e17)
         IDL> unix_time
               1444727946.6781905


$LastChangedBy: egrimes $
$LastChangedDate: 2017-01-03 08:27:35 -0800 (Tue, 03 Jan 2017) $
$LastChangedRevision: 22472 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_4_0/general/misc/time/TT2000/tt2000_2_unix.pro $

(See general/misc/time/TT2000/tt2000_2_unix.pro)


TT2000_CONFIG_FILEDIR

[Previous Routine] [Next Routine] [List of Routines]
Function: tt2000_config_filedir.pro
Purpose: Get the applications user directory for TT2000 leapsecond table

$LastChangedBy: pcruce $
$LastChangedDate: 2012-04-18 15:14:40 -0700 (Wed, 18 Apr 2012) $
$LastChangedRevision: 10350 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_4_0/general/misc/time/TT2000/tt2000_config_filedir.pro $

(See general/misc/time/TT2000/tt2000_config_filedir.pro)


TT2000_READ_CONFIG

[Previous Routine] [Next Routine] [List of Routines]
NAME:
 tt2000_read_config
PURPOSE:
 Reads the tt2000_config file
CALLING SEQUENCE:
 cstruct = tt2000_read_config()
INPUT:
 none, the filename is hardcoded, 'tt2000_config.txt',and is s put in a
 folder given by the routine tt200_config_filedir, that uses the IDL
 routine app_user_dir to create/obtain it: my linux example:
 /disks/ice/home/jimm/.idl/tt2000/tt2000_config-4-linux
OUTPUT:
 cstruct = a structure with the changeable fields of the !CDF_LEAP_SECONDS
           structure
HISTORY:
 Copied shamelessly from thm_read_config by pcruce on 2012/04/18
 
$LastChangedBy: nikos $
$LastChangedDate: 2015-11-18 14:03:31 -0800 (Wed, 18 Nov 2015) $
$LastChangedRevision: 19411 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_4_0/general/misc/time/TT2000/tt2000_read_config.pro $

(See general/misc/time/TT2000/tt2000_read_config.pro)


TT2000_WRITE_CONFIG

[Previous Routine] [Next Routine] [List of Routines]
NAME:
 tt2000_write_config
PURPOSE:
 Writes the tt2000_config file
CALLING SEQUENCE:
 tt2000_write_config, copy=copy
INPUT:
 none, the filename is hardcoded, 'tt2000_config.txt',and is s put in a
 folder given by the routine tt2000_config_filedir, that uses the IDL
 routine app_user_dir to create/obtain it: my linux example:
 /disks/ice/home/jimm/.idl/tt2000/tt2000_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:
 Copied shamelessly from thm_write_config by pcruce on 2012/04/18
$LastChangedBy: nikos $
$LastChangedDate: 2013-06-17 16:29:26 -0700 (Mon, 17 Jun 2013) $
$LastChangedRevision: 12548 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_4_0/general/misc/time/TT2000/tt2000_write_config.pro $

(See general/misc/time/TT2000/tt2000_write_config.pro)


UNIX_TO_TT2000

[Previous Routine] [List of Routines]
 FUNCTION:
         unix_to_tt2000

 PURPOSE:
         Converts unix times to TT2000 times. 

 INPUT:
         unix_times: unix time values 

 EXAMPLE:
         IDL> tt2000_time = unix_to_tt2000(1.4501376e+09)
         IDL> tt2000_time
               503409664183998107
            
          convert back:
         IDL> print, tt2000_2_unix(503409664183998107ll)
               1.4501376e+09
        


$LastChangedBy: egrimes $
$LastChangedDate: 2019-03-26 16:57:58 -0700 (Tue, 26 Mar 2019) $
$LastChangedRevision: 26912 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_4_0/general/misc/time/TT2000/unix_to_tt2000.pro $

(See general/misc/time/TT2000/unix_to_tt2000.pro)