cheatah
Struct

space::irbem::OpqTable

cheatah-space v0.1.0-alpha — Biome Standard 0.6.5-alpha

The published model in full — Olson & Pfitzer (1977), Appendix, subroutine BXYZMU, pp.

64–66.

Each coefficient of the space expansion is a PAIR of table entries combined with the tilt: entries 2i-1 and 2i (one-based) of aa give A_i, and so on. The parity tables say how: false (the report's selector value 1) pairs them as {1, t^2}, true (selector 2) as {t, t^3}, t being the dipole tilt in degrees. A/B share odd_x (the report's ITA), C/D share odd_y (ITB), E/F share odd_z (ITC).

Every value is the six-significant-figure decimal printed in the report, and every value has been checked against a black-box recovery from the IRBEM oracle to better than 1.2e-9 relative (see the file brief) — a transcription check that cannot pass by accident.

Unit testIrbemOpq.TablesHaveThePublishedShape IrbemOpq.ParityTablesFollowTheEquatorialMirror

Constants & variables

var std::array< double, 2 *opq_xz_count > aa #

AA(64): the B_x non-exponential pairs.

var std::array< double, 2 *opq_xz_count > bb #

BB(64): the B_x exponential-envelope pairs.

var std::array< double, 2 *opq_y_count > cc #

CC(44): the B_y non-exponential pairs.

var std::array< double, 2 *opq_y_count > dd #

DD(44): the B_y exponential-envelope pairs.

var std::array< double, 2 *opq_xz_count > ee #

EE(64): the B_z non-exponential pairs.

var std::array< double, 2 *opq_xz_count > ff #

FF(64): the B_z exponential-envelope pairs.

var std::array< bool, opq_xz_count > odd_x #

ITA: whether each B_x term is odd in the tilt.

var std::array< bool, opq_y_count > odd_y #

ITB: whether each B_y term is odd in the tilt.

var std::array< bool, opq_xz_count > odd_z #

ITC: whether each B_z term is odd in the tilt.