Project

General

Profile

Known time desc » History » Version 30

Anonymous, 08/07/2016 12:28 PM

1 1 Anonymous
h1. Known time description
2 23 Anonymous
 
3
 
4 24 Anonymous
5 2 Anonymous
h2. Double Time ranges : date from 01/01/1970 to 01/01/2100
6 23 Anonymous
 
7 22 Anonymous
8 4 Anonymous
* seconds from 01/01/1970 00:00:00  :                                                 0          to            4 102 488 000
9
* milliseconds from 01/01/1970 00:00:00  :                                          0          to    4 102 488 000 000    (ambiguity for the first 48days of 1970 with previous time format)
10
* seconds from 01/01/0000 00:00:00  :                       62 168 472 000          to          66 270 960 000 (no ambiguity)
11
* milliseconds from 01/01/0000 00:00:00 :        62 168 472 000 000           to 66 270 960 000 000 (no ambiguity)
12 1 Anonymous
* seconds from 01/01/2000 00:00:00  :                          - 946 728 000          to            3 155 760 000  (TT2000)
13
* milliseconds from 01/01/2000 00:00:00  :           - 946 728 000 000          to    3 155 760 000 000 (ambiguity with TT2000 in seconds?)
14 14 Anonymous
15 25 Anonymous
µs, ns, ps might also be needed for tt2000
16
17 29 Anonymous
18
Double (IEEE754) 	
19
64bits  	
20
min value: -1.7977E+308 	
21
max value :1.7977E+308
22 30 Anonymous
23
Number of seconds per year = 60*60*24*365.25 = 31 557 600
24
Numbers for 100 years :
25
3 155 760 000 s = 3.15576 e+9 s
26
3 155 760 000 000 ms = 3.15576 e+12 ms
27
3 155 760 000 000 000 µs = 3.15576 e+15 µs
28
3 155 760 000 000 000 000 ns = 3.15576 e+18 ns
29
3 155 760 000 000 000 000 000 ps = 3.15576 e+21 ps
30
31
Typical dynamics for a double seems to be 15 digits, after that we might experiment precision loss.
32
Recommendation is to store time in QLop as microseconds since Epoch (01-01-1970 00:00:00)
33 29 Anonymous
 
34 23 Anonymous
 
35
 
36 5 Anonymous
37 1 Anonymous
h2. Known time description
38 23 Anonymous
 
39 22 Anonymous
40 14 Anonymous
|_.Mission Name |_.time var name                   |_. units         |_.DEPEND |_.LABLAXIS|_.FIELDNAM                   |_.CATDESC                                                         |_.Type                         |_.VIRTUAL|_.nb of records|_.VAR_NOTES|
41
|Cluster FGM        |time_tags__CDFNAME     |ms                 |0                   |UT                 |Universal Time               |Interval centred time tag                                    |CDF_EPOCH            |                     |normal              |field missing|
42
|Cluster HIA          |time_tags__CDFNAME     |ms                 |0                   |UT                 |Center Time                    |Interval centred time tag                                    |CDF_EPOCH            |                     |normal              |field missing|
43
||||||||||||
44
|Themis Efi,SCM  |VARNAME_time                 |sec                |TIME            |UT                 |Same as time var name|UTC, in seconds sinc 01-Jan-1970 00:00:00|CDF_DOUBLE          |                     |normal              |Unleaped seconds|
45
|Themis Efi,SCM  |VARNAME_epoch             |field missing|0                   |UT                 |Same as time var name|Unrelated                                                              |CDF_EPOCH           |true              |0                        |field missing|
46
|Themis Efi,SCM  |VARNAME_dot0_epoch0|msec             |EPOCH0    |UT                 |Same as time var name|EPOCH of THEMIS time base                           |CDF_EPOCH            |                     |1                        |EPOCH of 01-Jan-1970 00:00:00|
47
|Themis Esa          |VARNAME_time                 |sec                |TIME            |UT                 |Same as time var name|UTC, in seconds sinc 01-Jan-1970 00:00:00|CDF_REAL8             |                     |normal              |Unleaped seconds|
48
|Themis Esa          |VARNAME_epoch             |field missing|0                   |UT                 |Same as time var name|Unrelated                                                              |CDF_EPOCH           |true              |0                        |field missing|
49
|Themis Esa          |VARNAME_dot0_epoch0|msec             |EPOCH0    |UT                 |Same as time var name|EPOCH of THEMIS time base                           |CDF_EPOCH            |                     |1                        |EPOCH of 01-Jan-1970 00:00:00|
50
|Themis Peer        |VARNAME_time                |sec                 |TIME            |UT                 |Same as time var name|UTC, in seconds sinc 01-Jan-1970 00:00:00|CDF_DOUBLE          |                     |> data                |Unleaped seconds|
51
|Themis Peer        |VARNAME_epoch            |field missing |0                   |UT                 |Same as time var name|VARNAME                                                            |CDF_EPOCH            |                     |normal              |field missing|
52
|Themis Peer        |VARNAME_epoch0          |msec              |EPOCH0    |timebase      |Same as time var name|EPOCH of THEMIS time base                           |CDF_EPOCH           |                     |1                        |EPOCH of 01-Jan-1970 00:00:00|
53 15 Anonymous
||||||||||||
54 14 Anonymous
|MMS fpi                |Epoch (absent, Epoch_minus_var is present)          |s                 |0                   |Field missing                 | VARNAME|VARNAME                      |CDF_UINT1               |                     |1                         |VARNAME|
55
|MMS scm             |epoch_timetag                   |ns                   |0                   |VARNAME   |Same as time var name|Packet time time                                                  |CDF_TIME_TT2000|                     |normal               |field missing|
56
|MMS scm             |Epoch  (other var time)     |ns                   |0                   |VARNAME   |Same as time var name|Time                                                                       |CDF_TIME_TT2000|                     |normal               |field missing|
57 16 Anonymous
||||||||||||
58
|ACE mfi                |Epoch                                   |ms                 |0                   |VARNAME   |Time                                  |Time  ,beginning of interval                               |CDF_EPOCH           |                     |normal               |field missing|
59
||||||||||||
60
|Helios nessmag |Epoch                                   |ms                 |0                   |field missing |Epoch                               |Default Time                                                         |CDF_EPOCH           |                     |normal               |field missing|
61 1 Anonymous
||||||||||||
62
|Ulysses hft           |Epoch                                   |ms                 |0                   |Time               |Epoch                               |Time in NSSDC Epoch format                         |CDF_EPOCH           |                     |normal               |field missing|
63 17 Anonymous
||||||||||||
64 18 Anonymous
|SOHO cst             |Epoch                                   |ms                 |0                   |Epoch            |Time Line                         |Time                                                                     |CDF_EPOCH           |                     |normal               |field missing|
65
66
67 23 Anonymous
 
68
 
69 24 Anonymous
70 18 Anonymous
h2. Algorithm Proposition
71 23 Anonymous
 
72 18 Anonymous
73
VariableThatNeedsTime
74
depend0 = get(VariableThatNeedsTime.DEPEND_0 variable)
75
76
if(depend0.nbOfRec == VariableThatNeedsTime.nbOfRec)
77 21 Anonymous
* test depend0.firstValue for different double range mentionned above (this part might include CDF_TYPE for TT2000)
78
* if(ambiguity)
79
** look at depend0.units
80 26 Anonymous
** if field is missing, look at VariableThatNeedsTime.depend_epoch0.units field  
81
//ATM, these lines are written, epoch0 units are useless since that variable only appears when matching time is DEPEND_TIME variable
82 18 Anonymous
83
else
84
dependTime = get(VariableThatNeedsTime.DEPEND_TIME variable)
85
if(dependTime.nbOfRec == VariableThatNeedsTime.nbOfRec)
86 21 Anonymous
* test dependTime.firstValue for different double range mentionned above (this part might include CDF_TYPE for TT2000)
87
* if(ambiguity)
88
** look at dependTime.units
89 27 Anonymous
90
 
91
 
92
93
h2. Useful links
94
 
95
96
97
http://spdf.gsfc.nasa.gov/CDFconversion/time_formats.html
98
http://cdf.gsfc.nasa.gov/html/leapseconds_requirements.html
99 28 Anonymous
100
how autoplot is processing cdf files :
101
http://autoplot.org/help#Reading_CDF