# \[ANN\] SatelliteToolbox v0.6.3

**URL:** <https://discourse.julialang.org/t/ann-satellitetoolbox-v0-6-3/29760>\
**Category:** Astro/Space\
**Created:** [October 11, 2019, 2:07am UTC](https://discourse.julialang.org/t/ann-satellitetoolbox-v0-6-3/29760 "2019-10-11T02:07:35Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Ronis\_BR](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ronis_br/32/50999_2.png) [@Ronis\_BR](https://discourse.julialang.org/u/Ronis_BR)\
**Post date:** [October 11, 2019, 2:07am UTC](https://discourse.julialang.org/t/ann-satellitetoolbox-v0-6-3/29760/1 "2019-10-11T02:07:35Z")

</div>

Hi!

I have just tagged the v0.6.3 of [SatelliteToolbox.jl](https://github.com/JuliaSpace/SatelliteToolbox.jl) (it should be accepted soon, the PR can be seen [here](https://github.com/JuliaRegistries/General/pull/4274)). This is a very interesting release. The modifications were:

- A bug in eclipse time computation was fixed.
- The function `ground_station_visible` now accepts `SVector`.
- The eccentricity was not being printed in TLEs.
- The function that checks if a satellite is inside the visibility circle of a ground station has been renamed to `ground_station_visible`. The old one is now marked as deprecated.
- The function that computes the beta angle has been renamed to `beta_angle`. The old one is now marked as deprecated.
- The function that computes the eclipse times has been renamed to `eclipse_time_summary`. The old one is now marked as deprecated.
- The orbit propagator API now has the function `epoch` that returns the current epoch of a propagator.
- The accesses to ground stations can now be computed using the function `ground_station_accesses`.
- It is now possible to select what kind of perturbations are desired when computing the beta angle in function `beta_angle`.
- Add the simplified dipole model to compute the geomagnetic field.
- The function `propagate_to_epoch!` can now be used with `OrbitPropagatorJ4`.
- The function `JDtoDate` now uses the native function `julian2datetime` to convert between Date to Julian date represented  
in `DateTime` format.
- The eclipse time computation algorithm was drastically improved by adding an edge find mechanism, leading to an algorithm 3x faster.
- This version support Julia 1.0 and 1.2. The support for  
Julia 1.1 has been dropped.

The most interesting part was, for sure, the algorithm to compute the ground station access. For example, if you want to know when the Brazilian satellite SCD-1 will have access to the Brazilian ground station at Cuiabá, you just need to:

```julia
# Define the ground station.
cuiaba = (deg2rad(-15.55500), deg2rad(-56.0696), 273.03)

# Define the propagator.
tle = tle"""
SCD 1
1 22490U 93009B 19283.72957809 .00000231 00000-0 13179-4 0 9999
2 22490 24.9691 136.4834 0042805 261.1830 162.1761 14.44560213407992
"""

orbp = init_orbit_propagator(Val{:sgp4}, tle[1])

# List the accesses during 2 days.
list_ground_station_accesses(orbp, cuiaba, 2*86400, TEME(), PEF(), θ = 5*pi/180)

```

leading to:

```julia
┌──────────┬─────────────────────────┬─────────────────────────┬────────────────┐
│ Access # │ Beginning (UTC) │ End (UTC) │ Duration [min] │
├──────────┼─────────────────────────┼─────────────────────────┼────────────────┤
│ 1 │ 2019-10-10T22:57:32.66 │ 2019-10-10T23:05:54.075 │ 8.357 │
│ 2 │ 2019-10-11T00:41:36.595 │ 2019-10-11T00:53:52.822 │ 12.270 │
│ 3 │ 2019-10-11T02:27:40.489 │ 2019-10-11T02:40:09.275 │ 12.480 │
│ 4 │ 2019-10-11T04:14:42.492 │ 2019-10-11T04:26:17.149 │ 11.578 │
│ 5 │ 2019-10-11T06:01:34.032 │ 2019-10-11T06:13:04.633 │ 11.510 │
│ 6 │ 2019-10-11T07:47:44.417 │ 2019-10-11T08:00:09.721 │ 12.422 │
│ 7 │ 2019-10-11T09:33:56.086 │ 2019-10-11T09:46:23.688 │ 12.460 │
│ 8 │ 2019-10-11T11:21:34.239 │ 2019-10-11T11:30:47.698 │ 9.224 │
│ MIN 9 │ 2019-10-11T22:09:51.491 │ 2019-10-11T22:16:30.49 │ 6.650 │
│ 10 │ 2019-10-11T23:53:14.971 │ 2019-10-12T00:05:14.082 │ 11.985 │
│ MAX 11 │ 2019-10-12T01:39:02.105 │ 2019-10-12T01:51:40.532 │ 12.640 │
│ 12 │ 2019-10-12T03:25:58.731 │ 2019-10-12T03:37:44.508 │ 11.763 │
│ 13 │ 2019-10-12T05:12:58.174 │ 2019-10-12T05:24:22.434 │ 11.404 │
│ 14 │ 2019-10-12T06:59:15.646 │ 2019-10-12T07:11:28.356 │ 12.212 │
│ 15 │ 2019-10-12T08:45:22.226 │ 2019-10-12T08:57:56.066 │ 12.564 │
│ 16 │ 2019-10-12T10:32:33.561 │ 2019-10-12T10:42:46.681 │ 10.219 │
├──────────┼─────────────────────────┼─────────────────────────┼────────────────┤
│ │ │ Minimum access │ 6.650 │
│ │ │ Mean access │ 11.234 │
│ │ │ Maximum access │ 12.640 │
├──────────┼─────────────────────────┼─────────────────────────┼────────────────┤
│ │ │ Total access │ 179.738 │
└──────────┴─────────────────────────┴─────────────────────────┴────────────────┘

```

It is also possible to compute the accesses to multiple stations and to obtain merged accesses times, _i.e._ like they are one (see the keyword `reduction` of the function `ground_station_accesses`).

There are also another new feature: a way to compute the geomagnetic field using a simplified dipole model `geomag_dipole`. This is useful for computations that does not require high accuracy, because the model is blazing fast.
