Skip to content

Conversation

@asinghvi17
Copy link
Contributor

@asinghvi17 asinghvi17 commented Dec 5, 2025

Summary

  • Add a Dyad external component definition for solar position calculation
  • Refactor the ModelingToolkit component to be more idiomatic

Changes

  • New dyad/solarpositionblock.dyad component definition
  • Improved MTK extension code style

This was all manual and not generated by claude code, it just forked the repo and opened the PR for me

@github-actions
Copy link

github-actions bot commented Dec 5, 2025

Benchmark Results (Julia vlts)

Time benchmarks
main 8580fef... main / 8580fef...
ours/n=100/NOAA 0.0439 ± 0.00059 ms 0.0439 ± 0.00062 ms 1 ± 0.02
ours/n=100/PSA 23.1 ± 1.7 μs 23.3 ± 1.7 μs 0.995 ± 0.1
ours/n=100/SPA 0.332 ± 0.0074 ms 0.332 ± 0.0074 ms 1 ± 0.032
ours/n=100/USNO 0.143 ± 0.0014 ms 0.144 ± 0.0014 ms 0.997 ± 0.014
ours/n=100/Walraven 21.6 ± 0.21 μs 21.6 ± 0.18 μs 1 ± 0.013
ours/n=1000/NOAA 0.424 ± 0.0076 ms 0.423 ± 0.0075 ms 1 ± 0.025
ours/n=1000/PSA 0.215 ± 0.0017 ms 0.216 ± 0.0026 ms 0.995 ± 0.014
ours/n=1000/SPA 3.37 ± 0.0093 ms 3.37 ± 0.0094 ms 1 ± 0.0039
ours/n=1000/USNO 1.45 ± 0.013 ms 1.44 ± 0.012 ms 1.01 ± 0.013
ours/n=1000/Walraven 0.216 ± 0.0075 ms 0.215 ± 0.0076 ms 1 ± 0.05
ours/n=10000/NOAA 4.28 ± 0.013 ms 4.27 ± 0.0093 ms 1 ± 0.0037
ours/n=10000/PSA 2.21 ± 0.0097 ms 2.21 ± 0.0069 ms 0.997 ± 0.0054
ours/n=10000/SPA 0.0338 ± 7.2e-05 s 0.0338 ± 6.7e-05 s 1 ± 0.0029
ours/n=10000/USNO 14.4 ± 0.17 ms 14.4 ± 0.12 ms 1 ± 0.015
ours/n=10000/Walraven 2.19 ± 0.0092 ms 2.18 ± 0.0069 ms 1 ± 0.0053
ours/n=100000/NOAA 0.0437 ± 8.5e-05 s 0.0436 ± 8.3e-05 s 1 ± 0.0027
ours/n=100000/PSA 22.4 ± 0.056 ms 22.4 ± 0.05 ms 1 ± 0.0034
ours/n=100000/SPA 0.34 ± 0.0021 s 0.34 ± 0.0018 s 1 ± 0.0082
ours/n=100000/USNO 0.146 ± 0.0019 s 0.146 ± 0.0018 s 0.998 ± 0.018
ours/n=100000/Walraven 22 ± 0.046 ms 21.9 ± 0.043 ms 1 ± 0.0028
refraction/ARCHER 0.291 ± 0.001 μs 0.291 ± 0.01 μs 1 ± 0.035
refraction/BENNETT 0.291 ± 0.01 μs 0.291 ± 0.001 μs 1 ± 0.035
refraction/MICHALSKY 0.26 ± 0.001 μs 0.26 ± 0.01 μs 1 ± 0.039
refraction/NoRefraction 0.251 ± 0.01 μs 0.251 ± 0.01 μs 1 ± 0.056
refraction/SG2 0.3 ± 0.01 μs 0.3 ± 0.01 μs 1 ± 0.047
single/NOAA 0.481 ± 0.01 μs 0.471 ± 0.001 μs 1.02 ± 0.021
single/PSA 0.26 ± 0.001 μs 0.26 ± 0.011 μs 1 ± 0.042
single/SPA 3.35 ± 0.01 μs 3.31 ± 0.02 μs 1.01 ± 0.0068
single/USNO 1.52 ± 0.029 μs 1.53 ± 0.02 μs 0.993 ± 0.023
single/Walraven 0.241 ± 0.01 μs 0.241 ± 0.01 μs 1 ± 0.059
solposx/n=100/NOAA 3.72 ± 0.072 ms 3.77 ± 0.068 ms 0.986 ± 0.026
solposx/n=100/PSA 2.55 ± 0.048 ms 2.6 ± 0.043 ms 0.982 ± 0.025
solposx/n=100/SPA 3.03 ± 0.029 ms 3.02 ± 0.026 ms 1 ± 0.013
solposx/n=100/USNO 2.89 ± 0.046 ms 2.92 ± 0.044 ms 0.99 ± 0.022
solposx/n=100/Walraven 1.04 ± 0.022 ms 1.07 ± 0.019 ms 0.976 ± 0.027
solposx/n=1000/NOAA 4.39 ± 0.073 ms 4.4 ± 0.077 ms 0.997 ± 0.024
solposx/n=1000/PSA 3.02 ± 0.05 ms 2.98 ± 0.06 ms 1.01 ± 0.027
solposx/n=1000/SPA 7.51 ± 0.045 ms 7.48 ± 0.039 ms 1 ± 0.0079
solposx/n=1000/USNO 6.83 ± 0.066 ms 6.82 ± 0.068 ms 1 ± 0.014
solposx/n=1000/Walraven 1.34 ± 0.032 ms 1.38 ± 0.027 ms 0.977 ± 0.03
solposx/n=10000/NOAA 10.3 ± 0.11 ms 10.3 ± 0.12 ms 0.997 ± 0.016
solposx/n=10000/PSA 6.44 ± 0.071 ms 6.43 ± 0.069 ms 1 ± 0.015
solposx/n=10000/SPA 0.0496 ± 0.00033 s 0.0495 ± 0.0003 s 1 ± 0.009
solposx/n=10000/USNO 0.0446 ± 0.00052 s 0.0446 ± 0.00074 s 1 ± 0.02
solposx/n=10000/Walraven 3.97 ± 0.039 ms 3.96 ± 0.032 ms 1 ± 0.013
solposx/n=100000/NOAA 0.0669 ± 0.0006 s 0.0671 ± 0.00048 s 0.997 ± 0.011
solposx/n=100000/PSA 0.0393 ± 0.00058 s 0.0395 ± 0.0007 s 0.995 ± 0.023
solposx/n=100000/SPA 0.479 ± 0.0075 s 0.476 ± 0.0035 s 1.01 ± 0.017
solposx/n=100000/USNO 0.435 ± 0.021 s 0.432 ± 0.025 s 1.01 ± 0.075
solposx/n=100000/Walraven 29.3 ± 0.28 ms 29.4 ± 0.46 ms 0.997 ± 0.018
time_to_load 0.167 ± 0.0037 s 0.168 ± 0.0045 s 0.994 ± 0.034
Memory benchmarks
main 8580fef... main / 8580fef...
ours/n=100/NOAA 5 allocs: 4.38 kB 5 allocs: 4.38 kB 1
ours/n=100/PSA 3 allocs: 2.62 kB 3 allocs: 2.62 kB 1
ours/n=100/SPA 0.106 k allocs: 6.81 kB 0.106 k allocs: 6.81 kB 1
ours/n=100/USNO 5.2 k allocs: 0.0834 MB 5.2 k allocs: 0.0834 MB 1
ours/n=100/Walraven 3 allocs: 2.62 kB 3 allocs: 2.62 kB 1
ours/n=1000/NOAA 5 allocs: 0.0388 MB 5 allocs: 0.0388 MB 1
ours/n=1000/PSA 3 allocs: 23.8 kB 3 allocs: 23.8 kB 1
ours/n=1000/SPA 1.01 k allocs: 0.0618 MB 1.01 k allocs: 0.0618 MB 1
ours/n=1000/USNO 0.052 M allocs: 0.832 MB 0.052 M allocs: 0.832 MB 1
ours/n=1000/Walraven 3 allocs: 23.8 kB 3 allocs: 23.8 kB 1
ours/n=10000/NOAA 10 allocs: 0.382 MB 10 allocs: 0.382 MB 1
ours/n=10000/PSA 6 allocs: 0.229 MB 6 allocs: 0.229 MB 1
ours/n=10000/SPA 10 k allocs: 0.611 MB 10 k allocs: 0.611 MB 1
ours/n=10000/USNO 0.52 M allocs: 8.32 MB 0.52 M allocs: 8.32 MB 1
ours/n=10000/Walraven 6 allocs: 0.229 MB 6 allocs: 0.229 MB 1
ours/n=100000/NOAA 10 allocs: 3.81 MB 10 allocs: 3.81 MB 1
ours/n=100000/PSA 6 allocs: 2.29 MB 6 allocs: 2.29 MB 1
ours/n=100000/SPA 0.1 M allocs: 6.1 MB 0.1 M allocs: 6.1 MB 1
ours/n=100000/USNO 5.2 M allocs: 0.0812 GB 5.2 M allocs: 0.0812 GB 1
ours/n=100000/Walraven 6 allocs: 2.29 MB 6 allocs: 2.29 MB 1
refraction/ARCHER 0 allocs: 0 B 0 allocs: 0 B
refraction/BENNETT 0 allocs: 0 B 0 allocs: 0 B
refraction/MICHALSKY 0 allocs: 0 B 0 allocs: 0 B
refraction/NoRefraction 0 allocs: 0 B 0 allocs: 0 B
refraction/SG2 0 allocs: 0 B 0 allocs: 0 B
single/NOAA 0 allocs: 0 B 0 allocs: 0 B
single/PSA 0 allocs: 0 B 0 allocs: 0 B
single/SPA 1 allocs: 16 B 1 allocs: 16 B 1
single/USNO 0.052 k allocs: 0.828 kB 0.052 k allocs: 0.828 kB 1
single/Walraven 0 allocs: 0 B 0 allocs: 0 B
solposx/n=100/NOAA 25 allocs: 0.828 kB 25 allocs: 0.828 kB 1
solposx/n=100/PSA 0.06 k allocs: 1.66 kB 0.06 k allocs: 1.66 kB 1
solposx/n=100/SPA 25 allocs: 0.828 kB 25 allocs: 0.828 kB 1
solposx/n=100/USNO 25 allocs: 0.828 kB 25 allocs: 0.828 kB 1
solposx/n=100/Walraven 25 allocs: 0.828 kB 25 allocs: 0.828 kB 1
solposx/n=1000/NOAA 25 allocs: 0.828 kB 25 allocs: 0.828 kB 1
solposx/n=1000/PSA 0.06 k allocs: 1.66 kB 0.06 k allocs: 1.66 kB 1
solposx/n=1000/SPA 25 allocs: 0.828 kB 25 allocs: 0.828 kB 1
solposx/n=1000/USNO 25 allocs: 0.828 kB 25 allocs: 0.828 kB 1
solposx/n=1000/Walraven 25 allocs: 0.828 kB 25 allocs: 0.828 kB 1
solposx/n=10000/NOAA 25 allocs: 0.828 kB 25 allocs: 0.828 kB 1
solposx/n=10000/PSA 0.06 k allocs: 1.66 kB 0.06 k allocs: 1.66 kB 1
solposx/n=10000/SPA 25 allocs: 0.828 kB 25 allocs: 0.828 kB 1
solposx/n=10000/USNO 25 allocs: 0.828 kB 25 allocs: 0.828 kB 1
solposx/n=10000/Walraven 25 allocs: 0.828 kB 25 allocs: 0.828 kB 1
solposx/n=100000/NOAA 25 allocs: 0.828 kB 25 allocs: 0.828 kB 1
solposx/n=100000/PSA 0.06 k allocs: 1.66 kB 0.06 k allocs: 1.66 kB 1
solposx/n=100000/SPA 25 allocs: 0.828 kB 25 allocs: 0.828 kB 1
solposx/n=100000/USNO 25 allocs: 0.828 kB 25 allocs: 0.828 kB 1
solposx/n=100000/Walraven 25 allocs: 0.828 kB 25 allocs: 0.828 kB 1
time_to_load 0.153 k allocs: 14.5 kB 0.153 k allocs: 14.5 kB 1

@github-actions
Copy link

github-actions bot commented Dec 5, 2025

Benchmark Results (Julia v1)

Time benchmarks
main 8580fef... main / 8580fef...
ours/n=100/NOAA 0.0437 ± 0.00039 ms 0.0441 ± 0.0004 ms 0.989 ± 0.013
ours/n=100/PSA 20.7 ± 0.14 μs 20.8 ± 0.17 μs 0.995 ± 0.011
ours/n=100/SPA 0.348 ± 0.0073 ms 0.349 ± 0.0074 ms 0.997 ± 0.03
ours/n=100/USNO 0.138 ± 0.0016 ms 0.137 ± 0.0032 ms 1 ± 0.026
ours/n=100/Walraven 21.7 ± 0.1 μs 21.8 ± 0.13 μs 0.997 ± 0.0075
ours/n=1000/NOAA 0.428 ± 0.0077 ms 0.43 ± 0.0079 ms 0.996 ± 0.026
ours/n=1000/PSA 0.207 ± 0.0076 ms 0.208 ± 0.0076 ms 0.998 ± 0.052
ours/n=1000/SPA 3.54 ± 0.018 ms 3.55 ± 0.018 ms 0.997 ± 0.0071
ours/n=1000/USNO 1.38 ± 0.016 ms 1.37 ± 0.015 ms 1 ± 0.016
ours/n=1000/Walraven 0.219 ± 0.0085 ms 0.219 ± 0.0085 ms 0.998 ± 0.055
ours/n=10000/NOAA 4.31 ± 0.012 ms 4.33 ± 0.012 ms 0.997 ± 0.0039
ours/n=10000/PSA 2.12 ± 0.0085 ms 2.12 ± 0.0085 ms 0.999 ± 0.0057
ours/n=10000/SPA 0.0355 ± 0.00023 s 0.0356 ± 0.00018 s 0.997 ± 0.0082
ours/n=10000/USNO 14.3 ± 0.39 ms 14.1 ± 0.27 ms 1.01 ± 0.034
ours/n=10000/Walraven 2.21 ± 0.019 ms 2.21 ± 0.011 ms 1 ± 0.01
ours/n=100000/NOAA 0.044 ± 0.00056 s 0.0441 ± 0.00068 s 0.998 ± 0.02
ours/n=100000/PSA 21.4 ± 0.38 ms 21.4 ± 0.4 ms 0.999 ± 0.026
ours/n=100000/SPA 0.357 ± 0.0023 s 0.357 ± 0.0022 s 0.999 ± 0.0088
ours/n=100000/USNO 0.142 ± 0.0018 s 0.141 ± 0.0019 s 1.01 ± 0.018
ours/n=100000/Walraven 22.1 ± 0.34 ms 22.1 ± 0.45 ms 1 ± 0.025
refraction/ARCHER 0.281 ± 0.01 μs 0.28 ± 0.001 μs 1 ± 0.036
refraction/BENNETT 0.281 ± 0.01 μs 0.281 ± 0.001 μs 1 ± 0.036
refraction/MICHALSKY 0.25 ± 0.011 μs 0.241 ± 0.01 μs 1.04 ± 0.063
refraction/NoRefraction 0.241 ± 0.01 μs 0.241 ± 0.01 μs 1 ± 0.059
refraction/SG2 0.291 ± 0.01 μs 0.291 ± 0.01 μs 1 ± 0.049
single/NOAA 0.47 ± 0.01 μs 0.471 ± 0.009 μs 0.998 ± 0.029
single/PSA 0.25 ± 0.01 μs 0.25 ± 0.011 μs 1 ± 0.059
single/SPA 3.51 ± 0.011 μs 3.51 ± 0.019 μs 1 ± 0.0063
single/USNO 1.5 ± 0.021 μs 1.49 ± 0.021 μs 1.01 ± 0.02
single/Walraven 0.25 ± 0.01 μs 0.25 ± 0.01 μs 1 ± 0.057
solposx/n=100/NOAA 3.72 ± 0.063 ms 3.76 ± 0.062 ms 0.989 ± 0.023
solposx/n=100/PSA 2.59 ± 0.063 ms 2.63 ± 0.043 ms 0.985 ± 0.029
solposx/n=100/SPA 3 ± 0.022 ms 3 ± 0.021 ms 1 ± 0.01
solposx/n=100/USNO 2.89 ± 0.039 ms 2.92 ± 0.048 ms 0.989 ± 0.021
solposx/n=100/Walraven 1.04 ± 0.019 ms 1.07 ± 0.02 ms 0.973 ± 0.025
solposx/n=1000/NOAA 4.4 ± 0.062 ms 4.42 ± 0.063 ms 0.995 ± 0.02
solposx/n=1000/PSA 3.02 ± 0.067 ms 3.03 ± 0.054 ms 0.997 ± 0.028
solposx/n=1000/SPA 7.47 ± 0.061 ms 7.44 ± 0.092 ms 1 ± 0.015
solposx/n=1000/USNO 6.8 ± 0.066 ms 6.88 ± 0.08 ms 0.988 ± 0.015
solposx/n=1000/Walraven 1.34 ± 0.03 ms 1.37 ± 0.03 ms 0.978 ± 0.031
solposx/n=10000/NOAA 10.5 ± 0.16 ms 10.4 ± 0.13 ms 1 ± 0.02
solposx/n=10000/PSA 6.44 ± 0.095 ms 6.44 ± 0.11 ms 1 ± 0.022
solposx/n=10000/SPA 0.0494 ± 0.00034 s 0.0495 ± 0.00033 s 0.997 ± 0.0096
solposx/n=10000/USNO 0.0451 ± 0.00068 s 0.0452 ± 0.00064 s 0.998 ± 0.021
solposx/n=10000/Walraven 3.97 ± 0.064 ms 3.94 ± 0.044 ms 1.01 ± 0.02
solposx/n=100000/NOAA 0.0677 ± 0.00079 s 0.0682 ± 0.00058 s 0.992 ± 0.014
solposx/n=100000/PSA 0.0393 ± 0.00052 s 0.0393 ± 0.00053 s 0.998 ± 0.019
solposx/n=100000/SPA 0.483 ± 0.0041 s 0.482 ± 0.0029 s 1 ± 0.01
solposx/n=100000/USNO 0.43 ± 0.021 s 0.431 ± 0.023 s 0.998 ± 0.073
solposx/n=100000/Walraven 29.5 ± 0.47 ms 29.7 ± 0.69 ms 0.994 ± 0.028
time_to_load 0.176 ± 0.0033 s 0.176 ± 0.0015 s 0.996 ± 0.021
Memory benchmarks
main 8580fef... main / 8580fef...
ours/n=100/NOAA 10 allocs: 4.53 kB 10 allocs: 4.53 kB 1
ours/n=100/PSA 6 allocs: 2.72 kB 6 allocs: 2.72 kB 1
ours/n=100/SPA 0.112 k allocs: 7 kB 0.112 k allocs: 7 kB 1
ours/n=100/USNO 5.21 k allocs: 0.0835 MB 5.21 k allocs: 0.0835 MB 1
ours/n=100/Walraven 6 allocs: 2.72 kB 6 allocs: 2.72 kB 1
ours/n=1000/NOAA 15 allocs: 0.0385 MB 15 allocs: 0.0385 MB 1
ours/n=1000/PSA 9 allocs: 23.6 kB 9 allocs: 23.6 kB 1
ours/n=1000/SPA 1.02 k allocs: 0.0614 MB 1.02 k allocs: 0.0614 MB 1
ours/n=1000/USNO 0.052 M allocs: 0.832 MB 0.052 M allocs: 0.832 MB 1
ours/n=1000/Walraven 9 allocs: 23.6 kB 9 allocs: 23.6 kB 1
ours/n=10000/NOAA 15 allocs: 0.382 MB 15 allocs: 0.382 MB 1
ours/n=10000/PSA 9 allocs: 0.229 MB 9 allocs: 0.229 MB 1
ours/n=10000/SPA 10 k allocs: 0.611 MB 10 k allocs: 0.611 MB 1
ours/n=10000/USNO 0.52 M allocs: 8.32 MB 0.52 M allocs: 8.32 MB 1
ours/n=10000/Walraven 9 allocs: 0.229 MB 9 allocs: 0.229 MB 1
ours/n=100000/NOAA 15 allocs: 3.82 MB 15 allocs: 3.82 MB 1
ours/n=100000/PSA 9 allocs: 2.29 MB 9 allocs: 2.29 MB 1
ours/n=100000/SPA 0.1 M allocs: 6.1 MB 0.1 M allocs: 6.1 MB 1
ours/n=100000/USNO 5.2 M allocs: 0.0812 GB 5.2 M allocs: 0.0812 GB 1
ours/n=100000/Walraven 9 allocs: 2.29 MB 9 allocs: 2.29 MB 1
refraction/ARCHER 0 allocs: 0 B 0 allocs: 0 B
refraction/BENNETT 0 allocs: 0 B 0 allocs: 0 B
refraction/MICHALSKY 0 allocs: 0 B 0 allocs: 0 B
refraction/NoRefraction 0 allocs: 0 B 0 allocs: 0 B
refraction/SG2 0 allocs: 0 B 0 allocs: 0 B
single/NOAA 0 allocs: 0 B 0 allocs: 0 B
single/PSA 0 allocs: 0 B 0 allocs: 0 B
single/SPA 1 allocs: 16 B 1 allocs: 16 B 1
single/USNO 0.052 k allocs: 0.828 kB 0.052 k allocs: 0.828 kB 1
single/Walraven 0 allocs: 0 B 0 allocs: 0 B
solposx/n=100/NOAA 9 allocs: 0.516 kB 9 allocs: 0.516 kB 1
solposx/n=100/PSA 0.037 k allocs: 1.17 kB 0.037 k allocs: 1.17 kB 1
solposx/n=100/SPA 9 allocs: 0.516 kB 9 allocs: 0.516 kB 1
solposx/n=100/USNO 9 allocs: 0.516 kB 9 allocs: 0.516 kB 1
solposx/n=100/Walraven 9 allocs: 0.516 kB 9 allocs: 0.516 kB 1
solposx/n=1000/NOAA 9 allocs: 0.516 kB 9 allocs: 0.516 kB 1
solposx/n=1000/PSA 0.037 k allocs: 1.17 kB 0.037 k allocs: 1.17 kB 1
solposx/n=1000/SPA 9 allocs: 0.516 kB 9 allocs: 0.516 kB 1
solposx/n=1000/USNO 9 allocs: 0.516 kB 9 allocs: 0.516 kB 1
solposx/n=1000/Walraven 9 allocs: 0.516 kB 9 allocs: 0.516 kB 1
solposx/n=10000/NOAA 9 allocs: 0.516 kB 9 allocs: 0.516 kB 1
solposx/n=10000/PSA 0.037 k allocs: 1.17 kB 0.037 k allocs: 1.17 kB 1
solposx/n=10000/SPA 9 allocs: 0.516 kB 9 allocs: 0.516 kB 1
solposx/n=10000/USNO 9 allocs: 0.516 kB 9 allocs: 0.516 kB 1
solposx/n=10000/Walraven 9 allocs: 0.516 kB 9 allocs: 0.516 kB 1
solposx/n=100000/NOAA 9 allocs: 0.516 kB 9 allocs: 0.516 kB 1
solposx/n=100000/PSA 0.037 k allocs: 1.17 kB 0.037 k allocs: 1.17 kB 1
solposx/n=100000/SPA 9 allocs: 0.516 kB 9 allocs: 0.516 kB 1
solposx/n=100000/USNO 9 allocs: 0.516 kB 9 allocs: 0.516 kB 1
solposx/n=100000/Walraven 9 allocs: 0.516 kB 9 allocs: 0.516 kB 1
time_to_load 0.145 k allocs: 11 kB 0.145 k allocs: 11 kB 1

@github-actions
Copy link

github-actions bot commented Dec 5, 2025

Benchmark Results (Julia vpre)

Time benchmarks
main 8580fef... main / 8580fef...
ours/n=100/NOAA 0.0435 ± 0.00042 ms 0.0431 ± 0.00028 ms 1.01 ± 0.012
ours/n=100/PSA 21.8 ± 0.19 μs 22.4 ± 0.18 μs 0.971 ± 0.012
ours/n=100/SPA 0.524 ± 0.0076 ms 0.526 ± 0.01 ms 0.995 ± 0.024
ours/n=100/USNO 0.141 ± 0.0013 ms 0.143 ± 0.0013 ms 0.983 ± 0.012
ours/n=100/Walraven 21.6 ± 0.13 μs 21.6 ± 0.15 μs 0.999 ± 0.0092
ours/n=1000/NOAA 0.425 ± 0.0075 ms 0.423 ± 0.0076 ms 1 ± 0.025
ours/n=1000/PSA 0.23 ± 0.0034 ms 0.229 ± 0.0035 ms 1.01 ± 0.022
ours/n=1000/SPA 5.34 ± 0.021 ms 5.26 ± 0.023 ms 1.02 ± 0.006
ours/n=1000/USNO 1.42 ± 0.019 ms 1.44 ± 0.028 ms 0.981 ± 0.023
ours/n=1000/Walraven 0.22 ± 0.0069 ms 0.221 ± 0.0075 ms 0.997 ± 0.046
ours/n=10000/NOAA 4.27 ± 0.011 ms 4.25 ± 0.015 ms 1.01 ± 0.0044
ours/n=10000/PSA 2.27 ± 0.033 ms 2.28 ± 0.028 ms 0.994 ± 0.019
ours/n=10000/SPA 0.0528 ± 6.8e-05 s 0.0536 ± 0.00053 s 0.985 ± 0.0098
ours/n=10000/USNO 14.4 ± 0.16 ms 14.7 ± 0.27 ms 0.982 ± 0.021
ours/n=10000/Walraven 2.2 ± 0.0089 ms 2.2 ± 0.014 ms 1 ± 0.0074
ours/n=100000/NOAA 0.044 ± 0.0011 s 0.0434 ± 0.00056 s 1.01 ± 0.028
ours/n=100000/PSA 23 ± 0.48 ms 23.1 ± 0.47 ms 0.998 ± 0.029
ours/n=100000/SPA 0.538 ± 0.0074 s 0.542 ± 0.0017 s 0.994 ± 0.014
ours/n=100000/USNO 0.146 ± 0.0023 s 0.147 ± 0.0009 s 0.997 ± 0.017
ours/n=100000/Walraven 22.1 ± 0.38 ms 22 ± 0.54 ms 1 ± 0.03
refraction/ARCHER 0.28 ± 0.01 μs 0.28 ± 0.01 μs 1 ± 0.051
refraction/BENNETT 0.271 ± 0.011 μs 0.28 ± 0.001 μs 0.968 ± 0.039
refraction/MICHALSKY 0.24 ± 0.01 μs 0.24 ± 0.001 μs 1 ± 0.042
refraction/NoRefraction 0.24 ± 0.01 μs 0.24 ± 0.01 μs 1 ± 0.059
refraction/SG2 0.291 ± 0.001 μs 0.29 ± 0.001 μs 1 ± 0.0049
single/NOAA 0.461 ± 0 μs 0.461 ± 0.01 μs 1 ± 0.022
single/PSA 0.24 ± 0.001 μs 0.24 ± 0.001 μs 1 ± 0.0059
single/SPA 4.91 ± 0.1 μs 5.09 ± 0.11 μs 0.965 ± 0.029
single/USNO 1.52 ± 0.03 μs 1.51 ± 0.02 μs 1.01 ± 0.024
single/Walraven 0.25 ± 0.01 μs 0.25 ± 0.01 μs 1 ± 0.057
solposx/n=100/NOAA 3.8 ± 0.089 ms 3.59 ± 0.064 ms 1.06 ± 0.031
solposx/n=100/PSA 2.6 ± 0.048 ms 2.5 ± 0.042 ms 1.04 ± 0.026
solposx/n=100/SPA 3.05 ± 0.035 ms 3.06 ± 0.026 ms 0.995 ± 0.014
solposx/n=100/USNO 2.94 ± 0.043 ms 2.8 ± 0.039 ms 1.05 ± 0.021
solposx/n=100/Walraven 1.09 ± 0.023 ms 1.02 ± 0.017 ms 1.06 ± 0.029
solposx/n=1000/NOAA 4.49 ± 0.081 ms 4.29 ± 0.079 ms 1.05 ± 0.027
solposx/n=1000/PSA 3.02 ± 0.052 ms 2.91 ± 0.046 ms 1.04 ± 0.024
solposx/n=1000/SPA 7.53 ± 0.052 ms 7.56 ± 0.057 ms 0.996 ± 0.01
solposx/n=1000/USNO 6.85 ± 0.054 ms 6.68 ± 0.098 ms 1.03 ± 0.017
solposx/n=1000/Walraven 1.37 ± 0.026 ms 1.33 ± 0.027 ms 1.03 ± 0.029
solposx/n=10000/NOAA 10.5 ± 0.18 ms 10.3 ± 0.1 ms 1.02 ± 0.02
solposx/n=10000/PSA 6.44 ± 0.067 ms 6.4 ± 0.063 ms 1.01 ± 0.014
solposx/n=10000/SPA 0.05 ± 0.00021 s 0.0494 ± 0.00037 s 1.01 ± 0.0088
solposx/n=10000/USNO 0.0454 ± 0.0005 s 0.0444 ± 0.0006 s 1.02 ± 0.018
solposx/n=10000/Walraven 4.03 ± 0.081 ms 3.96 ± 0.041 ms 1.02 ± 0.023
solposx/n=100000/NOAA 0.067 ± 0.00034 s 0.0672 ± 0.00057 s 0.997 ± 0.0099
solposx/n=100000/PSA 0.04 ± 0.00044 s 0.0391 ± 0.0003 s 1.02 ± 0.014
solposx/n=100000/SPA 0.491 ± 0.0066 s 0.5 ± 0.0034 s 0.983 ± 0.015
solposx/n=100000/USNO 0.436 ± 0.025 s 0.442 ± 0.037 s 0.988 ± 0.1
solposx/n=100000/Walraven 29.9 ± 0.31 ms 30.5 ± 0.64 ms 0.983 ± 0.023
time_to_load 0.135 ± 0.0015 s 0.126 ± 0.00054 s 1.07 ± 0.013
Memory benchmarks
main 8580fef... main / 8580fef...
ours/n=100/NOAA 10 allocs: 4.53 kB 10 allocs: 4.53 kB 1
ours/n=100/PSA 6 allocs: 2.72 kB 6 allocs: 2.72 kB 1
ours/n=100/SPA 0.112 k allocs: 7 kB 0.112 k allocs: 7 kB 1
ours/n=100/USNO 5.21 k allocs: 0.0835 MB 5.21 k allocs: 0.0835 MB 1
ours/n=100/Walraven 6 allocs: 2.72 kB 6 allocs: 2.72 kB 1
ours/n=1000/NOAA 15 allocs: 0.0385 MB 15 allocs: 0.0385 MB 1
ours/n=1000/PSA 9 allocs: 23.6 kB 9 allocs: 23.6 kB 1
ours/n=1000/SPA 1.02 k allocs: 0.0614 MB 1.02 k allocs: 0.0614 MB 1
ours/n=1000/USNO 0.052 M allocs: 0.832 MB 0.052 M allocs: 0.832 MB 1
ours/n=1000/Walraven 9 allocs: 23.6 kB 9 allocs: 23.6 kB 1
ours/n=10000/NOAA 15 allocs: 0.382 MB 15 allocs: 0.382 MB 1
ours/n=10000/PSA 9 allocs: 0.229 MB 9 allocs: 0.229 MB 1
ours/n=10000/SPA 10 k allocs: 0.611 MB 10 k allocs: 0.611 MB 1
ours/n=10000/USNO 0.52 M allocs: 8.32 MB 0.52 M allocs: 8.32 MB 1
ours/n=10000/Walraven 9 allocs: 0.229 MB 9 allocs: 0.229 MB 1
ours/n=100000/NOAA 15 allocs: 3.82 MB 15 allocs: 3.82 MB 1
ours/n=100000/PSA 9 allocs: 2.29 MB 9 allocs: 2.29 MB 1
ours/n=100000/SPA 0.1 M allocs: 6.1 MB 0.1 M allocs: 6.1 MB 1
ours/n=100000/USNO 5.2 M allocs: 0.0812 GB 5.2 M allocs: 0.0812 GB 1
ours/n=100000/Walraven 9 allocs: 2.29 MB 9 allocs: 2.29 MB 1
refraction/ARCHER 0 allocs: 0 B 0 allocs: 0 B
refraction/BENNETT 0 allocs: 0 B 0 allocs: 0 B
refraction/MICHALSKY 0 allocs: 0 B 0 allocs: 0 B
refraction/NoRefraction 0 allocs: 0 B 0 allocs: 0 B
refraction/SG2 0 allocs: 0 B 0 allocs: 0 B
single/NOAA 0 allocs: 0 B 0 allocs: 0 B
single/PSA 0 allocs: 0 B 0 allocs: 0 B
single/SPA 1 allocs: 16 B 1 allocs: 16 B 1
single/USNO 0.052 k allocs: 0.828 kB 0.052 k allocs: 0.828 kB 1
single/Walraven 0 allocs: 0 B 0 allocs: 0 B
solposx/n=100/NOAA 9 allocs: 0.516 kB 9 allocs: 0.516 kB 1
solposx/n=100/PSA 0.037 k allocs: 1.17 kB 0.037 k allocs: 1.17 kB 1
solposx/n=100/SPA 9 allocs: 0.516 kB 9 allocs: 0.516 kB 1
solposx/n=100/USNO 9 allocs: 0.516 kB 9 allocs: 0.516 kB 1
solposx/n=100/Walraven 9 allocs: 0.516 kB 9 allocs: 0.516 kB 1
solposx/n=1000/NOAA 9 allocs: 0.516 kB 9 allocs: 0.516 kB 1
solposx/n=1000/PSA 0.037 k allocs: 1.17 kB 0.037 k allocs: 1.17 kB 1
solposx/n=1000/SPA 9 allocs: 0.516 kB 9 allocs: 0.516 kB 1
solposx/n=1000/USNO 9 allocs: 0.516 kB 9 allocs: 0.516 kB 1
solposx/n=1000/Walraven 9 allocs: 0.516 kB 9 allocs: 0.516 kB 1
solposx/n=10000/NOAA 9 allocs: 0.516 kB 9 allocs: 0.516 kB 1
solposx/n=10000/PSA 0.037 k allocs: 1.17 kB 0.037 k allocs: 1.17 kB 1
solposx/n=10000/SPA 9 allocs: 0.516 kB 9 allocs: 0.516 kB 1
solposx/n=10000/USNO 9 allocs: 0.516 kB 9 allocs: 0.516 kB 1
solposx/n=10000/Walraven 9 allocs: 0.516 kB 9 allocs: 0.516 kB 1
solposx/n=100000/NOAA 9 allocs: 0.516 kB 9 allocs: 0.516 kB 1
solposx/n=100000/PSA 0.037 k allocs: 1.17 kB 0.037 k allocs: 1.17 kB 1
solposx/n=100000/SPA 9 allocs: 0.516 kB 9 allocs: 0.516 kB 1
solposx/n=100000/USNO 9 allocs: 0.516 kB 9 allocs: 0.516 kB 1
solposx/n=100000/Walraven 9 allocs: 0.516 kB 9 allocs: 0.516 kB 1
time_to_load 0.217 k allocs: 13.5 kB 0.217 k allocs: 13.5 kB 1

@codecov
Copy link

codecov bot commented Dec 5, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 99.02%. Comparing base (e612b5a) to head (8580fef).
⚠️ Report is 11 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #31   +/-   ##
=======================================
  Coverage   99.02%   99.02%           
=======================================
  Files          15       15           
  Lines         511      511           
=======================================
  Hits          506      506           
  Misses          5        5           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@langestefan langestefan merged commit ea4c8e1 into JuliaAstro:main Dec 6, 2025
19 checks passed
@asinghvi17 asinghvi17 deleted the as/dyad branch December 6, 2025 12:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants