Radiation Belt Storm Probes Ion
Composition Experiment
(RBSPICE)
Science Operations Center (SOC)
RBSPICE Science Data Handbook
Revision: f
Written by
Jerry W. Manweiler, Ph.D.
and
Heather Zwiener
August 20, 2019
Lou Lanzerotti, RBSPICE Principal Investigator
Don Mitchell, RBSPICE Instrument Scientist
Jerry W. Manweiler, RBSPICE SOC Lead
Document Change Log
Date |
Version Number |
Reason for Change |
September 18, 2013 |
|
Original Draft |
January 29, 2014 |
Rev a |
Added Field Name Descriptions Table for the Calibration Tables |
February 28, 2014 |
Rev b |
Revised L3 pitch angle quality flags |
August 18, 2015 |
Rev c |
Added section for Pitch Angles and Pressures (PAP), and Table of Acronym Definitions |
April 12, 2017 |
Rev d |
Added information regarding additional field of particle direction velocity unit vector in Level 3 data files. |
February 13, 2018 |
Rev e |
Added information regarding effects of high rates on the RBSPICE microchannel plates on derived intensities: Accidentals |
August 20, 2019 |
Rev f |
Revised algorithms (v2.11) for Rin vs Rout rate calculation for TOFxPH and TOFxE data products |
RBSPICE Data Handbook
2 Links to Data files, calibration tables and software
2.1 RBSPICE A and B data files
2.2 RBSPICE A and B calibration tables
2.3 Software required and recommended to use RBSPICE data
3 RBSPICE SOC Archive Data Products
3.2 RBSPICE Data Products Specification
3.3 RBSPICE Data Product Production Specifications
3.4 RBSPICE Data Products and related Instrument Data
Modes
3.5 RBSPICE Data Product Production Steps (High Level
Overview)
3.6 RBSPICE Data Product Production Steps (Detailed
Processing Algorithms)
3.6.1 Level 0 Processing Algorithms
3.6.2 Level 1 Processing Algorithms
3.6.3 Level 2 Processing Algorithms
3.6.4 Level 3 Processing Algorithms
4 RBSPICE SOC Data Repository Directory Structure
4.1 Van Allen Probes MOC Data Directory structures
4.2 RBSP Spacecraft Data Organization
5 Production Filename Convention
5.2 RBSPICE Specific File Name Conventions
5.3 RBSPICE Data Release Plans
5.3.1 Publicly Accessible RBSPICE Data
5.3.2 Release of data to NSSDC archive
6 RBSPICE Data Product Field Descriptions
6.1 RBSPICE Level 1 Product Field Descriptions
6.2 RBSPICE Level 2 Product Field Descriptions
This is the Data Analysis Handbook for the Van Allen Probes’ Radiation Belt Storm Probes Ion Composition Experiment (RBSPICE). This handbook is intended to guide RBSPICE data users in locating, identifying and understanding the content of the RBSPICE data files maintained by the RBSPICE Science Operations Center (SOC). As data products are added or changed, or other changes are made to the system for storing and accessing the RBSPICE data, this document will be updated accordingly.
This document contains lists, descriptions and/or explanations pertaining to the following RBSPICE data assets:
Data directory structure and file naming convention;
Data products produced and utilized by the RBSPICE SOC data processing system and data publication system;
Produced and published data products for the RBSPICE instrument aboard each Van Allen Probes satellite, A and B, which are available to the general public; and
Processes used to convert the data and generate data products according to specifications from Level 0 through Level 4.
Users who wish to work with either telemetry or commanding data or who have other questions not addressed in this document concerning data maintained by the RBSPICE SOC should contact RBSPICE SOC Lead Engineer Jerry W. Manweiler, Ph.D. at Manweiler@ftecs.com.
Originally named the Radiation Belt Storm Probes (RBSP), the mission was re-named the Van Allen Probes, following successful launch and commissioning. For simplicity and continuity, the RBSP short-form has been retained for existing documentation, file naming, and data product identification purposes. The RBSPICE investigation including the RBSPICE Instrument SOC maintains compliance with requirements levied in all applicable mission control documents.
[Insert table of data products, with acronyms, and explain what the data products are and how they are used. Maybe organize the table by protons, non-protons, ions, etc.]
One key document that every user of the RBSPICE data should read is the RBSPICE Instrument Paper. The abstract can be found at http://link.springer.com/article/10.1007%2Fs11214-013-9965-x, along with a link to the full paper.
Publicly accessible data files for spacecraft A are found at http://rbspicea.ftecs.com.
Publicly accessible data files for spacecraft B are found at http://rbspiceb.ftecs.com.
Calibration Tables – Field Name Descriptions
SC |
Name of spacecraft either RBSPA or RBSPB |
ProductType |
One of the product types listed in the
beginning of the cal file |
Telescope |
Identifies which of the six telescopes the cal information corresponds |
StartUTC |
The starting time for this calibration
record in UTC string format (CCYY-MM-DDTHH:MM:SS:hhh) |
StartET |
The starting time for this calibration
record in Ephemeris Time using the J2000 epoch |
StopUTC |
The ending time for this calibration record
in UTC string format (CCYY-MM-DDTHH:MM:SS:hhh) |
StopET |
The ending time for this calibration record
in Ephemeris Time using the J2000 epoch |
Species |
The primary species for which this
calibration record is responsive – note that this does not identify all
species that this channel will detect but the species that it is designed to
detect, some channels are responsive to multiple species and depending upon
the situation the primary species differs from time to time. E.g. TOFxPH products are generally responsive to protons but
some of the channels are responsive to Oxygen or Helium although when those
species are not present the channel will detect background proton rates |
Channel |
The energy channel number for this
calibration record |
E_Low |
The bottom energy of the passband in MeV |
E_High |
The upper energy of the passband in MeV |
E_Mid |
The calculated midpoint energy of the
passband in MeV. Note that this is not always the geometrical mean since some
passbands are more sensitive to lower energies even though they allow for
higher energy ranges |
G_Small |
The small pixel geometrical factor in
cm^2*sr. See the RBSPICE Data Handbook for more information about pixel sizes |
G_Large |
The large pixel geometrical factor in
cm^2*sr. See the RBSPICE Data Handbook for more information about pixel sizes |
Eff |
The efficiency of the energy channel. |
Notes |
Any specific notes about this energy
channel. |
Calibration tables for spacecraft A are found at http://rbspice.ftecs.com/RBSPICEA_Calibration.html.
Calibration tables for spacecraft B are found at http://rbspice.ftecs.com/RBSPICEB_Calibration.html.
CDF Files
Access and use of the RBSPICE data requires the most recent version of NASA’s common data format (CDF) software, CDF V3.6.0, which supports the CDF_TIME_TT2000 variable and properly handles the new leapsecond added on June 30, 2015. This software is available for download at http://cdf.gsfc.nasa.gov.
CSV Files
CSV files can be opened with PKZip, which can be found at this website: http://www.pkware.com/software/pkzip.
Data visualization
MIDL is used and recommended by the RBSPICE team to visualize RBSPICE data. This software is available for download at http://sd-www.jhuapl.edu/rbspice/MIDL.
The RBSPICE SOC data system contains data products derived from other RBSP mission-related data sources, as well as that data which is produced by the RBSPICE SOC, both intermediary and final. Organizationally this can be viewed as a collection of data categories, data product specifications, and data production specifications. Each of the following sections provides details of these organizational perspectives on the RBSPICE data.
Table 3‑3‑1 lists the various RBSPICE data categories representing the highest level perspective on the data that is to be contained by the RBSPICE SOC Data Repository system. These categories do not necessarily represent a directory structure, but do drive the final structure presented in Section 4.
Table
3‑3‑1 Top level list of RBSPICE Data Categories
Data Category |
Data Source |
Publication/Access
Level |
MOC Data Products – not instrument specific |
MOC |
RBSPICE team only |
EMFISIS Mag Data Products |
MOC/EMFISIS SOC |
RBSPICE team only |
RBSPICE Instrument Data (telemetry/Level 0) |
MOC |
RBSPICE team only |
RBSPICE Level 1, 2, 3 Data |
RBSPICE SOC |
General Public |
RBSPICE Level 3 PAP data |
RBSPICE SOC |
General Public |
RBSPICE Level 4 Data – modeling data |
RBSPICE Science Team |
RBSP |
RBSPICE Level 4 Data – results data |
RBSPICE Science Team |
General Public |
RBSPICE Intermediate Data |
RBSPICE SOC |
RBSPICE SOC only |
Table 3‑3‑2 lists the collection of data products contained in the RBSPICE SOC Data Repository that are specific to the RBSPICE Instrument measurements, as well as any other data elements required to process and understand/interpret the RBSPICE data. The Level 0 data products are downloaded directly from the Mission Operations Center (MOC), stored locally within the RBSPICE SOC Data Repository, and used for production of the higher level data products. This table provides a high level characterization of the important variables defining the various data products and drives the final structure of the RBSPICE SOC Data Repository.
For a more complete discussion of each of the higher level data products and the controlling variables, see http://link.springer.com/article/10.1007%2Fs11214-013-9965-x for the abstract and a link to the full paper.
Table 3‑3‑2 RBSPICE SOC Data Products
Product |
Species |
Energy Bins |
L0 Data Type |
L1 Data Type |
L2 Data Type |
L3 Data Type |
L4 Data Type |
|
Ion Basic Rate |
Ions |
NA |
Count |
Rate |
||||
Electron Basic
Rate |
Electrons |
NA |
Count |
Rate |
||||
Low Energy Resolution
High Time Resolution Electron Species Rate1 |
Electrons |
14 |
Count |
Spectra |
Spectra Flux |
PAD, Aggregates |
PSD, 2nd, 3rd
Adiabat, |
|
High Energy
Resolution Low Time Resolution Electron Species Rate1 |
Electrons |
64 |
Count |
Spectra |
Spectra Flux |
PAD, Aggregates |
PSD, 2nd, 3rd
Adiabat, |
|
High Energy
Resolution Low Time Resolution Ion Species Rate1 |
Ions |
64 |
Count |
Spectra |
Spectra Flux |
PAD, Aggregates |
PSD, 2nd, 3rd
Adiabat, |
|
High Energy
Resolution Low Time Resolution TOFxPH Proton Rate |
Protons |
32 |
Count |
Spectra |
Spectra Flux |
PAD, Aggregates |
PSD, 2nd, 3rd
Adiabat, |
|
TOFxE
Proton Rate |
Protons |
14 |
Count |
Spectra |
Spectra Flux |
PAD, Aggregates |
PSD, 2nd, 3rd
Adiabat, |
|
TOFxE non Proton Rate |
Heavy Ions |
28 |
Count |
Spectra |
Spectra Flux |
PAD, Aggregates |
PSD, 2nd, 3rd
Adiabat, |
|
Low Energy Resolution
High Time Resolution TOFxPH Proton Rate |
Protons |
10 |
Count |
Spectra |
Spectra Flux |
PAD, Aggregates |
PSD, 2nd, 3rd
Adiabat, |
|
TOFxE
Ion Species |
Ions |
64 |
Count |
Spectra |
Spectra Flux |
PAD, Aggregates |
PSD, 2nd, 3rd
Adiabat, |
|
Space Weather
Rates |
All |
NA |
Count |
Rate |
Flux |
|||
Ion Species
Basic Rate |
Ions |
NA |
Count |
Rate |
||||
Priority Events |
NA |
NA |
Event |
|||||
Ion Energy
Diagnostic Rate |
Ions |
NA |
Count |
Rate |
||||
Ion Species
Diagnostic Rate |
Ions |
NA |
Count |
Rate |
||||
Raw Ion Species
Events |
Ions |
NA |
Event |
|||||
Raw Electron
Energy Events |
Electrons |
NA |
Event |
|||||
Raw Ion Energy
Events |
Ions |
NA |
Event |
|||||
Auxiliary Data |
NA |
NA |
Aux |
|||||
Critical Housekeeping
Data |
NA |
NA |
HSK |
|||||
Magnetometer
Data and Pointing Information |
Mag |
Pitch Angles |
1: Use of the term “species” in these products descriptions is
misleading since these three data products utilize the energy collection mode of the RBSPICE instrument, rather than the species collection
mode. See below for more details about which products use which instrument
modes.
Table 3‑3‑3 lists the various data products that exist within the RBSPICE SOC Data Repository and are either produced or used by the RBSPICE SOC Processing System and stored within the RBSPICE SOC Data Repository. This table provides the critical variables that drive the final storage solution including the expected requirements on the final data volume. These requirements drive not only the size of the file system but also characterize the performance of the database where the data resides for quick access and use by the publication system.
Table 3‑3‑3 RBSPICE SOC Data Product Production Specifications
Data Level |
Product Title |
Contents |
Volume |
Format |
Latency |
Frequency |
L0 |
Raw telemetry |
Raw de-commutated telemetry
received at RBSPICE-SOC |
414 MB / day - TBR |
Binary |
from Receipt (T0) |
daily |
L1 |
Count Rates |
Sorted, time-tagged,
instrument separated cts/sec |
750 MB / day - TBR |
ISTP Compliant CDF & |
T0 + < 14
days |
daily |
L2 |
Calibrated Flux |
Calibrated and corrected
physical units |
1200 MB / day - TBR |
ISTP Compliant CDF & |
T0 + < 1
month |
daily |
L3 |
Pitch Angle and Moments |
Pitch angle distributions,
plasma moments |
1500 MB / day - TBR |
ISTP Compliant CDF & |
T0 + < 3
months* |
daily |
L4 |
Phase Space Density |
PSD units, adiabatic
invariants, mag coordinates |
30 MB / day |
ISTP Compliant CDF & |
T0 + < 1 year |
daily |
RBSPICE Flight Software spin-based sectoring is used to break each spin into 36 sectors. The sectoring information is then used to drive the accumulation periods for each of the counting data products. Table 3-4 identifies the various data products collected by the RBSPICE instrument on each spacecraft. The accumulation time of each measurement is dependent upon the frequency strings shown in the table.
The Frequency column uses the following key phrases:
As needed |
This product is only produced at certain times and is not a regular product |
On Demand |
This product is only produced at certain times and is not a regular product |
On Demand |
This product is like the “On Demand” but has a 1 record per second default frequency |
Commandable |
The frequency of this product is configurable |
Every Second |
A record is produced every second the instrument is on |
Every Spin |
A record is produced once per spin |
S Sectors |
A record is produced every S sectors;
|
S*N1 Sectors |
A record is produced every S*N1 sectors where S and N1 are configurable in the fsw |
S*N1*N2 Sectors/Spins |
Accumulation occurs over multiple spins for every S*N1*N2 sectors where the actual number of Spins and the values of S, N1, and N2 are all configurable in the fsw. |
180 Seconds |
A record is produced every 180 seconds. |
The Mode column uses the following key phrases:
NA |
Not Applicable to a data mode collection pattern |
Ion Species |
Data is collected using the Ion Species Instrument mode1 |
Ion Energy |
Data is collected using the Ion Energy Instrument mode1 |
Electron Energy |
Data is collected using the Electron Energy Instrument
mode1 |
1 – See the instrument paper for a description of the
various instrument modes.
Certain strings in the Product Names relate to the accumulation time and resolution of the energy spectra. These strings are best interpreted as:
LEHT |
Low Energy Resolution High Time Resolution |
HELT |
High Energy Resolution Low Time Resolution |
Table 3‑4 RBSPICE Data Products and Instrument Modes
APID |
Product |
ProductName |
Frequency |
Mode |
301 |
Command Echo |
Commands |
As needed |
NA |
302 |
Alarm |
Alarms |
As needed |
NA |
303 |
Memory Checksum |
MemoryChecksum |
On Demand |
NA |
304 |
Memory Dump |
MemoryDump |
On Demand, 1/sec |
NA |
305 |
Status |
Status |
Commandable |
NA |
306 |
Boot Status |
BootStatus |
Commandable |
NA |
307 |
Macro Dump |
MacroDump |
On Demand, 1/sec |
NA |
308 |
Macro Checksums |
MacroChecksums |
On Demand |
NA |
309 |
Monitor Limits |
MonitorLimits |
On Demand |
NA |
30A |
Parameters |
Parameters |
On Demand |
NA |
30B |
Text |
Text |
On Demand |
NA |
30C |
Pixel Parameters |
PixelParameters |
On Demand |
NA |
30D |
NA |
|||
30E |
NA |
|||
30F |
NA |
|||
310 |
Critical Housekeeping |
CHSK |
Every Second |
NA |
311 |
Space Weather |
SW |
Every Spin |
Ion Species |
312 |
Electron Energy Basic Rates |
EBR |
S Sectors |
Electron Energy |
313 |
Ion Energy Basic Rates |
IBR |
S Sectors |
Ion Energy |
314 |
Ion Energy Diagnostic Rates |
IEDR |
S Sectors |
Ion Energy |
315 |
Ion Species Basic Rates |
ISBR |
S Sectors |
Ion Species |
316 |
Ion Species Diagnostic Rates |
ISDR |
S Sectors |
Ion Species |
317 |
LER-HTR Electron Spectra |
ESRLEHT |
S Sectors |
Electron Energy |
318 |
HER LTR Ion Spectra |
ISRHELT |
S*N1*N2 Sectors/Spins |
Ion Energy |
319 |
HER LTR Electron Spectra |
ESRHELT |
S*N1*N2 Sectors/Spins |
Electron Energy |
31A |
TOFxEnergy Ion Energy Spectra |
TOFxE_Ion |
S*N1*N2 Sectors/Spins |
Ion Species |
31B |
TOFxEnergy Proton Rates |
TOFxE_H |
S Sectors |
Ion Species |
31C |
TOFxEnergy Non-Proton Rates |
TOFxE_nonH |
S*N1 Sectors |
Ion Species |
31D |
LRHTR TOFxPH Proton Rates |
TOFxPH_H_LEHT |
S Sectors |
Ion Species |
31E |
HRLTR TOFxPH Proton Rates |
TOFxPH_H_HELT |
S*N1*N2 Sectors/Spins |
Ion Species |
31F |
Raw Electron Energy Events |
REEE |
S Sectors |
Electron Energy |
320 |
Raw Ion Energy Events |
RIEE |
S Sectors |
Ion Energy |
321 |
Raw Ion Species Events |
RISE |
S Sectors |
Ion Species |
322 |
Priority Events |
Priority |
S Sectors |
Ion Species |
323 |
Auxiliary |
Aux |
Every Spin |
NA |
324 |
ERM Data |
ERM |
180 seconds |
NA |
The RBSPICE automation system performs the following processing steps, in the order listed:
1) Download
Processing
Nightly, a set of download scripts is triggered to bring down data that require
processing.
a. SPICE Files
b. Mission Operations Center (MOC) Telemetry Files
c. EMFISIS Level 2 Magnetic Field Files
d. ECT Level 2 Magnetic Ephemeris Files
2) SPICE
Processing
Key XML scripts are modified in this step to integrate new SPICE kernels into
the overall system.
3) MOC
Data Organization
RBSPICE data downloaded from the MOC is moved to a final directory within the
overall repository directory structure, based upon the APID of the data
product.
4) Data
Characterization
The system does a full file read to provide a detailed characterization of each
file including the actual start and stop times of the data, the total number of
records, and other relevant information.
This information is entered into a processing control database, which is
the primary driver for subsequent data processing.
5) Level
0 Processing – Daily Files in which each record start time occurs in the
specified day/year
A Processing Script is read, identifying which Level 0 Data Products are to be
produced.
a. Telemetry data files for each product are then read.
b. The data is extracted into the database.
c. A Comma Separated Values (CSV) text-based Level 0 data file is produced.
d. A Common Data Format (CDF) Level 0 data file is produced.
6) Level
1 Processing
A Processing Script is read, identifying which Level 1 Data Products are to be
produced.
a. Counting data files for each product are then read.
b. The counts for each record are then converted into a rate, in units of Counts/Second.
c. A CSV text-based Level 1 data file is produced.
d. A CDF Level 1 data file is produced.
7) Level
2 Processing
A Processing Script is read, identifying which Level 2 Data Products are to be
produced.
a. Rate data files for each product are then read.
b. The rates for each record are then converted, using the RBSPICE calibration data, into particle intensities (flux) in units of counts/(sec*sr*cm2*MeV).
c. A CSV text-based Level 2 data file is produced.
d. A CDF Level 2 data file is produced.
8) Level
3 Processing
A Processing Script is read, identifying which Level 3 Data Products are to be
produced.
a. Intensity data files for each product are then read.
b. The Magnetic Field data for the time frame is then loaded.
c. The Magnetic Ephemeris data for the time frame is then loaded.
d. Pitch Angles for each telescope look direction are calculated, using the SPICE system.
e. A CDF Level 3 data file is produced.
9)
Level 3 Pitch Angle and Pressure (PAP)
Processing
A Processing Script is read, identifying which Level 3 PAP Data Products are to
be produced.
a. Level 3 data files for each product are then read
b. The intensity data is binned according to a specified pitch angle binning schema
c. The aggregate data (pressures, density, omnidirectional flux, integrated flux) are calculated
d. A CDF Level 3 PAP data file is produced
The RBSPICE SOC software system is comprised of a set of processing workflows (see previous section) in which the underlying software system triggers different processing code for each workflow. The following sections detail the algorithms used in the creation of the Level 0 Count Files, the Level 1 Rate files, the Level 2 Intensity (flux) files, and the Level 3 Pitch Angle files. Details presented for each of these steps are sufficient to allow other software developers to write their own translation workflow. (Note that only the RBSPICE SOC data files are considered the Official release of the data, and any files produced by outside agents using these algorithms are considered unofficial even though they might be identical in content.)
Level 0 data is generated by directly decoding telemetry into binary data values. The encoding is described completely in the RBPSICE Instrument Flight Software and needs no additional description. Specific aspects of the telemetry to Level 0 processing are explained below.
The data fields described are used throughout the various workflows to generate products for Level 0 through Level 3.
Timing values
Field Name |
Type |
Description |
Allowed
Values |
SCLOCK |
UInt32 |
The
value of the SCLOCK at the beginning of the spin |
0…4294967295 |
Fine
SCLOCK |
UInt16 |
The
value of the RBSPICE high resolution clock at the beginning of the spin units
of (1/216) seconds |
0…65535 |
Spin |
UInt16 |
The
current spin number as received from the SC in the 1 PPS signal |
0…65535 |
Spin
Duration |
UInt32 |
The
value of the spin period in milliseconds used by the RBSPICE flight SW in
units of milliseconds |
5000…20000 |
Accumulation Mode values – used in the calculation of accumulation duration to convert counts to rates (see below)
Field Name |
Type |
Description |
Values |
Integration
Sectors –S |
Byte |
Number
of sectors used in the RBSPICE fast accumulation mode |
1-36 |
Integration
Multiplier 1 – N1 |
Byte |
Multiplication
factor used to control the number of sectors accumulation in medium modes |
1-36 |
Integration
Multiplier 2 – N2 |
Byte |
Multiplication
factor used to control the number of sectors accumulated in slow modes |
1-36 |
Integration
Spin - SpinI |
Byte |
Number
of spins to include in the slow accumulation mode |
1-20 |
Pixel Size Values – used in the calculation of intensity (flux)
Field Name |
Type |
Description |
Values |
Electron
Pixel - epixel |
Bool |
Identifies
whether we are using the small pixel (0) or the large pixel (1) size in
electron energy mode |
0-1 |
Ion
Energy Pixel - IEpixel |
Bool |
Identifies
whether we are using the small pixel or the large pixel in ion energy mode |
0-1 |
Ion
Species Pixel - ISpixel |
Bool |
Identifies
whether we are using the small pixel or the large pixel in ion species mode |
0-1 |
Data Collection Pattern - used in the calculation of accumulation start/stop times and duration to convert counts to rates
Field Name |
Type |
Description |
Values |
Subsector
1 – DCP[0] |
Byte |
Identifies
what accumulation mode is used in the first half of the sector |
0-2 |
Subsector
2 – DCP[1] |
Byte |
Identifies
what accumulation mode is used in the third quarter of the sector |
0-2 |
Subsector3
– DCP[2] |
Byte |
Identifies
what accumulation mode is used in the fourth quarter of the sector |
0-2 |
Spin Data – used in the calculation of pitch angles
Field Name |
Type |
Description |
Values |
Spin
Data Valid – validspin |
Bool |
Identifies
if the spin value from the SC is valid or not, 0=invalid, 1=valid |
0-1 |
Mag
Data Valid - validmag |
Bool |
Identifies
if the magnetic field value from SC is valid or not |
0-1 |
Mag
Phase Valid - validphase |
Bool |
Identifies
if the magnetic field phase value from SC is valid or not |
0-1 |
The telemetry product X323 (Auxiliary) is the only component of the received RBSPICE telemetry that provides the ability to create a high time resolution conversion from spacecraft clock (SCLOCK) plus the RBSPICE instrument internal timer (Fine SCLOCK), which is used for data accumulation in the counters, to ephemeris time (ET) representing the real time on a clock. The X323 packets are generated by the RBSPICE instrument at the end of each spin. The packets include a time stamp derived from the timing information provided by the spacecraft in the “1 PPS (Pulse Per Spin) SC to Instrument” data packet. The SCLOCK value cycles from 0 to 4294967295 and then repeats. The Fine SCLOCK value cycles from 0 to 65535 and is in units of (1/216) seconds. In general, each tick of the SCLOCK is approximately 1 second, although this relationship can drift depending upon the heating and cooling of the spacecraft. The SCLOCK value is not a unique value, but repeats every 136.19 years. Since the Van Allen Probes Mission is a nominal two-year mission, it is expected that the SCLOCK value never repeats over the life of the mission. However, environmental factors could trigger a reset of the SCLOCK.
Because the Van Allen Probes spacecraft orbit through extreme radiation environments, it is expected that at some time a Single Event Upset (SEU) will occur, causing the SCLOCK to reset on one or both of the spacecraft. One of the mission requirements assigned to the Mission Operations Center (MOC) is to ensure the SCLOCK value is unique and monotonic throughout the life of the mission, including extended mission phases, even in the event of an SEU. The RBSPICE SOC has written the processing software with the assumption that the SCLOCK value provided to the RBSPICE instrument is unique and will never repeat. When combined with the Fine SCLOCK value, the resulting time value provides RBSPICE scientists the ability to meet the 2-3 millisecond resolution requirement definition specified for inter-instrument calculations, as specified in the instrument requirement documents.
The X323 telemetry record time stamps are decoded by the RBSPICE SOC software system and the resulting SCLOCK and Fine SCLOCK values are converted into a time stamp using the following algorithm:
1. The Fine value is converted into seconds as fine*(1/216) and then converted into SPICE fine seconds (1/5x104) i.e. in units of 20 milliseconds per tick.
2. The SCLOCK data value from telemetry along with the Fine SCLOCK value (see step 1) is converted into a timestamp by use of the JPL SPICE software system and the MOC-provided RBSP (A/B) SPICE SCLOCK kernels. (Note that the SPICE system has a high resolution mapping kernel that relates SCLOCK values to ET, which is defined in the J2000 EPOCH.)
3. The next step in the process is to get the ET value at the start of each sector. The RBSPICE flight software divides a spin into 36 sectors. At the end of the spin, the spin duration value of the just finished spin is reported in the X323 telemetry record. With the ET value (from step 2) of the start of the spin and the spin duration in milliseconds, it is possible to directly calculate the ET value at the start of each sector:
Most other telemetry packets received from the RBSPICE instrument contain the spin and sector numbers at the start of the telemetry packet, so that ET at the start of an accumulation can be easily calculated.
During the process of generating the timestamp for each measurement, the level 0 processing system also calculates the duration of each measurement. This is not as simple as merely calculating the start time of each measurement and subtracting it from the start of the previous measurement since the RBSPICE instrument has three possible measurement modes which can be assigned to one of the three available subsector measurement time frames.
To understand this fully, it is necessary to understand how the RBSPICE instrument takes measurements. Each sector is divided into three subsectors. Subsector 0 spans the first half of the sector; subsector 1 spans the third quarter of the sector, and subsector 2 spans the fourth quarter of the sector.
Figure 3‑1 Sector and subsector scheme used by RBSPICE also showing inter-subsector dead times.
The RBSPICE instrument can be commanded to use one of the three measurement modes (electron energy, ion energy, and ion species) during each of the subsectors, providing the ability to simultaneously measure electrons and ions within a sector or, alternatively, to use a single type of measurement for higher resolution science. Also shown in the diagram is the instances of “dead time” which occur at the end of each subsector due to the instrument must reconfiguring itself for the next subsector. This portion of the subsector time must be subtracted from the overall time of the subsector to properly calculate the total duration of the measurement. The response of the RBSPICE electronics shows that a transition from subsector 2 to subsector 0 takes 4.04 milliseconds and a transition from subsector 0 to 1 or subsector 1 to 2 takes 3.95 milliseconds.
The key values required to properly calculate the measurement duration are found in the X323 telemetry packet (see above): Spin Duration (in seconds), Accumulation Mode Values (S, N1, N2, and Spin) and Data Collection Pattern (DCP). For each time measurement, the timing system queries the Auxiliary data from the RBSPICE database for the current running value of each of these variables. The timing system also identifies the type of data product being processed. By using the following table, the system understands the frequency of the measurement for the product and which DCP mode applies to the measurement.
Table 3‑4 Data Collection Pattern and Frequency by APID
APID |
Product |
Product Name |
Frequency |
DCP mode |
301 |
Command
Echo |
Commands |
As needed |
NA |
302 |
Alarm |
Alarms |
As
needed |
NA |
303 |
Memory
Checksum |
MemoryChecksum |
On
Demand |
NA |
304 |
Memory
Dump |
MemoryDump |
On
Demand, 1/sec |
NA |
305 |
Status |
Status |
Commandable |
NA |
306 |
Boot
Status |
BootStatus |
Commandable |
NA |
307 |
Macro Dump |
MacroDump |
On
Demand, 1/sec |
NA |
308 |
Macro
Checksums |
MacroChecksums |
On
Demand |
NA |
309 |
Monitor
Limits |
MonitorLimits |
On
Demand |
NA |
30A |
Parameters |
Parameters |
On
Demand |
NA |
30B |
Text |
Text |
On
Demand |
NA |
30C |
Pixel
Parameters |
PixelParameters |
On
Demand |
NA |
30D |
NA |
|||
30E |
NA |
|||
30F |
NA |
|||
310 |
Critical
Housekeeping |
CHSK |
Every Second |
NA |
311 |
Space
Weather |
SW |
Every Spin |
Ion
Species |
312 |
Electron
Energy Basic Rates |
EBR |
S Sectors |
Electron
Energy |
313 |
Ion
Energy Basic Rates |
IBR |
S Sectors |
Ion
Energy |
314 |
Ion Energy
Diagnostic Rates |
IEDR |
S Sectors |
Ion
Energy |
315 |
Ion
Species Basic Rates |
ISBR |
S Sectors |
Ion
Species |
316 |
Ion
Species Diagnostic Rates |
ISDR |
S Sectors |
Ion
Species |
317 |
LER-HTR
Electron Spectra |
ESRLEHT |
S Sectors |
Electron
Energy |
318 |
HER LTR
Ion Spectra |
ISRHELT |
S*N1*N2 Sectors/Spins |
Ion
Energy |
319 |
HER LTR
Electron Spectra |
ESRHELT |
S*N1*N2 Sectors/Spins |
Electron
Energy |
31A |
TOFxEnergy Ion Energy Spectra |
TOFxE_Ion |
S*N1*N2 Sectors/Spins |
Ion
Species |
31B |
TOFxEnergy Proton Rates |
TOFxE_H |
S Sectors |
Ion
Species |
31C |
TOFxEnergy Non-Proton Rates |
TOFxE_nonH |
S*N1 Sectors |
Ion
Species |
31D |
LRHTR TOFxPH Proton Rates |
TOFxPH_H_LEHT |
S Sectors |
Ion
Species |
31E |
HRLTR TOFxPH Proton Rates |
TOFxPH_H_HELT |
S*N1*N2 Sectors/Spins |
Ion
Species |
31F |
Raw Electron
Energy Events |
REEE |
S Sectors |
Electron
Energy |
320 |
Raw Ion
Energy Events |
RIEE |
S Sectors |
Ion
Energy |
321 |
Raw Ion
Species Events |
RISE |
S Sectors |
Ion
Species |
322 |
Priority
Events |
Priority |
S Sectors |
Ion
Species |
323 |
Auxiliary |
Aux |
Every Spin |
NA |
324 |
ERM
Data |
ERM |
180 seconds |
NA |
The timing system calculates the duration of the measurement using the following algorithm:
1) Use the current Spin Duration and calculate:
a. Accumulation time of a sector – accsector
b. Duration of ¼ of a sector (or a subsector) - dursubsector
2) Identify the Product Accumulation Factor (S, S*N1, S*N1*N2, S*N1*N2/Spins) from the above table
a. Use the values of S, N1, N2, and SpinI to calculate the multiplication factor
i. factor = S;
ii. factor = S*N1; or
iii. factor = S*N1*N2
b. If this measurement is done over multiple spins, i.e. (S*N1*N2/Spins), then we also need to query the database for the spin duration of each spin included in the measurement so that the timing can be calculated as precisely as possible for each spin in the measurement, i.e. accsector and dursubsector are recalculated for each value of spin duration.
3) For
the current product, identify which subsectors (0, 1, or 2) are involved in
this measurement for the DCP mode derived from the table.
Note that this measurement mode could be used in all possible combinations of subsectors
(0, 1, and/or 2), but since we are working with a particular product with real
data, there has to be at least one subsector involved (otherwise we wouldn’t
have data for the product!)
4) Create two variables to capture the durations:
a. AccumTime – to capture the total amount of sector/subsector time available in the measurement
b. DeadTime – to capture the amount of dead time involved in the measurement
5) For each spin that is involved in the measurement, calculate the sector and subsector times based upon the spin duration for each spin:
a. For each DCP that is involved in the measurement
i. Add the subsector time (sub0=2*dursubsector, sub1=dursubsector, sub2=dursubsector) to the current AccumTime
ii. Add the specific DeadTime to the DeadTime duration
1. In going from subsector 2 to subsector 0, the DeadTime is 4.04 millseconds
2. In going from subsector 0 to 1 or 1 to 2, the DeadTime is 3.95 milliseconds
6) Calculate the duration of the measurement (Duration) as: (AccumTime – DeadTime)*factor for each spin.
7) Calculate the start/stop time for the accumulation
a. The start time is the start of the accumulation at the start of the first subsector involved in the measurement.
b. The stop time is the end time of the last subsector involved in the measurement.
i. For
products accumulated over a single spin, this becomes simply
endET = startET + duration
+ DeadTime; or endET = startET + AccumTime;
ii. For products accumulated over multiple spins
1. For the first spin, add in the time from the start of the measurement to the end of the last subsector of the last sector measured in that spin.
2. For each subsequent spin (except the last), add in the total time of the spin.
3. For the last spin, add in the time to go from the start of the spin to the end of the last subsector of the last sector of the measurement.
8) Calculate the Midpoint time for the accumulation:
a. For single spin measurements, this is startET + (endET-startET)/2
b. For
multiple spin measurements, this is a very complex problem since the midpoint
from startET to endET would
not necessarily occur in the middle of the sectors that are participating in
the accumulation.
This can be seen most clearly in the following table in which we are starting
our accumulation in sector 0 and accumulating over 4 sectors and 10 spins, i.e.
S = 1, N1 = 2, N2 = 2, and SpinI =
10. The sectors involved in the
measurement are identified in the table as green with two white squares in the
middle; the location of the start and end times are obvious. The red square outside the actual
accumulation time is the false midpoint time taken as simply the startET + (endET – startET)/2, showing that this algorithm does not work
correctly. The actual midpoint time is shown
in the middle of the two white squares and is based upon the correct
calculation of the midpoint time. This table (and others) were used to generate
an algorithm to properly calculate what the actual midpoint of the measurement
is, based upon the starting sector, the number of sectors involved, and the
number of spins involved.
Table 3‑5 Sample multi-spin accumulation showing the false (red) and true (white) midpoint times of the accumulation.
Start ET |
SpinDur |
Sector |
SubSec |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
410270537.6 |
10.884 |
0.302333333 |
0.075583333 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
410270548.4 |
10.883 |
0.302305556 |
0.075576389 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
410270559.3 |
10.882 |
0.302277778 |
0.075569444 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
410270570.2 |
10.882 |
0.302277778 |
0.075569444 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
410270581.1 |
10.883 |
0.302305556 |
0.075576389 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
410270592 |
10.882 |
0.302277778 |
0.075569444 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
410270602.9 |
10.882 |
0.302277778 |
0.075569444 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
410270613.7 |
10.882 |
0.302277778 |
0.075569444 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
410270624.6 |
10.883 |
0.302305556 |
0.075576389 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
410270635.5 |
10.883 |
0.302305556 |
0.075576389 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The telemetry product X305 (Status) includes a small number of values that are necessary to one or more of the workflows as the data is processed from Level 0 to Level 3. These fields are described below:
Field Name |
SoftName |
Description |
Values |
TOFxPH Deprecation |
TOFxPH |
Identifies
how the TOFxPH events are collected: |
0-7 |
There are three telemetry products related to collection of basic rate statistics that are critical in processing RBSPICE data from Level 0 to Level 1, and are part of the Rin versus Rout algorithms described in the Level 1 Processing Algorithms section (3.6.2).
The fields from each of these three telemetry products are as follows:
Electron Basic Rates (X312) and Ion Energy Basic Rates (X313) –
Ancillary Data Values
Field Name |
SoftName |
Description |
Units |
Type |
Values |
SSD
Counters |
SSD[0..5] |
Counts
events above the SSD energy threshold for each telescope |
Counts |
UINT32[6] |
0… |
SSD
Dead Time |
SSDDead[0..5] |
Integrates
the amount of dead time in each SSD for each telescope |
100ns |
UINT32[6] |
0… |
State
Machine Idle |
SMI
or IDLE |
Event
State Machine Idle Time |
100ns |
UINT32 |
0… |
Multiple
Hit Reject |
MHR |
Counts
number of events rejected due to simultaneous energy channel events |
Counts |
UINT32 |
0… |
Valid
Energy Events |
VEE |
Counts
the number of valid energy events |
Counts |
UINT32 |
0… |
Valid
Events Queued |
VEQ |
Counts
the number of valid energy events placed in the FIFO |
Counts |
UINT32 |
0… |
Valid
Events Processed |
VEP |
Counts
the number of valid energy events processed by the flight software |
Counts |
UINT32 |
0… |
Ion Species Basic Rates (X315) – Ancillary Data Values
Field Name |
SoftName |
Description |
Units |
Type |
Values |
Start
0 Anode |
Start0 |
Counts
the number of events above the start0 anode threshold |
Counts |
UINT32 |
0… |
Stop
0 Anode |
Stop0 |
Counts
the number of events above the stop0 anode threshold |
Counts |
UINT32 |
0… |
TOF
Coincidence |
TOFCOIN |
Counts
the number of events where the start and stop are within the 200ns window |
Counts |
UINT32 |
0… |
Pulse
Height |
PH |
Counts
the number of events above the TOF pulse height threshold |
Counts |
UINT32 |
0… |
Start
Counters |
Start[0..5] |
Counts
the number of events calculated to be at the given start position per
telescope |
Counts |
UINT32 |
0… |
SSD
Counters |
SSD[0..5] |
Counts
the number of events above the SSD threshold |
Counts |
UINT32[6] |
0… |
SSD
Dead Time |
SSDDead[0..5] |
Integrates
the amount of dead time in each SSD for each telescope |
100ns |
UINT32[6] |
0… |
State
Machine Idle |
SMI
or IDLE |
Event
State Machine Idle Time |
100ns |
UINT32 |
0… |
Multiple
Hit Reject |
MHR |
Counts
the number of events rejected due to simultaneous energy channel events |
Counts |
UINT32 |
0… |
Valid
TOFxPH Events |
VPH =VTOFxPH |
Counts
the number of valid TOFxPH events |
Counts |
UINT32 |
0… |
Valid
TOFxE Events |
VE =VTOFxE |
Counts
the number of valid TOFxE events |
Counts
|
UINT32 |
0… |
Valid
Events Queued |
VEQ |
Counts
the number of valid energy events placed in the FIFO |
Counts |
UINT32 |
0… |
Valid
Events Processed |
VEP |
Counts
the number of valid energy events processed by the flight software |
Counts |
UINT32 |
0… |
TOF
Coincidence |
TOFCoin |
Determine
the number of valid TOF and SSD events occur at the same time |
Counts |
UINT32 |
0… |
As of the writing of this revision, e, the following table presents the minimum level 0 file data format version number and file data revision version number that is considered reasonably correct and usable for subsequent calculation of higher-level data products.
The primary activity in processing the Level 0 data into Level 1 data is to convert the count data into rate data. This is done in a series of algorithmic steps in which the Level 0 count data is read into memory, the duration of the measurement is loaded from the Level 0 file, the counts themselves are adjusted according to the Rin vs Rout algorithm, and the rate data is then written to a Level 1 file. The following constants and variables are used throughout the subsequent sections:
Name |
Description |
Type |
Value(s) |
MaxIDLE |
Maximum number of 100ns intervals for which data can be accumulated |
UInt32 |
|
ClkPeriod |
Number of nanoseconds in the RBSPICE DPU clock period |
UInt32 |
100 |
STDead |
Start counter dead time due to synchronization logic |
UInt32 |
2 |
SPDead |
Stop counter dead time due to synchronization logic |
UInt32 |
2 |
SPVeto |
Interval in which additional stop pulses cause the event to be discarded |
UInt32 |
2 |
RDTVeto |
Interval for inhibiting start and stop counter during chip TOF reset |
UInt32 |
1 |
PKDReset |
Interval for resetting the peak detector |
UInt32 |
4 |
PURVeto |
Interval during which a second SSD pulse causes event to be discarded |
UInt32 |
7 |
TOFxE_PURVeto |
Interval during which a second SSD pulse causes event to be discarded (changed in software configuration file for TOFxE only) |
UInt32 |
24 |
K1E_E |
Correction constant term for valid TOFxE events |
Float |
0.3 |
K1E_PH |
First order correction constant term for valid TOFxPH events |
Float |
0.15 |
K2E_PH |
Second order correction constant term for valid TOFxPH events |
Float |
0.15 |
STMISS |
The
number of FPGA clock cycles are missed each sector |
UInt32 |
2 |
Cssd |
FPGA clock ticks or the required value to reproduce MHR from FPGA, based upon the IBSR record only |
UInt32 |
2 |
CphSC |
Represents the factor for which PH counts miss from the start0 counts |
Float |
CphA=0.860 |
Basic Rates
EBR (X312), IBR(X313), and ISBR(X315) telemetry includes the measured counts (SSD) and dead time (SSDDead) for each telescope. These values are converted to a rate value using the following algorithm:
For each telescope (where “tele” goes from 0 to 5)
Energy Rates
Conversion of the counts obtained for the ESRLEHT(X317), ISRHELT(X318), and ESRHELT(X319) telemetry is somewhat more complicated, because the algorithm requires an understanding of the spin information (X323) and the basic rate data (EBR for ESRLEHT and ESRHELT, IBR for ISRHELT) to fully convert the count data into a rate. For purposes of this algorithm, the count values in the telemetry are called hij, where i refers to the telescope number and j refers to the energy channel of the measurement. Following is the algorithm used in the RBSPICE SOC software for each telescope and each energy channel:
1) If the count is zero, return a rate of 0.0
2) Identify the number of sectors involved in the measurement, based upon the frequency of the product (S, S*N1, S*N1*N2,Spins) – for an example see table 3-5.
3) Calculate
the default rate as:
4) If
the measurement spans a single spin
Get the basic rate energy data object (erd) for the current SCLOCK, Spin, and Sector
5) If
the measurement spans multiple spins
Get a conglomerate basic rate energy data object (erd) for the current SCLOCK,
Spin, and Sector for each involved spin which adds all basic rate measurements
together to form a single ERD
6) If
erd = null,
return the defaultrate
(i.e. we cannot do R vs R correction without the basic rate data)
(Note that there are some scenarios in which this is possible, but they are
extremely rare.)
7) Get
the following variables from the erd object:
vee = valid energy events
vep = valid
events processed
idle = state machine idle
ssd = basic
count for the current telescope
ssddead =
basic count dead time for the current telescope
8) Calculate the basic rate, brate, (see section above) using the values returned in the erd object
Calculate each of the following terms (cipkdreset
and cipurveto)
using the following formula:
Species TOFxPH Rates
The conversion of the species mode TOFxPH measurements for products TOFxPHHLEHT (X31D) and TOFxPHHHELT (X31E) follows a similar algorithm as discussed for the calculation of Energy Rates (see above). The key difference is in the values used from the Ion Species Basic Rate data object (erd) and the formulas of step 9:
7) Get
the following variables from the erd object:
VE = vtofxe = valid TOFxE events
VPH = vtofxph
= valid TOFxPH events
vep = valid
events processed
idle = SMI =State machine idle
ssd = basic count for the current telescope
ssddead = dead time for the current telescope –
using in calculation of duration in basic rate
start0 = Counts number of events
above start0 threshold
stop0 = Counts number of events above
the stop0 threshold
sumSSD = summation of all SSD values for all telescopes
for the current record
TOFcoin = Number of valid TOF and SSD
coincident events
ph = number
of events above the TOF pulse height threshold
9) Calculate each of the following terms:
Species TOFxE Rates
The conversion of the species mode TOFxE measurements for products TOFxEIon (X31A), TOFxEH (X31B), and TOFxEnonH (X31C) follows a similar algorithm as discussed above for Energy Rates and Species TOFxPH rates (see above). Again, the key difference is what values are acquired in Step 7 and the formula in Step 9.
7) Get
the following variables from the erd object:
VE = vtofxe = valid TOFxE events
VPH = vtofxph
= valid TOFxPH events
vep = valid
events processed
idle = SMI =State machine idle
ssd = basic count for the current telescope
ssddead = dead time for the current telescope –
using in calculation of duration in basic rate
start0 = Counts number of events
above start0 threshold
stop0 = Counts number of events above
the stop0 threshold
sumSSD = summation of all SSD values for all telescopes
for the current record
TOFcoin = Number of valid TOF and SSD
coincident events
ph = number
of events above the TOF pulse height threshold
9) Calculate each of the following terms: