Coder Social home page Coder Social logo

owenanalytics / sattools Goto Github PK

View Code? Open in Web Editor NEW

This project forked from cbassa/sattools

0.0 1.0 0.0 131.49 MB

Satellite Tracking Toolkit

License: GNU General Public License v3.0

C 95.09% Makefile 0.81% Shell 0.26% Dockerfile 0.63% Python 3.21%

sattools's Introduction

Satellite Tracking Toolkit

sattools is a collection of tools to facilitate photographic and video satellite tracking.

Installation

Requirements

The following software and libraries are required to compile sattools:

  • gfortran
  • gcc
  • make
  • git
  • wcslib-dev
  • libgsl-dev
  • pgplot5
  • libpng-dev
  • libx11-dev
  • libjpeg-dev
  • libexif-dev
  • dos2unix
  • sextractor

On Debian/Ubuntu, these can be installed with sudo apt install git make dos2unix sextractor wcslib-dev pgplot5 libgsl-dev gfortran libpng-dev libx11-dev libjpeg-dev libexif-dev.

Build and install qfits

wget -c ftp://ftp.eso.org/pub/qfits/qfits-5.2.0.tar.gz
gunzip -c qfits-5.2.0.tar.gz | tar xvf -
cd qfits-5.2.0
chmod +w src/xmemory.c
sed -i -e "s/swapfd = open(fname, O_RDWR | O_CREAT);/swapfd = open(fname, O_RDWR | O_CREAT, 0644);/g" src/xmemory.c
./configure
make
sudo make install

Clone and install sattools

git clone https://github.com/cbassa/sattools.git
cd sattools
make

Setup environment variables

You will need to set the following environment variables to run sattools. Add these to a login file such as .bashrc.

  • ST_COSPAR COSPAR observing site number,use 9990 if you do not have one. Add your site information to $ST_DATADIR/data/sites.txt.
  • ST_DATADIR path to sattools directory (e.g. $HOME/software/sattools)
  • ST_TLEDIR path to TLE directory (e.g. $HOME/tle)
  • ST_OBSDIR path to observations directory (e.g. $HOME/satobs)
  • ST_LOGIN optional space-track.org login info for TLE download (of the form ST_LOGIN="identity=username&password=password")

Final configuration steps

Add the sattools directory with executables to your PATH variable. On Ubuntu this is .profile and should be of the form PATH=<path_to_sattools>:$PATH.

Then reload the .profile file with source $HOME/.profile.

Try to download TLEs using tleupdate, which should now exist in your PATH variable.

Miscellaneous setup notes

  • If you have multiple capture devices you will need to add a /etc/udev/rules.d/99-server.rules file to add symlinks and use them to address a particular camera. sattools will automatically select the camera that is scheduled for each observation. You may use a command such as udevadm info -a -n /dev/video0 to get your capture device attributes and use that to create the rules file. A sample rules file is available as guide in data/. Note that symlinks to the rules file do not work, the rules file must be modified to suit your needs and copied to /etc/udev/rules.d/
  • You should install NTP support on the system and configure time/date to automatically synchronize to time servers.

Tools

  • skymap: Vizualize satellites on a map of the sky. Example usage:

    • Compute and plot the path of a satellite (NORAD ID 43145), using a TLE from an input file ($ST_TLEDIR/classfd.tle) for a site (COSPAR ID 4171) at a date/time (2019-12-01T17:42:00) while looking at a particular RA/Dec (01h00m00s, +30d00m00s).
    skymap -s 4171 -t 2019-12-01T17:42:00 -c $ST_TLEDIR/classfd.tle -i 43145 -R 01:00:00 -D 30:00:00
    
  • tleinfo: Display information about a set of TLEs. Example usage:

    • List values (SATNO, YEAR DOY, INCL, ASCN, ARGP, MA, ECC, MM) of the TLEs in the file bulk.tle: tleinfo -H -1
    • List orbital parameters (SEMI, PERIGEE, APOGEE, PERIOD, ECC) of the TLEs in the file bulk.tle: tleinfo -H -1 -a
    • Show human-readable info of the TLE for object 74001: tleinfo -i 74001 -f
  • faketle: Calculate a TLE based on given orbit/launch parameters. Example usage:

    • Assuming a standard GTO launch from Cape Canaveral (latitude 28.5°N), GTO insertion burn (10° E, 0° N) at south-bound equator crossing +1655 seconds after launch, launch at 2019-02-22T01:45:00, perigee/apogee heights 258/59998 km, the pre-launch TLE can be generated with
      faketle -t 2019-02-22T01:45:00 -d 1655 -q 258 -Q 59998 -I 28.5 -m 0 -w 180 -n 10
      
  • pass : Calculate the next passes above a given COSPAR site. Example usage:

    • List all ISS passes (NORAD ID 25544) at Dwingeloo Telescope (COSPAR site ID 9998) for the next 10 hours (3600 seconds) based on the TLE in catalog.tle (drop -a to only show the visible passes)
      pass -i 25544 -s 9998 -l 36000 -c $ST_TLEDIR/catalog.tle -a
      
    • Append -P in order to invoke skymap to plot a skymap and the sky track for each predicted pass
  • satmap: Visualize satellite tracks on a map of Earth Example usage:

    • Show the ground track of all satellites in ST_TLEDIR/classfd.tle (for roughly 1.3 orbits from now on)
      satmap
      
  • satorbit: Show a 3D representation of the earth, the current position, footprint and orbit of the selected object Example usage:

    • Show ISS position, footprint and orbit
      satorbit -i 25544 -c $ST_TLEDIR/catalog.tle
      
  • launchtle: This tool takes an input TLE and launchtime and then corrects the epoch of the TLE for the new launch time, and adjusts the right ascension of the ascending node for how much it would have changed between the old and new launch time. Example usage:

    • Use the given pre-launch TLE of object 70002 (stored in prelaunch.tle) associated with the original launch time of 2018-11-11T03:00:00Z to correct for the new launch time at 2018-11-11T05:00:00Z and store it with a new identifier (70003 here):
      launchtle -c prelaunch.tle -i 70002 -t 2018-11-11T03:00:00 -T 2018-11-11T05:00:00 -I 70003
      
  • tleupdate: Update the local database of TLEs from various sources (Space-Track, inttles and classfd.zip). Usage:

    tleupdate
    

sattools's People

Contributors

cbassa avatar fmederos avatar kerel-fs avatar interplanetarychris avatar ppapadeas avatar fabc avatar tammojan avatar

Watchers

James Cloos avatar

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.