Skip to main content

nyx_space/dynamics/drag/nrlmsise00/
coefficients.rs

1/*
2    Nyx, blazing fast astrodynamics
3    Copyright (C) 2018-onwards Christopher Rabotin <christopher.rabotin@gmail.com>
4
5    This program is free software: you can redistribute it and/or modify
6    it under the terms of the GNU Affero General Public License as published
7    by the Free Software Foundation, either version 3 of the License, or
8    (at your option) any later version.
9
10    This program is distributed in the hope that it will be useful,
11    but WITHOUT ANY WARRANTY; without even the implied warranty of
12    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13    GNU Affero General Public License for more details.
14
15    You should have received a copy of the GNU Affero General Public License
16    along with this program.  If not, see <https://www.gnu.org/licenses/>.
17*/
18
19//! NRLMSISE-00 model coefficients.
20//!
21//! Source: NRLMSISE-00 official distribution, U.S. Naval Research Laboratory.
22//! Reference: Picone, J.M. et al. (2002), "NRLMSISE-00 empirical model of the
23//!   atmosphere: Statistical comparisons and scientific issues",
24//!   J. Geophys. Res., 107(A12), 1468, doi:10.1029/2002JA009430
25//! Mathematical framework: Hedin, A.E. (1991), J. Geophys. Res., 96(A2), 1159-1172.
26//!
27//! Values extracted from the NRL official distribution as published data.
28//! NRLMSISE-00 is believed to be in the public domain as a U.S. Government work
29//! (17 U.S.C. ยง 105), though no explicit license was provided by NRL.
30//!
31//! Generated by: tools/extract_nrlmsise00_coefficients.py
32//! Source file: nrlmsise-00_data.c (C transcription by Dominik Brodowski,
33//!   based on official NRL Fortran distribution DIST12.TXT)
34
35/// Exospheric temperature variation coefficients (150 terms).
36///
37/// Used in `geographic_variation()` to compute the fractional perturbation
38/// of exospheric temperature as a function of latitude, season, solar
39/// activity, and geomagnetic activity.
40pub const TEMP_COEFFICIENTS_K: [f64; 150] = [
41    9.86573E-01,
42    1.62228E-02,
43    1.55270E-02,
44    -1.04323E-01,
45    -3.75801E-03,
46    -1.18538E-03,
47    -1.24043E-01,
48    4.56820E-03,
49    8.76018E-03,
50    -1.36235E-01,
51    -3.52427E-02,
52    8.84181E-03,
53    -5.92127E-03,
54    -8.61650E+00,
55    0.00000E+00,
56    1.28492E-02,
57    0.00000E+00,
58    1.30096E+02,
59    1.04567E-02,
60    1.65686E-03,
61    -5.53887E-06,
62    2.97810E-03,
63    0.00000E+00,
64    5.13122E-03,
65    8.66784E-02,
66    1.58727E-01,
67    0.00000E+00,
68    0.00000E+00,
69    0.00000E+00,
70    -7.27026E-06,
71    0.00000E+00,
72    6.74494E+00,
73    4.93933E-03,
74    2.21656E-03,
75    2.50802E-03,
76    0.00000E+00,
77    0.00000E+00,
78    -2.08841E-02,
79    -1.79873E+00,
80    1.45103E-03,
81    2.81769E-04,
82    -1.44703E-03,
83    -5.16394E-05,
84    8.47001E-02,
85    1.70147E-01,
86    5.72562E-03,
87    5.07493E-05,
88    4.36148E-03,
89    1.17863E-04,
90    4.74364E-03,
91    6.61278E-03,
92    4.34292E-05,
93    1.44373E-03,
94    2.41470E-05,
95    2.84426E-03,
96    8.56560E-04,
97    2.04028E-03,
98    0.00000E+00,
99    -3.15994E+03,
100    -2.46423E-03,
101    1.13843E-03,
102    4.20512E-04,
103    0.00000E+00,
104    -9.77214E+01,
105    6.77794E-03,
106    5.27499E-03,
107    1.14936E-03,
108    0.00000E+00,
109    -6.61311E-03,
110    -1.84255E-02,
111    -1.96259E-02,
112    2.98618E+04,
113    0.00000E+00,
114    0.00000E+00,
115    0.00000E+00,
116    6.44574E+02,
117    8.84668E-04,
118    5.05066E-04,
119    0.00000E+00,
120    4.02881E+03,
121    -1.89503E-03,
122    0.00000E+00,
123    0.00000E+00,
124    8.21407E-04,
125    2.06780E-03,
126    0.00000E+00,
127    0.00000E+00,
128    0.00000E+00,
129    0.00000E+00,
130    0.00000E+00,
131    -1.20410E-02,
132    -3.63963E-03,
133    9.92070E-05,
134    -1.15284E-04,
135    -6.33059E-05,
136    -6.05545E-01,
137    8.34218E-03,
138    -9.13036E+01,
139    3.71042E-04,
140    0.00000E+00,
141    4.19000E-04,
142    2.70928E-03,
143    3.31507E-03,
144    -4.44508E-03,
145    -4.96334E-03,
146    -1.60449E-03,
147    3.95119E-03,
148    2.48924E-03,
149    5.09815E-04,
150    4.05302E-03,
151    2.24076E-03,
152    0.00000E+00,
153    6.84256E-03,
154    4.66354E-04,
155    0.00000E+00,
156    -3.68328E-04,
157    0.00000E+00,
158    0.00000E+00,
159    -1.46870E+02,
160    0.00000E+00,
161    0.00000E+00,
162    1.09501E-03,
163    4.65156E-04,
164    5.62583E-04,
165    3.21596E+00,
166    6.43168E-04,
167    3.14860E-03,
168    3.40738E-03,
169    1.78481E-03,
170    9.62532E-04,
171    5.58171E-04,
172    3.43731E+00,
173    -2.33195E-01,
174    5.10289E-04,
175    0.00000E+00,
176    0.00000E+00,
177    -9.25347E+04,
178    0.00000E+00,
179    -1.99639E-03,
180    0.00000E+00,
181    0.00000E+00,
182    0.00000E+00,
183    0.00000E+00,
184    0.00000E+00,
185    0.00000E+00,
186    0.00000E+00,
187    0.00000E+00,
188    0.00000E+00,
189    0.00000E+00,
190    0.00000E+00,
191];
192
193/// Density variation coefficients for each species (9 species x 150 terms).
194///
195/// Each row is a 150-term coefficient array used in `geographic_variation()`
196/// to compute the fractional perturbation of species density.
197/// Species order: He, O, N2, TLB, O2, Ar, H, N, anomalous O.
198pub const DENSITY_COEFFICIENTS: [[f64; 150]; 9] = [
199    // [0]
200    [
201        1.09979E+00,
202        -4.88060E-02,
203        -1.97501E-01,
204        -9.10280E-02,
205        -6.96558E-03,
206        2.42136E-02,
207        3.91333E-01,
208        -7.20068E-03,
209        -3.22718E-02,
210        1.41508E+00,
211        1.68194E-01,
212        1.85282E-02,
213        1.09384E-01,
214        -7.24282E+00,
215        0.00000E+00,
216        2.96377E-01,
217        -4.97210E-02,
218        1.04114E+02,
219        -8.61108E-02,
220        -7.29177E-04,
221        1.48998E-06,
222        1.08629E-03,
223        0.00000E+00,
224        0.00000E+00,
225        8.31090E-02,
226        1.12818E-01,
227        -5.75005E-02,
228        -1.29919E-02,
229        -1.78849E-02,
230        -2.86343E-06,
231        0.00000E+00,
232        -1.51187E+02,
233        -6.65902E-03,
234        0.00000E+00,
235        -2.02069E-03,
236        0.00000E+00,
237        0.00000E+00,
238        4.32264E-02,
239        -2.80444E+01,
240        -3.26789E-03,
241        2.47461E-03,
242        0.00000E+00,
243        0.00000E+00,
244        9.82100E-02,
245        1.22714E-01,
246        -3.96450E-02,
247        0.00000E+00,
248        -2.76489E-03,
249        0.00000E+00,
250        1.87723E-03,
251        -8.09813E-03,
252        4.34428E-05,
253        -7.70932E-03,
254        0.00000E+00,
255        -2.28894E-03,
256        -5.69070E-03,
257        -5.22193E-03,
258        6.00692E-03,
259        -7.80434E+03,
260        -3.48336E-03,
261        -6.38362E-03,
262        -1.82190E-03,
263        0.00000E+00,
264        -7.58976E+01,
265        -2.17875E-02,
266        -1.72524E-02,
267        -9.06287E-03,
268        0.00000E+00,
269        2.44725E-02,
270        8.66040E-02,
271        1.05712E-01,
272        3.02543E+04,
273        0.00000E+00,
274        0.00000E+00,
275        0.00000E+00,
276        -6.01364E+03,
277        -5.64668E-03,
278        -2.54157E-03,
279        0.00000E+00,
280        3.15611E+02,
281        -5.69158E-03,
282        0.00000E+00,
283        0.00000E+00,
284        -4.47216E-03,
285        -4.49523E-03,
286        4.64428E-03,
287        0.00000E+00,
288        0.00000E+00,
289        0.00000E+00,
290        0.00000E+00,
291        4.51236E-02,
292        2.46520E-02,
293        6.17794E-03,
294        0.00000E+00,
295        0.00000E+00,
296        -3.62944E-01,
297        -4.80022E-02,
298        -7.57230E+01,
299        -1.99656E-03,
300        0.00000E+00,
301        -5.18780E-03,
302        -1.73990E-02,
303        -9.03485E-03,
304        7.48465E-03,
305        1.53267E-02,
306        1.06296E-02,
307        1.18655E-02,
308        2.55569E-03,
309        1.69020E-03,
310        3.51936E-02,
311        -1.81242E-02,
312        0.00000E+00,
313        -1.00529E-01,
314        -5.10574E-03,
315        0.00000E+00,
316        2.10228E-03,
317        0.00000E+00,
318        0.00000E+00,
319        -1.73255E+02,
320        5.07833E-01,
321        -2.41408E-01,
322        8.75414E-03,
323        2.77527E-03,
324        -8.90353E-05,
325        -5.25148E+00,
326        -5.83899E-03,
327        -2.09122E-02,
328        -9.63530E-03,
329        9.77164E-03,
330        4.07051E-03,
331        2.53555E-04,
332        -5.52875E+00,
333        -3.55993E-01,
334        -2.49231E-03,
335        0.00000E+00,
336        0.00000E+00,
337        2.86026E+01,
338        0.00000E+00,
339        3.42722E-04,
340        0.00000E+00,
341        0.00000E+00,
342        0.00000E+00,
343        0.00000E+00,
344        0.00000E+00,
345        0.00000E+00,
346        0.00000E+00,
347        0.00000E+00,
348        0.00000E+00,
349        0.00000E+00,
350        0.00000E+00,
351    ],
352    // [1]
353    [
354        1.02315E+00,
355        -1.59710E-01,
356        -1.06630E-01,
357        -1.77074E-02,
358        -4.42726E-03,
359        3.44803E-02,
360        4.45613E-02,
361        -3.33751E-02,
362        -5.73598E-02,
363        3.50360E-01,
364        6.33053E-02,
365        2.16221E-02,
366        5.42577E-02,
367        -5.74193E+00,
368        0.00000E+00,
369        1.90891E-01,
370        -1.39194E-02,
371        1.01102E+02,
372        8.16363E-02,
373        1.33717E-04,
374        6.54403E-06,
375        3.10295E-03,
376        0.00000E+00,
377        0.00000E+00,
378        5.38205E-02,
379        1.23910E-01,
380        -1.39831E-02,
381        0.00000E+00,
382        0.00000E+00,
383        -3.95915E-06,
384        0.00000E+00,
385        -7.14651E-01,
386        -5.01027E-03,
387        0.00000E+00,
388        -3.24756E-03,
389        0.00000E+00,
390        0.00000E+00,
391        4.42173E-02,
392        -1.31598E+01,
393        -3.15626E-03,
394        1.24574E-03,
395        -1.47626E-03,
396        -1.55461E-03,
397        6.40682E-02,
398        1.34898E-01,
399        -2.42415E-02,
400        0.00000E+00,
401        0.00000E+00,
402        0.00000E+00,
403        6.13666E-04,
404        -5.40373E-03,
405        2.61635E-05,
406        -3.33012E-03,
407        0.00000E+00,
408        -3.08101E-03,
409        -2.42679E-03,
410        -3.36086E-03,
411        0.00000E+00,
412        -1.18979E+03,
413        -5.04738E-02,
414        -2.61547E-03,
415        -1.03132E-03,
416        1.91583E-04,
417        -8.38132E+01,
418        -1.40517E-02,
419        -1.14167E-02,
420        -4.08012E-03,
421        1.73522E-04,
422        -1.39644E-02,
423        -6.64128E-02,
424        -6.85152E-02,
425        -1.34414E+04,
426        0.00000E+00,
427        0.00000E+00,
428        0.00000E+00,
429        6.07916E+02,
430        -4.12220E-03,
431        -2.20996E-03,
432        0.00000E+00,
433        1.70277E+03,
434        -4.63015E-03,
435        0.00000E+00,
436        0.00000E+00,
437        -2.25360E-03,
438        -2.96204E-03,
439        0.00000E+00,
440        0.00000E+00,
441        0.00000E+00,
442        0.00000E+00,
443        0.00000E+00,
444        3.92786E-02,
445        1.31186E-02,
446        -1.78086E-03,
447        0.00000E+00,
448        0.00000E+00,
449        -3.90083E-01,
450        -2.84741E-02,
451        -7.78400E+01,
452        -1.02601E-03,
453        0.00000E+00,
454        -7.26485E-04,
455        -5.42181E-03,
456        -5.59305E-03,
457        1.22825E-02,
458        1.23868E-02,
459        6.68835E-03,
460        -1.03303E-02,
461        -9.51903E-03,
462        2.70021E-04,
463        -2.57084E-02,
464        -1.32430E-02,
465        0.00000E+00,
466        -3.81000E-02,
467        -3.16810E-03,
468        0.00000E+00,
469        0.00000E+00,
470        0.00000E+00,
471        0.00000E+00,
472        0.00000E+00,
473        0.00000E+00,
474        0.00000E+00,
475        -9.05762E-04,
476        -2.14590E-03,
477        -1.17824E-03,
478        3.66732E+00,
479        -3.79729E-04,
480        -6.13966E-03,
481        -5.09082E-03,
482        -1.96332E-03,
483        -3.08280E-03,
484        -9.75222E-04,
485        4.03315E+00,
486        -2.52710E-01,
487        0.00000E+00,
488        0.00000E+00,
489        0.00000E+00,
490        0.00000E+00,
491        0.00000E+00,
492        0.00000E+00,
493        0.00000E+00,
494        0.00000E+00,
495        0.00000E+00,
496        0.00000E+00,
497        0.00000E+00,
498        0.00000E+00,
499        0.00000E+00,
500        0.00000E+00,
501        0.00000E+00,
502        0.00000E+00,
503        0.00000E+00,
504    ],
505    // [2]
506    [
507        1.16112E+00,
508        0.00000E+00,
509        0.00000E+00,
510        3.33725E-02,
511        0.00000E+00,
512        3.48637E-02,
513        -5.44368E-03,
514        0.00000E+00,
515        -6.73940E-02,
516        1.74754E-01,
517        0.00000E+00,
518        0.00000E+00,
519        0.00000E+00,
520        1.74712E+02,
521        0.00000E+00,
522        1.26733E-01,
523        0.00000E+00,
524        1.03154E+02,
525        5.52075E-02,
526        0.00000E+00,
527        0.00000E+00,
528        8.13525E-04,
529        0.00000E+00,
530        0.00000E+00,
531        8.66784E-02,
532        1.58727E-01,
533        0.00000E+00,
534        0.00000E+00,
535        0.00000E+00,
536        0.00000E+00,
537        0.00000E+00,
538        -2.50482E+01,
539        0.00000E+00,
540        0.00000E+00,
541        0.00000E+00,
542        0.00000E+00,
543        0.00000E+00,
544        0.00000E+00,
545        0.00000E+00,
546        -2.48894E-03,
547        6.16053E-04,
548        -5.79716E-04,
549        2.95482E-03,
550        8.47001E-02,
551        1.70147E-01,
552        0.00000E+00,
553        0.00000E+00,
554        0.00000E+00,
555        0.00000E+00,
556        0.00000E+00,
557        0.00000E+00,
558        2.47425E-05,
559        0.00000E+00,
560        0.00000E+00,
561        0.00000E+00,
562        0.00000E+00,
563        0.00000E+00,
564        0.00000E+00,
565        0.00000E+00,
566        0.00000E+00,
567        0.00000E+00,
568        0.00000E+00,
569        0.00000E+00,
570        0.00000E+00,
571        0.00000E+00,
572        0.00000E+00,
573        0.00000E+00,
574        0.00000E+00,
575        0.00000E+00,
576        0.00000E+00,
577        0.00000E+00,
578        0.00000E+00,
579        0.00000E+00,
580        0.00000E+00,
581        0.00000E+00,
582        0.00000E+00,
583        0.00000E+00,
584        0.00000E+00,
585        0.00000E+00,
586        0.00000E+00,
587        0.00000E+00,
588        0.00000E+00,
589        0.00000E+00,
590        0.00000E+00,
591        0.00000E+00,
592        0.00000E+00,
593        0.00000E+00,
594        0.00000E+00,
595        0.00000E+00,
596        0.00000E+00,
597        0.00000E+00,
598        0.00000E+00,
599        0.00000E+00,
600        0.00000E+00,
601        0.00000E+00,
602        0.00000E+00,
603        0.00000E+00,
604        0.00000E+00,
605        0.00000E+00,
606        0.00000E+00,
607        0.00000E+00,
608        0.00000E+00,
609        0.00000E+00,
610        0.00000E+00,
611        0.00000E+00,
612        0.00000E+00,
613        0.00000E+00,
614        0.00000E+00,
615        0.00000E+00,
616        0.00000E+00,
617        0.00000E+00,
618        0.00000E+00,
619        0.00000E+00,
620        0.00000E+00,
621        0.00000E+00,
622        0.00000E+00,
623        0.00000E+00,
624        0.00000E+00,
625        0.00000E+00,
626        0.00000E+00,
627        0.00000E+00,
628        0.00000E+00,
629        0.00000E+00,
630        0.00000E+00,
631        0.00000E+00,
632        0.00000E+00,
633        0.00000E+00,
634        0.00000E+00,
635        0.00000E+00,
636        0.00000E+00,
637        0.00000E+00,
638        0.00000E+00,
639        0.00000E+00,
640        0.00000E+00,
641        0.00000E+00,
642        0.00000E+00,
643        0.00000E+00,
644        0.00000E+00,
645        0.00000E+00,
646        0.00000E+00,
647        0.00000E+00,
648        0.00000E+00,
649        0.00000E+00,
650        0.00000E+00,
651        0.00000E+00,
652        0.00000E+00,
653        0.00000E+00,
654        0.00000E+00,
655        0.00000E+00,
656        0.00000E+00,
657    ],
658    // [3]
659    [
660        9.44846E-01,
661        0.00000E+00,
662        0.00000E+00,
663        -3.08617E-02,
664        0.00000E+00,
665        -2.44019E-02,
666        6.48607E-03,
667        0.00000E+00,
668        3.08181E-02,
669        4.59392E-02,
670        0.00000E+00,
671        0.00000E+00,
672        0.00000E+00,
673        1.74712E+02,
674        0.00000E+00,
675        2.13260E-02,
676        0.00000E+00,
677        -3.56958E+02,
678        0.00000E+00,
679        1.82278E-04,
680        0.00000E+00,
681        3.07472E-04,
682        0.00000E+00,
683        0.00000E+00,
684        8.66784E-02,
685        1.58727E-01,
686        0.00000E+00,
687        0.00000E+00,
688        0.00000E+00,
689        0.00000E+00,
690        0.00000E+00,
691        0.00000E+00,
692        3.83054E-03,
693        0.00000E+00,
694        0.00000E+00,
695        -1.93065E-03,
696        -1.45090E-03,
697        0.00000E+00,
698        0.00000E+00,
699        0.00000E+00,
700        0.00000E+00,
701        -1.23493E-03,
702        1.36736E-03,
703        8.47001E-02,
704        1.70147E-01,
705        3.71469E-03,
706        0.00000E+00,
707        0.00000E+00,
708        0.00000E+00,
709        0.00000E+00,
710        5.10250E-03,
711        2.47425E-05,
712        0.00000E+00,
713        0.00000E+00,
714        0.00000E+00,
715        0.00000E+00,
716        0.00000E+00,
717        0.00000E+00,
718        0.00000E+00,
719        0.00000E+00,
720        0.00000E+00,
721        0.00000E+00,
722        0.00000E+00,
723        0.00000E+00,
724        0.00000E+00,
725        0.00000E+00,
726        0.00000E+00,
727        0.00000E+00,
728        0.00000E+00,
729        0.00000E+00,
730        0.00000E+00,
731        0.00000E+00,
732        0.00000E+00,
733        0.00000E+00,
734        0.00000E+00,
735        0.00000E+00,
736        0.00000E+00,
737        0.00000E+00,
738        0.00000E+00,
739        0.00000E+00,
740        0.00000E+00,
741        0.00000E+00,
742        0.00000E+00,
743        0.00000E+00,
744        0.00000E+00,
745        0.00000E+00,
746        0.00000E+00,
747        0.00000E+00,
748        0.00000E+00,
749        0.00000E+00,
750        0.00000E+00,
751        0.00000E+00,
752        0.00000E+00,
753        0.00000E+00,
754        0.00000E+00,
755        0.00000E+00,
756        3.68756E-03,
757        0.00000E+00,
758        0.00000E+00,
759        0.00000E+00,
760        0.00000E+00,
761        0.00000E+00,
762        0.00000E+00,
763        0.00000E+00,
764        0.00000E+00,
765        0.00000E+00,
766        0.00000E+00,
767        0.00000E+00,
768        0.00000E+00,
769        0.00000E+00,
770        0.00000E+00,
771        0.00000E+00,
772        0.00000E+00,
773        0.00000E+00,
774        0.00000E+00,
775        0.00000E+00,
776        0.00000E+00,
777        0.00000E+00,
778        0.00000E+00,
779        0.00000E+00,
780        0.00000E+00,
781        0.00000E+00,
782        0.00000E+00,
783        0.00000E+00,
784        0.00000E+00,
785        0.00000E+00,
786        0.00000E+00,
787        0.00000E+00,
788        0.00000E+00,
789        0.00000E+00,
790        0.00000E+00,
791        0.00000E+00,
792        0.00000E+00,
793        0.00000E+00,
794        0.00000E+00,
795        0.00000E+00,
796        0.00000E+00,
797        0.00000E+00,
798        0.00000E+00,
799        0.00000E+00,
800        0.00000E+00,
801        0.00000E+00,
802        0.00000E+00,
803        0.00000E+00,
804        0.00000E+00,
805        0.00000E+00,
806        0.00000E+00,
807        0.00000E+00,
808        0.00000E+00,
809        0.00000E+00,
810    ],
811    // [4]
812    [
813        1.35580E+00,
814        1.44816E-01,
815        0.00000E+00,
816        6.07767E-02,
817        0.00000E+00,
818        2.94777E-02,
819        7.46900E-02,
820        0.00000E+00,
821        -9.23822E-02,
822        8.57342E-02,
823        0.00000E+00,
824        0.00000E+00,
825        0.00000E+00,
826        2.38636E+01,
827        0.00000E+00,
828        7.71653E-02,
829        0.00000E+00,
830        8.18751E+01,
831        1.87736E-02,
832        0.00000E+00,
833        0.00000E+00,
834        1.49667E-02,
835        0.00000E+00,
836        0.00000E+00,
837        8.66784E-02,
838        1.58727E-01,
839        0.00000E+00,
840        0.00000E+00,
841        0.00000E+00,
842        0.00000E+00,
843        0.00000E+00,
844        -3.67874E+02,
845        5.48158E-03,
846        0.00000E+00,
847        0.00000E+00,
848        0.00000E+00,
849        0.00000E+00,
850        0.00000E+00,
851        0.00000E+00,
852        0.00000E+00,
853        0.00000E+00,
854        0.00000E+00,
855        0.00000E+00,
856        8.47001E-02,
857        1.70147E-01,
858        1.22631E-02,
859        0.00000E+00,
860        0.00000E+00,
861        0.00000E+00,
862        0.00000E+00,
863        8.17187E-03,
864        3.71617E-05,
865        0.00000E+00,
866        0.00000E+00,
867        0.00000E+00,
868        0.00000E+00,
869        0.00000E+00,
870        0.00000E+00,
871        0.00000E+00,
872        0.00000E+00,
873        0.00000E+00,
874        0.00000E+00,
875        0.00000E+00,
876        0.00000E+00,
877        -2.10826E-03,
878        -3.13640E-03,
879        0.00000E+00,
880        0.00000E+00,
881        0.00000E+00,
882        0.00000E+00,
883        0.00000E+00,
884        0.00000E+00,
885        0.00000E+00,
886        0.00000E+00,
887        0.00000E+00,
888        0.00000E+00,
889        0.00000E+00,
890        0.00000E+00,
891        0.00000E+00,
892        0.00000E+00,
893        0.00000E+00,
894        0.00000E+00,
895        0.00000E+00,
896        0.00000E+00,
897        0.00000E+00,
898        0.00000E+00,
899        0.00000E+00,
900        0.00000E+00,
901        0.00000E+00,
902        0.00000E+00,
903        -7.35742E-02,
904        -5.00266E-02,
905        0.00000E+00,
906        0.00000E+00,
907        0.00000E+00,
908        0.00000E+00,
909        1.94965E-02,
910        0.00000E+00,
911        0.00000E+00,
912        0.00000E+00,
913        0.00000E+00,
914        0.00000E+00,
915        0.00000E+00,
916        0.00000E+00,
917        0.00000E+00,
918        0.00000E+00,
919        0.00000E+00,
920        0.00000E+00,
921        0.00000E+00,
922        0.00000E+00,
923        0.00000E+00,
924        0.00000E+00,
925        0.00000E+00,
926        0.00000E+00,
927        0.00000E+00,
928        0.00000E+00,
929        0.00000E+00,
930        0.00000E+00,
931        0.00000E+00,
932        0.00000E+00,
933        0.00000E+00,
934        0.00000E+00,
935        0.00000E+00,
936        0.00000E+00,
937        0.00000E+00,
938        0.00000E+00,
939        0.00000E+00,
940        0.00000E+00,
941        0.00000E+00,
942        0.00000E+00,
943        0.00000E+00,
944        0.00000E+00,
945        0.00000E+00,
946        0.00000E+00,
947        0.00000E+00,
948        0.00000E+00,
949        0.00000E+00,
950        0.00000E+00,
951        0.00000E+00,
952        0.00000E+00,
953        0.00000E+00,
954        0.00000E+00,
955        0.00000E+00,
956        0.00000E+00,
957        0.00000E+00,
958        0.00000E+00,
959        0.00000E+00,
960        0.00000E+00,
961        0.00000E+00,
962        0.00000E+00,
963    ],
964    // [5]
965    [
966        1.04761E+00,
967        2.00165E-01,
968        2.37697E-01,
969        3.68552E-02,
970        0.00000E+00,
971        3.57202E-02,
972        -2.14075E-01,
973        0.00000E+00,
974        -1.08018E-01,
975        -3.73981E-01,
976        0.00000E+00,
977        3.10022E-02,
978        -1.16305E-03,
979        -2.07596E+01,
980        0.00000E+00,
981        8.64502E-02,
982        0.00000E+00,
983        9.74908E+01,
984        5.16707E-02,
985        0.00000E+00,
986        0.00000E+00,
987        0.00000E+00,
988        0.00000E+00,
989        0.00000E+00,
990        8.66784E-02,
991        1.58727E-01,
992        0.00000E+00,
993        0.00000E+00,
994        0.00000E+00,
995        0.00000E+00,
996        0.00000E+00,
997        3.46193E+02,
998        1.34297E-02,
999        0.00000E+00,
1000        0.00000E+00,
1001        0.00000E+00,
1002        0.00000E+00,
1003        0.00000E+00,
1004        0.00000E+00,
1005        -3.48509E-03,
1006        -1.54689E-04,
1007        0.00000E+00,
1008        0.00000E+00,
1009        8.47001E-02,
1010        1.70147E-01,
1011        1.47753E-02,
1012        0.00000E+00,
1013        0.00000E+00,
1014        0.00000E+00,
1015        0.00000E+00,
1016        1.89320E-02,
1017        3.68181E-05,
1018        1.32570E-02,
1019        0.00000E+00,
1020        0.00000E+00,
1021        3.59719E-03,
1022        7.44328E-03,
1023        -1.00023E-03,
1024        -6.50528E+03,
1025        0.00000E+00,
1026        1.03485E-02,
1027        -1.00983E-03,
1028        -4.06916E-03,
1029        -6.60864E+01,
1030        -1.71533E-02,
1031        1.10605E-02,
1032        1.20300E-02,
1033        -5.20034E-03,
1034        0.00000E+00,
1035        0.00000E+00,
1036        0.00000E+00,
1037        0.00000E+00,
1038        0.00000E+00,
1039        0.00000E+00,
1040        0.00000E+00,
1041        -2.62769E+03,
1042        7.13755E-03,
1043        4.17999E-03,
1044        0.00000E+00,
1045        1.25910E+04,
1046        0.00000E+00,
1047        0.00000E+00,
1048        0.00000E+00,
1049        -2.23595E-03,
1050        4.60217E-03,
1051        5.71794E-03,
1052        0.00000E+00,
1053        0.00000E+00,
1054        0.00000E+00,
1055        0.00000E+00,
1056        -3.18353E-02,
1057        -2.35526E-02,
1058        -1.36189E-02,
1059        0.00000E+00,
1060        0.00000E+00,
1061        0.00000E+00,
1062        2.03522E-02,
1063        -6.67837E+01,
1064        -1.09724E-03,
1065        0.00000E+00,
1066        -1.38821E-02,
1067        1.60468E-02,
1068        0.00000E+00,
1069        0.00000E+00,
1070        0.00000E+00,
1071        0.00000E+00,
1072        0.00000E+00,
1073        0.00000E+00,
1074        0.00000E+00,
1075        1.51574E-02,
1076        -5.44470E-04,
1077        0.00000E+00,
1078        7.28224E-02,
1079        6.59413E-02,
1080        0.00000E+00,
1081        -5.15692E-03,
1082        0.00000E+00,
1083        0.00000E+00,
1084        -3.70367E+03,
1085        0.00000E+00,
1086        0.00000E+00,
1087        1.36131E-02,
1088        5.38153E-03,
1089        0.00000E+00,
1090        4.76285E+00,
1091        -1.75677E-02,
1092        2.26301E-02,
1093        0.00000E+00,
1094        1.76631E-02,
1095        4.77162E-03,
1096        0.00000E+00,
1097        5.39354E+00,
1098        0.00000E+00,
1099        -7.51710E-03,
1100        0.00000E+00,
1101        0.00000E+00,
1102        -8.82736E+01,
1103        0.00000E+00,
1104        0.00000E+00,
1105        0.00000E+00,
1106        0.00000E+00,
1107        0.00000E+00,
1108        0.00000E+00,
1109        0.00000E+00,
1110        0.00000E+00,
1111        0.00000E+00,
1112        0.00000E+00,
1113        0.00000E+00,
1114        0.00000E+00,
1115        0.00000E+00,
1116    ],
1117    // [6]
1118    [
1119        1.26376E+00,
1120        -2.14304E-01,
1121        -1.49984E-01,
1122        2.30404E-01,
1123        2.98237E-02,
1124        2.68673E-02,
1125        2.96228E-01,
1126        2.21900E-02,
1127        -2.07655E-02,
1128        4.52506E-01,
1129        1.20105E-01,
1130        3.24420E-02,
1131        4.24816E-02,
1132        -9.14313E+00,
1133        0.00000E+00,
1134        2.47178E-02,
1135        -2.88229E-02,
1136        8.12805E+01,
1137        5.10380E-02,
1138        -5.80611E-03,
1139        2.51236E-05,
1140        -1.24083E-02,
1141        0.00000E+00,
1142        0.00000E+00,
1143        8.66784E-02,
1144        1.58727E-01,
1145        -3.48190E-02,
1146        0.00000E+00,
1147        0.00000E+00,
1148        2.89885E-05,
1149        0.00000E+00,
1150        1.53595E+02,
1151        -1.68604E-02,
1152        0.00000E+00,
1153        1.01015E-02,
1154        0.00000E+00,
1155        0.00000E+00,
1156        0.00000E+00,
1157        0.00000E+00,
1158        2.84552E-04,
1159        -1.22181E-03,
1160        0.00000E+00,
1161        0.00000E+00,
1162        8.47001E-02,
1163        1.70147E-01,
1164        -1.04927E-02,
1165        0.00000E+00,
1166        0.00000E+00,
1167        0.00000E+00,
1168        -5.91313E-03,
1169        -2.30501E-02,
1170        3.14758E-05,
1171        0.00000E+00,
1172        0.00000E+00,
1173        1.26956E-02,
1174        8.35489E-03,
1175        3.10513E-04,
1176        0.00000E+00,
1177        3.42119E+03,
1178        -2.45017E-03,
1179        -4.27154E-04,
1180        5.45152E-04,
1181        1.89896E-03,
1182        2.89121E+01,
1183        -6.49973E-03,
1184        -1.93855E-02,
1185        -1.48492E-02,
1186        0.00000E+00,
1187        -5.10576E-02,
1188        7.87306E-02,
1189        9.51981E-02,
1190        -1.49422E+04,
1191        0.00000E+00,
1192        0.00000E+00,
1193        0.00000E+00,
1194        2.65503E+02,
1195        0.00000E+00,
1196        0.00000E+00,
1197        0.00000E+00,
1198        0.00000E+00,
1199        0.00000E+00,
1200        0.00000E+00,
1201        0.00000E+00,
1202        6.37110E-03,
1203        3.24789E-04,
1204        0.00000E+00,
1205        0.00000E+00,
1206        0.00000E+00,
1207        0.00000E+00,
1208        0.00000E+00,
1209        6.14274E-02,
1210        1.00376E-02,
1211        -8.41083E-04,
1212        0.00000E+00,
1213        0.00000E+00,
1214        0.00000E+00,
1215        -1.27099E-02,
1216        0.00000E+00,
1217        0.00000E+00,
1218        0.00000E+00,
1219        -3.94077E-03,
1220        -1.28601E-02,
1221        -7.97616E-03,
1222        0.00000E+00,
1223        0.00000E+00,
1224        0.00000E+00,
1225        0.00000E+00,
1226        0.00000E+00,
1227        0.00000E+00,
1228        0.00000E+00,
1229        0.00000E+00,
1230        0.00000E+00,
1231        0.00000E+00,
1232        0.00000E+00,
1233        0.00000E+00,
1234        0.00000E+00,
1235        0.00000E+00,
1236        0.00000E+00,
1237        0.00000E+00,
1238        0.00000E+00,
1239        0.00000E+00,
1240        -6.71465E-03,
1241        -1.69799E-03,
1242        1.93772E-03,
1243        3.81140E+00,
1244        -7.79290E-03,
1245        -1.82589E-02,
1246        -1.25860E-02,
1247        -1.04311E-02,
1248        -3.02465E-03,
1249        2.43063E-03,
1250        3.63237E+00,
1251        0.00000E+00,
1252        0.00000E+00,
1253        0.00000E+00,
1254        0.00000E+00,
1255        0.00000E+00,
1256        0.00000E+00,
1257        0.00000E+00,
1258        0.00000E+00,
1259        0.00000E+00,
1260        0.00000E+00,
1261        0.00000E+00,
1262        0.00000E+00,
1263        0.00000E+00,
1264        0.00000E+00,
1265        0.00000E+00,
1266        0.00000E+00,
1267        0.00000E+00,
1268        0.00000E+00,
1269    ],
1270    // [7]
1271    [
1272        7.09557E+01,
1273        -3.26740E-01,
1274        0.00000E+00,
1275        -5.16829E-01,
1276        -1.71664E-03,
1277        9.09310E-02,
1278        -6.71500E-01,
1279        -1.47771E-01,
1280        -9.27471E-02,
1281        -2.30862E-01,
1282        -1.56410E-01,
1283        1.34455E-02,
1284        -1.19717E-01,
1285        2.52151E+00,
1286        0.00000E+00,
1287        -2.41582E-01,
1288        5.92939E-02,
1289        4.39756E+00,
1290        9.15280E-02,
1291        4.41292E-03,
1292        0.00000E+00,
1293        8.66807E-03,
1294        0.00000E+00,
1295        0.00000E+00,
1296        8.66784E-02,
1297        1.58727E-01,
1298        9.74701E-02,
1299        0.00000E+00,
1300        0.00000E+00,
1301        0.00000E+00,
1302        0.00000E+00,
1303        6.70217E+01,
1304        -1.31660E-03,
1305        0.00000E+00,
1306        -1.65317E-02,
1307        0.00000E+00,
1308        0.00000E+00,
1309        8.50247E-02,
1310        2.77428E+01,
1311        4.98658E-03,
1312        6.15115E-03,
1313        9.50156E-03,
1314        -2.12723E-02,
1315        8.47001E-02,
1316        1.70147E-01,
1317        -2.38645E-02,
1318        0.00000E+00,
1319        0.00000E+00,
1320        0.00000E+00,
1321        1.37380E-03,
1322        -8.41918E-03,
1323        2.80145E-05,
1324        7.12383E-03,
1325        0.00000E+00,
1326        -1.66209E-02,
1327        1.03533E-04,
1328        -1.68898E-02,
1329        0.00000E+00,
1330        3.64526E+03,
1331        0.00000E+00,
1332        6.54077E-03,
1333        3.69130E-04,
1334        9.94419E-04,
1335        8.42803E+01,
1336        -1.16124E-02,
1337        -7.74414E-03,
1338        -1.68844E-03,
1339        1.42809E-03,
1340        -1.92955E-03,
1341        1.17225E-01,
1342        -2.41512E-02,
1343        1.50521E+04,
1344        0.00000E+00,
1345        0.00000E+00,
1346        0.00000E+00,
1347        1.60261E+03,
1348        0.00000E+00,
1349        0.00000E+00,
1350        0.00000E+00,
1351        0.00000E+00,
1352        0.00000E+00,
1353        0.00000E+00,
1354        0.00000E+00,
1355        -3.54403E-04,
1356        -1.87270E-02,
1357        0.00000E+00,
1358        0.00000E+00,
1359        0.00000E+00,
1360        0.00000E+00,
1361        0.00000E+00,
1362        2.76439E-02,
1363        6.43207E-03,
1364        -3.54300E-02,
1365        0.00000E+00,
1366        0.00000E+00,
1367        0.00000E+00,
1368        -2.80221E-02,
1369        8.11228E+01,
1370        -6.75255E-04,
1371        0.00000E+00,
1372        -1.05162E-02,
1373        -3.48292E-03,
1374        -6.97321E-03,
1375        0.00000E+00,
1376        0.00000E+00,
1377        0.00000E+00,
1378        0.00000E+00,
1379        0.00000E+00,
1380        0.00000E+00,
1381        0.00000E+00,
1382        0.00000E+00,
1383        0.00000E+00,
1384        0.00000E+00,
1385        0.00000E+00,
1386        0.00000E+00,
1387        0.00000E+00,
1388        0.00000E+00,
1389        0.00000E+00,
1390        0.00000E+00,
1391        0.00000E+00,
1392        0.00000E+00,
1393        -1.45546E-03,
1394        -1.31970E-02,
1395        -3.57751E-03,
1396        -1.09021E+00,
1397        -1.50181E-02,
1398        -7.12841E-03,
1399        -6.64590E-03,
1400        -3.52610E-03,
1401        -1.87773E-02,
1402        -2.22432E-03,
1403        -3.93895E-01,
1404        0.00000E+00,
1405        0.00000E+00,
1406        0.00000E+00,
1407        0.00000E+00,
1408        0.00000E+00,
1409        0.00000E+00,
1410        0.00000E+00,
1411        0.00000E+00,
1412        0.00000E+00,
1413        0.00000E+00,
1414        0.00000E+00,
1415        0.00000E+00,
1416        0.00000E+00,
1417        0.00000E+00,
1418        0.00000E+00,
1419        0.00000E+00,
1420        0.00000E+00,
1421        0.00000E+00,
1422    ],
1423    // [8]
1424    [
1425        6.04050E-02,
1426        1.57034E+00,
1427        2.99387E-02,
1428        0.00000E+00,
1429        0.00000E+00,
1430        0.00000E+00,
1431        0.00000E+00,
1432        0.00000E+00,
1433        0.00000E+00,
1434        -1.51018E+00,
1435        0.00000E+00,
1436        0.00000E+00,
1437        0.00000E+00,
1438        -8.61650E+00,
1439        1.26454E-02,
1440        0.00000E+00,
1441        0.00000E+00,
1442        0.00000E+00,
1443        0.00000E+00,
1444        0.00000E+00,
1445        0.00000E+00,
1446        5.50878E-03,
1447        0.00000E+00,
1448        0.00000E+00,
1449        8.66784E-02,
1450        1.58727E-01,
1451        0.00000E+00,
1452        0.00000E+00,
1453        0.00000E+00,
1454        0.00000E+00,
1455        0.00000E+00,
1456        0.00000E+00,
1457        6.23881E-02,
1458        0.00000E+00,
1459        0.00000E+00,
1460        0.00000E+00,
1461        0.00000E+00,
1462        0.00000E+00,
1463        0.00000E+00,
1464        0.00000E+00,
1465        0.00000E+00,
1466        0.00000E+00,
1467        0.00000E+00,
1468        8.47001E-02,
1469        1.70147E-01,
1470        -9.45934E-02,
1471        0.00000E+00,
1472        0.00000E+00,
1473        0.00000E+00,
1474        0.00000E+00,
1475        0.00000E+00,
1476        0.00000E+00,
1477        0.00000E+00,
1478        0.00000E+00,
1479        0.00000E+00,
1480        0.00000E+00,
1481        0.00000E+00,
1482        0.00000E+00,
1483        0.00000E+00,
1484        0.00000E+00,
1485        0.00000E+00,
1486        0.00000E+00,
1487        0.00000E+00,
1488        0.00000E+00,
1489        0.00000E+00,
1490        0.00000E+00,
1491        0.00000E+00,
1492        0.00000E+00,
1493        0.00000E+00,
1494        0.00000E+00,
1495        0.00000E+00,
1496        0.00000E+00,
1497        0.00000E+00,
1498        0.00000E+00,
1499        0.00000E+00,
1500        0.00000E+00,
1501        0.00000E+00,
1502        0.00000E+00,
1503        0.00000E+00,
1504        0.00000E+00,
1505        0.00000E+00,
1506        0.00000E+00,
1507        0.00000E+00,
1508        0.00000E+00,
1509        0.00000E+00,
1510        0.00000E+00,
1511        0.00000E+00,
1512        0.00000E+00,
1513        0.00000E+00,
1514        0.00000E+00,
1515        0.00000E+00,
1516        0.00000E+00,
1517        0.00000E+00,
1518        0.00000E+00,
1519        0.00000E+00,
1520        0.00000E+00,
1521        0.00000E+00,
1522        0.00000E+00,
1523        0.00000E+00,
1524        0.00000E+00,
1525        0.00000E+00,
1526        0.00000E+00,
1527        0.00000E+00,
1528        0.00000E+00,
1529        0.00000E+00,
1530        0.00000E+00,
1531        0.00000E+00,
1532        0.00000E+00,
1533        0.00000E+00,
1534        0.00000E+00,
1535        0.00000E+00,
1536        0.00000E+00,
1537        0.00000E+00,
1538        0.00000E+00,
1539        0.00000E+00,
1540        0.00000E+00,
1541        0.00000E+00,
1542        0.00000E+00,
1543        0.00000E+00,
1544        0.00000E+00,
1545        0.00000E+00,
1546        0.00000E+00,
1547        0.00000E+00,
1548        0.00000E+00,
1549        0.00000E+00,
1550        0.00000E+00,
1551        0.00000E+00,
1552        0.00000E+00,
1553        0.00000E+00,
1554        0.00000E+00,
1555        0.00000E+00,
1556        0.00000E+00,
1557        0.00000E+00,
1558        0.00000E+00,
1559        0.00000E+00,
1560        0.00000E+00,
1561        0.00000E+00,
1562        0.00000E+00,
1563        0.00000E+00,
1564        0.00000E+00,
1565        0.00000E+00,
1566        0.00000E+00,
1567        0.00000E+00,
1568        0.00000E+00,
1569        0.00000E+00,
1570        0.00000E+00,
1571        0.00000E+00,
1572        0.00000E+00,
1573        0.00000E+00,
1574        0.00000E+00,
1575    ],
1576];
1577
1578/// Temperature gradient (S-parameter) variation coefficients (150 terms).
1579///
1580/// Used in `geographic_variation()` to compute the temperature gradient
1581/// that controls the shape of the Bates-Walker exponential profile.
1582pub const GRADIENT_COEFFICIENTS: [f64; 150] = [
1583    9.56827E-01,
1584    6.20637E-02,
1585    3.18433E-02,
1586    0.00000E+00,
1587    0.00000E+00,
1588    3.94900E-02,
1589    0.00000E+00,
1590    0.00000E+00,
1591    -9.24882E-03,
1592    -7.94023E-03,
1593    0.00000E+00,
1594    0.00000E+00,
1595    0.00000E+00,
1596    1.74712E+02,
1597    0.00000E+00,
1598    0.00000E+00,
1599    0.00000E+00,
1600    0.00000E+00,
1601    0.00000E+00,
1602    0.00000E+00,
1603    0.00000E+00,
1604    2.74677E-03,
1605    0.00000E+00,
1606    1.54951E-02,
1607    8.66784E-02,
1608    1.58727E-01,
1609    0.00000E+00,
1610    0.00000E+00,
1611    0.00000E+00,
1612    0.00000E+00,
1613    0.00000E+00,
1614    0.00000E+00,
1615    0.00000E+00,
1616    -6.99007E-04,
1617    0.00000E+00,
1618    0.00000E+00,
1619    0.00000E+00,
1620    0.00000E+00,
1621    0.00000E+00,
1622    0.00000E+00,
1623    0.00000E+00,
1624    1.24362E-02,
1625    -5.28756E-03,
1626    8.47001E-02,
1627    1.70147E-01,
1628    0.00000E+00,
1629    0.00000E+00,
1630    0.00000E+00,
1631    0.00000E+00,
1632    0.00000E+00,
1633    0.00000E+00,
1634    2.47425E-05,
1635    0.00000E+00,
1636    0.00000E+00,
1637    0.00000E+00,
1638    0.00000E+00,
1639    0.00000E+00,
1640    0.00000E+00,
1641    0.00000E+00,
1642    0.00000E+00,
1643    0.00000E+00,
1644    0.00000E+00,
1645    0.00000E+00,
1646    0.00000E+00,
1647    0.00000E+00,
1648    0.00000E+00,
1649    0.00000E+00,
1650    0.00000E+00,
1651    0.00000E+00,
1652    0.00000E+00,
1653    0.00000E+00,
1654    0.00000E+00,
1655    0.00000E+00,
1656    0.00000E+00,
1657    0.00000E+00,
1658    0.00000E+00,
1659    0.00000E+00,
1660    0.00000E+00,
1661    0.00000E+00,
1662    0.00000E+00,
1663    0.00000E+00,
1664    0.00000E+00,
1665    0.00000E+00,
1666    0.00000E+00,
1667    0.00000E+00,
1668    0.00000E+00,
1669    0.00000E+00,
1670    0.00000E+00,
1671    0.00000E+00,
1672    0.00000E+00,
1673    0.00000E+00,
1674    0.00000E+00,
1675    0.00000E+00,
1676    0.00000E+00,
1677    0.00000E+00,
1678    0.00000E+00,
1679    0.00000E+00,
1680    0.00000E+00,
1681    0.00000E+00,
1682    0.00000E+00,
1683    0.00000E+00,
1684    0.00000E+00,
1685    0.00000E+00,
1686    0.00000E+00,
1687    0.00000E+00,
1688    0.00000E+00,
1689    0.00000E+00,
1690    0.00000E+00,
1691    0.00000E+00,
1692    0.00000E+00,
1693    0.00000E+00,
1694    0.00000E+00,
1695    0.00000E+00,
1696    0.00000E+00,
1697    0.00000E+00,
1698    0.00000E+00,
1699    0.00000E+00,
1700    0.00000E+00,
1701    0.00000E+00,
1702    0.00000E+00,
1703    0.00000E+00,
1704    0.00000E+00,
1705    0.00000E+00,
1706    0.00000E+00,
1707    0.00000E+00,
1708    0.00000E+00,
1709    0.00000E+00,
1710    0.00000E+00,
1711    0.00000E+00,
1712    0.00000E+00,
1713    0.00000E+00,
1714    0.00000E+00,
1715    0.00000E+00,
1716    0.00000E+00,
1717    0.00000E+00,
1718    0.00000E+00,
1719    0.00000E+00,
1720    0.00000E+00,
1721    0.00000E+00,
1722    0.00000E+00,
1723    0.00000E+00,
1724    0.00000E+00,
1725    0.00000E+00,
1726    0.00000E+00,
1727    0.00000E+00,
1728    0.00000E+00,
1729    0.00000E+00,
1730    0.00000E+00,
1731    0.00000E+00,
1732    0.00000E+00,
1733];
1734
1735/// Composition and turbopause correction parameters (2 x 25 terms).
1736///
1737/// Scale heights, altitude thresholds, and mixing ratios used in
1738/// `composition_correction()` and `composition_correction_dual()` for
1739/// each species' departure from ideal diffusive equilibrium.
1740pub const CORRECTION_PARAMS: [[f64; 25]; 2] = [
1741    // [0]
1742    [
1743        1.09930E+00,
1744        3.90631E+00,
1745        3.07165E+00,
1746        9.86161E-01,
1747        1.63536E+01,
1748        4.63830E+00,
1749        1.00000E+00,
1750        0.00000E+00,
1751        0.00000E+00,
1752        0.00000E+00,
1753        0.00000E+00,
1754        0.00000E+00,
1755        0.00000E+00,
1756        0.00000E+00,
1757        0.00000E+00,
1758        0.00000E+00,
1759        0.00000E+00,
1760        0.00000E+00,
1761        0.00000E+00,
1762        0.00000E+00,
1763        0.00000E+00,
1764        0.00000E+00,
1765        1.28840E+00,
1766        3.10302E-02,
1767        1.18339E-01,
1768    ],
1769    // [1]
1770    [
1771        1.00000E+00,
1772        7.00000E-01,
1773        1.15020E+00,
1774        3.44689E+00,
1775        1.28840E+00,
1776        1.00000E+00,
1777        1.08738E+00,
1778        1.22947E+00,
1779        1.10016E+00,
1780        7.34129E-01,
1781        1.15241E+00,
1782        2.22784E+00,
1783        7.95046E-01,
1784        4.01612E+00,
1785        4.47749E+00,
1786        1.23435E+02,
1787        -7.60535E-02,
1788        1.68986E-06,
1789        7.44294E-01,
1790        1.03604E+00,
1791        1.72783E+02,
1792        1.15020E+00,
1793        3.44689E+00,
1794        -7.46230E-01,
1795        9.49154E-01,
1796    ],
1797];
1798
1799/// Temperature boundary and reference values (50 terms).
1800///
1801/// Base values for exospheric temperature, lower boundary temperature,
1802/// temperature at spline nodes, gradient parameters, and reference altitudes.
1803/// Only first 10 values are explicitly set; remaining 40 are zero.
1804pub const TEMP_BOUNDARY: [f64; 50] = [
1805    1.04130E+03,
1806    3.86000E+02,
1807    1.95000E+02,
1808    1.66728E+01,
1809    2.13000E+02,
1810    1.20000E+02,
1811    2.40000E+02,
1812    1.87000E+02,
1813    -2.00000E+00,
1814    0.00000E+00,
1815    0.00000E+00,
1816    0.00000E+00,
1817    0.00000E+00,
1818    0.00000E+00,
1819    0.00000E+00,
1820    0.00000E+00,
1821    0.00000E+00,
1822    0.00000E+00,
1823    0.00000E+00,
1824    0.00000E+00,
1825    0.00000E+00,
1826    0.00000E+00,
1827    0.00000E+00,
1828    0.00000E+00,
1829    0.00000E+00,
1830    0.00000E+00,
1831    0.00000E+00,
1832    0.00000E+00,
1833    0.00000E+00,
1834    0.00000E+00,
1835    0.00000E+00,
1836    0.00000E+00,
1837    0.00000E+00,
1838    0.00000E+00,
1839    0.00000E+00,
1840    0.00000E+00,
1841    0.00000E+00,
1842    0.00000E+00,
1843    0.00000E+00,
1844    0.00000E+00,
1845    0.00000E+00,
1846    0.00000E+00,
1847    0.00000E+00,
1848    0.00000E+00,
1849    0.00000E+00,
1850    0.00000E+00,
1851    0.00000E+00,
1852    0.00000E+00,
1853    0.00000E+00,
1854    0.00000E+00,
1855];
1856
1857/// Density boundary parameters per species (8 species x 10 terms).
1858///
1859/// Each row contains reference density, mixing ratio, reference altitude,
1860/// correction amplitude, correction altitude, scale height, and
1861/// chemistry correction parameters for one species.
1862/// Species order: He, O, N2, O2, Ar, H, N, anomalous O.
1863pub const DENSITY_BOUNDARY: [[f64; 10]; 8] = [
1864    // [0]
1865    [
1866        2.45600E+07,
1867        6.71072E-06,
1868        1.00000E+02,
1869        0.00000E+00,
1870        1.10000E+02,
1871        1.00000E+01,
1872        0.00000E+00,
1873        0.00000E+00,
1874        0.00000E+00,
1875        0.00000E+00,
1876    ],
1877    // [1]
1878    [
1879        8.59400E+10,
1880        1.00000E+00,
1881        1.05000E+02,
1882        -8.00000E+00,
1883        1.10000E+02,
1884        1.00000E+01,
1885        9.00000E+01,
1886        2.00000E+00,
1887        0.00000E+00,
1888        0.00000E+00,
1889    ],
1890    // [2]
1891    [
1892        2.81000E+11,
1893        0.00000E+00,
1894        1.05000E+02,
1895        2.80000E+01,
1896        2.89500E+01,
1897        0.00000E+00,
1898        0.00000E+00,
1899        0.00000E+00,
1900        0.00000E+00,
1901        0.00000E+00,
1902    ],
1903    // [3]
1904    [
1905        3.30000E+10,
1906        2.68270E-01,
1907        1.05000E+02,
1908        1.00000E+00,
1909        1.10000E+02,
1910        1.00000E+01,
1911        1.10000E+02,
1912        -1.00000E+01,
1913        0.00000E+00,
1914        0.00000E+00,
1915    ],
1916    // [4]
1917    [
1918        1.33000E+09,
1919        1.19615E-02,
1920        1.05000E+02,
1921        0.00000E+00,
1922        1.10000E+02,
1923        1.00000E+01,
1924        0.00000E+00,
1925        0.00000E+00,
1926        0.00000E+00,
1927        0.00000E+00,
1928    ],
1929    // [5]
1930    [
1931        1.76100E+05,
1932        1.00000E+00,
1933        9.50000E+01,
1934        -8.00000E+00,
1935        1.10000E+02,
1936        1.00000E+01,
1937        9.00000E+01,
1938        2.00000E+00,
1939        0.00000E+00,
1940        0.00000E+00,
1941    ],
1942    // [6]
1943    [
1944        1.00000E+07,
1945        1.00000E+00,
1946        1.05000E+02,
1947        -8.00000E+00,
1948        1.10000E+02,
1949        1.00000E+01,
1950        9.00000E+01,
1951        2.00000E+00,
1952        0.00000E+00,
1953        0.00000E+00,
1954    ],
1955    // [7]
1956    [
1957        1.00000E+06,
1958        1.00000E+00,
1959        1.05000E+02,
1960        -8.00000E+00,
1961        5.50000E+02,
1962        7.60000E+01,
1963        9.00000E+01,
1964        2.00000E+00,
1965        0.00000E+00,
1966        4.00000E+03,
1967    ],
1968];
1969
1970/// Temperature node correction coefficients (4 nodes x 100 terms).
1971///
1972/// Each row is a 100-term coefficient array used in `geographic_variation_lower()`
1973/// to compute the fractional perturbation of a lower thermosphere temperature node.
1974/// Node order: TN1(2) at 110 km, TN1(3) at 100 km, TN1(4) at 90 km, TN1(5) at 72.5 km.
1975pub const TEMP_NODE_COEFFICIENTS: [[f64; 100]; 4] = [
1976    // [0]
1977    [
1978        1.00858E+00,
1979        4.56011E-02,
1980        -2.22972E-02,
1981        -5.44388E-02,
1982        5.23136E-04,
1983        -1.88849E-02,
1984        5.23707E-02,
1985        -9.43646E-03,
1986        6.31707E-03,
1987        -7.80460E-02,
1988        -4.88430E-02,
1989        0.00000E+00,
1990        0.00000E+00,
1991        -7.60250E+00,
1992        0.00000E+00,
1993        -1.44635E-02,
1994        -1.76843E-02,
1995        -1.21517E+02,
1996        2.85647E-02,
1997        0.00000E+00,
1998        0.00000E+00,
1999        6.31792E-04,
2000        0.00000E+00,
2001        5.77197E-03,
2002        8.66784E-02,
2003        1.58727E-01,
2004        0.00000E+00,
2005        0.00000E+00,
2006        0.00000E+00,
2007        0.00000E+00,
2008        0.00000E+00,
2009        -8.90272E+03,
2010        3.30611E-03,
2011        3.02172E-03,
2012        0.00000E+00,
2013        -2.13673E-03,
2014        -3.20910E-04,
2015        0.00000E+00,
2016        0.00000E+00,
2017        2.76034E-03,
2018        2.82487E-03,
2019        -2.97592E-04,
2020        -4.21534E-03,
2021        8.47001E-02,
2022        1.70147E-01,
2023        8.96456E-03,
2024        0.00000E+00,
2025        -1.08596E-02,
2026        0.00000E+00,
2027        0.00000E+00,
2028        5.57917E-03,
2029        0.00000E+00,
2030        0.00000E+00,
2031        0.00000E+00,
2032        0.00000E+00,
2033        0.00000E+00,
2034        0.00000E+00,
2035        0.00000E+00,
2036        0.00000E+00,
2037        0.00000E+00,
2038        0.00000E+00,
2039        0.00000E+00,
2040        0.00000E+00,
2041        0.00000E+00,
2042        0.00000E+00,
2043        0.00000E+00,
2044        0.00000E+00,
2045        0.00000E+00,
2046        0.00000E+00,
2047        0.00000E+00,
2048        0.00000E+00,
2049        0.00000E+00,
2050        0.00000E+00,
2051        0.00000E+00,
2052        0.00000E+00,
2053        0.00000E+00,
2054        0.00000E+00,
2055        0.00000E+00,
2056        0.00000E+00,
2057        0.00000E+00,
2058        0.00000E+00,
2059        0.00000E+00,
2060        0.00000E+00,
2061        0.00000E+00,
2062        0.00000E+00,
2063        0.00000E+00,
2064        0.00000E+00,
2065        0.00000E+00,
2066        0.00000E+00,
2067        0.00000E+00,
2068        0.00000E+00,
2069        0.00000E+00,
2070        0.00000E+00,
2071        0.00000E+00,
2072        0.00000E+00,
2073        0.00000E+00,
2074        9.65405E-03,
2075        0.00000E+00,
2076        0.00000E+00,
2077        2.00000E+00,
2078    ],
2079    // [1]
2080    [
2081        9.39664E-01,
2082        8.56514E-02,
2083        -6.79989E-03,
2084        2.65929E-02,
2085        -4.74283E-03,
2086        1.21855E-02,
2087        -2.14905E-02,
2088        6.49651E-03,
2089        -2.05477E-02,
2090        -4.24952E-02,
2091        0.00000E+00,
2092        0.00000E+00,
2093        0.00000E+00,
2094        1.19148E+01,
2095        0.00000E+00,
2096        1.18777E-02,
2097        -7.28230E-02,
2098        -8.15965E+01,
2099        1.73887E-02,
2100        0.00000E+00,
2101        0.00000E+00,
2102        0.00000E+00,
2103        -1.44691E-02,
2104        2.80259E-04,
2105        8.66784E-02,
2106        1.58727E-01,
2107        0.00000E+00,
2108        0.00000E+00,
2109        0.00000E+00,
2110        0.00000E+00,
2111        0.00000E+00,
2112        2.16584E+02,
2113        3.18713E-03,
2114        7.37479E-03,
2115        0.00000E+00,
2116        -2.55018E-03,
2117        -3.92806E-03,
2118        0.00000E+00,
2119        0.00000E+00,
2120        -2.89757E-03,
2121        -1.33549E-03,
2122        1.02661E-03,
2123        3.53775E-04,
2124        8.47001E-02,
2125        1.70147E-01,
2126        -9.17497E-03,
2127        0.00000E+00,
2128        0.00000E+00,
2129        0.00000E+00,
2130        0.00000E+00,
2131        3.56082E-03,
2132        0.00000E+00,
2133        0.00000E+00,
2134        0.00000E+00,
2135        0.00000E+00,
2136        0.00000E+00,
2137        0.00000E+00,
2138        0.00000E+00,
2139        0.00000E+00,
2140        0.00000E+00,
2141        0.00000E+00,
2142        0.00000E+00,
2143        0.00000E+00,
2144        0.00000E+00,
2145        0.00000E+00,
2146        0.00000E+00,
2147        0.00000E+00,
2148        0.00000E+00,
2149        0.00000E+00,
2150        0.00000E+00,
2151        0.00000E+00,
2152        0.00000E+00,
2153        0.00000E+00,
2154        0.00000E+00,
2155        0.00000E+00,
2156        0.00000E+00,
2157        0.00000E+00,
2158        0.00000E+00,
2159        0.00000E+00,
2160        0.00000E+00,
2161        0.00000E+00,
2162        0.00000E+00,
2163        0.00000E+00,
2164        0.00000E+00,
2165        0.00000E+00,
2166        0.00000E+00,
2167        0.00000E+00,
2168        0.00000E+00,
2169        0.00000E+00,
2170        0.00000E+00,
2171        0.00000E+00,
2172        0.00000E+00,
2173        0.00000E+00,
2174        0.00000E+00,
2175        0.00000E+00,
2176        0.00000E+00,
2177        -1.00902E-02,
2178        0.00000E+00,
2179        0.00000E+00,
2180        2.00000E+00,
2181    ],
2182    // [2]
2183    [
2184        9.85982E-01,
2185        -4.55435E-02,
2186        1.21106E-02,
2187        2.04127E-02,
2188        -2.40836E-03,
2189        1.11383E-02,
2190        -4.51926E-02,
2191        1.35074E-02,
2192        -6.54139E-03,
2193        1.15275E-01,
2194        1.28247E-01,
2195        0.00000E+00,
2196        0.00000E+00,
2197        -5.30705E+00,
2198        0.00000E+00,
2199        -3.79332E-02,
2200        -6.24741E-02,
2201        7.71062E-01,
2202        2.96315E-02,
2203        0.00000E+00,
2204        0.00000E+00,
2205        0.00000E+00,
2206        6.81051E-03,
2207        -4.34767E-03,
2208        8.66784E-02,
2209        1.58727E-01,
2210        0.00000E+00,
2211        0.00000E+00,
2212        0.00000E+00,
2213        0.00000E+00,
2214        0.00000E+00,
2215        1.07003E+01,
2216        -2.76907E-03,
2217        4.32474E-04,
2218        0.00000E+00,
2219        1.31497E-03,
2220        -6.47517E-04,
2221        0.00000E+00,
2222        -2.20621E+01,
2223        -1.10804E-03,
2224        -8.09338E-04,
2225        4.18184E-04,
2226        4.29650E-03,
2227        8.47001E-02,
2228        1.70147E-01,
2229        0.00000E+00,
2230        0.00000E+00,
2231        0.00000E+00,
2232        0.00000E+00,
2233        0.00000E+00,
2234        -4.04337E-03,
2235        0.00000E+00,
2236        0.00000E+00,
2237        0.00000E+00,
2238        0.00000E+00,
2239        0.00000E+00,
2240        0.00000E+00,
2241        0.00000E+00,
2242        0.00000E+00,
2243        0.00000E+00,
2244        0.00000E+00,
2245        0.00000E+00,
2246        0.00000E+00,
2247        0.00000E+00,
2248        -9.52550E-04,
2249        8.56253E-04,
2250        4.33114E-04,
2251        0.00000E+00,
2252        0.00000E+00,
2253        0.00000E+00,
2254        0.00000E+00,
2255        0.00000E+00,
2256        0.00000E+00,
2257        0.00000E+00,
2258        1.21223E-03,
2259        2.38694E-04,
2260        9.15245E-04,
2261        1.28385E-03,
2262        8.67668E-04,
2263        -5.61425E-06,
2264        1.04445E+00,
2265        3.41112E+01,
2266        0.00000E+00,
2267        -8.40704E-01,
2268        -2.39639E+02,
2269        7.06668E-01,
2270        -2.05873E+01,
2271        -3.63696E-01,
2272        2.39245E+01,
2273        0.00000E+00,
2274        -1.06657E-03,
2275        -7.67292E-04,
2276        1.54534E-04,
2277        0.00000E+00,
2278        0.00000E+00,
2279        0.00000E+00,
2280        0.00000E+00,
2281        0.00000E+00,
2282        0.00000E+00,
2283        2.00000E+00,
2284    ],
2285    // [3]
2286    [
2287        1.00320E+00,
2288        3.83501E-02,
2289        -2.38983E-03,
2290        2.83950E-03,
2291        4.20956E-03,
2292        5.86619E-04,
2293        2.19054E-02,
2294        -1.00946E-02,
2295        -3.50259E-03,
2296        4.17392E-02,
2297        -8.44404E-03,
2298        0.00000E+00,
2299        0.00000E+00,
2300        4.96949E+00,
2301        0.00000E+00,
2302        -7.06478E-03,
2303        -1.46494E-02,
2304        3.13258E+01,
2305        -1.86493E-03,
2306        0.00000E+00,
2307        -1.67499E-02,
2308        0.00000E+00,
2309        0.00000E+00,
2310        5.12686E-04,
2311        8.66784E-02,
2312        1.58727E-01,
2313        -4.64167E-03,
2314        0.00000E+00,
2315        0.00000E+00,
2316        0.00000E+00,
2317        4.37353E-03,
2318        -1.99069E+02,
2319        0.00000E+00,
2320        -5.34884E-03,
2321        0.00000E+00,
2322        1.62458E-03,
2323        2.93016E-03,
2324        2.67926E-03,
2325        5.90449E+02,
2326        0.00000E+00,
2327        0.00000E+00,
2328        -1.17266E-03,
2329        -3.58890E-04,
2330        8.47001E-02,
2331        1.70147E-01,
2332        0.00000E+00,
2333        0.00000E+00,
2334        1.38673E-02,
2335        0.00000E+00,
2336        0.00000E+00,
2337        0.00000E+00,
2338        0.00000E+00,
2339        0.00000E+00,
2340        0.00000E+00,
2341        0.00000E+00,
2342        0.00000E+00,
2343        0.00000E+00,
2344        0.00000E+00,
2345        0.00000E+00,
2346        0.00000E+00,
2347        0.00000E+00,
2348        0.00000E+00,
2349        0.00000E+00,
2350        0.00000E+00,
2351        1.60571E-03,
2352        6.28078E-04,
2353        5.05469E-05,
2354        0.00000E+00,
2355        0.00000E+00,
2356        0.00000E+00,
2357        0.00000E+00,
2358        0.00000E+00,
2359        0.00000E+00,
2360        0.00000E+00,
2361        -1.57829E-03,
2362        -4.00855E-04,
2363        5.04077E-05,
2364        -1.39001E-03,
2365        -2.33406E-03,
2366        -4.81197E-04,
2367        1.46758E+00,
2368        6.20332E+00,
2369        0.00000E+00,
2370        3.66476E-01,
2371        -6.19760E+01,
2372        3.09198E-01,
2373        -1.98999E+01,
2374        0.00000E+00,
2375        -3.29933E+02,
2376        0.00000E+00,
2377        -1.10080E-03,
2378        -9.39310E-05,
2379        1.39638E-04,
2380        0.00000E+00,
2381        0.00000E+00,
2382        0.00000E+00,
2383        0.00000E+00,
2384        0.00000E+00,
2385        0.00000E+00,
2386        2.00000E+00,
2387    ],
2388];
2389
2390/// Middle atmosphere variation coefficients (10 x 100 terms).
2391///
2392/// Each row is a 100-term coefficient array used in `geographic_variation_lower()`
2393/// for mesosphere/stratosphere temperature nodes and gradients.
2394/// Index order: TN2(2), TN2(3), TN2(4), TN3(2), TN3(3), middle atmo avg,
2395///   TN2(1), TN1(1), TGN3(2), TGN2(2).
2396pub const MID_ATMO_COEFFICIENTS: [[f64; 100]; 10] = [
2397    // [0]
2398    [
2399        9.81637E-01,
2400        -1.41317E-03,
2401        3.87323E-02,
2402        0.00000E+00,
2403        0.00000E+00,
2404        0.00000E+00,
2405        0.00000E+00,
2406        0.00000E+00,
2407        0.00000E+00,
2408        -3.58707E-02,
2409        -8.63658E-03,
2410        0.00000E+00,
2411        0.00000E+00,
2412        -2.02226E+00,
2413        0.00000E+00,
2414        -8.69424E-03,
2415        -1.91397E-02,
2416        8.76779E+01,
2417        4.52188E-03,
2418        0.00000E+00,
2419        2.23760E-02,
2420        0.00000E+00,
2421        0.00000E+00,
2422        0.00000E+00,
2423        0.00000E+00,
2424        0.00000E+00,
2425        -7.07572E-03,
2426        0.00000E+00,
2427        0.00000E+00,
2428        0.00000E+00,
2429        -4.11210E-03,
2430        3.50060E+01,
2431        0.00000E+00,
2432        0.00000E+00,
2433        0.00000E+00,
2434        0.00000E+00,
2435        0.00000E+00,
2436        -8.36657E-03,
2437        1.61347E+01,
2438        0.00000E+00,
2439        0.00000E+00,
2440        0.00000E+00,
2441        0.00000E+00,
2442        0.00000E+00,
2443        0.00000E+00,
2444        0.00000E+00,
2445        0.00000E+00,
2446        -1.45130E-02,
2447        0.00000E+00,
2448        0.00000E+00,
2449        0.00000E+00,
2450        0.00000E+00,
2451        0.00000E+00,
2452        0.00000E+00,
2453        0.00000E+00,
2454        0.00000E+00,
2455        0.00000E+00,
2456        0.00000E+00,
2457        0.00000E+00,
2458        0.00000E+00,
2459        0.00000E+00,
2460        0.00000E+00,
2461        0.00000E+00,
2462        0.00000E+00,
2463        1.24152E-03,
2464        6.43365E-04,
2465        0.00000E+00,
2466        0.00000E+00,
2467        0.00000E+00,
2468        0.00000E+00,
2469        0.00000E+00,
2470        0.00000E+00,
2471        0.00000E+00,
2472        0.00000E+00,
2473        1.33255E-03,
2474        2.42657E-03,
2475        1.60666E-03,
2476        -1.85728E-03,
2477        -1.46874E-03,
2478        -4.79163E-06,
2479        1.22464E+00,
2480        3.53510E+01,
2481        0.00000E+00,
2482        4.49223E-01,
2483        -4.77466E+01,
2484        4.70681E-01,
2485        8.41861E+00,
2486        -2.88198E-01,
2487        1.67854E+02,
2488        0.00000E+00,
2489        7.11493E-04,
2490        6.05601E-04,
2491        0.00000E+00,
2492        0.00000E+00,
2493        0.00000E+00,
2494        0.00000E+00,
2495        0.00000E+00,
2496        0.00000E+00,
2497        0.00000E+00,
2498        2.00000E+00,
2499    ],
2500    // [1]
2501    [
2502        1.00422E+00,
2503        -7.11212E-03,
2504        5.24480E-03,
2505        0.00000E+00,
2506        0.00000E+00,
2507        0.00000E+00,
2508        0.00000E+00,
2509        0.00000E+00,
2510        0.00000E+00,
2511        -5.28914E-02,
2512        -2.41301E-02,
2513        0.00000E+00,
2514        0.00000E+00,
2515        -2.12219E+01,
2516        -1.03830E-02,
2517        -3.28077E-03,
2518        1.65727E-02,
2519        1.68564E+00,
2520        -6.68154E-03,
2521        0.00000E+00,
2522        1.45155E-02,
2523        0.00000E+00,
2524        8.42365E-03,
2525        0.00000E+00,
2526        0.00000E+00,
2527        0.00000E+00,
2528        -4.34645E-03,
2529        0.00000E+00,
2530        0.00000E+00,
2531        2.16780E-02,
2532        0.00000E+00,
2533        -1.38459E+02,
2534        0.00000E+00,
2535        0.00000E+00,
2536        0.00000E+00,
2537        0.00000E+00,
2538        0.00000E+00,
2539        7.04573E-03,
2540        -4.73204E+01,
2541        0.00000E+00,
2542        0.00000E+00,
2543        0.00000E+00,
2544        0.00000E+00,
2545        0.00000E+00,
2546        0.00000E+00,
2547        0.00000E+00,
2548        0.00000E+00,
2549        1.08767E-02,
2550        0.00000E+00,
2551        0.00000E+00,
2552        0.00000E+00,
2553        0.00000E+00,
2554        0.00000E+00,
2555        0.00000E+00,
2556        0.00000E+00,
2557        0.00000E+00,
2558        0.00000E+00,
2559        0.00000E+00,
2560        0.00000E+00,
2561        -8.08279E-03,
2562        0.00000E+00,
2563        0.00000E+00,
2564        0.00000E+00,
2565        0.00000E+00,
2566        5.21769E-04,
2567        -2.27387E-04,
2568        0.00000E+00,
2569        0.00000E+00,
2570        0.00000E+00,
2571        0.00000E+00,
2572        0.00000E+00,
2573        0.00000E+00,
2574        0.00000E+00,
2575        0.00000E+00,
2576        3.26769E-03,
2577        3.16901E-03,
2578        4.60316E-04,
2579        -1.01431E-04,
2580        1.02131E-03,
2581        9.96601E-04,
2582        1.25707E+00,
2583        2.50114E+01,
2584        0.00000E+00,
2585        4.24472E-01,
2586        -2.77655E+01,
2587        3.44625E-01,
2588        2.75412E+01,
2589        0.00000E+00,
2590        7.94251E+02,
2591        0.00000E+00,
2592        2.45835E-03,
2593        1.38871E-03,
2594        0.00000E+00,
2595        0.00000E+00,
2596        0.00000E+00,
2597        0.00000E+00,
2598        0.00000E+00,
2599        0.00000E+00,
2600        0.00000E+00,
2601        2.00000E+00,
2602    ],
2603    // [2]
2604    [
2605        1.01890E+00,
2606        -2.46603E-02,
2607        1.00078E-02,
2608        0.00000E+00,
2609        0.00000E+00,
2610        0.00000E+00,
2611        0.00000E+00,
2612        0.00000E+00,
2613        0.00000E+00,
2614        -6.70977E-02,
2615        -4.02286E-02,
2616        0.00000E+00,
2617        0.00000E+00,
2618        -2.29466E+01,
2619        -7.47019E-03,
2620        2.26580E-03,
2621        2.63931E-02,
2622        3.72625E+01,
2623        -6.39041E-03,
2624        0.00000E+00,
2625        9.58383E-03,
2626        0.00000E+00,
2627        0.00000E+00,
2628        0.00000E+00,
2629        0.00000E+00,
2630        0.00000E+00,
2631        -1.85291E-03,
2632        0.00000E+00,
2633        0.00000E+00,
2634        0.00000E+00,
2635        0.00000E+00,
2636        1.39717E+02,
2637        0.00000E+00,
2638        0.00000E+00,
2639        0.00000E+00,
2640        0.00000E+00,
2641        0.00000E+00,
2642        9.19771E-03,
2643        -3.69121E+02,
2644        0.00000E+00,
2645        0.00000E+00,
2646        0.00000E+00,
2647        0.00000E+00,
2648        0.00000E+00,
2649        0.00000E+00,
2650        0.00000E+00,
2651        0.00000E+00,
2652        -1.57067E-02,
2653        0.00000E+00,
2654        0.00000E+00,
2655        0.00000E+00,
2656        0.00000E+00,
2657        0.00000E+00,
2658        0.00000E+00,
2659        0.00000E+00,
2660        0.00000E+00,
2661        0.00000E+00,
2662        0.00000E+00,
2663        0.00000E+00,
2664        -7.07265E-03,
2665        0.00000E+00,
2666        0.00000E+00,
2667        0.00000E+00,
2668        0.00000E+00,
2669        -2.92953E-03,
2670        -2.77739E-03,
2671        -4.40092E-04,
2672        0.00000E+00,
2673        0.00000E+00,
2674        0.00000E+00,
2675        0.00000E+00,
2676        0.00000E+00,
2677        0.00000E+00,
2678        0.00000E+00,
2679        2.47280E-03,
2680        2.95035E-04,
2681        -1.81246E-03,
2682        2.81945E-03,
2683        4.27296E-03,
2684        9.78863E-04,
2685        1.40545E+00,
2686        -6.19173E+00,
2687        0.00000E+00,
2688        0.00000E+00,
2689        -7.93632E+01,
2690        4.44643E-01,
2691        -4.03085E+02,
2692        0.00000E+00,
2693        1.15603E+01,
2694        0.00000E+00,
2695        2.25068E-03,
2696        8.48557E-04,
2697        -2.98493E-04,
2698        0.00000E+00,
2699        0.00000E+00,
2700        0.00000E+00,
2701        0.00000E+00,
2702        0.00000E+00,
2703        0.00000E+00,
2704        2.00000E+00,
2705    ],
2706    // [3]
2707    [
2708        9.75801E-01,
2709        3.80680E-02,
2710        -3.05198E-02,
2711        0.00000E+00,
2712        0.00000E+00,
2713        0.00000E+00,
2714        0.00000E+00,
2715        0.00000E+00,
2716        0.00000E+00,
2717        3.85575E-02,
2718        5.04057E-02,
2719        0.00000E+00,
2720        0.00000E+00,
2721        -1.76046E+02,
2722        1.44594E-02,
2723        -1.48297E-03,
2724        -3.68560E-03,
2725        3.02185E+01,
2726        -3.23338E-03,
2727        0.00000E+00,
2728        1.53569E-02,
2729        0.00000E+00,
2730        -1.15558E-02,
2731        0.00000E+00,
2732        0.00000E+00,
2733        0.00000E+00,
2734        4.89620E-03,
2735        0.00000E+00,
2736        0.00000E+00,
2737        -1.00616E-02,
2738        -8.21324E-03,
2739        -1.57757E+02,
2740        0.00000E+00,
2741        0.00000E+00,
2742        0.00000E+00,
2743        0.00000E+00,
2744        0.00000E+00,
2745        6.63564E-03,
2746        4.58410E+01,
2747        0.00000E+00,
2748        0.00000E+00,
2749        0.00000E+00,
2750        0.00000E+00,
2751        0.00000E+00,
2752        0.00000E+00,
2753        0.00000E+00,
2754        0.00000E+00,
2755        -2.51280E-02,
2756        0.00000E+00,
2757        0.00000E+00,
2758        0.00000E+00,
2759        0.00000E+00,
2760        0.00000E+00,
2761        0.00000E+00,
2762        0.00000E+00,
2763        0.00000E+00,
2764        0.00000E+00,
2765        0.00000E+00,
2766        0.00000E+00,
2767        9.91215E-03,
2768        0.00000E+00,
2769        0.00000E+00,
2770        0.00000E+00,
2771        0.00000E+00,
2772        -8.73148E-04,
2773        -1.29648E-03,
2774        -7.32026E-05,
2775        0.00000E+00,
2776        0.00000E+00,
2777        0.00000E+00,
2778        0.00000E+00,
2779        0.00000E+00,
2780        0.00000E+00,
2781        0.00000E+00,
2782        -4.68110E-03,
2783        -4.66003E-03,
2784        -1.31567E-03,
2785        -7.39390E-04,
2786        6.32499E-04,
2787        -4.65588E-04,
2788        -1.29785E+00,
2789        -1.57139E+02,
2790        0.00000E+00,
2791        2.58350E-01,
2792        -3.69453E+01,
2793        4.10672E-01,
2794        9.78196E+00,
2795        -1.52064E-01,
2796        -3.85084E+03,
2797        0.00000E+00,
2798        -8.52706E-04,
2799        -1.40945E-03,
2800        -7.26786E-04,
2801        0.00000E+00,
2802        0.00000E+00,
2803        0.00000E+00,
2804        0.00000E+00,
2805        0.00000E+00,
2806        0.00000E+00,
2807        2.00000E+00,
2808    ],
2809    // [4]
2810    [
2811        9.60722E-01,
2812        7.03757E-02,
2813        -3.00266E-02,
2814        0.00000E+00,
2815        0.00000E+00,
2816        0.00000E+00,
2817        0.00000E+00,
2818        0.00000E+00,
2819        0.00000E+00,
2820        2.22671E-02,
2821        4.10423E-02,
2822        0.00000E+00,
2823        0.00000E+00,
2824        -1.63070E+02,
2825        1.06073E-02,
2826        5.40747E-04,
2827        7.79481E-03,
2828        1.44908E+02,
2829        1.51484E-04,
2830        0.00000E+00,
2831        1.97547E-02,
2832        0.00000E+00,
2833        -1.41844E-02,
2834        0.00000E+00,
2835        0.00000E+00,
2836        0.00000E+00,
2837        5.77884E-03,
2838        0.00000E+00,
2839        0.00000E+00,
2840        9.74319E-03,
2841        0.00000E+00,
2842        -2.88015E+03,
2843        0.00000E+00,
2844        0.00000E+00,
2845        0.00000E+00,
2846        0.00000E+00,
2847        0.00000E+00,
2848        -4.44902E-03,
2849        -2.92760E+01,
2850        0.00000E+00,
2851        0.00000E+00,
2852        0.00000E+00,
2853        0.00000E+00,
2854        0.00000E+00,
2855        0.00000E+00,
2856        0.00000E+00,
2857        0.00000E+00,
2858        2.34419E-02,
2859        0.00000E+00,
2860        0.00000E+00,
2861        0.00000E+00,
2862        0.00000E+00,
2863        0.00000E+00,
2864        0.00000E+00,
2865        0.00000E+00,
2866        0.00000E+00,
2867        0.00000E+00,
2868        0.00000E+00,
2869        0.00000E+00,
2870        5.36685E-03,
2871        0.00000E+00,
2872        0.00000E+00,
2873        0.00000E+00,
2874        0.00000E+00,
2875        -4.65325E-04,
2876        -5.50628E-04,
2877        3.31465E-04,
2878        0.00000E+00,
2879        0.00000E+00,
2880        0.00000E+00,
2881        0.00000E+00,
2882        0.00000E+00,
2883        0.00000E+00,
2884        0.00000E+00,
2885        -2.06179E-03,
2886        -3.08575E-03,
2887        -7.93589E-04,
2888        -1.08629E-04,
2889        5.95511E-04,
2890        -9.05050E-04,
2891        1.18997E+00,
2892        4.15924E+01,
2893        0.00000E+00,
2894        -4.72064E-01,
2895        -9.47150E+02,
2896        3.98723E-01,
2897        1.98304E+01,
2898        0.00000E+00,
2899        3.73219E+03,
2900        0.00000E+00,
2901        -1.50040E-03,
2902        -1.14933E-03,
2903        -1.56769E-04,
2904        0.00000E+00,
2905        0.00000E+00,
2906        0.00000E+00,
2907        0.00000E+00,
2908        0.00000E+00,
2909        0.00000E+00,
2910        2.00000E+00,
2911    ],
2912    // [5]
2913    [
2914        1.03123E+00,
2915        -7.05124E-02,
2916        8.71615E-03,
2917        0.00000E+00,
2918        0.00000E+00,
2919        0.00000E+00,
2920        0.00000E+00,
2921        0.00000E+00,
2922        0.00000E+00,
2923        -3.82621E-02,
2924        -9.80975E-03,
2925        0.00000E+00,
2926        0.00000E+00,
2927        2.89286E+01,
2928        9.57341E-03,
2929        0.00000E+00,
2930        0.00000E+00,
2931        8.66153E+01,
2932        7.91938E-04,
2933        0.00000E+00,
2934        0.00000E+00,
2935        0.00000E+00,
2936        4.68917E-03,
2937        0.00000E+00,
2938        0.00000E+00,
2939        0.00000E+00,
2940        7.86638E-03,
2941        0.00000E+00,
2942        0.00000E+00,
2943        9.90827E-03,
2944        0.00000E+00,
2945        6.55573E+01,
2946        0.00000E+00,
2947        0.00000E+00,
2948        0.00000E+00,
2949        0.00000E+00,
2950        0.00000E+00,
2951        0.00000E+00,
2952        -4.00200E+01,
2953        0.00000E+00,
2954        0.00000E+00,
2955        0.00000E+00,
2956        0.00000E+00,
2957        0.00000E+00,
2958        0.00000E+00,
2959        0.00000E+00,
2960        0.00000E+00,
2961        7.07457E-03,
2962        0.00000E+00,
2963        0.00000E+00,
2964        0.00000E+00,
2965        0.00000E+00,
2966        0.00000E+00,
2967        0.00000E+00,
2968        0.00000E+00,
2969        0.00000E+00,
2970        0.00000E+00,
2971        0.00000E+00,
2972        0.00000E+00,
2973        5.72268E-03,
2974        0.00000E+00,
2975        0.00000E+00,
2976        0.00000E+00,
2977        0.00000E+00,
2978        -2.04970E-04,
2979        1.21560E-03,
2980        -8.05579E-06,
2981        0.00000E+00,
2982        0.00000E+00,
2983        0.00000E+00,
2984        0.00000E+00,
2985        0.00000E+00,
2986        0.00000E+00,
2987        0.00000E+00,
2988        -2.49941E-03,
2989        -4.57256E-04,
2990        -1.59311E-04,
2991        2.96481E-04,
2992        -1.77318E-03,
2993        -6.37918E-04,
2994        1.02395E+00,
2995        1.28172E+01,
2996        0.00000E+00,
2997        1.49903E-01,
2998        -2.63818E+01,
2999        0.00000E+00,
3000        4.70628E+01,
3001        -2.22139E-01,
3002        4.82292E-02,
3003        0.00000E+00,
3004        -8.67075E-04,
3005        -5.86479E-04,
3006        5.32462E-04,
3007        0.00000E+00,
3008        0.00000E+00,
3009        0.00000E+00,
3010        0.00000E+00,
3011        0.00000E+00,
3012        0.00000E+00,
3013        2.00000E+00,
3014    ],
3015    // [6]
3016    [
3017        1.00828E+00,
3018        -9.10404E-02,
3019        -2.26549E-02,
3020        0.00000E+00,
3021        0.00000E+00,
3022        0.00000E+00,
3023        0.00000E+00,
3024        0.00000E+00,
3025        0.00000E+00,
3026        -2.32420E-02,
3027        -9.08925E-03,
3028        0.00000E+00,
3029        0.00000E+00,
3030        3.36105E+01,
3031        0.00000E+00,
3032        0.00000E+00,
3033        0.00000E+00,
3034        -1.24957E+01,
3035        -5.87939E-03,
3036        0.00000E+00,
3037        0.00000E+00,
3038        0.00000E+00,
3039        0.00000E+00,
3040        0.00000E+00,
3041        0.00000E+00,
3042        0.00000E+00,
3043        0.00000E+00,
3044        0.00000E+00,
3045        0.00000E+00,
3046        0.00000E+00,
3047        0.00000E+00,
3048        2.79765E+01,
3049        0.00000E+00,
3050        0.00000E+00,
3051        0.00000E+00,
3052        0.00000E+00,
3053        0.00000E+00,
3054        0.00000E+00,
3055        2.01237E+03,
3056        0.00000E+00,
3057        0.00000E+00,
3058        0.00000E+00,
3059        0.00000E+00,
3060        0.00000E+00,
3061        0.00000E+00,
3062        0.00000E+00,
3063        0.00000E+00,
3064        -1.75553E-02,
3065        0.00000E+00,
3066        0.00000E+00,
3067        0.00000E+00,
3068        0.00000E+00,
3069        0.00000E+00,
3070        0.00000E+00,
3071        0.00000E+00,
3072        0.00000E+00,
3073        0.00000E+00,
3074        0.00000E+00,
3075        0.00000E+00,
3076        0.00000E+00,
3077        0.00000E+00,
3078        0.00000E+00,
3079        0.00000E+00,
3080        0.00000E+00,
3081        3.29699E-03,
3082        1.26659E-03,
3083        2.68402E-04,
3084        0.00000E+00,
3085        0.00000E+00,
3086        0.00000E+00,
3087        0.00000E+00,
3088        0.00000E+00,
3089        0.00000E+00,
3090        0.00000E+00,
3091        1.17894E-03,
3092        1.48746E-03,
3093        1.06478E-04,
3094        1.34743E-04,
3095        -2.20939E-03,
3096        -6.23523E-04,
3097        6.36539E-01,
3098        1.13621E+01,
3099        0.00000E+00,
3100        -3.93777E-01,
3101        2.38687E+03,
3102        0.00000E+00,
3103        6.61865E+02,
3104        -1.21434E-01,
3105        9.27608E+00,
3106        0.00000E+00,
3107        1.68478E-04,
3108        1.24892E-03,
3109        1.71345E-03,
3110        0.00000E+00,
3111        0.00000E+00,
3112        0.00000E+00,
3113        0.00000E+00,
3114        0.00000E+00,
3115        0.00000E+00,
3116        2.00000E+00,
3117    ],
3118    // [7]
3119    [
3120        1.57293E+00,
3121        -6.78400E-01,
3122        6.47500E-01,
3123        0.00000E+00,
3124        0.00000E+00,
3125        0.00000E+00,
3126        0.00000E+00,
3127        0.00000E+00,
3128        0.00000E+00,
3129        -7.62974E-02,
3130        -3.60423E-01,
3131        0.00000E+00,
3132        0.00000E+00,
3133        1.28358E+02,
3134        0.00000E+00,
3135        0.00000E+00,
3136        0.00000E+00,
3137        4.68038E+01,
3138        0.00000E+00,
3139        0.00000E+00,
3140        0.00000E+00,
3141        0.00000E+00,
3142        0.00000E+00,
3143        0.00000E+00,
3144        0.00000E+00,
3145        0.00000E+00,
3146        -1.67898E-01,
3147        0.00000E+00,
3148        0.00000E+00,
3149        0.00000E+00,
3150        0.00000E+00,
3151        2.90994E+04,
3152        0.00000E+00,
3153        0.00000E+00,
3154        0.00000E+00,
3155        0.00000E+00,
3156        0.00000E+00,
3157        0.00000E+00,
3158        3.15706E+01,
3159        0.00000E+00,
3160        0.00000E+00,
3161        0.00000E+00,
3162        0.00000E+00,
3163        0.00000E+00,
3164        0.00000E+00,
3165        0.00000E+00,
3166        0.00000E+00,
3167        0.00000E+00,
3168        0.00000E+00,
3169        0.00000E+00,
3170        0.00000E+00,
3171        0.00000E+00,
3172        0.00000E+00,
3173        0.00000E+00,
3174        0.00000E+00,
3175        0.00000E+00,
3176        0.00000E+00,
3177        0.00000E+00,
3178        0.00000E+00,
3179        0.00000E+00,
3180        0.00000E+00,
3181        0.00000E+00,
3182        0.00000E+00,
3183        0.00000E+00,
3184        0.00000E+00,
3185        0.00000E+00,
3186        0.00000E+00,
3187        0.00000E+00,
3188        0.00000E+00,
3189        0.00000E+00,
3190        0.00000E+00,
3191        0.00000E+00,
3192        0.00000E+00,
3193        0.00000E+00,
3194        0.00000E+00,
3195        0.00000E+00,
3196        0.00000E+00,
3197        0.00000E+00,
3198        0.00000E+00,
3199        0.00000E+00,
3200        0.00000E+00,
3201        0.00000E+00,
3202        0.00000E+00,
3203        0.00000E+00,
3204        0.00000E+00,
3205        0.00000E+00,
3206        0.00000E+00,
3207        0.00000E+00,
3208        0.00000E+00,
3209        0.00000E+00,
3210        0.00000E+00,
3211        0.00000E+00,
3212        0.00000E+00,
3213        0.00000E+00,
3214        0.00000E+00,
3215        0.00000E+00,
3216        0.00000E+00,
3217        0.00000E+00,
3218        0.00000E+00,
3219        2.00000E+00,
3220    ],
3221    // [8]
3222    [
3223        8.60028E-01,
3224        3.77052E-01,
3225        0.00000E+00,
3226        0.00000E+00,
3227        0.00000E+00,
3228        0.00000E+00,
3229        0.00000E+00,
3230        0.00000E+00,
3231        0.00000E+00,
3232        -1.17570E+00,
3233        0.00000E+00,
3234        0.00000E+00,
3235        0.00000E+00,
3236        7.77757E-03,
3237        0.00000E+00,
3238        0.00000E+00,
3239        0.00000E+00,
3240        1.01024E+02,
3241        0.00000E+00,
3242        0.00000E+00,
3243        0.00000E+00,
3244        0.00000E+00,
3245        0.00000E+00,
3246        0.00000E+00,
3247        0.00000E+00,
3248        0.00000E+00,
3249        0.00000E+00,
3250        0.00000E+00,
3251        0.00000E+00,
3252        0.00000E+00,
3253        0.00000E+00,
3254        6.54251E+02,
3255        0.00000E+00,
3256        0.00000E+00,
3257        0.00000E+00,
3258        0.00000E+00,
3259        0.00000E+00,
3260        0.00000E+00,
3261        0.00000E+00,
3262        0.00000E+00,
3263        0.00000E+00,
3264        0.00000E+00,
3265        0.00000E+00,
3266        0.00000E+00,
3267        0.00000E+00,
3268        0.00000E+00,
3269        0.00000E+00,
3270        0.00000E+00,
3271        0.00000E+00,
3272        0.00000E+00,
3273        0.00000E+00,
3274        0.00000E+00,
3275        0.00000E+00,
3276        0.00000E+00,
3277        0.00000E+00,
3278        0.00000E+00,
3279        0.00000E+00,
3280        0.00000E+00,
3281        0.00000E+00,
3282        0.00000E+00,
3283        0.00000E+00,
3284        0.00000E+00,
3285        0.00000E+00,
3286        0.00000E+00,
3287        0.00000E+00,
3288        0.00000E+00,
3289        0.00000E+00,
3290        0.00000E+00,
3291        0.00000E+00,
3292        0.00000E+00,
3293        0.00000E+00,
3294        0.00000E+00,
3295        0.00000E+00,
3296        0.00000E+00,
3297        -1.56959E-02,
3298        1.91001E-02,
3299        3.15971E-02,
3300        1.00982E-02,
3301        -6.71565E-03,
3302        2.57693E-03,
3303        1.38692E+00,
3304        2.82132E-01,
3305        0.00000E+00,
3306        0.00000E+00,
3307        3.81511E+02,
3308        0.00000E+00,
3309        0.00000E+00,
3310        0.00000E+00,
3311        0.00000E+00,
3312        0.00000E+00,
3313        0.00000E+00,
3314        0.00000E+00,
3315        0.00000E+00,
3316        0.00000E+00,
3317        0.00000E+00,
3318        0.00000E+00,
3319        0.00000E+00,
3320        0.00000E+00,
3321        0.00000E+00,
3322        2.00000E+00,
3323    ],
3324    // [9]
3325    [
3326        1.06029E+00,
3327        -5.25231E-02,
3328        3.73034E-01,
3329        0.00000E+00,
3330        0.00000E+00,
3331        0.00000E+00,
3332        0.00000E+00,
3333        0.00000E+00,
3334        0.00000E+00,
3335        3.31072E-02,
3336        -3.88409E-01,
3337        0.00000E+00,
3338        0.00000E+00,
3339        -1.65295E+02,
3340        -2.13801E-01,
3341        -4.38916E-02,
3342        -3.22716E-01,
3343        -8.82393E+01,
3344        1.18458E-01,
3345        0.00000E+00,
3346        -4.35863E-01,
3347        0.00000E+00,
3348        0.00000E+00,
3349        0.00000E+00,
3350        0.00000E+00,
3351        0.00000E+00,
3352        -1.19782E-01,
3353        0.00000E+00,
3354        0.00000E+00,
3355        0.00000E+00,
3356        0.00000E+00,
3357        2.62229E+01,
3358        0.00000E+00,
3359        0.00000E+00,
3360        0.00000E+00,
3361        0.00000E+00,
3362        0.00000E+00,
3363        0.00000E+00,
3364        -5.37443E+01,
3365        0.00000E+00,
3366        0.00000E+00,
3367        0.00000E+00,
3368        0.00000E+00,
3369        0.00000E+00,
3370        0.00000E+00,
3371        0.00000E+00,
3372        0.00000E+00,
3373        -4.55788E-01,
3374        0.00000E+00,
3375        0.00000E+00,
3376        0.00000E+00,
3377        0.00000E+00,
3378        0.00000E+00,
3379        0.00000E+00,
3380        0.00000E+00,
3381        0.00000E+00,
3382        0.00000E+00,
3383        0.00000E+00,
3384        0.00000E+00,
3385        0.00000E+00,
3386        0.00000E+00,
3387        0.00000E+00,
3388        0.00000E+00,
3389        0.00000E+00,
3390        3.84009E-02,
3391        3.96733E-02,
3392        0.00000E+00,
3393        0.00000E+00,
3394        0.00000E+00,
3395        0.00000E+00,
3396        0.00000E+00,
3397        0.00000E+00,
3398        0.00000E+00,
3399        0.00000E+00,
3400        5.05494E-02,
3401        7.39617E-02,
3402        1.92200E-02,
3403        -8.46151E-03,
3404        -1.34244E-02,
3405        1.96338E-02,
3406        1.50421E+00,
3407        1.88368E+01,
3408        0.00000E+00,
3409        0.00000E+00,
3410        -5.13114E+01,
3411        0.00000E+00,
3412        0.00000E+00,
3413        0.00000E+00,
3414        0.00000E+00,
3415        0.00000E+00,
3416        5.11923E-02,
3417        3.61225E-02,
3418        0.00000E+00,
3419        0.00000E+00,
3420        0.00000E+00,
3421        0.00000E+00,
3422        0.00000E+00,
3423        0.00000E+00,
3424        0.00000E+00,
3425        2.00000E+00,
3426    ],
3427];
3428
3429/// Semiannual multiplier coefficients (100 terms).
3430pub const SAM_COEFFICIENTS: [f64; 100] = [
3431    1.00000E+00,
3432    1.00000E+00,
3433    1.00000E+00,
3434    1.00000E+00,
3435    1.00000E+00,
3436    1.00000E+00,
3437    1.00000E+00,
3438    1.00000E+00,
3439    1.00000E+00,
3440    1.00000E+00,
3441    1.00000E+00,
3442    1.00000E+00,
3443    1.00000E+00,
3444    1.00000E+00,
3445    1.00000E+00,
3446    1.00000E+00,
3447    1.00000E+00,
3448    1.00000E+00,
3449    1.00000E+00,
3450    1.00000E+00,
3451    1.00000E+00,
3452    1.00000E+00,
3453    1.00000E+00,
3454    1.00000E+00,
3455    1.00000E+00,
3456    1.00000E+00,
3457    1.00000E+00,
3458    1.00000E+00,
3459    1.00000E+00,
3460    1.00000E+00,
3461    1.00000E+00,
3462    1.00000E+00,
3463    1.00000E+00,
3464    1.00000E+00,
3465    1.00000E+00,
3466    1.00000E+00,
3467    1.00000E+00,
3468    1.00000E+00,
3469    1.00000E+00,
3470    1.00000E+00,
3471    1.00000E+00,
3472    1.00000E+00,
3473    1.00000E+00,
3474    1.00000E+00,
3475    1.00000E+00,
3476    1.00000E+00,
3477    1.00000E+00,
3478    1.00000E+00,
3479    1.00000E+00,
3480    1.00000E+00,
3481    0.00000E+00,
3482    0.00000E+00,
3483    0.00000E+00,
3484    0.00000E+00,
3485    0.00000E+00,
3486    0.00000E+00,
3487    0.00000E+00,
3488    0.00000E+00,
3489    0.00000E+00,
3490    0.00000E+00,
3491    0.00000E+00,
3492    0.00000E+00,
3493    0.00000E+00,
3494    0.00000E+00,
3495    0.00000E+00,
3496    0.00000E+00,
3497    0.00000E+00,
3498    0.00000E+00,
3499    0.00000E+00,
3500    0.00000E+00,
3501    0.00000E+00,
3502    0.00000E+00,
3503    0.00000E+00,
3504    0.00000E+00,
3505    0.00000E+00,
3506    0.00000E+00,
3507    0.00000E+00,
3508    0.00000E+00,
3509    0.00000E+00,
3510    0.00000E+00,
3511    0.00000E+00,
3512    0.00000E+00,
3513    0.00000E+00,
3514    0.00000E+00,
3515    0.00000E+00,
3516    0.00000E+00,
3517    0.00000E+00,
3518    0.00000E+00,
3519    0.00000E+00,
3520    0.00000E+00,
3521    0.00000E+00,
3522    0.00000E+00,
3523    0.00000E+00,
3524    0.00000E+00,
3525    0.00000E+00,
3526    0.00000E+00,
3527    0.00000E+00,
3528    0.00000E+00,
3529    0.00000E+00,
3530    0.00000E+00,
3531];
3532
3533/// Middle atmosphere average values (10 terms).
3534pub const MID_ATMO_AVERAGES: [f64; 10] = [
3535    2.61000E+02,
3536    2.64000E+02,
3537    2.29000E+02,
3538    2.17000E+02,
3539    2.17000E+02,
3540    2.23000E+02,
3541    2.86760E+02,
3542    -2.93940E+00,
3543    2.50000E+00,
3544    0.00000E+00,
3545];
3546
3547#[cfg(test)]
3548mod tests {
3549    use super::*;
3550
3551    #[test]
3552    fn array_sizes() {
3553        assert_eq!(TEMP_COEFFICIENTS_K.len(), 150);
3554        assert_eq!(DENSITY_COEFFICIENTS.len(), 9);
3555        assert_eq!(DENSITY_COEFFICIENTS[0].len(), 150);
3556        assert_eq!(GRADIENT_COEFFICIENTS.len(), 150);
3557        assert_eq!(CORRECTION_PARAMS.len(), 2);
3558        assert_eq!(CORRECTION_PARAMS[0].len(), 25);
3559        assert_eq!(TEMP_BOUNDARY.len(), 50);
3560        assert_eq!(DENSITY_BOUNDARY.len(), 8);
3561        assert_eq!(DENSITY_BOUNDARY[0].len(), 10);
3562        assert_eq!(TEMP_NODE_COEFFICIENTS.len(), 4);
3563        assert_eq!(TEMP_NODE_COEFFICIENTS[0].len(), 100);
3564        assert_eq!(MID_ATMO_COEFFICIENTS.len(), 10);
3565        assert_eq!(MID_ATMO_COEFFICIENTS[0].len(), 100);
3566        assert_eq!(SAM_COEFFICIENTS.len(), 100);
3567        assert_eq!(MID_ATMO_AVERAGES.len(), 10);
3568    }
3569
3570    #[test]
3571    fn spot_check_temp_coefficients() {
3572        // First value
3573        assert!((TEMP_COEFFICIENTS_K[0] - 9.86573E-01).abs() < 1e-10);
3574        // Known non-zero interior value (index 13)
3575        assert!((TEMP_COEFFICIENTS_K[13] - (-8.61650E+00)).abs() < 1e-5);
3576        // Large value (index 71)
3577        assert!((TEMP_COEFFICIENTS_K[71] - 2.98618E+04).abs() < 1e-1);
3578    }
3579
3580    #[test]
3581    fn spot_check_density_coefficients_he() {
3582        // DENSITY_COEFFICIENTS[0] = He density, first value
3583        assert!((DENSITY_COEFFICIENTS[0][0] - 1.09979E+00).abs() < 1e-10);
3584    }
3585
3586    #[test]
3587    fn spot_check_temp_boundary_zero_padding() {
3588        // First 10 values are set, rest are zero
3589        assert!((TEMP_BOUNDARY[0] - 1.04130E+03).abs() < 1e-2);
3590        assert!((TEMP_BOUNDARY[9] - 0.0).abs() < 1e-15);
3591        // Zero-padded values
3592        assert!((TEMP_BOUNDARY[10] - 0.0).abs() < 1e-15);
3593        assert!((TEMP_BOUNDARY[49] - 0.0).abs() < 1e-15);
3594    }
3595
3596    #[test]
3597    fn spot_check_mid_atmo_averages() {
3598        assert!((MID_ATMO_AVERAGES[0] - 261.0).abs() < 0.01);
3599        assert!((MID_ATMO_AVERAGES[6] - 286.76).abs() < 0.01);
3600        assert!((MID_ATMO_AVERAGES[7] - (-2.9394)).abs() < 0.001);
3601    }
3602
3603    #[test]
3604    fn sam_first_half_ones_second_half_zeros() {
3605        // SAM_COEFFICIENTS is 50 ones followed by 50 zeros
3606        for i in 0..50 {
3607            assert!(
3608                (SAM_COEFFICIENTS[i] - 1.0).abs() < 1e-10,
3609                "SAM_COEFFICIENTS[{i}] = {}, expected 1.0",
3610                SAM_COEFFICIENTS[i]
3611            );
3612        }
3613        for i in 50..100 {
3614            assert!(
3615                SAM_COEFFICIENTS[i].abs() < 1e-10,
3616                "SAM_COEFFICIENTS[{i}] = {}, expected 0.0",
3617                SAM_COEFFICIENTS[i]
3618            );
3619        }
3620    }
3621
3622    #[test]
3623    fn total_coefficient_count() {
3624        let total = TEMP_COEFFICIENTS_K.len()
3625            + DENSITY_COEFFICIENTS.len() * DENSITY_COEFFICIENTS[0].len()
3626            + GRADIENT_COEFFICIENTS.len()
3627            + CORRECTION_PARAMS.len() * CORRECTION_PARAMS[0].len()
3628            + TEMP_BOUNDARY.len()
3629            + DENSITY_BOUNDARY.len() * DENSITY_BOUNDARY[0].len()
3630            + TEMP_NODE_COEFFICIENTS.len() * TEMP_NODE_COEFFICIENTS[0].len()
3631            + MID_ATMO_COEFFICIENTS.len() * MID_ATMO_COEFFICIENTS[0].len()
3632            + SAM_COEFFICIENTS.len()
3633            + MID_ATMO_AVERAGES.len();
3634        assert_eq!(total, 3340, "Total coefficient count mismatch");
3635    }
3636}