This code has been developed by Vahid Nateghi and Matteo Manzi. It is associated with the paper submitted to "Advances in Space Research", whose preprint is available here.
The SET HASDM density data are provided for scientific use courtesy of Space Environment Technologies.
This project was generated with python-package-template
In the context of the commercial activities performed in Low-Earth Orbit, a region of space of a few hundred kilometers of altitude, because the space traffic is increasing, it is important for us to obtain a model of the density field of the atmosphere, as the motion of the satellites in this orbital regime is strongly influenced by atmospheric drag, which is a function of the atmospheric density.
While such models, based on first principles, already exist, they are complex and require a lot of computations; at the same time, more empirical models are less accurate.
The trade-off proposed in this work, called reduced-order modeling, enables us to obtain a compressed representation of the density field, which can be used to construct predictive models, to perform uncertainty quantification and estimate the position of spacecraft in the future taking into account our knowledge of the environment and our availability of observation data.
We here focus on non-linear methods, to perform the compression, using Machine Learning Methods. In particular, the use of Neural Networks is compared with the use of Support Vector Machine Methods. Interestingly, for the datasets investigated, the latter technique is not only much more efficient, but also more accurate.
Please install git-lfs and use this command to clone our repository:
git lfs clone https://github.com/crunchdao/thermospheric-density-reduced-order-modeling.git
Makefile
contains functions for faster development.
1. Install all dependencies and pre-commit hooks
Install requirements:
make install
Pre-commit hooks could be installed after git init
via
make pre-commit-install
2. Codestyle
Automatic formatting uses pyupgrade
, isort
and black
.
make codestyle
# or use synonym
make formatting
Codestyle checks only, without rewriting files:
make check-codestyle
Note:
check-codestyle
usesisort
,black
anddarglint
library
Update all dev libraries to the latest version using one comand
make update-dev-deps
3. Cleanup
Delete pycache files
make pycache-remove
Remove package build
make build-remove
Delete .DS_STORE files
make dsstore-remove
Remove .mypycache
make mypycache-remove
Or to remove all above run:
make cleanup