DOI: 10.5281/zenodo.10107360
title: Wind WAVES TDSF Dataset

description: Wind Spacecraft:


The Wind spacecraft (https://wind.nasa.gov) was launched on November 1, 1994 and currently orbits the first Lagrange point between the Earth and sun.  A comprehensive review can be found in Wilson et al. [2021].  It holds a suite of instruments from gamma ray detectors to quasi-static magnetic field instruments, Bo.  The instruments used for this data product are the fluxgate magnetometer (MFI) [Lepping et al., 1995] and the radio receivers (WAVES) [Bougeret et al., 1995].  The MFI measures 3-vector Bo at ~11 samples per second (sps); WAVES observes electromagnetic radiation from ~4 kHz to >12 MHz which provides an observation of the upper hybrid line (also called the plasma line) used to define the total electron density and also takes time series snapshot/waveform captures of electric and magnetic field fluctuations, called TDS bursts herein.


WAVES Instrument:


The WAVES experiment [Bougeret et al., 1995] on the Wind spacecraft is composed of three orthogonal electric field antenna and three orthogonal search coil magnetometers.  The electric fields are measured through five different receivers: Low Frequency FFT receiver called FFT (0.3 Hz to 11 kHz), Thermal Noise Receiver called TNR (4-256 kHz), Radio receiver band 1 called RAD1 (20-1040 kHz), Radio receiver band 2 called RAD2 (1.075-13.825 MHz), and the Time Domain Sampler (TDS).  The electric field antenna are dipole antennas with two orthogonal antennas in the spin plane and one spin axis stacer antenna.


The TDS receiver allows one to examine the electromagnetic waves observed by Wind as time series waveform captures. There are two modes of operation, TDS Fast (TDSF) and TDS Slow (TDSS). TDSF returns 2048 data points for two channels of the electric field, typically Ex and Ey (i.e. spin plane components), with little to no gain below ~120 Hz (the data herein has been high pass filtered above ~150 Hz for this reason). TDSS returns four channels with three electric(magnetic) field components and one magnetic(electric) component.  The search coils show a gain roll off ~3.3 Hz [e.g., see Wilson et al., 2010; Wilson et al., 2012; Wilson et al., 2013 and references therein for more details].


The original calibration of the electric field antenna found that the effective antenna lengths are roughly 41.1 m, 3.79 m, and 2.17 m for the X, Y, and Z antenna, respectively.  The +Ex antenna was broken twice during the mission as of June 26, 2020.  The first break occurred on August 3, 2000 around ~21:00 UTC and the second on September 24, 2002 around ~23:00 UTC.  These breaks reduced the effective antenna length of Ex from ~41 m to 27 m after the first break and ~25 m after the second break [e.g., see Malaspina et al., 2014; Malaspina & Wilson, 2016].


TDS Bursts:


TDS bursts are waveform captures/snapshots of electric and magnetic field data.  The data is triggered by the largest amplitude waves which exceed a specific threshold and are then stored in a memory buffer.  The bursts are ranked according to a quality filter which mostly depends upon amplitude.  Due to the age of the spacecraft and ubiquity of large amplitude electromagnetic and electrostatic waves, the memory buffer often fills up before dumping onto the magnetic tape drive.  If the memory buffer is full, then the bottom ranked TDS burst is erased every time a new TDS burst is sampled.  That is, the newest TDS burst sampled by the instrument is always stored and if it ranks higher than any other in the list, it will be kept.  This results in the bottom ranked burst always being erased.  Earlier in the mission, there were also so called honesty bursts, which were taken periodically to test whether the triggers were working properly.  It was found that the TDSF triggered properly, but not the TDSS.  So the TDSS was set to trigger off of the Ex signals.


A TDS burst from the Wind/WAVES instrument is always 2048 time steps for each channel.  The sample rate for TDSF bursts ranges from 1875 samples/second (sps) to 120,000 sps.  Every TDS burst is marked a unique set of numbers (unique on any given date) to help distinguish it from others and to ensure any set of channels are appropriately connected to each other.  For instance, during one spacecraft downlink interval there may be 95% of the TDS bursts with a complete set of channels (i.e., TDSF has two channels, TDSS has four) while the remaining 5% can be missing channels (just example numbers, not quantitatively accurate).  During another downlink interval, those missing channels may be returned if they are not overwritten.  During every downlink, the flight operations team at NASA Goddard Space Fligth Center (GSFC) generate level zero binary files from the raw telemetry data.  Those files are filled with data received on that date and the file name is labeled with that date.  There is no attempt to sort chronologically the data within so any given level zero file can have data from multiple dates within.  Thus, it is often necessary to load upwards of five days of level zero files to find as many full channel sets as possible.  The remaining unmatched channel sets comprise a much smaller fraction of the total.


All data provided here are from TDSF, so only two channels.  Most of the time channel 1 will be associated with the Ex antenna and channel 2 with the Ey antenna.  The data are provided in the spinning instrument coordinate basis with associated angles necessary to rotate into a physically meaningful basis (e.g., GSE).


TDS Time Stamps:


Each TDS burst is tagged with a time stamp called a spacecraft event time or SCET.  The TDS datation time is sampled after the burst is acquired which requires a delay buffer.  The datation time requires two corrections.  The first correction arises from tagging the TDS datation with an associated spacecraft major frame in house keeping (HK) data.  The second correction removes the delay buffer duration.  Both inaccuracies are essentially artifacts of on ground derived values in the archives created by the WINDlib software (K. Goetz, Personal Communication, 2008) found at https://github.com/lynnbwilsoniii/Wind_Decom_Code.


The WAVES instrument's HK mode sends relevant low rate science back to ground once every spacecraft major frame.  If multiple TDS bursts occur in the same major frame, it is possible for the WINDlib software to assign them the same SCETs.  The reason being that this top-level SCET is only accurate to within +300 ms (in 120,000 sps mode) due to the issues described above (at lower sample rates, the error can be slightly larger).  The time stamp uncertainty is a positive definite value because it results from digitization rounding errors.  One can correct these issues to within +10 ms if using the proper HK data.


*** The data stored here have not corrected the SCETs! ***


The 300 ms uncertainty, due to the HK corrections mentioned above, results from WINDlib trying to recreate the time stamp after it has been telemetered back to ground.  If a burst stays in the TDS buffer for extended periods of time (i.e., >2 days), the interpolation done by WINDlib can make mistakes in the 11th significant digit.  The positive definite nature of this uncertainty is due to rounding errors associated with the onboard DPU (digital processing unit) clock rollover.  The DPU clock is a 24 bit integer clock sampling at ∼50,018.8 Hz.  The clock rolls over at ∼5366.691244092221 seconds, i.e., (16*224)/50,018.8. The sample rate is a temperature sensitive issue and thus subject to change over time.  From a sample of 384 different points on 14 different days, a statistical estimate of the rollover time is 5366.691124061162 ± 0.000478370049 seconds (calculated by Lynn B. Wilson III, 2008).  Note that the WAVES instrument team used UR8 times, which are the number of 86,400 second days from 1982-01-01/00:00:00.000 UTC.


The method to correct the SCETs to within +10 ms, were one to do so, is given as follows:



	
Retrieve the DPU clock times, SCETs, UR8 times, and DPU Major Frame Numbers from the WINDlib libraries on the VAX/ALPHA systems for the TDSS(F) data of interest.
	
Retrieve the same quantities from the HK data.
	
Match the HK event number with the same DPU Major Frame Number as the TDSS(F) burst of interest.
	
Find the difference in DPU clock times between the TDSS(F) burst of interest and the HK event with matching major frame number (Note: The TDSS(F) DPU clock time will always be greater than the HK DPU clock if they are the same DPU Major Frame Number and the DPU clock has not rolled over).
	
Convert the difference to a UR8 time and add this to the HK UR8 time.  The new UR8 time is the corrected UR8 time to within +10 ms.
	
Find the difference between the new UR8 time and the UR8 time WINDlib associates with the TDSS(F) burst. Add the difference to the DPU clock time assigned by WINDlib to get the corrected DPU clock time (Note: watch for the DPU clock rollover).
	
Convert the new UR8 time to a SCET using either the IDL WINDlib libraries or TMLib (STEREO S/WAVES software) libraries of available functions.  This new SCET is accurate to within +10 ms.



One can find a UR8 to UTC conversion routine at https://github.com/lynnbwilsoniii/wind_3dp_pros in the ~/LYNN_PRO/Wind_WAVES_routines/ folder.


Examples of good waveforms can be found in the notes PDF at https://wind.nasa.gov/docs/wind_waves.pdf.


Data Set Description


Each Zip file contains 300+ IDL save files; one for each day of the year with available data.  This data set is not complete as the software used to retrieve and calibrate these TDS bursts did not have sufficient error handling to handle some of the more nuanced bit errors or major frame errors in some of the level zero files.  There is currently (as of June 27, 2020) an effort (by Keith Goetz et al.) to generate the entire TDSF and TDSS data set in one repository to be put on SPDF/CDAWeb as CDF files.  Once that data set is available, it will supercede and replace this one as it will be more complete and all SCETs will be corrected.


When one restores any given IDL save file, they will find an IDL structure named struc.  Inside are several tags and for each date there are T number of TDSF bursts, each of which has K (= 2048) time stamps.  The structure contains the following tags:



	
SCETS:  [T]-Element [string] array of SCETs at start of TDS burst with format 'YYYY-MM-DD/hh:mm:ss.xxx'
	
UNIX:  [T,K]-Element [double] array of quasi-Unix times (i.e., converted from UTC times without removing leap seconds)
	
CH1EXDA_CH2EXYZAC_WAVES:  [T,K,5]-Element [float] array of electric fields [mV/m] in spinning WAVES coordinates, where the components are:
	

		
[*,*,0] = Ex in DC-coupled mode from channel 1
		
[*,*,1] = Ex in AC-coupled mode from channel 1
		
[*,*,2] = Ex in AC-coupled mode from channel 2
		
[*,*,3] = Ey in AC-coupled mode from channel 2
		
[*,*,4] = Ez in AC-coupled mode from channel 2
	
	
	
SRATE:  [T]-Element [float] array of sample rates for each TDSF burst [Hz]
	
FILTER_FREQ:  [T]-Element [float] array of soft low pass filter frequencies [Hz]
	
EVENT_NUM:  [T]-Element [long] array of TDS event numbers [N/A]
	
UR8_START:  [T]-Element [double] array of UR8 times at start of TDS burst [# of 86,400 second days from 1982-01-01/00:00:00.000 UTC]
	
EX_START_ANG:  [T]-Element [float] array of counter-clockwise angles between the +Ex antenna and the spacecraft-to-sun line at the start of each TDS burst [e.g., see Malaspina & Wilson, 2016 for definitions]
	
EX___END_ANG:  [T]-Element [float] array of counter-clockwise angles between the +Ex antenna and the spacecraft-to-sun line at the end of each TDS burst [e.g., see Malaspina & Wilson, 2016 for definitions]
	
THETA_AX:  [T]-Element [float] array of average counter-clockwise angles between the +Ex antenna and the Earth-to-sun line [e.g., see Malaspina & Wilson, 2016 for definitions]
	
BO_GSE:  [T,3]-Element [float] array of Bo 3-vectors [nT] in GSE coordinate basis at start of TDS bursts
	
SC_GSE_POS:  [T,3]-Element [float] array of spacecraft position 3-vectors [RE] in GSE coordinate basis at start of TDS bursts
	
SC_SPIN_RATE:  [T]-Element [float] array of spacecraft spin rates [deg/s] at start of TDS bursts
	
JULIAN:  [T]-Element [double] array of Julian day numbers [N/A]
	
EARTH_WAKE:  [T]-Element [byte] array of logical values defining whether spacecraft is in Earth's optical wake [1 = TRUE, 0 = FALSE]
	
LUNAR_WAKE:  [T]-Element [byte] array of logical values defining whether spacecraft is in the lunar optical wake [1 = TRUE, 0 = FALSE]
	
CHANNEL_1_LABS:  [T]-Element [string] array of channel 1 labels defining the source type shown in the CH1EXDA_CH2EXYZAC_WAVES tag
	
CHANNEL_2_LABS:  [T]-Element [string] array of channel 2 labels defining the source type shown in the CH1EXDA_CH2EXYZAC_WAVES tag
	
CHANNEL_1_INT:  [T]-Element [integer] array of channel 1 labels [obsolete]
	
CHANNEL_2_INT:  [T]-Element [integer] array of channel 2 labels [obsolete]
	
UNITS:  [19]-Element [string] array defining the units of each structure tag
	
NOTES:  [11]-Element [string] array defining some useful things about the data set



Note that the angles have all been shifted by +360 degrees to avoid rollover issues.  The reason being that the spacecraft rotates such that EX_START_ANG is always larger than EX___END_ANG.  All angles herein are counter-clockwise angles in the GSE basis.


Rotating Bo from GSE to WAVES coordinates


Since the quasi-static magnetic field is given in GSE coordinates, one may want to examine the wave fields relative to the Bo direction.  If you examine the attached figure labeled GSE-Basis_to_WAVES_rotation_2.jpg, you will see how to rotated from GSE into WAVES coordinates.  The angle \(\phi\) in the image corresponds to the THETA_AX structure tag values.  The angle \(\pi\) in the image is the actual value of pi in radians.  This is is necessary to flip the GSE vectors to match the WAVES +z-axis, which is pointed toward the south ecliptic pole, not the north like Z-GSE.


It is important to rotate Bo into WAVES rather than the electric fields into magnetic field-aligned coordinates since each antenna has different noise and response functions.
description: This is like a Level 1.75 data product, not a Level 1 or Level 2.  The full level 2 data product will included TDSS bursts and use a slightly different complex transfer function for converting the raw engineering units [e.g., counts] into physical units [e.g., mV/m].  The level 2 data will also have corrected SCETs for all TDS bursts.