using Thesis using SPICE using LinearAlgebra using Dates using PlotlyJS try furnsh("../../spice_files/naif0012.tls") furnsh("../../spice_files/de430.bsp") catch furnsh("spice_files/naif0012.tls") furnsh("spice_files/de430.bsp") end function cost(m::Union{Mission, Mission_Guess}) norm_mass = (m.start_mass - prop(m)[7]) / m.start_mass norm_C3 = ( m.launch_v∞ ⋅ m.launch_v∞ ) / 200. return 3norm_mass + norm_C3 end function get_id(m::Mission) letters = "E" for phase in m.phases letters *= phase.planet.name[1] end letters *= " & " letters *= string(round(cost(m), digits=4)) letters *= " & " letters *= string(round(prop(m)[7], digits=2)) letters *= " & " tof = 0.0 for phase in m.phases tof += phase.tof end letters *= string(round(tof/(86400*365.), digits=3)) letters *= " & " letters *= string(round(m.launch_v∞ ⋅ m.launch_v∞, digits=2)) letters *= " & " letters *= string(round(norm(m.phases[end].v∞_in), digits=3)) letters *= " \\\\" return letters end missions = Vector{Mission}() folders = readdir("/home/connor/projects/thesis/archive/saturn", join=true) for folder in folders try push!(missions, ingest(folder * "/mission")) catch e println("Ingestion failure") end end sorted_missions = sort(missions, by=cost) for mission in sorted_missions println(get_id(mission)) end