Pi Nuessle

Career Stage
Student (postgraduate)
Poster Abstract

The future gamma-ray satellite BurstCube must be user-friendly in terms of predicting where the satellite will be, what it will be pointing at, and how useful the data will be at any time. This program provides answers to "When can I expect the most useful data on [object or area]?" and "What was I able to see at [time]?" As users may not have coding experience, the program was written to accept manual inputs as well as automatic; it was also realized in Python, so that it would be simple to recode. BurstCube, as a cubesat, has very little fuel and small reaction wheels; therefore, prediction, rather than active motion, will be preferable. This program uses well-known algorithms to extrapolate when the satellite will be most useful using past locations and pointings. While there already exist programs to predict location, pointing, beta angle, et. al separately, this program exports all this information to one .csv file, as well as importing that satellite’s current location to improve predictions. It handles each parameter in an independent code block to prevent possible numerical issues, and then unites, comma-separates, and exports the data. As a test, we used three years of predicted beta angles to compare how the beta angle affects the amount of time spent in background anomalies. The code currently predicts all programmed parameters quite well, but only within two weeks of the TLE file used to calibrate it. Beyond that, data “drifts” away from reality due to nonlinear effects the algorithms do not consider. Thus, while the program is quite intuitive, it only has a limited range of usefulness due to not taking all effects into account. The program now gives a warning for this source of uncertainty but does not prevent users from executing the code anyway.

Plain text summary
A Prediction Code for the BurstCube Satellite, by Pi Nuessle, mentored by Dr. Judith Racusin, NASA Goddard. Presented to Royal Astronomical Society.
What is BurstCube? Many space telescopes observe in the x-ray and gamma ray, because the ozone layer effectively shields us from them. BurstCube is a relatively inexpensive satellite that would expand our ability to observe more high-energy events and corroborate the ones we already detect. It’s a type of CubeStat, a 6U (20×30×10cm), that can share the rocket as a “rideshare” payload; it can even just be “tossed” off the ISS into orbit with a special arm or ejector. The planned mission in 2022 is only one year, so all the programming must be ready to go before launch
This code will serve as a starting point for the science operations software. The science and operations teams always need to know the satellite’s orientation and position to know what it was, is, or will be looking at. There are areas, namely the Southern Atlantic Anomaly caused by the Van Allen Belts, where the satellite will need to be turned off. The angle to the Sun (i.e. beta angle) will also be needed to estimate the power level. The code itself is written in Python to maximize accessibility by other teams. It uses SGP4, a first-order Euler method, to predict the position, which places a soft limit on the time period of usability. It will implement quaternion propagation to fully account for the reaction wheels, orbital precession, etc. when predicting the pointing. A simple function is used to find the beta angle for the solar panels. There follows a map of the earth, showing an overlay of the FERMI and NICER Southern Atlantic Anomalies. The satellite orbit is shown to vary evenly between fifty and negative fifty degrees latitude.
When BurstCube does trigger, we get a light curve from each of the four detectors with coarse energy resolution. These outputs, along with the localization code, is used to pinpoint the gamma-ray source. The code follows these steps: ask the user about the position and time. Ask the user when to get information about. The code then figures out the latitude and longitude BurstCube will be at on the requested date. It figures out the beta angle. It calculates the pointing at that time. It estimates if the satellite will be in a background anomaly. Finally, the program outputs all information to a .csv file. There is also a version of the code that steps through a year of data, each time outputting an annual adjustment to the beta angle to correct for nodal precession. There is included an example image from FERMI GBM displaying the slight difference in the twelve detectors that we can use to locate the burst.
On the final slide, entitled Code Checks, there are three graphics. The first compares the histograms of time spend in the two SAA definitions; while they agree on an average of eleven percent of the day, the FERMI graph appears more normal, while the NICER slowly rises in a triangle shape. A graph of the beta angle over time, displaying BurstCube's orbit and nodal precession is also included. Finally, there is a graph, displaying the fraction of time BurstCube is predicted to spend in each Southern Atlantic Anomaly vs. the beta angle. It is vaguely arch shaped; the correlations and p-values are given as 0.005 and 0.007 and 0.9 and 0.8, respectively, i.e. they are uncorrelated. Finally, the author thanks Judy Racusin, Sean Griffin, Sean Semper, Hasnaa Khalifi, Jeremy Perkins, StackOverflow, STLTracker, and the NASA Thermal and Fluids Analysis Workshop.
Poster Title
A Prediction Code for the BurstCube Satellite
Tags
Astronomy
Astrophysics
Data Science
Remote Sensing
Url
nuessle167@gwu.edu