Data Formats

INTERMAGNET Satellite Transmission Format : IMFV2.83

The INTERMAGNET satellite data transmission format IMFV2.83 defines the structure of 126 bytes of magnetic observatory information. METEOSAT users, who must transmit once per hour, will send five 12-minute IMFV2.83 data blocks. GOES users transmit at 12-minute intervals one IMFV2.83 data block encoded in NESS-BINARY (189 bytes). The order of transmission to the satellite will be in byte sequence low-byte first, then high-byte. Refer to APPENDIX E2 for satellite coding examples.REFERENCE MEASUREMENT (RM) or FREE SPACE


HEADER

12 BYTES

Day of first sample (1-365/366)

12 Bits

1 - 3 [1]

Minute of the day of first sample (0 - 1439)

12 Bits

1 - 3 [1]

Offset for C1

8 Bits

4

Offset for C2

8 Bits

5

Offset for C3

8 Bits

6

Offset for C4

8 Bits

7

Flag #1

8 Bits

8

Flag #2

8 Bits

9

Colatitude in 1/10 degrees (0 - 1800)

12 Bits

10 - 12 [1]

Flag #2

12 Bits

10 - 12 [1]

08 BYTES

FREE SPACE

64 Bits

13 - 20

10 BYTES

REFERENCE MEASUREMENT (RM) or FREE SPACE

80 Bits

21 - 30


MIN VALUES

96 BYTES

C1 for Sample 1

16 Bits

31 - 32

C2 for Sample 1

16 Bits

33 - 34

C3 for Sample 1

16 Bits

34 - 35

C1 for Sample 12

16 Bits

119 - 120

C2 for Sample 12

16 Bits

121 - 122

C3 for Sample 12

16 Bits

123 - 124

C4 for Sample 12

16 Bits

125 - 126

Table 1 Flag#1

MSB

Description

8

Orientation Code Component 1 Component 2 Component 3 Component 4
      0              X           Y           Z           F
      1              H           D           Z           F
      2                          D           I           F
      3              Other

7

6

Scale factor for X or H

5

Scale factor for Y or D

4

Scale factor for Z or I

3

Scale factor for F

2

Filtering - 0: INTERMAGNET approved filtering, 1: non-approved filtering.

See INTERMAGNET terminology “filtering”.

1

Alert capability - The IMO has the ability to detect magnetic events if the flag is set to 1.

0: not active

1: active

Table 2 Flag#2

MSB

Description

8

Sudden storm commencement detected

7

Storm in progress

A storm is in progress if the level of magnetic activity is equivalent to K > 4 for past one-hour

period. The flag will be reset to zero when the equivalent level of activity drops to K <= 4.

6

0: No Reference Measurement (RM) capability bytes 13-30 are user free space

1: Base Reference Measurement data available inbytes 21-30.

Bytes’ 13-20 are user free space.

5

Free (user defined)

4

Free (user defined)

3

Free (user defined)

2

Free (user defined)

1

Free (user defined)

IMFV2.83 Header Encoding

In IMFV2.83 format, the time stamp and site identification code are encoded in 3-byte strings formed from two 12-bit fields combined as described below:

Time Stamp Input

Encoded Output

Least sig. 8 bits of day

Byte 1

Most sig. 4 bits of day

Byte 2, four least sig. bits

Least sig. 4 bits of minute

Byte 2, four most sig. bits

Most sig. 8 bits of minute

Byte 3

Site Identification Code Input

Encoded Output

Least sig. 8 bits of colatitude

Byte 10

Most sig. 4 bits of colatitude

Byte 11, four least sig. bits

Least sig. 4 bits of east longitude

Byte 11, four most sig. bits

Most sig. 8 bits of east longitude

Byte 12

Example:
The time stamp for day 30, minute 684 would be encoded as:
Table 3 Input fields

Bit (MSB to LSB)

11

10

9

8

7

6

5

4

3

2

1

0

Hex

Day 30 (first item)

0

0

0

0

0

0

0

1

1

1

1

0

01E

Minute 684 (second item)

0

0

1

0

1

0

1

0

1

1

0

0

2AC

Table 4 Output Encoded field

Byte 0

Byte 1

Byte 2

Byte

0001

1110

1100

0000

0010

1001

Hex

1

E

C

0

2

A

Value

8 LSB Day

4 LSB Minute

4 MSB Day

8 MSB Minute

IMFV2.83 Data Value Encoding

Constraints on the bandwidth of a GOES satellite communications channel dictate a maximum transmission block of 126 bytes of data once every 12 minutes from an INTERMAGNET Magnetic Observatory (IMO). To conserve bytes, each measurement of a magnetic component is represented using only 2 bytes which, upon reception, are interpreted together with header information to produce a resultant 3-byte representation at the Geomagnetic Information Node (GIN). All magnetic field values in this encoding description are expressed in tenths of nanoTeslas (tnT) unless otherwise noted. The resolution of the measurements is 1 tnT and so a 16-bit representation allows a 216 = 65536 tnT (6553.6 nT) dynamic range within a 12-minute IMFV2.83 block. This is inadequate to accomodate magnetic storms at some locations, and so the encoding scheme produces measurements at reduced sensitivity when extremely large excursions are present. The INTERMAGNET data encoding produces an Offset (OFF) value and a Scale Factor (SF) flag bit for each component, as well as the encoded individual minute values (see diagram at end of appendix). The OFF and SF apply to all measurements of a component within an IMFV2.83 data block.

We define the terms used in encoding as follows:

Table 5 Input fields

Data(i)

Set of minute values measured in tnT

Dpos (i)

Minute values shifted by 1048576 to be always positive

Dmax

Largest Dpos (i) of a given component in IMFV2.83 block

Dmin

Smallest Dpos (i) of a given component in IMFV2.83 block

OFF

Offset value

BF

Bias Factor = 8192

SM

Scale Multiplier for sensitivity of encoded data

SF

Scale Factor flag for sensivity of encoded data

E(i)

Set of encoded minute values

Numbers used in this encoding algorithm have been chosen to permit simple binary arithmetic operations:

  • 8192 = 213

  • 57344 = 216 - 213

  • 1048576 = 220

  • 2097151 = 221 - 1

Encoding of a 12-minute IMFV2.83 data block begins by adding a constant 1048576 tnT to the minute values Data(i) to produce a new data set \(D_{pos}(i)\) whose values are always positive.

\[D_{pos}(i) = Data(i) + 1048576\]

The limiting values of these \(D_{pos}(i)\) are 0 and 2097151tnT. An Offset value (OFF) is next computed from the \(D_{pos}(i)\) for each component by using the minimum value of the component, \(D_{min}\).

\[OFF = INT (D_{min}/BF)\]

where INT means the truncated integer after the division. The OFF value for each component may be anywhere in the range of 0 to 255 and the OFF values for the four components are stored in bytes 4,5,6,7 of the header for use in decoding the data after reception at a GIN. A Scale Multiplier (SM) for each component is now computed:

\[SM = INT ((D_{max} - OFF*BF)/57344) + 1\]

The encoding algorithm produces an SM whose value is governed by the range of \(D_{pos}(i)\) within a data block. In this application to format IMFV2.83, however, SM can in practice be limited to values of either 1 or 2. Format IMFV2.83 reserves only one flag bit per component for storing scale information. These flags are bits 6,5,4,3 of byte 8 in the header, labelled Scale Factor (SF). Flag bit SF=0 represents SM=1, where the encoded data are considered at normal sensitivity (1 tnT/bit). At SM=1, the dynamic range available in the data block is at least 49152 tnT (= 57344-BF) and at most 57344 tnT, depending upon where the \(D_{min}\) value sits relative to the quantity OFF*BF. Flag bit SF=1 represents SM=2, where the encoded data are considered as half sensitivity (2 tnT/bit). At SM=2, the dynamic range in the data block is at least 106496 tnT (= 2*57344-BF) and at most 114688 tnT (= 2*57344) depending again upon where \(D_{min}\) is relative to the quantity OFF*BF. Encoded data values are now computed as:

\[E(i) = INT((D_{pos}(i) - OFF*BF)/SM)\]

and are stored in bytes 31 to 126. Upon reception at the GIN, encoded data are reconstituted using the expression:

\[Data(i) = E(i)*SM + OFF*BF - 1048576\]

This reconstitution is exact for SM=1 but rounded down by no more than 2 tnT on those infrequent occasions when SM=2. In summary, the expressions defining each of the encoding and reconstitution steps are:

  1. \(D_{pos}(i) = Data(i) + 1048576\)

  2. \(OFF = INT (D_{min}/BF)\)

  3. \(SM = INT ((D_{max} - OFF*BF)/57344) + 1\)

  4. \(E(i) = INT((D_{pos}(i) - OFF*BF)/SM)\)

  5. \(Data(i) = E(i)*SM + OFF*BF - 1048576\)

Scale Factor flags are set

SF

SM

0

1

1

2

Note

E(i) set to 65535 (FFFF hex) indicates missing or invalid data.

../_images/imfv283.png

Satellite Coding Examples

Coding Example for Goes Satellite

Each block of 126 bytes in IMFV2.83 must be encoded in 189 NESS-BINARY bytes (NESSbytes). NESSBINARY breaks each pair of source bytes (word) into 3 NESSbytes. If the bits of the source word are B15-B0 with B15 the most significant, then these are placed right-justified in NESSbytes as follows: B15-B12 are in the first NESSbyte, B11-B6 are in the second NESSbyte and B5-B0 are in the third NESSbyte. Within NESSbytes, bit 6 is always set to 1 and bit 7 is set for odd parity. In the first NESSbyte, bits 5 and 4 are filled by sign extension, i.e. they take the same value as bit 3. As an example, consider the 16-bit source word h0C4E, d3150.

Step 1 - break into 3 formative NESSbytes.

  • byte 1: XXXX0000

  • byte 2: XX110001

  • byte 3: XX001110

Step 2 - sign extend in byte 1, bit 6=1, bit 7=odd parity.

  • NESSbyte 1:01000000

  • NESSbyte 2:11110001

  • NESSbyte 3:11001110

../_images/ness.png

After encoding, the 12-minute block is sent to the data collection platform (DCP) to be transmitted.

Consider the following data set:

Date: March 23 1993 (day 082)
Time of first sample 12:00
Observatory identification: 04342275 (co-latitude 43.4E, longitude 227.5E)
Sensor orientation is XYZF
INTERMAGNET approved filtering
No alert capability
No RMs
Flag #1: 00000000
Flag #2: 00000000

Minute values of C1, C2, C3, C4

209062 -56 423216 472036
209062 -52 423218 472038
209058 -46 423220 472038
209053 -49 423219 472035
209052 -51 423214 472030
209054 -55 423214 472031
209061 -56 423215 472035
209066 -55 423217 472039
209062 -52 423214 472034
209055 -54 423212 472030
209055 -52 423213 472030
209056 -50 423213 472031

Hex dump of IMFV2.83 binary of this 12-minute block: (126 characters)

52 00 2D 99 7F B3 B9 00 00 B2 31 8E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 A6 10 C8 1F 30 15 E4 13 A6 10 CC 1F 32 15 E6 13 A2 10 D2 1F 34 15 E6 13 9D 10 CF 1F 33 15 E3 13 9C 10 CD 1F 2E 15 DE 13 9E 10 C9 1F 2E 15 DF 13 A5 10 C8 1F 2F 15 E3 13 AA 10 C9 1F 31 15 E7 13 A6 10 CC 1F 2E 15 E2 13 9F 10 CA 1F 2C 15 DE 13 9F 10 CC 1F 2D 15 DE 13 A0 10 CE 1F 2D 15 DF 13

After conversion to NESS-BINARY for GOES satellite: (189 characters)

45 C8 40 C2 76 D9 C7 FE 73 FB 64 40 40 C2 F2 43 46 CE 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 7A 58 D0 7C E0 DF 43 40 D5 FE D0 D3 7A 58 D0 7C 70 DF 43 C8 D5 FE 58 D3 7A C8 D0 FD C8 DF 43 D0 D5 FE 58 D3 79 F4 D0 7C 7C DF 43 4C D5 FE 4C D3 79 70 D0 7C F4 DF C2 F8 D5 FD F8 D3 79 F8 D0 7C 64 DF C2 F8 D5 FD 7C D3 7A 54 D0 7C E0 DF C2 7C D5 FE 4C D3 7A 68 D0 7C 64 DF 43 C4 D5 FE DC D3 7A 58 D0 7C 70 DF C2 F8 D5 FE C8 D3 79 7C D0 7C 68 DF C2 70 D5 FD F8 D3 79 7C D0 7C 70 DF C2 F4 D5 FD F8 D3 7A 40 D0 7C F8 DF C2 F4 D5 FD 7C D3

Coding Example for Meteosat Satellite

As the duration between two time slots on the METEOSAT satellite is one hour, five 12-minute blocks are chained and sent to the DCP for transmission. As a METEOSAT message is 640 bytes long, 10 bytes (hex00) are added to the end of the 630 bytes of the 5 X 12-minute blocks (5 X 126 bytes). Binary from IMFV2.83 format is sent to the DCP without any modification.

Consider the following data set:

Date: March 23 1993 (day 082)
Time of first sample 12:00
Observatory identification: 04342275 (co-latitude 43.4E, longitude 227.5E)
Sensor orientation is XYZF
INTERMAGNET approved filtering
No alert capability
No RMs
Flag #1: 00000000
Flag #2: 00000000

Minute values of C1, C2, C3, C4

Block #1: minute 0-11

209062 -56 423216 472036
209062 -52 423218 472038
209058 -46 423220 472038
209053 -49 423219 472035
209052 -51 423214 472030
209054 -55 423214 472031
209061 -56 423215 472035
209066 -55 423217 472039
209062 -52 423214 472034
209055 -54 423212 472030
209055 -52 423213 472030
209056 -50 423213 472031

Block #2: minute 12-23

209059 -45 423215 472034
209057 -45 423214 472032
209059 -40 423216 472035
209057 -42 423214 472032
209054 -40 423213 472030
209053 -42 423214 472030
209048 -45 423214 472028
209046 -47 423217 472030
209045 -45 423217 472030
209044 -46 423217 472029
209043 -44 423214 472026
209045 -43 423215 472028

Block #3 : minute 24-35

209050 -44 423215 472030
209056 -45 423217 472035
209064 -45 423218 472039
209072 -43 423217 472042
209073 -41 423216 472041
209069 -39 423216 472039
209063 -37 423215 472036
209059 -36 423216 472035
209054 -37 423216 472033
209051 -42 423215 472030
209046 -47 423215 472028
209045 -50 423216 472029

Block #4: minute 36-47

209041 -56 423214 472025
209044 -58 423215 472027
209044 -60 423215 472027
209049 -57 423217 472031
209056 -54 423217 472035
209063 -48 423217 472038
209068 -45 423217 472040
209070 -42 423216 472040
209072 -40 423217 472042
209070 -38 423216 472040
209065 -40 423215 472037
209063 -41 423215 472036

Block #5: minute 48-59

209067 -39 423217 472039
209064 -41 423216 472037
209059 -42 423215 472034
209058 -41 423215 472034
209061 -40 423214 472034
209063 -37 423215 472036
209060 -37 423215 472034
209060 -38 423213 472033
209063 -39 423213 472034
209063 -40 423212 472033
209068 -37 423215 472038
209071 -33 423217 472041

Hex dump of IMFV2.83 binary of these five 12-minute blocks: (5 * 126 + 10 trailing zeros = 640 characters)

52 00 2D 99 7F B3 B9 00 00 B2 31 8E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 A6 10 C8 1F 30 15 E4 13 A6 10 CC 1F 32 15 E6 13 A2 10 D2 1F 34 15 E6 13 9D 10 CF 1F 33 15 E3 13 9C 10 CD 1F 2E 15 DE 13 9E 10 C9 1F 2E 15 DF 13 A5 10 C8 1F 2F 15 E3 13 AA 10 C9 1F 31 15 E7 13 A6 10 CC 1F 2E 15 E2 13 9F 10 CA 1F 2C 15 DE 13 9F 10 CC 1F 2D 15 DE 13 A0 10 CE 1F 2D 15 DF 13 52 C0 2D 99 7F B3 B9 00 00 B2 31 8E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 A3 10 D3 1F 2F 15 E2 13 A1 10 D3 1F 2E 15 E0 13 A3 10 D8 1F 30 15 E3 13 A1 10 D6 1F 2E 15 E0 13 9E 10 D8 1F 2D 15 DE 13 9D 10 D6 1F 2E 15 DE 13 98 10 D3 1F 2E 15 DC 13 96 10 D1 1F 31 15 DE 13 95 10 D3 1F 31 15 DE 13 94 10 D2 1F 31 15 DD 13 93 10 D4 1F 2E 15 DA 13 95 10 D5 1F 2F 15 DC 13 52 80 2E 99 7F B3 B9 00 00 B2 31 8E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 9A 10 D4 1F 2F 15 DE 13 A0 10 D3 1F 31 15 E3 13 A8 10 D3 1F 32 15 E7 13 B0 10 D5 1F 31 15 EA 13 B1 10 D7 1F 30 15 E9 13 AD 10 D9 1F 30 15 E7 13 A7 10 DB 1F 2F 15 E4 13 A3 10 DC 1F 30 15 E3 13 9E 10 DB 1F 30 15 E1 13 9B 10 D6 1F 2F 15 DE 13 96 10 D1 1F 2F 15 DC 13 95 10 CE 1F 30 15 DD 13 52 40 2F 99 7F B3 B9 00 00 B2 31 8E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 91 10 C8 1F 2E 15 D9 13 94 10 C6 1F 2F 15 DB 13 94 10 C4 1F 2F 15 DB 13 99 10 C7 1F 31 15 DF 13 A0 10 CA 1F 31 15 E3 13 A7 10 D0 1F 31 15 E6 13 AC 10 D3 1F 31 15 E8 13 AE 10 D6 1F 30 15 E8 13 B0 10 D8 1F 31 15 EA 13 AE 10 DA 1F 30 15 E8 13 A9 10 D8 1F 2F 15 E5 13 A7 10 D7 1F 2F 15 E4 13 52 00 30 99 7F B3 B9 00 00 B2 31 8E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 AB 10 D9 1F 31 15 E7 13 A8 10 D7 1F 30 15 E5 13 A3 10 D6 1F 2F 15 E2 13 A2 10 D7 1F 2F 15 E2 13 A5 10 D8 1F 2E 15 E2 13 A7 10 DB 1F 2F 15 E4 13 A4 10 DB 1F 2F 15 E2 13 A4 10 DA 1F 2D 15 E1 13 A7 10 D9 1F 2D 15 E2 13 A7 10 D8 1F 2C 15 E1 13 AC 10 DB 1F 2F 15 E6 13 AF 10 DF 1F 31 15 E9 13 00 00 00 00 00 00 00 00 00 00

Coding Example for GMS Satellite

The GMS satellite system requires that DCP data transmission use a long preamble, recommends that the length of time for data block be at least 63 seconds, and that transmitted data conform to a specified character set. A base-44 coding algorithm was developed for converting binary data to the GMS character set. The coded data format follows:

HEADER 21 BYTES

Field

Length (bit)

Length (word)

Position

Frame

Time Day of the year

12 Bits

3/4 word

0 word - 0.75

Minute of the day

12 Bits

3/4 word

0.75 word - 1.5

Offset for C1

8 Bits

1/2 word

1.5 word - 2.0

Offset for C2

8 Bits

1/2 word

2.0 word - 2.5

Offset for C3

8 Bits

1/2 word

2.5 word - 3.0

Offset for C4

8 Bits

1/2 word

3.0 word - 3.5

Flag #1 & #2

16 Bits

1 word

3.5 word - 4.5

Station colatitude

12 Bits

3/4 word

4.5 word - 5.25

Station longitude

12 Bits

3/4 word

5.25 word - 6.0

-18 byte

(CR-CR-LF)-21 byte

FREE SPACE 27 BYTES CODED

Field

Length (bit)

Length (word)

Position

Frame

D1 Indices and Basline control

8 Bits

1/2 word

6.0 word - 6.5

D18 Indices and Basline control

8 Bits

1/2 word

15.5 word - 15.0

-48 byte

(CR-CR-LF)-51 byte

MINUTE VALUES 157 BYTES CODED

Field

Length (bit)

Length (word)

Position

Frame

C1 for t+0 minute

16 Bits

1 word

15.0 word - 16.0

-54 byte

C2 for t+0 minute

16 Bits

1 word

16.0 word - 17.0

-57 byte

C3 for t+0 minute

16 Bits

1 word

17.0 word - 18.0

-60 byte

C4 for t+0 minute

16 Bits

1 word

18.0 word - 19.0

-63 byte

C4 for t+4 minute

16 Bits

1 word

34.0 word - 35.0

-111 byte

(CR-CR-LF)-114 byte

C1 for t+5 minute

16 Bits

1 word

35.0 word - 36.0

-117 byte

C4 for t+9 minute

16 Bits

1 word

54.0 word - 55.0

-174 byte

(CR-CR-LF)-177 byte

C1 for t+10 minute

16 Bits

1 word

55.0 word - 56.0

-180 byte

C1 for t+11 minute

16 Bits

1 word

59.0 word - 60.0

-192 byte

C2 for t+11 minute

16 Bits

1 word

60.0 word - 61.0

-195 byte

C3 for t+11 minute

16 Bits

1 word

61.0 word - 62.0

-198 byte

C4 for t+11 minute

16 Bits

1 word

62.0 word - 63.0

-201 byte

CRC

16 Bits

1 word

63.0 word - 64.0

-204 byte

(CR-CR-LF)-208 byte

Time Framing for GMS

A multiple data transmission (12-minute data block repeated 3 times) may be used to satisfy the GMS minimum block transmission time of approximately 63 seconds. The time framing for GMS would be:

no-signal carrier          5.0 second   : 5.0 sec
bit synchronization        2.5          : 7.5
word synchronization       0.15         : 7.65
address                    0.31         : 7.96
first (64*3+16-1)*8/100   16.56         :24.52 (177 bytes)
second (64*3+16-1)*8/100  16.56         :41.08 (177 bytes)
last (64*3+16)*8/100      16.64         :57.72 (178 bytes)
EOT-EOT-EOT                0.24         :57.96

The following table shows time slots assigned to DCPs. Each table line represents 60 seconds, the station ID is placed at the beginning of a data transmission block, ‘….’ is for the no-signal (carrier only) period, ‘- -’ is for synchronization sequence, and ‘==’ is for the data block.

Assigned time slots for the GMS coding would allow 58 seconds per transmission and 7 seconds guard time. This would allow 11 observatories to transmit every 12 minutes.

min sec0....*....1....*....2....*....3....*....4....*....5....*....
12*(n) .....--M01================================================__
+01    _____.....--M02=============================================
+02    ===_______.....--M03========================================
+03    ========_______.....--M04===================================
+04    =============_______.....--M05==============================
+05    ==================_______.....--M06=========================
+06    =======================_______.....--M07====================
+07    ============================_______.....--M08===============
+08    =================================_______.....--M09==========
+09    ======================================_______.....--M10=====
+10    ===========================================_______.....--M11
+11    ================================================____________
12(n+1).....--M01================================================__

Base-44 Coding for GMS

The characters used on the GMS system are: LF CR SP ‘ ( ) + , - . / 0 1 2 3 4 5 6 7 8 9 : = ? A B C D E F G H I J K L M N O P Q R S T U V W X Y Z (TOTAL 50). The base-44 character set is shown in the table below.

Each IMFV2.83 data block is encoded by dividing the data block into 16-bit integers. Signed integers are represented by 2’s complement. Each integer value is converted to 3 base-44 numbers, <n1,-n2,n3>, the most significant being n1 and the least significant n3. Each base-44 number may be represented by a base-44 character from Table 1. Example conversions are shown below:

decimal   base-44     base-44
number    number      char
     0    < 0, 0, 0>  000
     1    < 0, 0, 1>  001
    43    < 0, 0,43>  00?
    44    < 0, 1, 0>  010
 32767    <16,40,31>  G-V
    -1    <43,43,43>  ???
   -44    <43,43, 0>  ??0
 -1935    <43, 0, 1>  ?01
-32768    <27, 3,12>  R3C

DIGIT

BASE-44

DIGIT

BASE-44

0

0

22

M

1

1

23

N

2

2

24

O

3

3

25

P

4

4

26

Q

5

5

27

R

6

6

28

S

7

7

29

T

8

8

30

U

9

9

31

V

10

A

32

W

11

B

33

X

12

C

34

Y

13

D

35

Z

14

E

36

(

15

F

37

)

16

G

38

+

17

H

39

, (comma)

18

I

40

- (hyphen)

INTERMAGNET Gin Dissemination Format for Minute Values : IMFV

IMFV1.23

Magnetic data, with tenth-nanotesla resolution, are organized on a day file basis. One file contains 24 one-hour blocks, each containing 60 minutes worth of values. Blocks of 60 minutes of data are transmitted. Blocks are padded with 9’s if incomplete. Information is coded in ASCII.

File name: To remain compatible with all operating systems, the file name is limited to 8 characters and will contain the date and the three-letter code as an extension. eg: MAR1591.BOU for Boulder, March 15, 1991; and JUN2391.OTT for June 23, 1991 at Ottawa.

Description of the Header Block (64 characters including CrLf)

IDC_DDDDDDD_DOY_HH_COMP_T_GIN_COLALONG_DECBAS_RRRRRRRRRRRRRRRRCrLf

Field

Description

IDC

Indicates the IAGA three letter observatory identification (ID) code eg: BOU for Boulder, OTT for Ottawa, LER for Lerwick, etc.

DDDDDDD

Indicates the date, eg: FEB1591 for February 15, 1991.

DOY

Indicates day of the year (1-366)

HH

Indicates the Hour (0-23). The first line following the header will contain the values corresponding to minute 0 and 1 of this hour. The first value of the day file is hour 0 minute 0.

COMP

Order in which the components are listed, can be HDZF, HDZG, XYZF, XYZG. G represents the difference between a measured ‘Scalar’ F and a computed ‘vector’ F: G = F(vector) - F(scalar). All components excluding D must be in tenths of nT. D must be in hundredths of minutes, east. The F or G component should be included only if it is measured from a scalar instrument independent of the other 3 components otherwise it must be filled with 999999.

T

One-letter code for data type. R=Reported, A=Adjusted, Q=Quasi-definitive, D=Definitive data.

Reported data are defined as: the raw data obtained from the IMO, either by satellite, computer link, or other means. It will be formatted in either version IMFV2.8N (binary) or IMFV1.2N (ASCII,) without any RM (Reference Measurements), or other modifications applied to it.

Adjusted data are defined as: the Reported data with RM, spike removal, timeshifts, and/or other modifications applied to it. It is emphasized that only one (1) adjusted version of the data would be allowed, to be completed within 7 days of receipt of the Reported data to prevent the proliferation of multiple versions of the Adjusted data.

Quasi-definitive data are defined as data that have been corrected using provisional baselines. Produced soon after their acquisition, their accuracy is intended to be very close to that of an observatory’s definitive data product. 98% of the differences between quasi-definitive and definitive data (X, Y, Z) monthly mean values should be less than 5nT.

Definitive data are defined as the final adopted data values. Definitive data will only be distributed by the institution responsible for the observatory.

GIN

Three-letter code for GIN responsible for processing the station (IMO) data eg: EDI(Edinburgh), GOL(Golden), OTT(Ottawa), PAR(Paris).

COLALONG

Colatitude and east longitude of the observatory in tenths of degrees, to WGS-84 datum.

DECBAS

Baseline declination value in tenths of minutes East (0-216,000). Declination baseline values to be provided annually. If components are X,Y,Z then DECBAS=000000. The DECBAS value is used to allow declination data to exceed 166.66 degrees (which is the limit of the declination elements in each data record without any offset). If the declination is > 166 degrees at an observatory then a DECBAS value should be selected such that the minute samples lie between 0 and 166 degrees. The declination baseline DECBAS should be subtracted from the minute data samples before coding them.

RRR..RRR

Reserved 16 bytes of R-characters for future use.

_

Indicates a space character.

CrLf

Indicates a Carriage return, Line feed.

Missing values for a vector component must be coded as a space (for the sign bit) followed by six 9 digits: _999999.

Missing values for the scalar component must be coded as six 9 digits: 999999

Description of Data Space (64 characters per line including CrLf)

Component values are coded as signed integers, right-justified with a field width of 7. Total field (F) values are coded as unsigned integers, right-justified with a field width of 6. The field widths must be maintained, either through zero-filling or space-filling. The ‘+’ sign for positive values is optional.

Two (2) minutes of data are concatenated on the same line

AAAAAAA_BBBBBBB_CCCCCCC_FFFFFF__AAAAAAA_BBBBBBB_CCCCCCC_FFFFFFCrLf
(values for minute 0) (values for minute 1)
. .
. .
. .
AAAAAAA_BBBBBBB_CCCCCCC_FFFFFF__AAAAAAA_BBBBBBB_CCCCCCC_FFFFFFCrLf
(values for minute 58) (values for minute 59)

Field

Description

AAAAAAA

Indicates Component 1 data field (H,X, etc.).

BBBBBBB

Indicates Component 2 data field (D,Y, etc.).

CCCCCCC

Indicates Component 3 data field (Z,I, etc.).

FFFFFF

Indicates Total Field data field.

_

Indicates space character.

CrLf

Indicates Carriage Return and Line Feed.

Sample of missing values

_999999__999999__999999_999999___999999__999999__999999_999999CrLf

This example represents all components as missing for the first two minutes of the hour.

“_” indicates a space character.

IMFV1.22

Magnetic data, with tenth-nanotesla resolution, are organized on a day file basis. One file contains 24 one-hour blocks, each containing 60 minutes worth of values. Blocks of 60 minutes of data are transmitted. Blocks are padded with 9’s if incomplete. Information is coded in ASCII.

File name: To remain compatible with all operating systems, the file name is limited to 8 characters and will contain the date and the three-letter code as an extension. eg: MAR1591.BOU for Boulder, March 15, 1991; and JUN2391.OTT for June 23, 1991 at Ottawa.

Description of the Header Block (64 characters including CrLf)

IDC_DDDDDDD_DOY_HH_COMP_T_GIN_COLALONG_DECBAS_RRRRRRRRRRRRRRRRCrLf

Field

Description

IDC

Indicates the IAGA three letter observatory identification (ID) code eg: BOU for Boulder, OTT for Ottawa, LER for Lerwick, etc.

DDDDDDD

Indicates the date, eg: FEB1591 for February 15, 1991.

DOY

Indicates day of the year (1-366)

HH

Indicates the Hour (0-23). The first line following the header will contain the values corresponding to minute 0 and 1 of this hour. The first value of the day file is hour 0 minute 0.

COMP

Order in which the components are listed, can be HDZF, XYZF. All components excluding D must be in tenths of nT. D must be in hundredths of minutes, east. The F component should be included only if it is measured from a scalar instrument independent of the other 3 components otherwise it must be filled with 999999.

T

One-letter code for data type. R=Reported, A=Adjusted, D=Definitive data.

Reported data are defined as: the raw data obtained from the IMO, either by satellite, computer link, or other means. It will be formatted in either version IMFV2.8N (binary) or IMFV1.2N (ASCII,) without any RM (Reference Measurements), or other modifications applied to it.

Adjusted data are defined as: the Reported data with RM, spike removal, timeshifts, and/or other modifications applied to it. It is emphasized that only one (1) adjusted version of the data would be allowed, to be completed within 7 days of receipt of the Reported data to prevent the proliferation of multiple versions of the Adjusted data.

Definitive data are defined as the final adopted data values. Definitive data will only be distributed by the institution responsible for the observatory.

GIN

Three-letter code for GIN responsible for processing the station (IMO) data eg: EDI(Edinburgh), GOL(Golden), OTT(Ottawa), PAR(Paris).

COLALONG

Colatitude and east longitude of the observatory in tenths of degrees, to WGS-84 datum.

DECBAS

Baseline declination value in tenths of minutes East (0-216,000). Declination baseline values to be provided annually. If components are X,Y,Z then DECBAS=000000.

RRR..RRR

Reserved 16 bytes of R-characters for future use.

_

Indicates a space character.

CrLf

Indicates a Carriage return, Line feed.

Missing values for a vector component must be coded as a space (for the sign bit) followed by six 9 digits: _999999.

Missing values for the scalar component must be coded as six 9 digits: 999999

Description of Data Space (64 characters per line including CrLf)

Component values are coded as signed integers, right-justified with a field width of 7. Total field (F) values are coded as unsigned integers, right-justified with a field width of 6. The field widths must be maintained, either through zero-filling or space-filling. The ‘+’ sign for positive values is optional.

Two (2) minutes of data are concatenated on the same line

AAAAAAA_BBBBBBB_CCCCCCC_FFFFFF__AAAAAAA_BBBBBBB_CCCCCCC_FFFFFFCrLf
(values for minute 0) (values for minute 1)
. .
. .
. .
AAAAAAA_BBBBBBB_CCCCCCC_FFFFFF__AAAAAAA_BBBBBBB_CCCCCCC_FFFFFFCrLf
(values for minute 58) (values for minute 59)

Field

Description

AAAAAAA

Indicates Component 1 data field (H,X, etc.).

BBBBBBB

Indicates Component 2 data field (D,Y, etc.).

CCCCCCC

Indicates Component 3 data field (Z,I, etc.).

FFFFFF

Indicates Total Field data field.

_

Indicates space character.

CrLf

Indicates Carriage Return and Line Feed.

Sample of missing values

_999999__999999__999999_999999___999999__999999__999999_999999CrLf

This example represents all components as missing for the first two minutes of the hour.

“_” indicates a space character.

INTERMAGNET Baseline Format : IBF

IBFV2.00 (2009 and after)

This file format is to be used to provide baselines for use in examining equipment and environmental quality (mainly thermal stability of the variometers). This format makes room for all published components, including a baseline to scalar data. After a one-line header, the first section contains the observed baseline values on the days when they are measured. Consequently the number of entries will depend upon the schedule for absolute measurements at the observatory. The second section contains adopted baseline values, representing each day of the year. The third section for comments is mandatory. This comment section must include a brief description of the baseline adoption method.

COMP_HHHHH_FFFFF_IDC_YEARCrLf
DDD_aaaaaa.aa_bbbbbb.bb_zzzzzz.zz_ssssss.ssCrLf
. . .
. . .
. . .
DDD_aaaaaa.aa_bbbbbb.bb_zzzzzz.zz_ssssss.ssCrLf
*CrLf
001_AAAAAA.AA_BBBBBB.BB_ZZZZZZ.ZZ_SSSSSS.SS_DDDD.DD_mCrLf
002_AAAAAA.AA_BBBBBB.BB_ZZZZZZ.ZZ_SSSSSS.SS_DDDD.DD_mCrLf
003_AAAAAA.AA_BBBBBB.BB_ZZZZZZ.ZZ_SSSSSS.SS_DDDD.DD_mCrLf
. . .
. . .
. . .
366_AAAAAA.AA_BBBBBB.BB_ZZZZZZ.ZZ_SSSSSS.SS_DDDD.DD_mCrLf
*CrLf
Comments:CrLf
.....................................................CrLf
.....................................................CrLf

Component values are coded as signed float numbers, right justified with format (1X,F9.2). DeltaF values (denoted as DDDD.DD) are coded as signed float numbers, right justified with format (1X,F7.2). The field widths must be maintained, either through zero-filling or space-filling in order to have records of fixed length: every line is 43 characters long in section one, and 53 characters long in section two excluding terminator CrLf or Lf. Comment lines should not exceed 53 characters long.

Field

Description

COMP

Order of components XYZF, DIF_, HDZF, UVZF (see Note 1).

HHHHH

Annual mean value of H component in nT.

FFFFF

Annual mean value of F component in nT.

IDC

Official IAGA three-letter station code in capital letters.

YEAR

4-digit Year: eg, 2009.

DDD

Day of the year.

aaaaaa.aa

Observed baseline of X, D, H or U in nT or minutes (absolute - variometer)

bbbbbb.bb

Observed baseline of Y, I, D or V in nT or minutes (absolute - variometer)

zzzzzz.zz

Observed baseline of Z or F in nT (absolute - variometer)

ssssss.ss

Observed baseline of Scalar F in nT (absolute - scalar, See Note 5)

AAAAAA.AA

Adopted baseline value of X, D, H or U in nT or minutes.

BBBBBB.BB

Adopted baseline value of Y, I, D or V in nT or minutes.

ZZZZZZ.ZZ

Adopted baseline value of Z, or F in nT.

SSSSSS.SS

Adopted baseline value of Scalar F in nT. (absolute - scalar, See Note 5)

DDDD.DD

Representative value of Delta F for this day (see Note 2).

m

Discontinuity marker (valid values c or d - see Note 3).

*

Section separator.

_

Space character.

CrLf

Indicates Carriage Return and Line Feed.

File name convention is IAGYEAR.BLV e.g. BFE2008.BLV where:

  • IAG = 3-letter observatory IAGA code

  • YEAR = 4-digit year

Note

  1. The codes XYZF, DIF_, HDZF, UVZF are the only supported codes of the components which must be listed in specified order within sections one and two.

  2. Delta F is defined as:

    Delta F = F(v) - F(s).

    Where F(v) represents the total field value calculated from the main observatory instrument (‘vector F’) and F(s) represents the total field from an independent instrument (‘scalar F’). Both F(v) and F(s) must be corrected to the location in the observatory where geomagnetic absolute observations are made.

  3. Discontinuity marker: c indicates that the baselines for all components form a continuous series with the previous day, d indicates a discontinuity in the baseline of one or more components (i.e. step) between the current day and the preceding one. This is to allow the baselines to be plotted at an appropriate scale. A discontinuity is defined as a known operational change such as an instrument re-alignment.

  4. Missing values must be replaced by 99999.00 for D, H, X, Y, Z, F and by 999.00 for Delta F. Components that are not observed, which may include Scalar F (SSSSSS.SS) and Delta F (DDDD.DD), must be coded 88888.00 and 888.00 respectively.

  5. The observed and adopted F baselines represent the DIFFERENCE in the F component between the absolute position and the continuously recording scalar instrument. Pier corrections are not applied to the data before computing the baselines.

IBFV1.20 (2008 and before)

This format is to be used to provide baselines for use in examining equipment performance and for inclusion on the INTERMAGNET DVD. The first section contains the observed baseline values on those days on which they were measured. Consequently the number of entries will depend upon the schedule for absolute measurements at that observatory. The second section contains adopted baseline values representing each day of the year. A comment section is also provided.

COMP_HHHHH_IDC_YEARCrLf
DDD_AAAAAAA_BBBBBBB_ZZZZZZZ CrLf.
. . . . .
. . . . .
. . . . .
DDD_AAAAAAA_BBBBBBB_ZZZZZZZ CrLf.
*
001_AAAAAAA_BBBBBBB_ZZZZZZZ_FFFFF CrLf.
002_AAAAAAA_BBBBBBB_ZZZZZZZ_FFFFF CrLf.
003_AAAAAAA_BBBBBBB_ZZZZZZZ_FFFFF CrLf.
...
366_AAAAAAA_BBBBBBB_ZZZZZZZ_FFFFF CrLf.
*
Comments:

Component values are coded as signed integers, right-justified with a field width of 7. Total field (Delta F) values are coded as signed integers, right-justified with a field width of 5. The field widths must be maintained, either through zero-filling or space-filling. The ‘+’ sign for positive values is optional.

Field

Description

COMP

Order of components HDZF, XYZF, DIF, UVZF

HHHHH

Annual mean value of H component in nT.

IDC

IAGA three-letter observatory ID code eg: BOU for Boulder, OTT for Ottawa, LER for Lerwick, etc.

YEAR

4-digit Year: for example, 1991.

DDD

Day of the year.

AAAAAAA

Signed value of H, D, U or X in 0.1 nT

BBBBBBB

Signed value of D, I, V or Y in 0.1 nT or 0.1 min of arc for D

ZZZZZZZ

Signed value of Z or F in 0.1 nT

FFFFF

Signed value of Delta F, the difference between calculated and observed value of F (by a proton magnetometer) in 0.1 nT

*

Section separator.

_

Space character.

CrLf

Indicates Carriage Return and Line Feed.

Missing values must be replaced by 999999 for D, H, X, Y, Z and by 9999 for F.

File name convention is IAGYR.BLV where:

  • IAG = 3-letter observatory IAGA code

  • YR = 2-digit year

IAGA2002 INTERMAGNET Exchange Format (Spreadsheet compatible)

This ASCII Exchange Format, adopted in August 2001 and revised in December 2001, July 2003 and in August 2011, is intended as a data exchange format for geomagnetic data (samples and means) from observatories and variometer stations at time intervals from millisecond up to and including monthly means. The format comprises:

  • Twelve (12) mandatory file header records.

  • Unlimited optional comment records.

  • One (1) mandatory data header record.

  • A series of data records.

  • Every record is 70 characters long plus the machine-dependent carriage return/line feed.

Pad records with spaces if needed. Data records report exactly 4 magnetic field elements (DHIF, DHZF, XYZF, or DHIG, DHZG, XYZG where G = DF).

Use missing data values (8’s or 9’s) if fewer than 4 elements are available.

The 12 Mandatory File Header Records

Mandatory header and optional comment records begin with a space character in column 1 and end with the vertical bar | (ASCII 124) in column 70. Content labels begin in column 2 and descriptions begin in column 25.

  • This format is designated IAGA-2002.

  • Source of Data is the name of the institute responsible for collecting the data.

  • Please spell the entire station name; do not use abbreviations. Capitalize the first letter.

  • The IAGA Code is the official IAGA 3-letter station code. It should be in capital letters and correspond to the IAGA list of magnetic observatories.

  • Location of the station is reported to the one thousandth degree in geodetic latitude (positive north) from -90 to 90 degrees and in geodetic longitude (positive east) -180 to 180 or 0 to 360 degrees. Geographic location is reported using WGS-84 datum

  • Report elevation in meters above mean sea level.

  • Reported refers to the magnetic field elements contained in the data record, in the order recorded in data record. Valid values are DHIF, DHZF, and XYZF (or DHIG, DHZG,and XYZG where G = DF). Use E/V instead of D/I for declination/inclination given in intensity units (ONLY if data type is variation).

  • Sensor Orientation is the physical orientation of the observing instruments, i.e. XYZF, HDZ.

  • Digital Sampling is the rate (in seconds) of the data sampling of the magnetic field sensor (instrument) or the digitizing interval for analogue data.

  • Data interval type is the mean or instantaneous time interval of the data. Common values include 1-minute (00:30-01:29), 1-minute (00:00-00:59), 1-hour (00-59), 1-day (00-23) and 1-month (01-31); the last day could also be 30, 29, or 28. There are many possible intervals, including a fraction of a second (instant value), averages by 1-second (501-1500), 1- second (0-1000), 10 second, or 2.5 minute. Define the type of mean and how values are centered in the comment section.

  • Data type is provisional (P), definitive(D), quasi-definitive (Q), or variation (V).

  • Publication date (optional) is the date when the data is published. This was added in June 2015. The inclusion of this line is (#13) optional but desirable for the modern data. The old data files cannot be modified (e.g. Publication date 2014-10-20).

The Optional Comment Header Records

Use these records to record important information concerning the data that is not contained in the defined fields. Types of information may include the type of means and how the mean values are centered, important gaps in the data record, or explanations of missing values (9 filled element field).

  • Every record begins with a space character in column 1 and # (hash or number sign) in column 2.

  • The end of each record is indicated with a vertical bar | (ASCII 124) in column 70.

  • For transmission of incomplete day files include two additional optional comment headers stating the start time and duration in seconds. These records must have the form:

    • Start Time hh:mm:ss

    • Duration-in-seconds sssss

  • If the data file contains absolute values (Data Type provisional or definitive), include the formula for computing the missing (non-reported) magnetic elements. For example, if an observatory reports XYZF, the comments should contain the formula for computing HDI (see sample data header and data record for 1-minute values).

  • If the data file contains variometer values without considering base line values (Data Type variation), formula and constants are to be given to convert the recorded magnetic elements into others or to convert angular units into nT or vice versa. The possible conversions are:

    • E = D * Ha * arc(1’)

    • V = I * Fa * arc(1’)

    • X = H * cos(Da) – E* sin(Da)

    • Y = H * sin(Da) + E* cos(Da)

    • Z = F * sin(Ia) + V * cos(Ia)

    • F = Z * sin(Ia) + H * cos(Ia)

    • H = X * cos(Da) + Y * sin(Da) = F * cos(Ia) – V * sin(Ia)

    • E = Y * cos(Da) – X * sin(Da)

    • V = Z * cos(Ia) – H * sin(Ia)

    X, Y, Z, H, F, E, V in nT; D, I in minutes of arc

    arc(1’) = 2.9089E-04 = 0.00029089

    Ha, Fa, Da, Ia : approximate values of H, F, D, I (eg the most recent annual mean value or a value from the IGRF)

    The formula and constants are to be given in additional optional comment header lines (see sample data header and data record for 1-second values).

The Mandatory Data Header Record

The mandatory data-header record contains column headers useful for multi-station analysis. Elements, both type and order, are indicated in the file-header field Reported.

  • The date and time headers are DATE, TIME, and DOY (day of year).

  • The magnetic element headers comprise 4 letters: 3 letters for the observatory IAGA code and 1 letter for the magnetic element reported. Valid values are H, D (or E), I (or V), X, Y, Z, F (or G). The column headers are space delimited.

  • The end of each record is indicated with a vertical bar | (ASCII 124) in column 70.

The Data Records

The data records contain the date, time, and magnetic field elements reported. Report data to the least significant digit. Indicate missing data with 99999 to the corresponding accuracy for a given component(e.g., 99999.00). If an element is not observed, please record (to the corresponding accuracy for a given component) 88888 in that field. The format for field elements is 4(1X, F9.2). Each record is exactly 70 characters long plus the machine dependent carriage return / line feed.

  • DATE is the calendar date in ISO YYYY-MM-DD format (4-digit year, month as 01-12, day as 01-31).

  • TIME is in ISO hh:mm:ss.sss format (hour as 0-24, minute as 0-59, second as 0-59 Note: if the hour is 24, the minute and second must be 0). Values beyond the time interval of the means being reported must be zero-filled. i.e. 14:01:00.000 for 1 minute data for the 14th hour, first minute. Describe the method of average, i.e., centered to the hour for hourly means, in the comments area.

  • DOY is the day of the year, from 1 - 365 (or 366 for leap years).

  • D and I are reported in angular units of minutes of arc to the precision of the instruments. F, H, X, Y, Z, E, G, and V are reported in nanotesla and a fraction of nT.

Sample of IAGA-2002 Format July 2003 Revision

Sample Data Header and Data Record for 1-minute Values

 Format                 IAGA-2002                                    |
 Source of Data         Danish Meteorological Institute              |
 Station Name           Narsarsuaq                                   |
 IAGA Code              NAQ                                          |
 Geodetic Latitude      61.160                                       |
 Geodetic Longitude     314.560                                      |
 Elevation              4                                            |
 Reported               XYZF                                         |
 Sensor Orientation     DIF                                          |
 Digital Sampling       0.01 seconds                                 |
 Data Interval Type     Filtered 1-minute (00:30 - 01:29)            |
 Data Type              Definitive                                   |
 # This area is where the data source or distributor can include     |
 # any additional information needed for proper use of data. For     |
 # example, the observers name and contact, notes on a change of     |
 # instrumentation, reasons for missing data values, definition of   |
 # observed values, geomagnetic location of the observatory, etc.    |
 # This area should also contain the formula for computing the non-  |
 # reported elements and components of the INTERMAGNET binary        |
 # format which do not fit elsewhere. These include:                 |
 # D-conversion:                                                     |
 # = H/3438*10000.                                                   |
 # which is word 8 in the INTERMAGNET binary format and is used      |
 # to convert variations of D in minutes of arc <-> nT. Please       |
 # note that all of the header records and comment records begin     |
 # with a space in column 1, end with a | (ASCII 124), and are       |
 # padded with spaces - never with tabs.                             |
 # H = squareroot(X*X + Y*Y), cos D = X/H, sin I = Z/F               |
DATE       TIME         DOY     NAQX      NAQY      NAQZ      NAQF   |
2001-03-13 00:00:00.000 072     10800.11 -6100.23   53381.51  54801.12
2001-03-13 00:01:00.000 072     10800.31 -6100.20   53381.51  54801.12
2001-03-13 00:02:00.000 072     10801.11 -6101.23   99999.00  54801.12
2001-03-13 00:03:00.000 072     10803.12 -6100.23   99999.00  54801.12

Sample Data Header and Data Record for Hourly Values

The header record for Data Interval Type might read:
Data Interval Type 1-hour (00 - 59). Note filler for non-reported element.
DATE       TIME         DOY     NAQX      NAQY      NAQZ      NAQF   |
2001-03-13 00:00:00.000 072     10800.11 -6100.23   53381.51  88888.00
2001-03-13 01:00:00.000 072     10800.31 -6100.20   53381.51  88888.00
2001-03-13 02:00:00.000 072     10801.11 -6101.23   53381.50  88888.00
2001-03-13 03:00:00.000 072     10803.12 -6100.23   99999.00  88888.00

Sample Data Header and Data Record for Monthly Values

The header record for Data Interval Type might read:
Data Interval Type 1-month (01 - 31). Note filler for non-reported element.
DATE       TIME         DOY     NAQX      NAQY      NAQZ      NAQF   |
2001-01-15 00:00:00.000 015     10800.11 -6100.23   53381.51  88888.00
2001-02-14 00:00:00.000 045     10800.31 -6100.20   53381.51  88888.00
2001-03-15 00:00:00.000 074     10801.11 -6101.23   53381.50  88888.00
2001-04-15 00:00:00.000 105     10803.12 -6100.23   99999.00  88888.00

Sample Data Header and Data Record for 1-second Values

 Format                 IAGA-2002                                    |
 Source of Data         Danish Meteorological Institute              |
 Station Name           Narsarsuaq                                   |
 IAGA CODE              NAQ                                          |
 Geodetic Latitude      61.160                                       |
 Geodetic Longitude     314.560                                      |
 Elevation              4                                            |
 Reported               HEZF                                         |
 Sensor Orientation     HEZF                                         |
 Digital Sampling       1 seconds                                    |
 Data Interval Type     1-second instantaneous                       |
 Data Type              Variation                                    |
 # This area should contain additional information needed            |
 # in order to transform the reported elements. For the data in this |
 # sample information about the declination at the observatory is    |
 # needed in order to tranform the variation data from HEZ to the    |
 # widely used XYZ orientation. Also information about the value of  |
 # horizontal field H can be useful to convert E-variations in nT to |
 # variations in minutes of arcs.                                    |
 # E = D * Ha * 0.00029089                                           |
 # Ha = 17123.45                                                     |
 # X = H * cos(Da) B E* sin(Da)                                      |
 # Y = H * sin(Da) + E* cos(Da)                                      |
 # Da = 312.89 minutes of arc                                        |
DATE       TIME         DOY     NAQH      NAQE      NAQZ      NAQF   |
2001-03-13 00:00:00.000 072       800.11   -100.23    381.51  54801.12
2001-03-13 00:00:01.000 072       800.31   -100.20    381.51  54802.32
2001-03-13 00:00:02.000 072       801.11   -101.23  99999.00  54803.22
2001-03-13 00:00:03.000 072       803.12   -100.23  99999.00  54803.43

Sample Data Header and Data Record for 5-Millisecond Values

The header record for Data Interval Type might read:
Data Interval Type 5-millisecond (instantaneous values). Note filler for missing element.
DATE       TIME         DOY     NAQX      NAQY      NAQZ      NAQF   |
2001-03-13 00:00:00.000 072     10800.11 -6100.23   53381.51  99999.00
2001-03-13 00:00:00.005 072     10800.31 -6100.20   53381.51  99999.00
2001-03-13 00:00:00.010 072     10801.11 -6101.23   53381.50  54801.12
2001-03-13 00:00:00.015 072     10803.12 -6100.23   99999.00  54801.12

IMAGCDFV1.2 INTERMAGNET Exchange Format

This document describes how NASA’s Common Data Format ( CDF - http://cdf.gsfc.nasa.gov/ ) will be used to store geomagnetic data. This format is called ImagCDF. Version 1.2 of ImagCDF is described here.

Design Details and CDF Concepts

General Design Details

Geomagnetic data is held in CDF variables, one variable per geomagnetic element. Additional variables hold time stamp data, one time stamp variable being used for the timing of the vector magnetometer data, a second variable for the scalar magnetometer data, since data from these two instruments may be recorded at different sample rates. Each variable has one or more records, an individual record holding a single sample value. The index numbers of the records in the vector geomagnetic variable correspond with the index numbers in the vector time stamp variable’s records, likewise for the scalar data. A typical file might contain 6 variables: 3 geomagnetic elements (such as HDZ or XYZ); one scalar element (F); and two timing variables, one for the vector data, the other for the scalar. The format does not mandate that these variables are present – there may be fewer (for example only scalar data) or more (for example additional temperature data).

Metadata is held in CDF attributes in two ways: global attribute entries concern all the data in a file; variable attributes have entries that concern a single variable (e.g. the ‘H’ variable). An entry holds an individual item of metadata. An attribute name (whether global or variable) must be unique, so when an attribute needs to be used more than once (e.g. the element type for a geomagnetic variable must be used once for each geomagnetic element), then multiple entries are created in a single attribute. Global attributes in ImagCDF will have only one entry (with two exceptions). Variable attributes may have an entry for each of the relevant variables in the file. For variable attributes, the multiple entries are indexed using the variable’s numeric identifier, so that the metadata ‘belongs’ to the variable. For example, in an ImagCDF file holding HDZF data, the attribute Units will have four entries (in this order): “nT”; “Degrees of arc”; “nT”; “nT”.

Data Types Used for Variables and Attributes

Real Numbers

ImagCDF uses double precision CDF_DOUBLE (8-byte) floating point numbers (to the IEEE 754 standard) for all numeric values. These numbers provide about 14.5 (decimal) digits of precision - http://flint.cs.yale.edu/cs422/doc/art-of-asm/pdf/CH14.PDF. In order to use floating point numbers successfully, the dynamic range of the quantity being represented (ratio of smallest to largest value) must be smaller than 14.5 digits. For geomagnetic field strengths, assume that the ratio of smallest difference to largest value that we need to represent in geomagnetic field data is 0.1pT in 80,000nT. This equates to 1 part in 80,000 x 1,000 x 10, or 1 part in 800,000,000, or 9 digits of precision, so is within the dynamic range available.

Dates / Times

All date / time values in ImagCDF are held as CDF TT2000 dates, which are based on 8-byte integers. TT2000 uses an epoch (midday on 1st January 2000) to store dates and times, has a precision of 1 nanosecond which gives a range in excess of ±280 years from the epoch date. The TT2000 type can correctly handle leap seconds.

Strings

Text data is held using CDF_CHAR variables in ImagCDF.

Compression

The CDF library allows the user to specify whether all, part or none of a CDF file is compressed at the time it is written. Once this choice has been made, the CDF library handles compression and decompression of the data in the file automatically (reading and any further writing to the file will decompress or compress as required). Choosing whether or not to compress a file is simply a matter of specifying which (if any) compression method to use when the file is created. ImagCDF allows any of the compressions provided by CDF.

Significant compression is achieved using the CDF compression option. A day file of four element minute data can occupy under 15Kb.

Where to Obtain the CDF Software

Before you can use any of NASA or INTERMAGNET’s tools for working with ImagCDF, you will need to download and install the CDF software from NASA: http://cdf.gsfc.nasa.gov/html/sw_and_docs.html . Software that has been written to work with CDF is likely to need the libraries that are installed. For details of other software that may be useful see section Tools to Look at CDF Data.

ImagCDF Data

All variables holding geomagnetic data have the following features:

  • Units used must be nT for geomagnetic field values, degrees for angles or celsius for temperatures.

  • Lengths of time series are arbitrary (e.g. a file may be used to store an entire day of data or a small fragment of a day down to a single sample).

Geomagnetic data is held in variables called GeomagneticField <E> where <E> represents the code for the geomagnetic element recorded - see section Valid Codes for Elements Recorded for a list of valid codes. The variable has 0 dimensions, each consecutive record holding individual consecutive data samples in CDF double data type, starting at record 1. Missing data values are represented by a data sample that contains the same number as is present in the FILLVAL metadata attribute. The FILLVAL must exceed any valid geomagnetic field strength or angle. Typically this would be 99999.0. The variable attribute FIELDNAM must be set to “Geomagnetic Field Element <E>”.

An ImagCDF file must include a set of geomagnetic field variables that describe the vector field in a recognised orientation (such as ‘HDZ’, ‘XYZ’ or ‘DIF). All vector variables must have the same number of records. An ImagCDF file may also include an additional field element from an independent scalar instrument, with an element code of ‘G’ or ‘S’.

Temperature data is optional (unless otherwise stated in the data standard that the data conforms to, for example, temperature is mandatory for data that conforms to the INTERMAGNET 1-second data standard). The first temperature variable is called Temperature1, then Temperature2 and so on. The FIELDNAM attribute describes, in free text, for each temperature variable, the location at which the temperature was recorded.

Time stamps for the data are held in separate variables. Time stamps must represent a regular time series with no missing values in the series. Time stamps for all the geomagnetic field vector variables are held in a single variable called GeomagneticVectorTimes, for the scalar data in a variable called GeomagneticScalarTimes. Time stamps for temperature data are held in variables called Temperature1Times, Temperature2Times and so on. These variables have 0 dimensions and must have the same number of records as the data variables that they apply to. Each record in a time stamp variable holds a CDF TT2000 epoch time. Time stamps must always refer to the start of each sample period (e.g. for minute data, the seconds and milliseconds will always be set to zero).

Recommended names for time stamp variables are:

Situation

Names

The same time stamps can be used for all data in the file (i.e. there is a single time stamp variable in the file)

DataTimes

Different time stamps for vector, scalar and temperature

GeomagneticVectorTimes, GeomagneticScalarTimes, Temperature1Times, Temperature2Times, …

Additional variables and metadata may be carried in an ImagCDF (e.g. it may be convenient to include meteorological data in the same file). The format of these variables and metadata is left to the user to define. The CDF system means that these variables can be included without causing problems to software reading ImagCDF files. Software writing ImagCDF files should preserve additional variables and attributes read from an ImagCDF file.

ImagCDF Global Attributes

The following attributes apply to all the data in an ImagCDF file. The “Entries” column shows whether the attribute has:

  • A single mandatory entry (number of entries is exactly 1)

  • A single optional entry (number of entries may be 0 or 1)

  • Multiple mandatory entries (number of entries is between 1 and N1)

  • Optional mandatory entries (number of entries is between 1 and N2)

Superscript numbers following the attribute name show:

  1. That the attribute is a recommended attribute for use with NASA’s CDF tools

  2. That the attribute is part of the ISTP/IACG guidelines - http://spdf.gsfc.nasa.gov/istp_guide/gattributes.html

Attributes that Describe the Data Format

These are ‘constant’ values that will be the same for all ImagCDF files. They allow ‘generic’ CDF programs to understand and process the data correctly.

Attribute Name

Type

Entries

Description

FormatDescription

String

1

Always set to “INTERMAGNET CDF Format”

FormatVersion

String

1

Set to the current version of the format – “1.2”

Title

String

1

Always set to “Geomagnetic time series data”

Attributes that Uniquely Identify the Data

The attributes in this section are sufficient, along with the start date and duration of the time series, to uniquely identify a piece of geomagnetic data.

Attribute Name

Type

Entries

Description

IagaCode

String

1

The IAGA code for the observatory

ElementsRecorded

String

1

A string consisting of single character codes, each describing one of the geomagnetic field elements that is recorded in this data file. This might typically be a three or four digit code such as HDZ, XYZG or DIFG. The codes in this attribute determine the names of the data variables (see the section on geomagnetic data). Valid codes are defined in section Valid Codes for Elements Recorded

PublicationLevel

String

1

Choose one of the following codes to describe the level that the data has been processed to:

  • 1: The data is unprocessed and as recorded at the observatory with no changes made.

  • 2: Some edits have been made such as gap filling and spike removal and possibly a preliminary baseline added.

  • 3: The data is at the level required for production of an initial bulletin or for quasi-definitive publication.

  • 4: The data has been finalised and no further changes are intended

Only these values are allowed.

This field provides a quick description of the point the data has reached in the publication process. For detailed information on the standards that the data conforms to see section Attributes that Relate to Data Standards and Quality

PublicationDate

Date/time

1

Date and time on which the data was published. This attribute is used to distinguish multiple publications of the same data.

Attributes that Describe the Observatory

These attributes are available from other metadata systems (given an IAGA code), but are included for convenience of the user.

Attribute Name

Type

Entries

Description

ObservatoryName

String

1

The full name for the observatory

Latitude

Double

1

The latitude of the observing position in degrees, to WGS-84 datum

Longitude

Double

1

The longitude of the observing position in degrees, to WGS-84 datum

Elevation

Double

1

The height of the observing position in metres above sea level, to WGS-84 datum. Set to 99999.0 if not known.

Institution

String

1 or more

The name of the responsible institute.

VectorSensOrient

String

0 - 1

The orientation code of the sensor at the original recording of the vector data. A string consisting of single character codes, each describing one of the geomagnetic field elements that was recorded by the vector instrument. Valid codes are the same as for the ElementsRecorded attribute.

Attributes that Relate to Data Standards and Quality

These attributes describe the standards, if any, that the data meets.

Attribute Name

Type

Entries

Description

StandardLevel

String

1

Describe whether the data conforms to a standard. Choose from one of the following codes:

  • None: The data does not conform to any standards. When using this, the StandardName attribute does not need to be set.

  • Partial: The data partially conforms to the relevant standard for this data product.

  • Full: The data fully conforms to the relevant standard for this data product.

Only these values are allowed.

If StandardsLevel is set to Partial, then the PartialStandDesc attribute must also be set.

StandardName

String

0 - 1

The name of the relevant standard. See section Relevant Data Standards

StandardVersion

String

0 – 1

If the standard has a version, put its version number in this attribute.

PartialStandDesc

String

0 - 1

See section Relevant Data Standards

Attributes that Relate to Publication of the Data

These attributes are needed when that data is published.

Attribute Name

Type

Entries

Description

Source

String

1

Set to one of: “institute” (if the named institution provided the data- see section Attributes that Describe the Observatory for the institution); “INTERMAGNET” (if the data file has been created by INTERMAGNET from another data source); “WDC” (if the World Data Centre has created the file from another data source)

TermsOfUse

String

0 – 1

The terms of use for the data. This could be text describing the terms of use or a link to a web page. INTERMAGNET has a recommended wording for data provided through INTERMAGNET.

UniqueIdentifier

String

0 – 1

A string that can be used to uniquely identify this data. This could be a Digital object identifier or could be an identifier created according to local rules. Note this is optional and will not be present if this data is not covered by an identifier.

ParentIdentifiers

String

0 or more

The unique identifiers of the parent data sets (if any), one identifier per entry. The parent data set is the data set from which this data set’s values have been derived. E.g. if a one minute data set has been created from a one second data set, the one second data set is the parent. Another example is where definitive data is created from provisional data.

ReferenceLinks

String/URL

0 or more

URLs pointing to (e.g.) information about the data creator, information about the data repository… One URL per entry.

Valid Codes for Elements Recorded

  • ‘X’, ‘Y’, or ‘Z’ indicate that the variable holds the strength of the magnetic field vector in the standard geographic coordinates in nT.

  • ‘H’ indicates that the variable holds the strength of the magnetic field vector in the horizontal plane along the magnetic meridian in nT.

  • ‘D’ indicates that the variable holds the angle between the magnetic vector and true north, in degrees of arc, positive east.

  • ‘E’ indicates that the variable holds a field strength in the horizontal plane perpendicular to ‘H’ in nT. ‘E’ is only valid for data that is not baseline corrected.

  • ‘V’ indicates that the variable holds the field strength along the direction of the inclination.

  • ‘I’ indicates that the variable holds the angle between the magnetic vector and the horizontal plane, in degrees of arc, positive below the horizontal.

  • ‘F’ indicates that the variable holds the geomagnetic field strength in nT, calculated from and consistent with XYZ or HDZ field elements.

  • ‘S’ indicates that the variable holds the geomagnetic field strength in nT, measured by an independent scalar instrument

  • ‘G’ indicates that the variable holds delta- F values, defined as F(vector) –S(scalar) in nT. When calculating values for the G element, if F(vector) is missing, G is set to –S (scalar)

Other codes are allowed, but may lead to data not being understood.

Relevant Data Standards

Different geomagnetic data products have different standards associated with them. This table shows what standards are being referred to in the StandardsLevel attribute and describes what to put into the StandardName attribute in the case where StandardsLevel is set to Partial or Full. The table also shows what to put in the PartialStandDesc attribute in the case where the StandardsLevel attribute is set to Partial.

Data product

Relevant Standard

Contents of StandardName

One second definitive data

INTERMAGNET Definitive One-second Data Standard [2]

INTERMAGNET_1-Second

One minute definitive data

INTERMAGNET magnetic observatory – specifications [3]

INTERMAGNET_1-Minute

One minute quasi-definitive data

INTERMAGNET magnetic observatory – specifications [3],modified for baseline accuracy [4]

INTERMAGNET_1-Minute_QD

Hourly means

No relevant standard

Daily means

No relevant standard

Monthly means

No relevant standard

Annual means

No relevant standard

If a standard is met in full or not met at all, PartialStandDesc can be omitted. Where a standard is partially met (e.g. the time stamp accuracy is within tolerance, but the data is not baseline corrected), the name of the relevant standard should be put in the StandardName attribute, StandardLevel should be set to Partial and the PartialStandDesc attribute should be filled in with a comma separated list of the sub-sections from the standard that the data meets. E.g. if the data meets the time stamp accuracy and thermal stability sections of the 1-minute data standard, enter IMOM-01,IMOM-16 in PartialStandDesc.

Value to put in PartialStandDesc

Description

One-minute Definitive Data: General specifications

IMOM-01

Time-stamp accuracy (centered on the UTC minute): 5s

One-minute Definitive Data: Vector Magnetometer specifications

IMOM-11

Absolute Accuracy: ±5nT

IMOM-12

Resolution: 0.1nT

IMOM-13

Dynamic Range: ≥±4000nT High Lat., ≥±3000nT Mid/Equatorial Lat.

IMOM-14

Band pass: D.C. to 0.1Hz

IMOM-15

Minimum sampling rate: 1Hz

IMOM-16

Thermal stability: 0.25nT/°C

IMOM-17

Long term stability: 5nT/year

IMOM-18

Filtering to one-minute data: INTERMAGNET Gaussian

One-minute Definitive Data: Scalar Magnetometer specifications

IMOM-21

Resolution: 0.1nT

IMOM-22

Absolute Accuracy: ±1nT

IMOM-23

Minimum sampling rate: 0.033Hz (30 sec)

One-second Data: General Specifications

IMOS-01

Time-stamp accuracy (centered on the UTC second): 0.01s

IMOS-02

Phase response: Maximum group delay: ±0.01s

IMOS-03

Maximum filter width: 25 seconds

IMOS-04

Instrument amplitude range: ≥±4000nT High Lat., ≥±3000nT Mid/Equatorial Lat.

IMOS-05

Data resolution: 1pT

IMOS-06

Pass band: DC to 0.2Hz

One-second Data: Specifications in the Pass Band [DC to 8mHz (120s)]

IMOS-11

Noise level: ≤100pT RMS

Maximum offset error (cumulative error between absolute observations): ±2.5 nT

IMOS-13

Maximum component scaling plus linearity error: 0.25%

IMOS-14

Maximum component orthogonality error: 2mrad

IMOS-15

Maximum Z-component verticality error: 2mrad

One-second Data: Specifications in the Pass Band [8mHz (120s) to 0.2Hz]

IMOS-21

Noise level: ≤10pT/√Hz at 0.1 Hz

IMOS-22

Maximum gain/attenuation: 3dB

One-second Data: Specifications in the Stop Band [≥0.5 Hz]

IMOS-31

Minimum attenuation in the stop band (≥ 0.5Hz): 50dB

One-second Data: Auxiliary measurements:

IMOS-41

Compulsory full-scale scalar magnetometer measurements with a data resolution of 0.01nT at a minimum sample period of 30 seconds.

IMOS-42

Compulsory vector magnetometer temperature measurements with a resolution of 0.1°C at a minimum sample period of one minute.

ImagCDF Variable Attributes

The following attributes apply to individual variables - there is an attribute entry for each geomagnetic field element or temperature in an ImagCDF file and the value of that entry applies only to that field element or temperature. The “Entries” column shows whether the attribute is:

  • Mandatory (number of entries per variable is exactly 1)

  • Optional (number of entries per variable may be 0 or 1)

None of these attributes are required for the time stamp variables GeomagneticVectorTimes and GeomagneticScalarTimes.

Attribute Name

Type

Entries

Description

FIELDNAM [5]

String

1

Set to “Geomagnetic Field Element ” + the element code (e.g. H, D, Z,… - see section Valid Codes for Elements Recorded for a list of valid codes); or set to “Temperature ” + the name of the location where the temperature was recorded.

UNITS [5]

String

1

Must be one of “nT”, “Degrees of arc” or “Celsius”

FILLVAL [5]

Double

1

The value used to show that a data sample is missing. Set to 99999.0 for compatibility with other formats. The values must either less than VALIDMIN or greater than VALIDMAX.

VALIDMIN [5]

Double

1

The smallest allowed numeric value for the data in the corresponding variable.

VALIDMAX [5]

Double

1

The largest allowed numeric value for the data in the corresponding variable.

DEPEND_0 [6]

String

0 - 1

For geomagnetic data, set this to the name of the variable that holds time stamps for this time series. For records containing time stamps, do not set this variable.

DISPLAY_TYPE [6]

String

1

Set to “time_series”

LABLAXIS [6]

String

1

Set to the element code (as defined in section Valid Codes for Elements Recorded )

ImagCDF File Names

ImagCDF files are named using the convention:

``[iaga-code]_[date-time]_[publication-level].cdf``

Filenames are in lower case. Files may contain arbitrary amounts of data, however the amount of data is not coded into the filename.

ISO 8601 Duration Strings for Common Geomagnetic Sample Periods

Sample Period

ISO 8601 duration string

1 second

PT1S

1 minute

PT1M

Hourly means

PT1H

Daily means

P1D

Monthly means

P1M

Annual means

P1Y

The table above is a set of examples. Other sample periods may be used provided that the sample period used represents the vector data and conforms to ISO 8601.

Format of Date/Time Portion of Filename and Examples

The date/time portion of the filename is formatted differently for different data with different data intervals:

Data Interval

Date/time format

Example filename

Annual means

YYYY

esk_2000_4.cdf – final annual mean data from Eskdalemuir starting in the year 2000

Monthly means

YYYYMM

ott_201401_4.cdf – final monthly mean data from Ottawa starting in January 2014

Daily means

YYYYMMDD

gua_20100101_4.cdf – final daily mean data from Guam starting at the beginning of 2010

Hourly means

YYYYMMDD_HH

naq_20020201_00_4.cdf – final hourly mean data from NAQ in January 2002

Minute means

YYYYMMDD_HHMM

naq_20020120_0000_3.cdf – ‘bulletin’ or quasi-definitive minute mean data from NAQ for 20th January 2002 starting at midnight

Second

YYYYMMDD_HHMMSS

naq_20020120_012300_1.cdf – raw 1-second data from NAQ for 20th January 2002 starting at 01:23:00

  • YYYY = four digit year (i.e. 2002)

  • MM = two digit month (01 for January - 12 for December)

  • DD = two digit day of month (01-31)

  • HH = two digit hour (0-23)

  • MM = two digit minute (0-59)

  • SS = two digit second (0-59)

Tools to Look at CDF Data

Once you have some CDF data you will want to look at it. The CDF toolset (that is installed for you when you install CDF) provides programs to do this. The simplest way is (using a command shell or DOS prompt):

cdfdump [filename] | more

Which will display the entire contents of the file. The example file is formatted using cdfdump. Other tools from the CDF toolset that may be useful include cdfexport and cdfedit.

Autoplot is a useful tool that can plot the time series data in ImagCDF data files. You can download it from http://autoplot.org/.

A number of packages provide access to CDF data. These include Matlab and IDL. A list is maintained on the NASA CDF website: http://cdf.gsfc.nasa.gov/html/FAQ.html#cdfsw

Octave may be able to read CDF data:http://lists.gnu.org/archive/html/help-octave/2007-04/txtyRdYjKU85H.txt. The Wolfram Language can use CDF data via its NASACDF data format - http://reference.wolfram.com/language/guide/NumericalDataFormats.html.

Example Data File

The data in this example was converted from an IAGA-2002 day file of Hartland DIF data for 1st January 1983. The contents of the TermsOfUse attribute have been truncated, as have the data records beyond the first two samples.

File Info
=========================================
CDF File:     had_19830101_0000_1.cdf
Version:      3.4.1
Copyright:
Common Data Format (CDF)
(C) Copyright 1990-2012 NASA/GSFC
Space Physics Data Facility
NASA/Goddard Space Flight Center
Greenbelt, Maryland 20771 USA
(Internet -- GSFC-CDF-SUPPORT@LISTS.NASA.GOV)

Format:       SINGLE
Encoding:     IBMPC
Majority:     ROW
NumrVars:     0
NumzVars:     4
NumAttrs:     25 (17 global, 8 variable)
Compression:  GZIP.6
Checksum:     None

Global Attributes (17 attributes)
=========================================
FormatDescription (1 entry):
    0 (CDF_CHAR/22):    "INTERMAGNET CDF Format"
FormatVersion (1 entry):
    0 (CDF_CHAR/3):     "1.0"
Title (1 entry):
    0 (CDF_CHAR/28):    "Geomagnetic time series data"
IagaCode (1 entry):
    0 (CDF_CHAR/3):     "HAD"
ElementsRecorded (1 entry):
    0 (CDF_CHAR/3):     "DIF"
PublicationLevel (1 entry):
    0 (CDF_CHAR/1):     "1"
PublicationDate (1 entry):
    0 (CDF_TT2000/1):   2014-10-08T12:19:06.088000000
ObservatoryName (1 entry):
    0 (CDF_CHAR/8):     "Hartland"
Latitude (1 entry):
    0 (CDF_DOUBLE/1):   50.995
Longitude (1 entry):
    0 (CDF_DOUBLE/1):   355.516
Elevation (1 entry):
    0 (CDF_DOUBLE/1):   95.0
Institution (1 entry):
    0 (CDF_CHAR/31):    "British Geological Survey (BGS)"
VectorSensOrient (1 entry):
    0 (CDF_CHAR/4):     "HDZ"
StandardLevel (1 entry):
    0 (CDF_CHAR/4):     "None"
Source (1 entry):
    0 (CDF_CHAR/11):    "INTERMAGNET"
TermsOfUse (1 entry):
    0 (CDF_CHAR/1545):  "CONDITIONS OF USE FOR DATA PROVIDED..."
References (1 entry):
    0 (CDF_CHAR/27):    "http://www.intermagnet.org/"

Variable Attributes (8 attributes)
=========================================
FIELDNAM
VALIDMIN
VALIDMAX
UNITS
FILLVAL
DEPEND_0
DISPLAY_TYPE
LABLAXIS

Variable Information (0 rVariable, 4 zVariables)
===========================================================
GeomagneticFieldD     CDF_DOUBLE/1  0:[]    T/
GeomagneticFieldI     CDF_DOUBLE/1  0:[]    T/
GeomagneticFieldF     CDF_DOUBLE/1  0:[]    T/
GeomagneticVectorTimes CDF_TT2000/1 0:[]    T/


Variable (4 variables)
=========================================

GeomagneticFieldD
-----------------
Data Type:           CDF_DOUBLE
Dimensionality:      0:[]   (T/)
Written Records:     1440/1440(max)
Allocated Records:   1472/1472(max)
Blocking Factor:     0 (records)
Attribute Entries:
     FIELDNAM        (CDF_CHAR/27): "Geomagnetic Field Element D"
     VALIDMIN        (CDF_DOUBLE/1): -360.0
     VALIDMAX        (CDF_DOUBLE/1): 360.0
     UNITS           (CDF_CHAR/14): "Degrees of arc"
     FILLVAL         (CDF_DOUBLE/1): 99999.0
     DEPEND_0        (CDF_CHAR/22): "GeomagneticVectorTimes"
     DISPLAY_TYPE    (CDF_CHAR/11): "time_series"
     LABLAXIS        (CDF_CHAR/1): "D"
Variable Data:
  Record # 1: -7.315
  Record # 2: -7.315
  ...

GeomagneticFieldI
-----------------
Data Type:           CDF_DOUBLE
Dimensionality:      0:[]   (T/)
Written Records:     1440/1440(max)
Allocated Records:   1472/1472(max)
Blocking Factor:     0 (records)
Attribute Entries:
     FIELDNAM        (CDF_CHAR/27): "Geomagnetic Field Element I"
     VALIDMIN        (CDF_DOUBLE/1): -90.0
     VALIDMAX        (CDF_DOUBLE/1): 90.0
     UNITS           (CDF_CHAR/14): "Degrees of arc"
     FILLVAL         (CDF_DOUBLE/1): 99999.0
     DEPEND_0        (CDF_CHAR/22): "GeomagneticVectorTimes"
     DISPLAY_TYPE    (CDF_CHAR/11): "time_series"
     LABLAXIS        (CDF_CHAR/1): "I"
Variable Data:
  Record # 1: 66.1598
  Record # 2: 66.1605
   ...

GeomagneticFieldF
-----------------
Data Type:           CDF_DOUBLE
Dimensionality:      0:[]   (T/)
Written Records:     1440/1440(max)
Allocated Records:   1472/1472(max)
Blocking Factor:     0 (records)
Attribute Entries:
     FIELDNAM        (CDF_CHAR/27): "Geomagnetic Field Element F"
     VALIDMIN        (CDF_DOUBLE/1): 0.0
     VALIDMAX        (CDF_DOUBLE/1): 79999.0
     UNITS           (CDF_CHAR/2): "nT"
     FILLVAL         (CDF_DOUBLE/1): 99999.0
     DEPEND_0        (CDF_CHAR/22): "GeomagneticVectorTimes"
     DISPLAY_TYPE    (CDF_CHAR/11): "time_series"
     LABLAXIS        (CDF_CHAR/1): "F"
Variable Data:
  Record # 1: 47881.4
  Record # 2: 47880.1
  ...

GeomagneticVectorTimes
----------------------
Data Type:           CDF_TT2000
Dimensionality:      0:[]   (T/)
Written Records:     1440/1440(max)
Allocated Records:   1472/1472(max)
Blocking Factor:     0 (records)
Attribute Entries:
Variable Data:
  Record # 1: 1983-01-01T00:00:00.000000000
  Record # 2: 1983-01-01T00:01:00.000000000