Helios Data Structure on MODs
Data Structure
The data for each spectrum is contained in two separate records: a
parameter record and a raw data record. The parameter record contains
orbit/attitude information and all hydrodynamic quantities and is read
using the Fortran structure GEN. The raw data record contains the raw
count rate data and is read using the Fortran structures NDM, HDM1 or
HDM2, depending on the data mode and format.
A Fortran include file (struct.inc) is used
access these structures from all related programs. If this page and
struct.inc differ, struct.inc is the definitive reference.
GEN parameter
Quantity Example Origin GEN-name Format
Time of day (ms) 86399123 PB* OUT(4,1) mSec char*8
Recordlabel (A) A Calc * Seq char*1
Year (-1900) 74 PB* OUT(2,1) Year byte
Day of year 374 PB OUT(3,1) DOY int*2
S/C ID (Helios 1,2) 1 PB* OUT(2,1) Helios byte
Heliogr. Longitude (deg) 246.1 PB OUT(11,1) HelLngAsc real*4
S/C-Sun-Earth angle (deg) 123.1 PB OUT(7,1) HSEangle real*4
Distance S/C-Sun (AU) 0.39 PB OUT(8,1) HelDisSun real*4
Distance Earth-Sun (AU) 0.99 PB OUT(10,1) EarDisSun real*4
Radial velocity S/C (AU/day) -23.14 OA ORA(8) HelVrad real*4
Normal velocity S/C.(AU/day) 1.23 OA ORA(9) HelVnorm real*4
Carrington lat Earth (deg) -7.12 PB OUT(12,1) EarCarLat real*4
Carrington long Earth (deg) 5.23 Calc * EarCarLong real*4
Carrington long S/C (deg) 128.1 Calc * HelCarLong real*4
Carrington Rotation S/C 1649 Calc * HelCarRot int*2
Carrington long Earth 349.4 Calc * HelLonEar real*4
Carrington Rotation Earth 1649 Calc * EarCarRot int*2
Solar Aspect angle (deg) 3.456 OA ORA(15) Aspect real*4
Pitch angle 89.12 OA ORA(16) Pitch real*4
Average S/C spinrate (1/s) 60.01 OA ORA(17) SpinRate real*4
Data Transmission Bitrate 2048 PB* OUT(16,1) BitRate int*2
Distribution mode (0,...,7) 0 PB* OUT(15,1) DisMod byte
Format (1,2,3,5) 5 PB* OUT(15,1) Format byte
>> For Format=2,3 the HDM2 structure is used for the raw data
>> For other values (1,5) the HDM1 structure is used
Data Mode (Normal=0/10, High=1/11) 1 PB* OUT(17,1) Mode byte
>> If data mode is larger 1, no raw spectral data are available
Shift Off or On (0/1) 1 PB* OUT(17,1) Shift byte
Azimuth shift On or Off (0/1) 1 SDT * AzShift byte
I1a/I3 On, or both Off (1/2/0) 1 PB* OUT(16,1) I1A_3 byte
I2a or I2b On (1/2) 2 SDT * I2A_B byte
Instrument I1a
Proton velocity (km/s) 734.5 PB OUT(2,2) Vp_I1A real*4
Proton temperature (K) 1234567.8 PB OUT(3,2) Tp_I1A real*4
Proton density (cm^-3) 123.45 PB OUT(4,2) Np_I1A real*4
Flow angle Azimuth (deg) 23.123 PB OUT(13,2) AZp_I1A real*4
Flow angle Elevation (deg) -12.123 PB OUT(12,2) ELp_I1A real*4
Helium velocity (km/s) 1456.12 PB OUT(2,7) Valpha real*4
Helium temperature (K) 4567891.12 PB OUT(3,7) Talpha real*4
Helium density (cm^-3) 12.34 PB OUT(4,7) Nalpha real*4
Average zero rate 12.11 PB OUT(16,2) ZeroRate_I1Areal*4
Instrument I1b
Proton velocity (km/s) 1236.12 PB OUT(2,8) Vp_I1B real*4
Proton temperature (K) 1234567.89 PB OUT(3,8) Tp_I1B real*4
Proton density (cm^-3) 123.00 PB OUT(4,8) Np_I1B real*4
Average zero rate 24.12 PB OUT(16,8) ZeroRate_I1Breal*4
Variation in zero rate 12.12 PB OUT(17,8) ZeroVar_I1B real*4
Instrument E2 (Magnetic field)
Bx (0.01 nT) -39.12 PB FE2(1,1) Bx real*4
By (0.01 nT) 40.11 PB FE2(2,1) By real*4
Bz (0.01 nT) -23.11 PB FE2(3,1) Bx real*4
Sigma Bx (0.01 nT) 23.11 PB FE2(4,1) BxSig real*4
Sigma By (0.01 nT) 56.11 PB FE2(5,1) BySig real*4
Sigma Bz (0.01 nT) 12.99 PB FE2(6,1) BzSig real*4
NDM raw
Quantity Example Origin NDM-name Format
Time of day (ms) 86399123 PB* OUT(4,1) mSec char*8
Recordlabel (B) B Calc * Seq char*1
General quality word 24 SDT JID1(15,1) Qw(1) int*4
Quality word I1a 27 SDT JID1(16,1) Qw(2) int*4
I1b 25 SDT JID1(19,1) Qw(5) int*4
I3 01 SDT JID1(18,1) Qw(4) int*4
I2 21 SDT JID1(17,1) Qw(3) int*4
Initial Data, n=1,8 61680 SDT JID1(19+n) Init(n) int*4
Max. Adresses energy 12 SDT JID1(12) MaxEn byte
azimuth 7 SDT JID1(13) MaxAz byte
elevation 5 SDT JID1(14) MaxEl byte
Mass channel (I3) 9 SDT JID1(11) Mass byte
Count rates
I1b En=1,32 24 SDT FI1B(nE) I1B(nE) real*4
I1a (integr) En=1,32 1 SDT FINT(nE) I1Aint(nE) real*4
I2 Az=1,8; En=1,16 567 SDT
JIS2((nE-1)*8+nA) I2AB(nA,nE) int*4
>> only the first 128 values of JIS2 are used in I2AB
I1a/I3 nEl=1,5; nAz=1,5; nE=1,9 0 SDT
FIS1(nEl,nAz,nE) I1A_3(nE1,nAz,nE) real*4
>> array elements with identical indices are moved from FIS1 to I1A_3
>> element I1A_3(3,3,3) (usually) contains data for the MaxAdr channels
HDM raw
Quantity Example Origin GEN-name Format
Time of day (ms) 86399123 PB* OUT(4,1) mSec char*8
Recordlabel (B) B Calc * Seq char*1
Time of day (ms) n=2,4 86409145 PB* JID1(7,n) mSecE(n) real*4
General quality word n=1,4 24 SDT JID1(15,n) Qw(1,n) int*4
Quality word I1a n=1,4 27 SDT JID1(16,n) Qw(2,n) int*4
I1b n=1,4 25 SDT JID1(19,n) Qw(3,n) int*4
I3 n=1,4 01 SDT JID1(18,n) Qw(4,n) int*4
I2 n=1,4 21 SDT JID1(17,n) Qw(5,n) int*4
Initial Data, m=1,8; n=1,4 61680 SDT JID1(m,n) Init(m,n) int*4
Max. Adresses energy, n=1,4 12 SDT JID1(12,n) MaxEn(n) byte
azimuth, n=1,4 7 SDT JID1(13,n) MaxAz(n) byte
elevation, n=1,4 5 SDT JID1(14,n) MaxEl(n) byte
Mass channel (I3) n=1,4 9 SDT JID1(11,n) Mass(n) byte
Count rates
I1B nE=1,32 24 SDT FI1B(nE) I1B(nE) real*4
I1a (integr) nE=1,32 1 SDT FINT(nE) I1Aint(nE) real*4
I2 nA=1,8; nE=1,32 567 SDT I2AB(nA,nE)
JIS2((nE-1)*8+nA) int*4
I1a/I3 E1,A1,E1 0 SDT FIS1(1,1,1) I13(1) real*4
...
E5,A5,E9 21 SDT FIS1(7,7,32) I13(392) real*4
I1a/I3 nEl=1,7; nAz=1,7; nE=1,32 0 SDT I1A_3(nE1,nAz,nE)
FIS1(nEl,nAz,nE) real*4
>> array elements with identical indices are moved from FIS1 to I1A_3
>> For structure HDM2 the number of elevations is 7.
Last modified: 12 Feb 1999,
Kevin Ivory