This page was created by the IDL library routine
mk_html_help2.
Last modified: Sat May 12 01:15:20 2012.
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: pcruce $
$LastChangedDate: 2012-04-12 16:16:50 -0700 (Thu, 12 Apr 2012) $
$LastChangedRevision: 10318 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/ssl_general/trunk/CDF/TT2000/add_tt2000_offset.pro $
(See ssl_general/CDF/TT2000/add_tt2000_offset.pro)
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: pcruce $
$LastChangedDate: 2012-04-18 15:14:40 -0700 (Wed, 18 Apr 2012) $
$LastChangedRevision: 10350 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/ssl_general/trunk/CDF/TT2000/cdf_leap_second_init.pro $
(See ssl_general/CDF/TT2000/cdf_leap_second_init.pro)
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/ssl_general/trunk/CDF/TT2000/crib_tt2000.pro $
(See ssl_general/CDF/TT2000/crib_tt2000.pro)
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/ssl_general/trunk/CDF/TT2000/tt2000_config_filedir.pro $
(See ssl_general/CDF/TT2000/tt2000_config_filedir.pro)
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: pcruce $
$LastChangedDate: 2012-04-18 15:14:40 -0700 (Wed, 18 Apr 2012) $
$LastChangedRevision: 10350 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/ssl_general/trunk/CDF/TT2000/tt2000_read_config.pro $
(See ssl_general/CDF/TT2000/tt2000_read_config.pro)
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: pcruce $
$LastChangedDate: 2012-04-18 15:14:40 -0700 (Wed, 18 Apr 2012) $
$LastChangedRevision: 10350 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/ssl_general/trunk/CDF/TT2000/tt2000_write_config.pro $
(See ssl_general/CDF/TT2000/tt2000_write_config.pro)