Satellites and spacecraft in the vast region between the earth and moon and just beyond - called cislunar space - are crucial for space exploration, scientific advancement and national security. But figuring out where exactly to put them into a stable orbit can be a huge, computationally expensive challenge.
In an open-access database and with publicly available code, researchers at Lawrence Livermore National Laboratory (LLNL) have simulated and published one million orbits in cislunar space. The effort, enabled by supercomputing resources at the Laboratory, provides valuable data that can be used to plan missions, predict how small perturbations might change orbits and monitor space traffic.
To begin, the Space Situational Awareness Python package takes in a range of initial conditions for an orbit, like how elliptical and tilted the orbit is and how far it gets from the earth.
"The point of it was to not assume anything about what types of orbits we want," said author and LLNL scientist Travis Yeager. "We tried to go into it pretending we knew nothing about this space."
From each starting point with a set position and velocity, the simulation steps forward in time in discrete chunks. Because this is an N-body problem involving the earth, moon, sun, radiative forces and the spacecraft, the complex interactions among all components mean there is no exact solution for the system's evolution.
"If you want to know where a satellite is in a week, there's no equation that can actually tell you where it's going to be," said Yeager. "You have to step forward a little bit at a time."
When considering the gravitational forces from the earth and moon, the authors also accounted for differences across each body.
"The Earth is not a point source. It is actually blobby. There is lower gravity over Canada than there is over the Atlantic Ocean," said Yeager. "If we didn't account for blobbiness within the earth for GPS satellites, we couldn't have GPS down to a meter level. You wouldn't even know what road you're driving on."
To generate all one million orbits with six-year lifetimes, it took 1.6 million CPU hours - equivalent to more than 182 years on a single computer. Once they worked through the process, the team ran their simulations in just three days on LLNL's Quartz and Ruby supercomputers.
"The interesting thing about our code is that it is parallelizable, whereas other commercial codes are not," said author and LLNL scientist Denvir Higgins. "We can spread jobs across nodes."
Of the resulting orbits, 54% remained stable for at least one year and 9.7% for six years. But even the unstable orbits in this open database can provide valuable information.
"From a data-science point of view, this is an interesting data set. When you have a million orbits, you can get a really rich analysis using machine learning applications," said Higgins. "You can try to predict the lifetime of the orbit, try to predict stability or try to do anomaly detection to see if an orbit is moving in a strange way."
By analyzing the orbital data, researchers may be able to identify the "busiest intersections," or the most useful positions for a satellite to monitor and direct traffic. This could be especially useful as countries continue to launch satellites without world-wide coordination.
The team aims to tackle some of these questions themselves, but they emphasized that the publicly available code and data allow others to launch in alongside them.
This data was created under work funded by a Laboratory Directed Research and Development project.