# \[ANN\] SatelliteAnalysis.jl v0.3.0

**URL:** https://discourse.julialang.org/t/ann-satelliteanalysis-jl-v0-3-0/108781
**Category:** Package Announcements
**Tags:** package, satellite
**Created:** [January 13, 2024, 10:54pm UTC](https://discourse.julialang.org/t/ann-satelliteanalysis-jl-v0-3-0/108781 "2024-01-13T22:54:43Z")
**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: [January 13, 2024, 10:54pm UTC](https://discourse.julialang.org/t/ann-satelliteanalysis-jl-v0-3-0/108781/1 "2024-01-13T22:54:44Z")

</div>

Hi!

After a massive rewrite of the [SatelliteToolbox.jl](https://github.com/JuliaSpace/SatelliteToolbox.jl) package, I finally managed to finish the first version of [SatelliteAnalysis.jl](https://github.com/JuliaSpace/SatelliteAnalysis.jl) after the revamp!

The idea was to split the original huge SatelliteToolbox.jl package into smaller ones, each solving a part required for satellite-related analysis. However, some functions did not fit anywhere because they required multiple parts to solve the problem. Hence, I created a package for those cases. In SatelliteAnalysis.jl, many algorithms use the entire SatelliteToolbox.jl ecosystem to perform analysis for space missions.

In the current version, we can:

- Compute the mission beta angle (used in thermal analysis).
- Compute the mission eclipse summary.
- Compute ground facility accesses and gaps to a satellite.
- Compute the ground facility visibility circle.
- Compute the ground trace of a satellite.
- Design orbits (Sun-synchronous, ground-repeating, frozen orbits).

I tried to add some examples in the documentation: [Home · Satellite Analysis](https://juliaspace.github.io/SatelliteAnalysis.jl/stable/)

For example, if someone wants to find all the possible Sun-synchronous, ground-repeating orbits between 700km and 800km that repeat their ground trace in 6 days, at most, to find the best one for their mission, all they have to do is:

```julia
julia> using SatelliteAnalysis

julia> df = design_sun_sync_ground_repeating_orbit(1, 6; minimum_altitude=700e3, maximum_altitude=800e3)
3×7 DataFrame
 Row │ semi_major_axis altitude inclination period rev_per_days adjacent_gt_distance adjacent_gt_angle
     │ Float64 Float64 Float64 Float64 String Float64 Float64
─────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────
   1 │ 7098.09 719.954 98.2747 99.3103 14 + ¹/₂ 1350.87 83.4747
   2 │ 7130.98 752.847 98.4106 100.0 14 + ²/₅ 543.811 39.4254
   3 │ 7153.13 774.988 98.503 100.465 14 + ¹/₃ 910.164 59.7702

```

In the following, I added some figures with the data obtained from the package that was plotted using Makie ecosystem (CairoMakie.jl, GeoMakie.jl, GeoJSON.jl):

 ![amz1_descending_ground_tracks](https://global.discourse-cdn.com/julialang/original/3X/b/f/bf5ec7e98ddcaaca50d564d5e0bbe708bb4c812d.jpeg)

 ![ground_station_visibility_circle](https://global.discourse-cdn.com/julialang/original/3X/5/2/523b10c5a6c57f71830aecbf0beb99884278236b.png)
