Coder Social home page Coder Social logo

aerospaceresearch / orbitdeterminator Goto Github PK

View Code? Open in Web Editor NEW
176.0 31.0 112.0 30.5 MB

determination of satellite orbits and more

License: MIT License

Python 3.41% Jupyter Notebook 96.59%
satellite-orbits orbit-determination orbital-mechanics hacktoberfest

orbitdeterminator's Introduction

Orbitdeterminator: Automated satellite orbit determination

Codacy Badge Build Status Documentation Status codecov

Quick Start

orbitdeterminator is a package written in python3 for determining orbit of satellites based on positional data. Various filtering and determination algorithms are available for satellite operators to choose from.

Installation Instructions

orbitdeterminator runs on Windoes, Linux and MacOs. Some minor adaptions on the presented commands need to be done by you for your OS. Run the following commands to install orbitdeterminator:

Step 1: Download/Clone the repository

https://github.com/aerospaceresearch/orbitdeterminator/

Step 2: Change directory to orbitdeterminator

cd orbitdeterminator

Step 3: Install required dependencies

python setup.py install

or manually install with

pip install -r requirements.txt

Contribute:

GitHub pull requests GitHub issues Zulip

PRs are welcomed. For contributing to orbitdeterminator refer CONTRIBUTING.md. If there are any issues or ideas they can be addressed through the issues or in chat room.

orbitdeterminator's People

Contributors

aakash525 avatar alexandros23kazantzidis avatar apak-00 avatar archithadge avatar aryadas98 avatar codacy-badger avatar curious-nikhil avatar hornig avatar krishna-birla avatar nileshchat avatar perezhz avatar petioptrv avatar rak183 avatar sayantan108 avatar sbrki avatar subhayu99 avatar varshini2305 avatar vidhanarya avatar xshreesh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

orbitdeterminator's Issues

Installing orbitdeterminator on a iMacPro

I'm attempting to install orbitdeterminator on an iMacPro running Python 3.6 (Anaconda) under Mac OS X ver. 10.14.3. The problem I'm having is when it comes to PyKep.

I installed PyKep using conda. It installs PyKep ver. 2.3. When I do the install, I get the following messages:

(base) Samuels-Mac-Pro:~ user$ cd orbitdeterminator
(base) Samuels-Mac-Pro:orbitdeterminator user$ python setup.py install
running install
running bdist_egg
running egg_info
creating orbitdeterminator.egg-info
writing orbitdeterminator.egg-info/PKG-INFO
writing dependency_links to orbitdeterminator.egg-info/dependency_links.txt
writing requirements to orbitdeterminator.egg-info/requires.txt
writing top-level names to orbitdeterminator.egg-info/top_level.txt
writing manifest file 'orbitdeterminator.egg-info/SOURCES.txt'
reading manifest file 'orbitdeterminator.egg-info/SOURCES.txt'
writing manifest file 'orbitdeterminator.egg-info/SOURCES.txt'
installing library code to build/bdist.macosx-10.9-x86_64/egg
running install_lib
running build_py
creating build
creating build/lib
creating build/lib/orbitdeterminator
copying orbitdeterminator/automated.py -> build/lib/orbitdeterminator
copying orbitdeterminator/init.py -> build/lib/orbitdeterminator
copying orbitdeterminator/main.py -> build/lib/orbitdeterminator
creating build/lib/orbitdeterminator/filters
copying orbitdeterminator/filters/init.py -> build/lib/orbitdeterminator/filters
copying orbitdeterminator/filters/triple_moving_average.py -> build/lib/orbitdeterminator/filters
copying orbitdeterminator/filters/sav_golay.py -> build/lib/orbitdeterminator/filters
creating build/lib/orbitdeterminator/util
copying orbitdeterminator/util/input_transf.py -> build/lib/orbitdeterminator/util
copying orbitdeterminator/util/teme_to_ecef.py -> build/lib/orbitdeterminator/util
copying orbitdeterminator/util/tle_kep_state.py -> build/lib/orbitdeterminator/util
copying orbitdeterminator/util/golay_window.py -> build/lib/orbitdeterminator/util
copying orbitdeterminator/util/anom_conv.py -> build/lib/orbitdeterminator/util
copying orbitdeterminator/util/init.py -> build/lib/orbitdeterminator/util
copying orbitdeterminator/util/rkf78.py -> build/lib/orbitdeterminator/util
copying orbitdeterminator/util/read_data.py -> build/lib/orbitdeterminator/util
copying orbitdeterminator/util/kep_state.py -> build/lib/orbitdeterminator/util
copying orbitdeterminator/util/rkf5.py -> build/lib/orbitdeterminator/util
copying orbitdeterminator/util/new_tle_kep_state.py -> build/lib/orbitdeterminator/util
copying orbitdeterminator/util/state_kep.py -> build/lib/orbitdeterminator/util
creating build/lib/orbitdeterminator/tests
copying orbitdeterminator/tests/test_sav_golay.py -> build/lib/orbitdeterminator/tests
copying orbitdeterminator/tests/init.py -> build/lib/orbitdeterminator/tests
copying orbitdeterminator/tests/test_lamberts_kalman.py -> build/lib/orbitdeterminator/tests
copying orbitdeterminator/tests/test_orbit_trajectory.py -> build/lib/orbitdeterminator/tests
copying orbitdeterminator/tests/test_sgp4.py -> build/lib/orbitdeterminator/tests
copying orbitdeterminator/tests/test_input_transf.py -> build/lib/orbitdeterminator/tests
copying orbitdeterminator/tests/test_check_keplerian.py -> build/lib/orbitdeterminator/tests
copying orbitdeterminator/tests/test_ellipse_fit.py -> build/lib/orbitdeterminator/tests
copying orbitdeterminator/tests/test_kalman.py -> build/lib/orbitdeterminator/tests
copying orbitdeterminator/tests/test_gibbsMethod.py -> build/lib/orbitdeterminator/tests
copying orbitdeterminator/tests/test_statekep_kepstate.py -> build/lib/orbitdeterminator/tests
copying orbitdeterminator/tests/test_filters.py -> build/lib/orbitdeterminator/tests
copying orbitdeterminator/tests/check_sgp4.py -> build/lib/orbitdeterminator/tests
creating build/lib/orbitdeterminator/kep_determination
copying orbitdeterminator/kep_determination/interpolation.py -> build/lib/orbitdeterminator/kep_determination
copying orbitdeterminator/kep_determination/init.py -> build/lib/orbitdeterminator/kep_determination
copying orbitdeterminator/kep_determination/lamberts_kalman.py -> build/lib/orbitdeterminator/kep_determination
copying orbitdeterminator/kep_determination/ellipse_fit.py -> build/lib/orbitdeterminator/kep_determination
copying orbitdeterminator/kep_determination/gibbsMethod.py -> build/lib/orbitdeterminator/kep_determination
creating build/bdist.macosx-10.9-x86_64
creating build/bdist.macosx-10.9-x86_64/egg
creating build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator
creating build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/filters
copying build/lib/orbitdeterminator/filters/init.py -> build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/filters
copying build/lib/orbitdeterminator/filters/triple_moving_average.py -> build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/filters
copying build/lib/orbitdeterminator/filters/sav_golay.py -> build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/filters
creating build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/util
copying build/lib/orbitdeterminator/util/input_transf.py -> build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/util
copying build/lib/orbitdeterminator/util/teme_to_ecef.py -> build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/util
copying build/lib/orbitdeterminator/util/tle_kep_state.py -> build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/util
copying build/lib/orbitdeterminator/util/golay_window.py -> build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/util
copying build/lib/orbitdeterminator/util/anom_conv.py -> build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/util
copying build/lib/orbitdeterminator/util/init.py -> build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/util
copying build/lib/orbitdeterminator/util/rkf78.py -> build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/util
copying build/lib/orbitdeterminator/util/read_data.py -> build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/util
copying build/lib/orbitdeterminator/util/kep_state.py -> build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/util
copying build/lib/orbitdeterminator/util/rkf5.py -> build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/util
copying build/lib/orbitdeterminator/util/new_tle_kep_state.py -> build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/util
copying build/lib/orbitdeterminator/util/state_kep.py -> build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/util
copying build/lib/orbitdeterminator/automated.py -> build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator
creating build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/tests
copying build/lib/orbitdeterminator/tests/test_sav_golay.py -> build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/tests
copying build/lib/orbitdeterminator/tests/init.py -> build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/tests
copying build/lib/orbitdeterminator/tests/test_lamberts_kalman.py -> build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/tests
copying build/lib/orbitdeterminator/tests/test_orbit_trajectory.py -> build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/tests
copying build/lib/orbitdeterminator/tests/test_sgp4.py -> build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/tests
copying build/lib/orbitdeterminator/tests/test_input_transf.py -> build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/tests
copying build/lib/orbitdeterminator/tests/test_check_keplerian.py -> build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/tests
copying build/lib/orbitdeterminator/tests/test_ellipse_fit.py -> build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/tests
copying build/lib/orbitdeterminator/tests/test_kalman.py -> build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/tests
copying build/lib/orbitdeterminator/tests/test_gibbsMethod.py -> build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/tests
copying build/lib/orbitdeterminator/tests/test_statekep_kepstate.py -> build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/tests
copying build/lib/orbitdeterminator/tests/test_filters.py -> build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/tests
copying build/lib/orbitdeterminator/tests/check_sgp4.py -> build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/tests
copying build/lib/orbitdeterminator/init.py -> build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator
creating build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/kep_determination
copying build/lib/orbitdeterminator/kep_determination/interpolation.py -> build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/kep_determination
copying build/lib/orbitdeterminator/kep_determination/init.py -> build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/kep_determination
copying build/lib/orbitdeterminator/kep_determination/lamberts_kalman.py -> build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/kep_determination
copying build/lib/orbitdeterminator/kep_determination/ellipse_fit.py -> build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/kep_determination
copying build/lib/orbitdeterminator/kep_determination/gibbsMethod.py -> build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/kep_determination
copying build/lib/orbitdeterminator/main.py -> build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator
byte-compiling build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/filters/init.py to init.cpython-36.pyc
byte-compiling build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/filters/triple_moving_average.py to triple_moving_average.cpython-36.pyc
byte-compiling build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/filters/sav_golay.py to sav_golay.cpython-36.pyc
byte-compiling build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/util/input_transf.py to input_transf.cpython-36.pyc
byte-compiling build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/util/teme_to_ecef.py to teme_to_ecef.cpython-36.pyc
byte-compiling build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/util/tle_kep_state.py to tle_kep_state.cpython-36.pyc
byte-compiling build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/util/golay_window.py to golay_window.cpython-36.pyc
byte-compiling build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/util/anom_conv.py to anom_conv.cpython-36.pyc
byte-compiling build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/util/init.py to init.cpython-36.pyc
byte-compiling build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/util/rkf78.py to rkf78.cpython-36.pyc
byte-compiling build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/util/read_data.py to read_data.cpython-36.pyc
byte-compiling build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/util/kep_state.py to kep_state.cpython-36.pyc
byte-compiling build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/util/rkf5.py to rkf5.cpython-36.pyc
byte-compiling build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/util/new_tle_kep_state.py to new_tle_kep_state.cpython-36.pyc
byte-compiling build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/util/state_kep.py to state_kep.cpython-36.pyc
byte-compiling build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/automated.py to automated.cpython-36.pyc
byte-compiling build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/tests/test_sav_golay.py to test_sav_golay.cpython-36.pyc
byte-compiling build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/tests/init.py to init.cpython-36.pyc
byte-compiling build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/tests/test_lamberts_kalman.py to test_lamberts_kalman.cpython-36.pyc
byte-compiling build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/tests/test_orbit_trajectory.py to test_orbit_trajectory.cpython-36.pyc
byte-compiling build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/tests/test_sgp4.py to test_sgp4.cpython-36.pyc
byte-compiling build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/tests/test_input_transf.py to test_input_transf.cpython-36.pyc
byte-compiling build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/tests/test_check_keplerian.py to test_check_keplerian.cpython-36.pyc
byte-compiling build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/tests/test_ellipse_fit.py to test_ellipse_fit.cpython-36.pyc
byte-compiling build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/tests/test_kalman.py to test_kalman.cpython-36.pyc
byte-compiling build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/tests/test_gibbsMethod.py to test_gibbsMethod.cpython-36.pyc
byte-compiling build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/tests/test_statekep_kepstate.py to test_statekep_kepstate.cpython-36.pyc
byte-compiling build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/tests/test_filters.py to test_filters.cpython-36.pyc
byte-compiling build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/tests/check_sgp4.py to check_sgp4.cpython-36.pyc
byte-compiling build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/init.py to init.cpython-36.pyc
byte-compiling build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/kep_determination/interpolation.py to interpolation.cpython-36.pyc
byte-compiling build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/kep_determination/init.py to init.cpython-36.pyc
byte-compiling build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/kep_determination/lamberts_kalman.py to lamberts_kalman.cpython-36.pyc
byte-compiling build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/kep_determination/ellipse_fit.py to ellipse_fit.cpython-36.pyc
byte-compiling build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/kep_determination/gibbsMethod.py to gibbsMethod.cpython-36.pyc
byte-compiling build/bdist.macosx-10.9-x86_64/egg/orbitdeterminator/main.py to main.cpython-36.pyc
creating build/bdist.macosx-10.9-x86_64/egg/EGG-INFO
copying orbitdeterminator.egg-info/PKG-INFO -> build/bdist.macosx-10.9-x86_64/egg/EGG-INFO
copying orbitdeterminator.egg-info/SOURCES.txt -> build/bdist.macosx-10.9-x86_64/egg/EGG-INFO
copying orbitdeterminator.egg-info/dependency_links.txt -> build/bdist.macosx-10.9-x86_64/egg/EGG-INFO
copying orbitdeterminator.egg-info/requires.txt -> build/bdist.macosx-10.9-x86_64/egg/EGG-INFO
copying orbitdeterminator.egg-info/top_level.txt -> build/bdist.macosx-10.9-x86_64/egg/EGG-INFO
zip_safe flag not set; analyzing archive contents...
orbitdeterminator.filters.pycache.sav_golay.cpython-36: module references file
orbitdeterminator.filters.pycache.triple_moving_average.cpython-36: module references file
orbitdeterminator.kep_determination.pycache.gibbsMethod.cpython-36: module references file
orbitdeterminator.kep_determination.pycache.interpolation.cpython-36: module references file
orbitdeterminator.kep_determination.pycache.lamberts_kalman.cpython-36: module references file
orbitdeterminator.tests.pycache.check_sgp4.cpython-36: module references file
orbitdeterminator.tests.pycache.test_check_keplerian.cpython-36: module references file
orbitdeterminator.tests.pycache.test_ellipse_fit.cpython-36: module references file
orbitdeterminator.tests.pycache.test_filters.cpython-36: module references file
orbitdeterminator.tests.pycache.test_gibbsMethod.cpython-36: module references file
orbitdeterminator.tests.pycache.test_input_transf.cpython-36: module references file
orbitdeterminator.tests.pycache.test_kalman.cpython-36: module references file
orbitdeterminator.tests.pycache.test_lamberts_kalman.cpython-36: module references file
orbitdeterminator.tests.pycache.test_orbit_trajectory.cpython-36: module references file
orbitdeterminator.tests.pycache.test_sav_golay.cpython-36: module references file
orbitdeterminator.tests.pycache.test_sgp4.cpython-36: module references file
orbitdeterminator.tests.pycache.test_statekep_kepstate.cpython-36: module references file
orbitdeterminator.util.pycache.input_transf.cpython-36: module references file
creating dist
creating 'dist/orbitdeterminator-1.0-py3.6.egg' and adding 'build/bdist.macosx-10.9-x86_64/egg' to it
removing 'build/bdist.macosx-10.9-x86_64/egg' (and everything under it)
Processing orbitdeterminator-1.0-py3.6.egg
creating /Users/user/anaconda3/lib/python3.6/site-packages/orbitdeterminator-1.0-py3.6.egg
Extracting orbitdeterminator-1.0-py3.6.egg to /Users/user/anaconda3/lib/python3.6/site-packages
Adding orbitdeterminator 1.0 to easy-install.pth file

Installed /Users/user/anaconda3/lib/python3.6/site-packages/orbitdeterminator-1.0-py3.6.egg
Processing dependencies for orbitdeterminator==1.0
Searching for pykep
Reading https://pypi.org/simple/pykep/
No local packages or working download links found for pykep
error: Could not find suitable distribution for Requirement.parse('pykep')
(base) Samuels-Mac-Pro:orbitdeterminator user$

Is there a way of working around this?

Any suggestions?

Sam Dupree.

Documentation and package layout

As I commented in the chat, although the package documentation is deployed in Read the docs it is currently failing as I saw here: https://readthedocs.org/projects/orbit-determinator/

Documentation is fundamental if we want a project to be useful for external users and none experienced ones. But is not only that, it helps contributors to have a general idea on the package, how to run different examples and what is still needed to to.

I saw that the package contains examples, tests, docs but they are not really well organized. Also the README.md could be improved to attract more people to the project.

Therefore my suggestions are:

  • Create a good docs layout
  • Improve README.md adding different sections such us: definition, better installation guide, contributors section, brief examples, contact section...
  • Organize the package following this ideas: https://blog.ionelmc.ro/2014/05/25/python-packaging/

Tell me what you think ๐Ÿš€

one central place for orbital calculations

Hi,

during the years, the code grew with several places for almost the same calculations.

just two examples:
https://github.com/aerospaceresearch/orbitdeterminator/blob/master/orbitdeterminator/kep_determination/gauss_method.py#L100-L135
https://github.com/aerospaceresearch/orbitdeterminator/blob/master/orbitdeterminator/kep_determination/gauss_method.py#L552-L640
and
https://github.com/aerospaceresearch/orbitdeterminator/blob/master/orbitdeterminator/kep_determination/orbital_elements.py

maybe there are even more.

it is time to clean that up a bit, make them more universal, and find a better place for it.

so the tasks are:
identify the different duplicates.
find a better, central location
implement an universal approach (by calling them, by naming convention and more.
testing them that they keep the expected results.

input file format auto detect

parser.add_argument('-f', '--file_path', type=str, help="path to .csv data file", default='orbit.csv')

currently, the default testcase is a simple .csv file.
but there are more like the IOD file formats or .json formated files (including multi station observations.

it would be nice to have a function that can automatically detect the format.

pytest fail after installing orbitdeterminator on MacPro (2019)

Attempting to install Orbitdeterminator on a Mac Pro (2019) running Mac OS X Catalina (10.15.6) under the Anaconda environment.

I began the installation by creating an environment for Orbitdeterminator called OrbDet under Python 3.6. The installation was successful as depicted in the listing that follows.

Last login: Fri Aug 14 01:42:03 on ttys000
(base) user@Samuels-Mac-Pro ~ % conda create -n OrbDet python=3.6
Collecting package metadata (current_repodata.json): done
Solving environment: done

## Package Plan ##

  environment location: /Users/user/opt/anaconda3/envs/OrbDet

  added / updated specs:
    - python=3.6


The following NEW packages will be INSTALLED:

  ca-certificates    conda-forge/osx-64::ca-certificates-2020.6.20-hecda079_0
  certifi            conda-forge/osx-64::certifi-2020.6.20-py36h9f0ad1d_0
  libcxx             conda-forge/osx-64::libcxx-10.0.1-h5f48129_0
  libffi             conda-forge/osx-64::libffi-3.2.1-hb1e8313_1007
  ncurses            conda-forge/osx-64::ncurses-6.2-hb1e8313_1
  openssl            conda-forge/osx-64::openssl-1.1.1g-haf1e3a3_1
  pip                conda-forge/noarch::pip-20.2.2-py_0
  python             conda-forge/osx-64::python-3.6.11-hc38f9c5_2_cpython
  python_abi         conda-forge/osx-64::python_abi-3.6-1_cp36m
  readline           conda-forge/osx-64::readline-8.0-h0678c8f_2
  setuptools         conda-forge/osx-64::setuptools-49.6.0-py36h9f0ad1d_0
  sqlite             conda-forge/osx-64::sqlite-3.32.3-h960bd1c_1
  tk                 conda-forge/osx-64::tk-8.6.10-hb0a8c7a_0
  wheel              conda-forge/noarch::wheel-0.34.2-py_1
  xz                 conda-forge/osx-64::xz-5.2.5-haf1e3a3_1
  zlib               conda-forge/osx-64::zlib-1.2.11-1007


Proceed ([y]/n)? y

Preparing transaction: done
Verifying transaction: done
Executing transaction: done
#
# To activate this environment, use
#
#     $ conda activate OrbDet
#
# To deactivate an active environment, use
#
#     $ conda deactivate

(base) user@Samuels-Mac-Pro ~ % conda activate OrbDet               
(OrbDet) user@Samuels-Mac-Pro ~ % pip install llvmlite --prefer-binary
Collecting llvmlite
  Using cached llvmlite-0.34.0-cp36-cp36m-macosx_10_9_x86_64.whl (18.4 MB)
Installing collected packages: llvmlite
Successfully installed llvmlite-0.34.0
(OrbDet) user@Samuels-Mac-Pro ~ % git clone https://github.com/aerospaceresearch/orbitdeterminator/
Cloning into 'orbitdeterminator'...
remote: Enumerating objects: 350, done.
remote: Counting objects: 100% (350/350), done.
remote: Compressing objects: 100% (286/286), done.
remote: Total 4319 (delta 233), reused 166 (delta 56), pack-reused 3969
Receiving objects: 100% (4319/4319), 26.82 MiB | 32.27 MiB/s, done.
Resolving deltas: 100% (2919/2919), done.
(OrbDet) user@Samuels-Mac-Pro ~ % cd orbitdeterminator
(OrbDet) user@Samuels-Mac-Pro orbitdeterminator % conda install pykep==2.1
Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Collecting package metadata (repodata.json): done
Solving environment: done

## Package Plan ##

  environment location: /Users/user/opt/anaconda3/envs/OrbDet

  added / updated specs:
    - pykep==2.1


The following NEW packages will be INSTALLED:

  boost              conda-forge/osx-64::boost-1.66.0-py36_1
  boost-cpp          conda-forge/osx-64::boost-cpp-1.66.0-1
  bzip2              conda-forge/osx-64::bzip2-1.0.8-haf1e3a3_2
  icu                conda-forge/osx-64::icu-58.2-h0a44026_1000
  libblas            conda-forge/osx-64::libblas-3.8.0-17_openblas
  libcblas           conda-forge/osx-64::libcblas-3.8.0-17_openblas
  libgfortran        conda-forge/osx-64::libgfortran-4.0.0-2
  liblapack          conda-forge/osx-64::liblapack-3.8.0-17_openblas
  libopenblas        conda-forge/osx-64::libopenblas-0.3.10-openmp_h63d9170_4
  llvm-openmp        conda-forge/osx-64::llvm-openmp-10.0.1-h28b9765_0
  numpy              conda-forge/osx-64::numpy-1.19.1-py36h4a66613_0
  pykep              conda-forge/osx-64::pykep-2.1-py36_1


Proceed ([y]/n)? y

Preparing transaction: done
Verifying transaction: done
Executing transaction: done
(OrbDet) user@Samuels-Mac-Pro orbitdeterminator % conda install matplotlib
Collecting package metadata (current_repodata.json): done
Solving environment: done

## Package Plan ##

  environment location: /Users/user/opt/anaconda3/envs/OrbDet

  added / updated specs:
    - matplotlib


The following NEW packages will be INSTALLED:

  cycler             conda-forge/noarch::cycler-0.10.0-py_2
  freetype           conda-forge/osx-64::freetype-2.10.2-h8da9a1a_0
  jpeg               conda-forge/osx-64::jpeg-9d-h0b31af3_0
  kiwisolver         conda-forge/osx-64::kiwisolver-1.2.0-py36h863e41a_0
  lcms2              conda-forge/osx-64::lcms2-2.11-h174193d_0
  libpng             conda-forge/osx-64::libpng-1.6.37-hb0a8c7a_2
  libtiff            conda-forge/osx-64::libtiff-4.1.0-h2ae36a8_6
  libwebp-base       conda-forge/osx-64::libwebp-base-1.1.0-h0b31af3_3
  lz4-c              conda-forge/osx-64::lz4-c-1.9.2-h4a8c4bd_1
  matplotlib         conda-forge/osx-64::matplotlib-3.3.0-1
  matplotlib-base    conda-forge/osx-64::matplotlib-base-3.3.0-py36h534ab7b_1
  olefile            conda-forge/noarch::olefile-0.46-py_0
  pillow             conda-forge/osx-64::pillow-7.2.0-py36h2ae5dfa_1
  pyparsing          conda-forge/noarch::pyparsing-2.4.7-pyh9f0ad1d_0
  python-dateutil    conda-forge/noarch::python-dateutil-2.8.1-py_0
  six                conda-forge/noarch::six-1.15.0-pyh9f0ad1d_0
  tornado            conda-forge/osx-64::tornado-6.0.4-py36h37b9a7d_1
  zstd               conda-forge/osx-64::zstd-1.4.5-h0384e3a_2


Proceed ([y]/n)? y

Preparing transaction: done
Verifying transaction: done
Executing transaction: done
(OrbDet) user@Samuels-Mac-Pro orbitdeterminator % pip install -r requirements.txt

Collecting https://cdn.mysql.com/Downloads/Connector-Python/mysql-connector-python-1.0.12.tar.gz (from -r requirements.txt (line 17))
  Using cached https://cdn.mysql.com/Downloads/Connector-Python/mysql-connector-python-1.0.12.tar.gz (230 kB)
Collecting astropy==3.0.3
  Using cached astropy-3.0.3-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (7.5 MB)
Collecting attrs==17.4.0
  Using cached attrs-17.4.0-py2.py3-none-any.whl (31 kB)
Collecting colorama==0.3.9
  Using cached colorama-0.3.9-py2.py3-none-any.whl (20 kB)
Requirement already satisfied: cycler==0.10.0 in /Users/user/opt/anaconda3/envs/OrbDet/lib/python3.6/site-packages (from -r requirements.txt (line 4)) (0.10.0)
Collecting numpy==1.15.4
  Using cached numpy-1.15.4-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (24.5 MB)
Collecting pluggy==0.6.0
  Using cached pluggy-0.6.0-py3-none-any.whl (13 kB)
Collecting poliastro==0.9.1
  Using cached poliastro-0.9.1-py3-none-any.whl (76 kB)
Collecting py==1.5.2
  Using cached py-1.5.2-py2.py3-none-any.whl (88 kB)
Collecting pyparsing==2.2.0
  Using cached pyparsing-2.2.0-py2.py3-none-any.whl (56 kB)
Collecting pytest==3.4.0
  Using cached pytest-3.4.0-py2.py3-none-any.whl (188 kB)
Collecting python-dateutil==2.7.3
  Using cached python_dateutil-2.7.3-py2.py3-none-any.whl (211 kB)
Collecting pytz==2018.3
  Using cached pytz-2018.3-py2.py3-none-any.whl (509 kB)
Collecting scipy==1.0.0
  Using cached scipy-1.0.0-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (16.7 MB)
Processing /Users/user/Library/Caches/pip/wheels/19/1b/70/aa7b902255109898392ec189d0de477d9222dcc49eaea815f1/sgp4-1.4-py3-none-any.whl
Collecting six==1.11.0
  Using cached six-1.11.0-py2.py3-none-any.whl (10 kB)
Collecting beautifulsoup4==4.6
  Using cached beautifulsoup4-4.6.0-py3-none-any.whl (86 kB)
Collecting requests
  Using cached requests-2.24.0-py2.py3-none-any.whl (61 kB)
Collecting inquirer
  Using cached inquirer-2.7.0-py2.py3-none-any.whl (31 kB)
Requirement already satisfied: matplotlib>=2.0 in /Users/user/opt/anaconda3/envs/OrbDet/lib/python3.6/site-packages (from poliastro==0.9.1->-r requirements.txt (line 7)) (3.3.0)
Collecting numba>=0.25; implementation_name == "cpython"
  Using cached numba-0.50.1-cp36-cp36m-macosx_10_14_x86_64.whl (2.1 MB)
Collecting pandas
  Using cached pandas-1.1.0-cp36-cp36m-macosx_10_9_x86_64.whl (10.6 MB)
Collecting plotly
  Using cached plotly-4.9.0-py2.py3-none-any.whl (12.9 MB)
Processing /Users/user/Library/Caches/pip/wheels/48/67/ed/21bb8af8724f9889e7f1f0bb77093a9a71b3f9296574a14837/jplephem-2.14-py3-none-any.whl
Processing /Users/user/Library/Caches/pip/wheels/7f/e1/15/2f09f04a8f604d9579d65109f0d034790c581b88515136235f/CALLHORIZONS-1.1.1-py3-none-any.whl
Requirement already satisfied: setuptools in /Users/user/opt/anaconda3/envs/OrbDet/lib/python3.6/site-packages (from pytest==3.4.0->-r requirements.txt (line 10)) (49.6.0.post20200814)
Collecting urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1
  Using cached urllib3-1.25.10-py2.py3-none-any.whl (127 kB)
Collecting idna<3,>=2.5
  Using cached idna-2.10-py2.py3-none-any.whl (58 kB)
Collecting chardet<4,>=3.0.2
  Using cached chardet-3.0.4-py2.py3-none-any.whl (133 kB)
Requirement already satisfied: certifi>=2017.4.17 in /Users/user/opt/anaconda3/envs/OrbDet/lib/python3.6/site-packages (from requests->-r requirements.txt (line 18)) (2020.6.20)
Collecting python-editor==1.0.4
  Using cached python_editor-1.0.4-py3-none-any.whl (4.9 kB)
Collecting readchar==2.0.1
  Using cached readchar-2.0.1-py3-none-any.whl (6.9 kB)
Collecting blessed==1.17.6
  Using cached blessed-1.17.6-py2.py3-none-any.whl (76 kB)
Requirement already satisfied: kiwisolver>=1.0.1 in /Users/user/opt/anaconda3/envs/OrbDet/lib/python3.6/site-packages (from matplotlib>=2.0->poliastro==0.9.1->-r requirements.txt (line 7)) (1.2.0)
Requirement already satisfied: pillow>=6.2.0 in /Users/user/opt/anaconda3/envs/OrbDet/lib/python3.6/site-packages (from matplotlib>=2.0->poliastro==0.9.1->-r requirements.txt (line 7)) (7.2.0)
Collecting llvmlite<0.34,>=0.33.0.dev0
  Using cached llvmlite-0.33.0-cp36-cp36m-macosx_10_9_x86_64.whl (17.3 MB)
Processing /Users/user/Library/Caches/pip/wheels/ac/cb/8a/b27bf6323e2f4c462dcbf77d70b7c5e7868a7fbe12871770cf/retrying-1.3.3-py3-none-any.whl
Collecting wcwidth>=0.1.4
  Using cached wcwidth-0.2.5-py2.py3-none-any.whl (30 kB)
Building wheels for collected packages: mysql-connector-python
  Building wheel for mysql-connector-python (setup.py) ... done
  Created wheel for mysql-connector-python: filename=mysql_connector_python-1.0.12-py3-none-any.whl size=67307 sha256=a45534493ebd63d5aecd2e38b411422ab894e7fd60418f801b3fd578717aee3c
  Stored in directory: /Users/user/Library/Caches/pip/wheels/e4/e6/5b/da539652b3aff77375c113aecbfa951e2538f94ca30a2caa38
Successfully built mysql-connector-python
Installing collected packages: numpy, astropy, attrs, colorama, pluggy, beautifulsoup4, llvmlite, numba, pytz, six, python-dateutil, pandas, scipy, urllib3, idna, chardet, requests, retrying, plotly, jplephem, callhorizons, poliastro, py, pyparsing, pytest, sgp4, python-editor, readchar, wcwidth, blessed, inquirer, mysql-connector-python
  Attempting uninstall: numpy
    Found existing installation: numpy 1.19.1
    Uninstalling numpy-1.19.1:
      Successfully uninstalled numpy-1.19.1
  Attempting uninstall: llvmlite
    Found existing installation: llvmlite 0.34.0
    Uninstalling llvmlite-0.34.0:
      Successfully uninstalled llvmlite-0.34.0
  Attempting uninstall: six
    Found existing installation: six 1.15.0
    Uninstalling six-1.15.0:
      Successfully uninstalled six-1.15.0
  Attempting uninstall: python-dateutil
    Found existing installation: python-dateutil 2.8.1
    Uninstalling python-dateutil-2.8.1:
      Successfully uninstalled python-dateutil-2.8.1
  Attempting uninstall: pyparsing
    Found existing installation: pyparsing 2.4.7
    Uninstalling pyparsing-2.4.7:
      Successfully uninstalled pyparsing-2.4.7
Successfully installed astropy-3.0.3 attrs-17.4.0 beautifulsoup4-4.6.0 blessed-1.17.6 callhorizons-1.1.1 chardet-3.0.4 colorama-0.3.9 idna-2.10 inquirer-2.7.0 jplephem-2.14 llvmlite-0.33.0 mysql-connector-python-1.0.12 numba-0.50.1 numpy-1.15.4 pandas-1.1.0 plotly-4.9.0 pluggy-0.6.0 poliastro-0.9.1 py-1.5.2 pyparsing-2.2.0 pytest-3.4.0 python-dateutil-2.7.3 python-editor-1.0.4 pytz-2018.3 readchar-2.0.1 requests-2.24.0 retrying-1.3.3 scipy-1.0.0 sgp4-1.4 six-1.11.0 urllib3-1.25.10 wcwidth-0.2.5
(OrbDet) user@Samuels-Mac-Pro orbitdeterminator %

The problem occurs when I attempt to test the install as follows.

(OrbDet) user@Samuels-Mac-Pro orbitdeterminator % pytest
==================================================================================================================== test session starts =====================================================================================================================
platform darwin -- Python 3.6.11, pytest-3.4.0, py-1.5.2, pluggy-0.6.0
rootdir: /Users/user/orbitdeterminator, inifile:
collected 15 items / 6 errors                                                                                                                                                                                                                                

=========================================================================================================================== ERRORS ===========================================================================================================================
______________________________________________________________________________________________ ERROR collecting orbitdeterminator/tests/test_check_keplerian.py ______________________________________________________________________________________________
ImportError while importing test module '/Users/user/orbitdeterminator/orbitdeterminator/tests/test_check_keplerian.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
orbitdeterminator/tests/test_check_keplerian.py:4: in <module>
    from orbitdeterminator.kep_determination import lamberts_kalman
orbitdeterminator/kep_determination/lamberts_kalman.py:12: in <module>
    import matplotlib.pylab as plt
../opt/anaconda3/envs/OrbDet/lib/python3.6/site-packages/matplotlib/pylab.py:35: in <module>
    from matplotlib import cbook, mlab, pyplot as plt
../opt/anaconda3/envs/OrbDet/lib/python3.6/site-packages/matplotlib/pyplot.py:36: in <module>
    import matplotlib.colorbar
../opt/anaconda3/envs/OrbDet/lib/python3.6/site-packages/matplotlib/colorbar.py:44: in <module>
    import matplotlib.contour as contour
../opt/anaconda3/envs/OrbDet/lib/python3.6/site-packages/matplotlib/contour.py:17: in <module>
    import matplotlib.text as text
../opt/anaconda3/envs/OrbDet/lib/python3.6/site-packages/matplotlib/text.py:16: in <module>
    from .textpath import TextPath  # Unused, but imported by others.
../opt/anaconda3/envs/OrbDet/lib/python3.6/site-packages/matplotlib/textpath.py:11: in <module>
    from matplotlib.mathtext import MathTextParser
../opt/anaconda3/envs/OrbDet/lib/python3.6/site-packages/matplotlib/mathtext.py:27: in <module>
    from PIL import Image
../opt/anaconda3/envs/OrbDet/lib/python3.6/site-packages/PIL/Image.py:94: in <module>
    from . import _imaging as core
E   ImportError: dlopen(/Users/user/opt/anaconda3/envs/OrbDet/lib/python3.6/site-packages/PIL/_imaging.cpython-36m-darwin.so, 2): Library not loaded: @rpath/libtiff.5.dylib
E     Referenced from: /Users/user/opt/anaconda3/envs/OrbDet/lib/python3.6/site-packages/PIL/_imaging.cpython-36m-darwin.so
E     Reason: Incompatible library version: _imaging.cpython-36m-darwin.so requires version 11.0.0 or later, but libtiff.5.dylib provides version 10.0.0
________________________________________________________________________________________________ ERROR collecting orbitdeterminator/tests/test_ellipse_fit.py ________________________________________________________________________________________________
ImportError while importing test module '/Users/user/orbitdeterminator/orbitdeterminator/tests/test_ellipse_fit.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
orbitdeterminator/tests/test_ellipse_fit.py:11: in <module>
    from kep_determination.ellipse_fit import determine_kep
orbitdeterminator/kep_determination/ellipse_fit.py:8: in <module>
    import matplotlib.pyplot as plt
../opt/anaconda3/envs/OrbDet/lib/python3.6/site-packages/matplotlib/pyplot.py:36: in <module>
    import matplotlib.colorbar
../opt/anaconda3/envs/OrbDet/lib/python3.6/site-packages/matplotlib/colorbar.py:44: in <module>
    import matplotlib.contour as contour
../opt/anaconda3/envs/OrbDet/lib/python3.6/site-packages/matplotlib/contour.py:17: in <module>
    import matplotlib.text as text
../opt/anaconda3/envs/OrbDet/lib/python3.6/site-packages/matplotlib/text.py:16: in <module>
    from .textpath import TextPath  # Unused, but imported by others.
../opt/anaconda3/envs/OrbDet/lib/python3.6/site-packages/matplotlib/textpath.py:11: in <module>
    from matplotlib.mathtext import MathTextParser
../opt/anaconda3/envs/OrbDet/lib/python3.6/site-packages/matplotlib/mathtext.py:27: in <module>
    from PIL import Image
../opt/anaconda3/envs/OrbDet/lib/python3.6/site-packages/PIL/Image.py:94: in <module>
    from . import _imaging as core
E   ImportError: dlopen(/Users/user/opt/anaconda3/envs/OrbDet/lib/python3.6/site-packages/PIL/_imaging.cpython-36m-darwin.so, 2): Library not loaded: @rpath/libtiff.5.dylib
E     Referenced from: /Users/user/opt/anaconda3/envs/OrbDet/lib/python3.6/site-packages/PIL/_imaging.cpython-36m-darwin.so
E     Reason: Incompatible library version: _imaging.cpython-36m-darwin.so requires version 11.0.0 or later, but libtiff.5.dylib provides version 10.0.0
__________________________________________________________________________________________________ ERROR collecting orbitdeterminator/tests/test_filters.py __________________________________________________________________________________________________
ImportError while importing test module '/Users/user/orbitdeterminator/orbitdeterminator/tests/test_filters.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
orbitdeterminator/tests/test_filters.py:5: in <module>
    from orbitdeterminator.filters import triple_moving_average as tma
orbitdeterminator/filters/triple_moving_average.py:11: in <module>
    import matplotlib.pyplot as plt
../opt/anaconda3/envs/OrbDet/lib/python3.6/site-packages/matplotlib/pyplot.py:36: in <module>
    import matplotlib.colorbar
../opt/anaconda3/envs/OrbDet/lib/python3.6/site-packages/matplotlib/colorbar.py:44: in <module>
    import matplotlib.contour as contour
../opt/anaconda3/envs/OrbDet/lib/python3.6/site-packages/matplotlib/contour.py:17: in <module>
    import matplotlib.text as text
../opt/anaconda3/envs/OrbDet/lib/python3.6/site-packages/matplotlib/text.py:16: in <module>
    from .textpath import TextPath  # Unused, but imported by others.
../opt/anaconda3/envs/OrbDet/lib/python3.6/site-packages/matplotlib/textpath.py:11: in <module>
    from matplotlib.mathtext import MathTextParser
../opt/anaconda3/envs/OrbDet/lib/python3.6/site-packages/matplotlib/mathtext.py:27: in <module>
    from PIL import Image
../opt/anaconda3/envs/OrbDet/lib/python3.6/site-packages/PIL/Image.py:94: in <module>
    from . import _imaging as core
E   ImportError: dlopen(/Users/user/opt/anaconda3/envs/OrbDet/lib/python3.6/site-packages/PIL/_imaging.cpython-36m-darwin.so, 2): Library not loaded: @rpath/libtiff.5.dylib
E     Referenced from: /Users/user/opt/anaconda3/envs/OrbDet/lib/python3.6/site-packages/PIL/_imaging.cpython-36m-darwin.so
E     Reason: Incompatible library version: _imaging.cpython-36m-darwin.so requires version 11.0.0 or later, but libtiff.5.dylib provides version 10.0.0
__________________________________________________________________________________________________ ERROR collecting orbitdeterminator/tests/test_kalman.py ___________________________________________________________________________________________________
ImportError while importing test module '/Users/user/orbitdeterminator/orbitdeterminator/tests/test_kalman.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
orbitdeterminator/tests/test_kalman.py:4: in <module>
    from orbitdeterminator.kep_determination import lamberts_kalman
orbitdeterminator/kep_determination/lamberts_kalman.py:12: in <module>
    import matplotlib.pylab as plt
../opt/anaconda3/envs/OrbDet/lib/python3.6/site-packages/matplotlib/pylab.py:35: in <module>
    from matplotlib import cbook, mlab, pyplot as plt
../opt/anaconda3/envs/OrbDet/lib/python3.6/site-packages/matplotlib/pyplot.py:36: in <module>
    import matplotlib.colorbar
../opt/anaconda3/envs/OrbDet/lib/python3.6/site-packages/matplotlib/colorbar.py:44: in <module>
    import matplotlib.contour as contour
../opt/anaconda3/envs/OrbDet/lib/python3.6/site-packages/matplotlib/contour.py:17: in <module>
    import matplotlib.text as text
../opt/anaconda3/envs/OrbDet/lib/python3.6/site-packages/matplotlib/text.py:16: in <module>
    from .textpath import TextPath  # Unused, but imported by others.
../opt/anaconda3/envs/OrbDet/lib/python3.6/site-packages/matplotlib/textpath.py:11: in <module>
    from matplotlib.mathtext import MathTextParser
../opt/anaconda3/envs/OrbDet/lib/python3.6/site-packages/matplotlib/mathtext.py:27: in <module>
    from PIL import Image
../opt/anaconda3/envs/OrbDet/lib/python3.6/site-packages/PIL/Image.py:94: in <module>
    from . import _imaging as core
E   ImportError: dlopen(/Users/user/opt/anaconda3/envs/OrbDet/lib/python3.6/site-packages/PIL/_imaging.cpython-36m-darwin.so, 2): Library not loaded: @rpath/libtiff.5.dylib
E     Referenced from: /Users/user/opt/anaconda3/envs/OrbDet/lib/python3.6/site-packages/PIL/_imaging.cpython-36m-darwin.so
E     Reason: Incompatible library version: _imaging.cpython-36m-darwin.so requires version 11.0.0 or later, but libtiff.5.dylib provides version 10.0.0
______________________________________________________________________________________________ ERROR collecting orbitdeterminator/tests/test_lamberts_kalman.py ______________________________________________________________________________________________
ImportError while importing test module '/Users/user/orbitdeterminator/orbitdeterminator/tests/test_lamberts_kalman.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
orbitdeterminator/tests/test_lamberts_kalman.py:4: in <module>
    from orbitdeterminator.kep_determination import (lamberts_kalman, interpolation)
orbitdeterminator/kep_determination/lamberts_kalman.py:12: in <module>
    import matplotlib.pylab as plt
../opt/anaconda3/envs/OrbDet/lib/python3.6/site-packages/matplotlib/pylab.py:35: in <module>
    from matplotlib import cbook, mlab, pyplot as plt
../opt/anaconda3/envs/OrbDet/lib/python3.6/site-packages/matplotlib/pyplot.py:36: in <module>
    import matplotlib.colorbar
../opt/anaconda3/envs/OrbDet/lib/python3.6/site-packages/matplotlib/colorbar.py:44: in <module>
    import matplotlib.contour as contour
../opt/anaconda3/envs/OrbDet/lib/python3.6/site-packages/matplotlib/contour.py:17: in <module>
    import matplotlib.text as text
../opt/anaconda3/envs/OrbDet/lib/python3.6/site-packages/matplotlib/text.py:16: in <module>
    from .textpath import TextPath  # Unused, but imported by others.
../opt/anaconda3/envs/OrbDet/lib/python3.6/site-packages/matplotlib/textpath.py:11: in <module>
    from matplotlib.mathtext import MathTextParser
../opt/anaconda3/envs/OrbDet/lib/python3.6/site-packages/matplotlib/mathtext.py:27: in <module>
    from PIL import Image
../opt/anaconda3/envs/OrbDet/lib/python3.6/site-packages/PIL/Image.py:94: in <module>
    from . import _imaging as core
E   ImportError: dlopen(/Users/user/opt/anaconda3/envs/OrbDet/lib/python3.6/site-packages/PIL/_imaging.cpython-36m-darwin.so, 2): Library not loaded: @rpath/libtiff.5.dylib
E     Referenced from: /Users/user/opt/anaconda3/envs/OrbDet/lib/python3.6/site-packages/PIL/_imaging.cpython-36m-darwin.so
E     Reason: Incompatible library version: _imaging.cpython-36m-darwin.so requires version 11.0.0 or later, but libtiff.5.dylib provides version 10.0.0
_____________________________________________________________________________________________ ERROR collecting orbitdeterminator/tests/test_orbit_trajectory.py ______________________________________________________________________________________________
ImportError while importing test module '/Users/user/orbitdeterminator/orbitdeterminator/tests/test_orbit_trajectory.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
orbitdeterminator/tests/test_orbit_trajectory.py:4: in <module>
    from orbitdeterminator.kep_determination import lamberts_kalman
orbitdeterminator/kep_determination/lamberts_kalman.py:12: in <module>
    import matplotlib.pylab as plt
../opt/anaconda3/envs/OrbDet/lib/python3.6/site-packages/matplotlib/pylab.py:35: in <module>
    from matplotlib import cbook, mlab, pyplot as plt
../opt/anaconda3/envs/OrbDet/lib/python3.6/site-packages/matplotlib/pyplot.py:36: in <module>
    import matplotlib.colorbar
../opt/anaconda3/envs/OrbDet/lib/python3.6/site-packages/matplotlib/colorbar.py:44: in <module>
    import matplotlib.contour as contour
../opt/anaconda3/envs/OrbDet/lib/python3.6/site-packages/matplotlib/contour.py:17: in <module>
    import matplotlib.text as text
../opt/anaconda3/envs/OrbDet/lib/python3.6/site-packages/matplotlib/text.py:16: in <module>
    from .textpath import TextPath  # Unused, but imported by others.
../opt/anaconda3/envs/OrbDet/lib/python3.6/site-packages/matplotlib/textpath.py:11: in <module>
    from matplotlib.mathtext import MathTextParser
../opt/anaconda3/envs/OrbDet/lib/python3.6/site-packages/matplotlib/mathtext.py:27: in <module>
    from PIL import Image
../opt/anaconda3/envs/OrbDet/lib/python3.6/site-packages/PIL/Image.py:94: in <module>
    from . import _imaging as core
E   ImportError: dlopen(/Users/user/opt/anaconda3/envs/OrbDet/lib/python3.6/site-packages/PIL/_imaging.cpython-36m-darwin.so, 2): Library not loaded: @rpath/libtiff.5.dylib
E     Referenced from: /Users/user/opt/anaconda3/envs/OrbDet/lib/python3.6/site-packages/PIL/_imaging.cpython-36m-darwin.so
E     Reason: Incompatible library version: _imaging.cpython-36m-darwin.so requires version 11.0.0 or later, but libtiff.5.dylib provides version 10.0.0
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Interrupted: 6 errors during collection !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
================================================================================================================== 6 error in 7.79 seconds ===================================================================================================================
(OrbDet) user@Samuels-Mac-Pro orbitdeterminator % 

Did I miss a step in the install, or what?

Please advise.

Sam Dupree.

Documentation builds are failing on readthedocs

Documentation builds are failing on readthedocs because of 'pykep' package (check here).
Screenshot 2019-05-28 at 8 55 38 AM
I think this can be solved adding conda configuration file and install pykep using conda for the build.
For more information:
Similar issue on readthedocs github - link
Conda support documentation on readthedocs guide - link

Pykep V2.1 is not available

Hi,
Installing(Win OS) pykep v1.2 returns a PackageNotFounderror
conda install pykep==2.1

image

Available versions:
image

Installing the latest pykep (v2.4.x), resets my python env to 3.8.x, which isn't supported by Orbit Determinator.
Thanks.

Better readme

A better readme with setup instructions and how to run the tests would help.

Code Unit Testing Philosophy

Hi,

I would like to start a discussion how we do unit testing.
I just saw now to testing approaches. One is with unittest[0] and one with pytest[1]

[0] https://github.com/aerospaceresearch/orbitdeterminator/blob/master/orbitdeterminator/doppler/tests/test_utils.py#L1
[1] https://github.com/aerospaceresearch/orbitdeterminator/blob/master/orbitdeterminator/tests/test_check_keplerian.py#L6

I would like to discuss two things:
which lib shall we take? I would like only to have one approach. that would make it easiert to understand and code for
and secondly, I would like to have only one central test folder. currently the gsoc structure has one of its own tests. shall me move it to the main one and re-name the test for "test_doppler_method"?

please discuss.

Add a .gitignore file

A .gitignore file is needed to ignore __pycache__ files. These are machine dependent files and should not be here in the main repo.

orbitdeterminator/filtered.csv is the output of an execution and should be ignored too.

plot_kep breaks with recent matplotlib

When I try to use plot_kep, I get :

---------------------------------------------------------------------------
NotImplementedError                       Traceback (most recent call last)
<ipython-input-119-76c4fc158eb2> in <module>
----> 1 plot_kep(kep, data[:, 1:4])

~/anaconda3/lib/python3.7/site-packages/orbitdeterminator-1.0-py3.7.egg/orbitdeterminator/kep_determination/ellipse_fit.py in plot_kep(kep, data)
    386     fig = plt.figure()
    387     ax = Axes3D(fig)
--> 388     ax.axis('equal')
    389 
    390     # plot

~/anaconda3/lib/python3.7/site-packages/matplotlib/axes/_base.py in axis(self, *args, **kwargs)
   1675                 # self.apply_aspect()
   1676                 if s == 'equal':
-> 1677                     self.set_aspect('equal', adjustable='datalim')
   1678                 elif s == 'scaled':
   1679                     self.set_aspect('equal', adjustable='box', anchor='C')

~/anaconda3/lib/python3.7/site-packages/matplotlib/axes/_base.py in set_aspect(self, aspect, adjustable, anchor, share)
   1279         if (not cbook._str_equal(aspect, 'auto')) and self.name == '3d':
   1280             raise NotImplementedError(
-> 1281                 'It is not currently possible to manually set the aspect '
   1282                 'on 3D axes')
   1283 

NotImplementedError: It is not currently possible to manually set the aspect on 3D axes

It appears to be related to matplotlib/matplotlib#1077 where, rather than fixing an issue with setting the aspect ratio, they instead just shut off the feature.

Is there a feature to estimate forces ?

Hello

I just discovered orbit-determination and it's awesome !

I'm wondering if there is a feature to estimate forces on a given satellite , i looked in the docs with no success.

Thanks a lot.

Are the right values in the variables?

x0 = q0[0:6]
x0[3:6] = np.deg2rad(x0[3:6])
# if obs_arr_ls was not specified, then read whole data set:
if obs_arr_ls is None:
obs_arr_ls = np.array(range(1, len(iod_object_data["yr"])+1))
rov = radec_obs_vec_sat(obs_arr_ls, iod_object_data)
rv0 = radec_res_vec_rov_sat(x0, obs_arr_ls, iod_object_data, sat_observatories_data, rov)

it seems there is a fundametal flaw in the x variables. the x0 are orderd in a way that it seems like they are later wrong when the 6 parameters are used. then that is wrong :(.

checking please if assumption is correct and how this could have happened.

No module named 'lamberts_method'

I install following the methods described in the instructions as best as I can (using python 3.6.5 because pykep won't install with conda below python==3.6). I run the following code:
from orbitdeterminator.kep_determination.gauss_method import gauss_method_mpc
And receive the following error:
image
I'm not really sure what's happening here. It looks like this import is failing but I've verified that all the files for the package are installed correctly, including the one labelled lamberts_method.py.
Any idea what's happening here, and what the possible workarounds might be?

Wrong results when running main.py

Hi,

Following the tutorial of full feature, I tried to run main.py, but I got this wrong result.
wrong result
Also, I didn't choose any filters or methods, but it shows only one set of result.

Did I miss something or misunderstand the tutorial?
Looking forward to the reply.

Best regard.

Xavier

Replace PyEphem with SkyField functions

PyEphem is (currently) not supported with python 3.9 (windows). Also the creator states their SkyField[0] lib does include similar functions and more.

"The Skyfield astronomy library should be preferred over PyEphem for new projects. Its modern design encourages better Python code, and uses NumPy to accelerate its calculations."

So it is worth a try to replace pyephem functions with the corresponding alternatives from SkyField.

[0] https://rhodesmill.org/skyfield/

Where is check_sgp4 used?

import sys
import os.path
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), os.path.pardir)))
from sgp4.earth_gravity import wgs72
from sgp4.io import twoline2rv
from kep_determination.sgp4 import *
def update_epoch(yr, mth, day, hr, mts, sec):
'''
Adds one second to the given time.
Args:
self: class variables
yr: year
mth: month
day: date
hr: hour
mts: minutes
sec: seconds
Returns:
updated timestamp epoch in a tuple with value as (year, month, day,
hour, minute, second)
'''
sec += 1
if(sec >= 60):
sec = 0
mts += 1
if(mts >= 60):
mts = 0
hr += 1
if(hr >= 24):
hr = 0
day += 1
daysInMonth = np.array([31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31])
if(yr % 4 == 0):
daysInMonth[1] = 29
if(day > daysInMonth[mth-1]):
day = 1
mth += 1
if(mth > 12):
mth = 1
yr += 1
return yr, mth, day, hr, mts, sec
if __name__ == "__main__":
line1 = "1 88888U 80275.98708465 .00073094 13844-3 66816-4 0 8"
line2 = "2 88888 72.8435 115.9689 0086731 52.6988 110.5714 16.05824518 105"
s = twoline2rv(line1,line2,wgs72)
i = 0
yr,mth,day,hr,mts,sec = 2018,7,21,19,28,41
while(i < 1):
pos,vel = s.propagate(yr,mth,day,hr,mts,sec)
data = [pos[0], pos[1], pos[2], vel[0], vel[1], vel[2]]
data = [float("{0:.5f}".format(i)) for i in data]
print(str(i) + " - " + str(hr) + ":" + str(mts) + ":" + str(sec) + " - " + str(data))
yr, mth, day, hr, mts, sec = update_epoch(yr, mth, day, hr, mts, sec)
i = i + 1

I could not find it. at least to test .py used it (or I oversaw it). And it is not its own test. because pytest is not included and the filename does not have correct "test_" start or "test" ending.

An error was found, but returning just with the version: No module named 'termios'

pytest is ok ,but when I run main.py An error was found, but returning just with the version: No module named 'termios'

C:\Users\astronomy\PycharmProjects\untitled1\orbitdeterminator\orbitdeterminator>python main.py -f \Users\astronomy\PycharmProjects\untitled1\orbitdeterminator\orbitdeterminator\orbit.csv
An error was found, but returning just with the version: No module named 'termios'

Welcome To OrbitDeterminator

Workflow for OrbitDeterminator is as follows:

               -----------    ----------------------

Positional data--->| Filters |--->| Keplerian elements |--->Determined Orbit
| | | Determination |
----------- ----------------------

Available filters: | Available methods for orbit determination:

  1. Savitzky Golay Filter | 1. Lamberts Kalman
  2. Triple Moving Average Filter| 2. Cubic spline interpolation
    | 3. Ellipse Bset Fit
    | 4. Gibbs 3 Vector

Choose filter(s) in desired order of application
(SPACE to toggle, UP/DOWN to navigate, RIGHT/LEFT to select/deselect and ENTER to submit)
*if nothing is selected, Triple Moving Average followed by Savitzky Golay will be applied
Traceback (most recent call last):
File "main.py", line 222, in
process(args.file_path, args.error, args.units)
File "main.py", line 41, in process
inquirer.Checkbox('filter',
AttributeError: module 'inquirer' has no attribute 'Checkbox'

IndexError : "list index out of range" ,coming on running "triple_moving_average.py" code

indexerror

When I run the python code "triple_moving_average.py" , I was getting the above error.

After working and analysing the issue, I got that the path given ,for loading the data in the rd.load_data(), was wrong because
the length of the sys.argv is equal to 1 and thus we cannot access sys.argv[1] ,thus giving index error.

triple

In the "triple_moving_average.py" , when I commented the whole code after if __name__ == "__main__": (as you can see in the above figure), the code runs fine. Below is the output

code

So I think the whole code after if __name__ == "__main__": can be commented to avoid any IndexError.

add more IOD formats

def load_iod_data(fname):
"""Loads satellite position observation data files following the Interactive
Orbit Determination format (IOD). Currently, the only supported angle format
is 2, as specified in IOD format. IOD format is described at
http://www.satobs.org/position/IODformat.html.
TODO: add other IOD angle sub-formats; construct numpy array according to different
angle formats. Possible solution: read angle subformat; if angle subformat
equals 2, continue; otherwise, convert data to angle subformat 2.
Args:
fname (string): name of the IOD-formatted text file to be parsed
Returns:
x (numpy array): array of satellite position observations following the
IOD format, with angle format code = 2.
"""
# dt is the dtype for IOD-formatted text files
dt = 'S15, i8, S1, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, S1, S1'
# iod_names correspond to the dtype names of each field
iod_names = ['object', 'station', 'stationstatus', 'yr', 'month', 'day',
'hr', 'min', 'sec', 'msec', 'timeM', 'timeX', 'angformat', 'epoch', 'raHH',
'raMM','rammm','decDD','decMM','decmmm','radecM','radecX','optical','vismag']
# TODO: read first line, get sub-format, construct iod_delims from there
# as it is now, it only works for the given test file iod_data.txt
# iod_delims are the fixed-width column delimiter followinf IOD format description
iod_delims = [15, 5, 2, 5, 2, 2,
2, 2, 2, 3, 2, 1, 2, 1, 3,
2, 3, 3, 2, 2, 2, 1, 2, 1]
return np.genfromtxt(fname, dtype=dt, names=iod_names, delimiter=iod_delims, autostrip=True)

read first line, get sub-format, construct iod_delims from there
as it is now, it only works for the given test file iod_data.txt
iod_delims are the fixed-width column delimiter followinf IOD format description

IOD formats explained here http://www.satobs.org/position/IODformat.html

the question about the format of the data

what is the accurate meaning of "time, x, y, z" in "(time, x, y, z)"?
I can't find the explanation in your "help" pdf which named"orbit-determinator-readthedocs-io-en-latest" .

Issue with llvmlite

when i was installing it with python setup.py install. It broke in llvmlite.
i found that llvmlite pip have some problem.

  Using cached llvmlite-0.32.1.tar.gz (104 kB)
Building wheels for collected packages: llvmlite
  Building wheel for llvmlite (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: /home/aditya-pc/anaconda3/envs/orbitdeterminator/bin/python3.5 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-0n5rpiev/llvmlite/setup.py'"'"'; __file__='"'"'/tmp/pip-install-0n5rpiev/llvmlite/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-3o4jilq3
       cwd: /tmp/pip-install-0n5rpiev/llvmlite/
  Complete output (26 lines):
  running bdist_wheel
  /home/aditya-pc/anaconda3/envs/orbitdeterminator/bin/python3.5 /tmp/pip-install-0n5rpiev/llvmlite/ffi/build.py
  LLVM version... Traceback (most recent call last):
    File "/tmp/pip-install-0n5rpiev/llvmlite/ffi/build.py", line 106, in main_posix
      out = subprocess.check_output([llvm_config, '--version'])
    File "/home/aditya-pc/anaconda3/envs/orbitdeterminator/lib/python3.5/subprocess.py", line 626, in check_output
      **kwargs).stdout
    File "/home/aditya-pc/anaconda3/envs/orbitdeterminator/lib/python3.5/subprocess.py", line 693, in run
      with Popen(*popenargs, **kwargs) as process:
    File "/home/aditya-pc/anaconda3/envs/orbitdeterminator/lib/python3.5/subprocess.py", line 947, in __init__
      restore_signals, start_new_session)
    File "/home/aditya-pc/anaconda3/envs/orbitdeterminator/lib/python3.5/subprocess.py", line 1551, in _execute_child
      raise child_exception_type(errno_num, err_msg)
  FileNotFoundError: [Errno 2] No such file or directory: 'llvm-config'
  
  During handling of the above exception, another exception occurred:
  
  Traceback (most recent call last):
    File "/tmp/pip-install-0n5rpiev/llvmlite/ffi/build.py", line 192, in <module>
      main()
    File "/tmp/pip-install-0n5rpiev/llvmlite/ffi/build.py", line 182, in main
      main_posix('linux', '.so')
    File "/tmp/pip-install-0n5rpiev/llvmlite/ffi/build.py", line 109, in main_posix
      "to the path for llvm-config" % (llvm_config,))
  RuntimeError: llvm-config failed executing, please point LLVM_CONFIG to the path for llvm-config
  error: command '/home/aditya-pc/anaconda3/envs/orbitdeterminator/bin/python3.5' failed with exit status 1
  ----------------------------------------
  ERROR: Failed building wheel for llvmlite
  Running setup.py clean for llvmlite
Failed to build llvmlite
Installing collected packages: llvmlite
    Running setup.py install for llvmlite ... error
    ERROR: Command errored out with exit status 1:
     command: /home/aditya-pc/anaconda3/envs/orbitdeterminator/bin/python3.5 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-0n5rpiev/llvmlite/setup.py'"'"'; __file__='"'"'/tmp/pip-install-0n5rpiev/llvmlite/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-3ou46a31/install-record.txt --single-version-externally-managed --compile --install-headers /home/aditya-pc/anaconda3/envs/orbitdeterminator/include/python3.5m/llvmlite
         cwd: /tmp/pip-install-0n5rpiev/llvmlite/
    Complete output (29 lines):
    running install
    running build
    got version from file /tmp/pip-install-0n5rpiev/llvmlite/llvmlite/_version.py {'version': '0.32.1', 'full': 'aa11b129c0b55973067422397821ae6d44fa5e70'}
    running build_ext
    /home/aditya-pc/anaconda3/envs/orbitdeterminator/bin/python3.5 /tmp/pip-install-0n5rpiev/llvmlite/ffi/build.py
    LLVM version... Traceback (most recent call last):
      File "/tmp/pip-install-0n5rpiev/llvmlite/ffi/build.py", line 106, in main_posix
        out = subprocess.check_output([llvm_config, '--version'])
      File "/home/aditya-pc/anaconda3/envs/orbitdeterminator/lib/python3.5/subprocess.py", line 626, in check_output
        **kwargs).stdout
      File "/home/aditya-pc/anaconda3/envs/orbitdeterminator/lib/python3.5/subprocess.py", line 693, in run
        with Popen(*popenargs, **kwargs) as process:
      File "/home/aditya-pc/anaconda3/envs/orbitdeterminator/lib/python3.5/subprocess.py", line 947, in __init__
        restore_signals, start_new_session)
      File "/home/aditya-pc/anaconda3/envs/orbitdeterminator/lib/python3.5/subprocess.py", line 1551, in _execute_child
        raise child_exception_type(errno_num, err_msg)
    FileNotFoundError: [Errno 2] No such file or directory: 'llvm-config'
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "/tmp/pip-install-0n5rpiev/llvmlite/ffi/build.py", line 192, in <module>
        main()
      File "/tmp/pip-install-0n5rpiev/llvmlite/ffi/build.py", line 182, in main
        main_posix('linux', '.so')
      File "/tmp/pip-install-0n5rpiev/llvmlite/ffi/build.py", line 109, in main_posix
        "to the path for llvm-config" % (llvm_config,))
    RuntimeError: llvm-config failed executing, please point LLVM_CONFIG to the path for llvm-config
    error: command '/home/aditya-pc/anaconda3/envs/orbitdeterminator/bin/python3.5' failed with exit status 1
    ----------------------------------------
ERROR: Command errored out with exit status 1: /home/aditya-pc/anaconda3/envs/orbitdeterminator/bin/python3.5 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-0n5rpiev/llvmlite/setup.py'"'"'; __file__='"'"'/tmp/pip-install-0n5rpiev/llvmlite/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-3ou46a31/install-record.txt --single-version-externally-managed --compile --install-headers /home/aditya-pc/anaconda3/envs/orbitdeterminator/include/python3.5m/llvmlite Check the logs for full command output.

on installing with anaconda it works fine.

conda install --channel=numba llvmlite

Review SGP4 extraction

(Comes from this conversation on Zulip)

I see that orbitdeterminator has an original SGP4 implementation (kudos!). However, the SGP4.recover_tle classmethod looks contentious to me: it's extracting the osculating orbital elements from (pos, vel) and then inserting those in the TLE, but TLE elements are Brouwer mean elements. I think there are a couple of alternative methods that could be tried instead:

Notice that there's already Python and C implementations of RV2EL by @cbassa on https://github.com/cbassa/twoline and https://github.com/cbassa/sattools respectively, but they are licensed with GPLv3 and therefore cannot be included in orbitdeterminator (also, IANAL but reading the code and using that as inspiration to write a fresh implementation can be interpreted as a derivative work, which would also need to be released under GPLv3).

Unable to build the repo on mac

On running $ python setup.py install: I am getting the error as:
Searching for pykep Reading https://pypi.python.org/simple/pykep/ No local packages or working download links found for pykep error: Could not find suitable distribution for Requirement.parse('pykep')

I was unable to find a work around this. This might be something trivial but I am new to this so I apologise in advance.

Setting standard gravitational parameter according to the central body and find a place for the constants

There are several places, where we are using mu, the standard gravitational parameter. Currently it is fixed to Earth in most cases.
it would be better to have it selectable and also to have it at a central location to not have duplicates.

That we should change.
Propose a better way! :)

For example it is in these files:

https://github.com/aerospaceresearch/orbitdeterminator/blob/master/orbitdeterminator/kep_determination/gauss_method.py#L27-L28

https://github.com/aerospaceresearch/orbitdeterminator/blob/master/orbitdeterminator/kep_determination/gibbs_method.py#L15

https://github.com/aerospaceresearch/orbitdeterminator/blob/master/orbitdeterminator/kep_determination/lamberts_method.py#L10

https://github.com/aerospaceresearch/orbitdeterminator/blob/master/orbitdeterminator/util/state_kep.py#L29

Put all sample data in one folder

Right now all the sample data used for testing (.csv files) are scattered across the whole repo. Put all of them in example_data. Do not mess with any script specific files - like main.py runs with orbit.csv by default, so don't move it. Check the same for automated and propagation folders. In the end, delete any empty folders.

Math Domain Error

Traceback (most recent call last): File "main.py", line 222, in <module> process(args.file_path, args.error, args.units) File "main.py", line 106, in process kep_final_inter[6, 0] = sgp4.rev_per_day(kep_final_inter[0, 0]) File "/home/archit/test/orbitdeterminator/orbitdeterminator/propagation/sgp4.py", line 30, in rev_per_day t = 2*pi*math.sqrt(axis**3/meu) ValueError: math domain error
I am encountering this issue when I run main.py select any of the filters and methods.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.