Giter VIP home page Giter VIP logo

faux-sat's People

Contributors

harleyn13 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

faux-sat's Issues

Unit Testing

Is your feature request related to a problem? Please describe.
Create unit tests for each script so any changes in the future can be quickly checked for correctness

Solution
Use pytest to write unit testing in tests folder of repo

Alternatives considered
Hypothesis considered for testing but doe's not fit that well with types of tests will be running. Will reevaluate in the future

Additional context
N/A

Collect data from Astronomical Almanac and IERS's EOPCO4 final data and implement for all transforms

Affected Functions

  • Transform_Coordinate/IAU-2000 Transforms

  • Transform_Coordinate/IAU-FK5 Transforms

  • Transform_State/TimeAdjust

Is your feature request related to a problem? Please describe.
Currently, all vales pulled from these sites are hard coded for one date, making the data inaccurate for any other date

Solution
Scrape relevant websites for needed information and use within the functions

Alternatives considered
N/A

Additional context
Relevant Websites:

Give user option to select which time information they can import to set propagator step and step size

Is your feature request related to a problem? Please describe.
Desire for users to have the option to use 2 of the following to determine step size and total steps for propagator to run:

  • ToF
  • Start / End Date
  • Step Size
  • Total Steps

Solution
Implement code that calculates step size and total steps from the information above

Alternatives considered
Leave current settings that require steps and step size as inputs

Implement Polar Motion (IAU-2006/2000, CIO based) Transformation

Is your feature request related to a problem? Please describe.
Need acceleration transformations for implementing an integrator/corrector propagator.

Solution
Using equations from Vallado's Fundamentals of Astrodynamics and Applications

Alternatives considered
Currently, have ITRF to GCRF transform with the IAU-76/FK5 reduction, but need a transform that more easily supports acceleration transformation in addition to radius and velocity

Additional context
N/A

Write Docstring for Gauss-Jackson Propagator

Is your feature request related to a problem? Please describe.
Inform users of the inputs and outputs as well as expected functionality of the propagator script

Solution
Write a clear and concise docstring

Implement Earth Rotation Angle (IAU-2006/2000, CIO based) Transformation

Is your feature request related to a problem? Please describe.
Need acceleration transformations for implementing an integrator/corrector propagator.

Solution
Using equations from Vallado's Fundamentals of Astrodynamics and Applications

Alternatives considered
Currently, have ITRF to GCRF transform with the IAU-76/FK5 reduction, but need a transform that more easily supports acceleration transformation in addition to radius and velocity

Additional context
N/A

Implement 3rd Body Perturbations

Solution
Allow users to select which bodies they want these perturbations considered for and using Vallado Equations, implement into the Gauss-Jackson propagator.

Additional context
One of many perturbations that need to be written to fully simulate satellite propagation.

TODO:

  • Find a way to scrape the web for ephemeris files of all supported bodies to be able to determine the distance between satellite and bodies
  • Determine the distance between the satellite and any bodies
  • Implement distance data into acceleration equation

Matrix to Array Overhaul

Is your feature request related to a problem? Please describe.
Preferable to use arrays over matrices

Solution
Change all np.matrix declarations to np.array and test working

Alternatives considered
N/A

Additional context
Recommended change

Implement J2 Perturbations

Solution
Determine a gravity model and using Vallado Equations, implement into the Gauss-Jackson propagator.

Additional context
One of many perturbations that need to be written to fully simulate satellite propagation.

Refactor Transform_State.py to handle arrays rather than matrices

Describe the bug
Change each function to handle arrays as input and output arrays as well

Functions that need refactoring:

  • julian2gregorian_date (JD2Gregorian)
  • gregorian2julian_date (Gregorian2JD)
  • convert_time (TimeAdjust)
  • Keplerian2Perifocal
  • Perifocal2Keplerian
  • Keplerian2Cartesian
  • Cartesian2Keplerian
  • Cartesian2Perifocal
  • Perifocal2Cartesian

Additional context
Part of the general overhaul to arrays #17

ALL scripts that are used by main.py need to be refactored since the propagator now runs on arrays

Implement SRP Perturbations

Solution
Using Vallado Equations, implement into the Gauss-Jackson propagator.

Additional context
One of many perturbations that need to be written to fully simulate satellite propagation.

Implement Drag (Atmosphere) Perturbations

Solution
Determine an atmosphere model or many for the user to select between and using Vallado Equations, implement into the Gauss-Jackson propagator.

Additional context
One of many perturbations that need to be written to fully simulate satellite propagation.

Implement Classical Equinox Based Transformations with IAU-2006/2000

Is your feature request related to a problem? Please describe.
Need acceleration transformations for implementing an integrator/corrector propagator.

Solution
Using equations from Vallado's Fundamentals of Astrodynamics and Applications

Alternatives considered
Currently, have ITRF to GCRF transform with the IAU-76/FK5 reduction, but need a transform that more easily supports acceleration transformation in addition to radius and velocity

Additional context
Compare against other 3 models #2, #3, #4 and check for accuracy and speed tradeoffs.

Refactor FK5 Transform to include "Transpose" Parameter & other general enhancements

  • FK5_PolarMotion

  • FK5_SiderealTime

  • FK5_Nutation

  • FK5_Precession

  • FK5_ECFixed2J2000 - combine with backwards transform

  • All are in Transform_Coordinate

Is your feature request related to a problem? Please describe.
Currently, the entire IAU-FK5 Transformation series is pretty ugly, due to being coded before I knew better techniques.

Solution
Will refactor to improve clarity and reduce file size.

Alternatives considered
N/A

Additional context
Need to go back through all 4 FK5 Transforms and the function that runs them all back to back

Implement Precession-Nutation (IAU-2006/2000, CIO based) Transformation

Is your feature request related to a problem? Please describe.
Need acceleration transformations for implementing an integrator/corrector propagator.

Solution
Using equations from Vallado's Fundamentals of Astrodynamics and Applications

Alternatives considered
Currently, have ITRF to GCRF transform with the IAU-76/FK5 reduction, but need a transform that more easily supports acceleration transformation in addition to radius and velocity

Additional context
N/A

Checklist

  • Find coefficients for X/Y calculations from McCarthy & Petit (2003)

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.