Table 1.
Periodic inputs selected for the model and their ranges for dataset generation
| DOY Sin and Cos | Seconds Sin and Cos | Long Sin and Cos | LST Sin and Cos | Lat Sin | Lat Cos |
|---|---|---|---|---|---|
| [−1;1] | [−1;1] | [−1;1] | [−1; 1] | [−1;1] | [0;1] |
Table 2.
Non-periodic inputs selected for the model and their ranges for dataset generation before normalization
| Alt, km | F10.7, sfu | F10.7 81a, sfu | Ap, nT |
|---|---|---|---|
| [500;1500] | [56;504] | [61;300] | [0;208] |

Figure 1.
Distribution of input points based on naive uniform distribution of longitude, latitude, and altitude from 500 to 1500 km with the Earth radius taken as 6378 km. There are clearly visible cluster on poles, which should be removed.

Figure 2.
Distribution of input points based on proper distribution of longitude, latitude, and altitude from 500 to 1500 km with the Earth radius taken as 6378 km
Table 3.
Quantile summary (cm−3) of neutral number-density outputs used for network training. O(anom) is anomalous atomic oxygen.
| He | O | N2 | O2 | Ar | H | N | O (anom) | |
|---|---|---|---|---|---|---|---|---|
| Min | 2.99e+02 | 1.25e-08 | 1.19e-23 | 3.42e-29 | 1.11e-40 | 1.37e+03 | 6.84e-10 | 3.58e+01 |
| 5th | 6.63e+04 | 5.70e+01 | 2.75e-05 | 1.24e-08 | 2.23e-14 | 8.56e+03 | 4.05e+00 | 1.00e+03 |
| 25th | 2.16e+05 | 5.02e+03 | 1.05e-01 | 1.18e-04 | 3.29e-09 | 1.67e+04 | 3.58e+02 | 4.57e+03 |
| 50th | 4.76e+05 | 1.01e+05 | 2.52e+01 | 5.58e-02 | 9.26e-06 | 2.96e+04 | 7.40e+03 | 1.38e+04 |
| 75th | 1.08e+06 | 2.08e+06 | 5.06e+03 | 2.40e+01 | 1.86e-02 | 5.63e+04 | 1.16e+05 | 4.03e+04 |
| 95th | 2.83e+06 | 3.77e+07 | 8.74e+05 | 7.98e+03 | 3.17e+01 | 1.56e+05 | 2.49e+06 | 1.69e+05 |
| Max | 1.04e+07 | 4.45e+08 | 9.67e+07 | 2.19e+06 | 1.40e+05 | 9.57e+06 | 2.65e+08 | 2.35e+06 |
Table 4.
Quantile summary (K) of temperature outputs used for network training. Exospheric and altitude temperature quantile data are the same in taken precision.
| Min | 5th | 25th | 50th | 75th | 95th | Max | |
|---|---|---|---|---|---|---|---|
| Temp. | 4.51e+02 | 8.41e+02 | 1.03e+03 | 1.19e+03 | 1.37e+03 | 1.64e+03 | 2.24e+03 |

Figure 3.
Distribution of argon (Ar) number densities before (left) and after (right) normalizations. Here, M stands for 1 million and k for 1 thousand.

Figure 4.
Distribution of hydrogen (H) before (left) and after (right) normalizations. Here, M stands for 1 million.
Table 5.
Neural network structure. Biases enabled in each layer.
| Layer index | Layer type | Input shape | Output shape | Parameters | Activation function |
|---|---|---|---|---|---|
| 0 | Dense | 14 | 64 | 960 | Hardswish |
| 1 | Dense | 64 | 64 | 4160 | Hardswish |
| 2 | Dense | 64 | 64 | 4160 | Hardswish |
| 3 | Dense | 64 | 64 | 4160 | Hardswish |
| 4 | Dense | 64 | 10 | 650 | No activation |
| Total parameter numbers | 14 090 | ||||

Figure 5.
Validation loss on test dataset vs. epochs: MSE and REL (mean relative loss of all output features). Here, “k” means thousand.
Table 6.
Final relative percentage loss for each restored number density output.
| He | O | N2 | O2 | Ar | H | N | O (anom) |
|---|---|---|---|---|---|---|---|
| 0.171% | 0.414% | 0.560% | 0.648% | 0.850% | 0.137% | 0.401% | 0.168% |
Table 7.
Final relative percentage loss for restored temperatures and total mass density
| Temp. exospheric | Temp. at height | Total mass density (ρTotal) |
|---|---|---|
| 0.0469% | 0.0475% | 0.245% |
Table 8.
Evaluation times of compared models for different data. M stands for million.
| Number of NRLMSISE calculations | C++ NRLMSISE time, seconds | Neural network NRLMSISE time, seconds | ||
|---|---|---|---|---|
| CPU 1 thread | CPU 1 thread | CPU 12 threads | GPU CUDA | |
| 100 000 | 0.262 (1× reference) | 0.087 (3.0× boost) | 0.079 (3.3× boost) | 0.142 (1.85× boost) |
| 500 000 | 1.314 (1× reference) | 0.310 (4.2× boost) | 0.192 (6.8× boost) | 0.143 (9.19× boost) |
| 1M | 2.566 (1× reference) | 0.596 (4.3× boost) | 0.324 (7.9× boost) | 0.157 (16.3× boost) |
| 1M × 10 times | 25.598 (1× reference) | 5.646 (4.5× boost) | 2.709 (9.5× boost) | 0.166 (154.2× boost) |
| 1M × 100 times | 258.448 (1× reference) | 57.424 (4.5× boost) | 26.68 (9.7× boost) | 1.034 (250.0× boost) |