Git Product home page Git Product logo

cosmographia_occultation-geometry-analyser's Introduction

Occultation Geometry Analyser

What this project aims to achieve

In Short - It aims to create a tool to analyse occultation geometry to aid in observation planning. This tool will be built using the Spiceypy package so that the SPICE tool set( developed by NAIF ) can be employed. The first few releases of this project will aim to produce an automated Cosmographia catalogue to visualise the shape of an occultation profile ( as shown above. )

Currently this tool can analyse:

  • Solar Zenith Angle - Describing where the sun is at the epoch of occultation ( an important aspect of atmospheric science, especially for the Martian ionosphere )
  • Distance between target and observer - So that SNR can be considered
  • Grazing Angle - To see how vertical the profile is (if the grazing angle is too large, then the top of the profile will be measuring a very different region of the planets atmosphere [could start at the poles and end on the equator.])
  • Location of the Occultations, with included map (as shown below)

Later on, this project will be updated to produce further details about individual occultations, such as:

  • Local times
  • Expected Rx (dB)
  • Expected Doppler

Finally, with all the above calculated, occultations with the perfect characteristics can be selected via a filtering function (not implemented yet).

This project has been written for mutual radio occultation of the Martian atmosphere. Where radio signals are sent from MarsExpress (MEx) to ExoMars' Trace Gas Orbiter (TGO). This can be treated as an example, where the satelites and even the planet are up to the end user's discretion. Fortunately, with the SPICE toolset, everything in the analysis can be changed with simple alterations of the starting variables.

Prerequisites

  • Have installed Cosmographia 4.0
  • Some knowledge of SPICE. This may take some time to understand but is very much worth it. SPICE is a remarkably powerful free-to-use tool.
  • Install the correct SPICE kernels, these are the datasets that the SPICE application reads. They include infomation on spacecraft, groundstation and planetary ephemarides, planetary shapes, onboard instrument details, leapsecond tables, reference frame conversions and much more. Depending on the mission the user is interested in, the download location will vary. Space agencies will manage the SPICE kernels for thier own mission. ESA manage the kernels for MEx and TGO.

Dependancies

  • Spicypy
  • Pandas
  • Numpy
  • Matplotlib
  • Cartopy
  • OS
  • Json
  • PIL

What is Radio Occultation?

In perticular this project will focus on mutual occultation, though the code could be easily edited to include conventional spacecraft->planatary atmosphere->earth occultations also. Mutual occultation (sometimes refered to as Cross-Link Occultatation) is a method of passing a radiowave through an atmosphere between two spacecraft, to garner atmospheric parameters from the doppler shift exibted on the wave. This way the SNR is far better because of the proximity of the two spacecraft and due to there being no dispersive space and earth atmosphere in the radiowave's path.

Producing a catalog file for Cosmographia

To produce and image similar to the one shown at the top of the page:

  1. Achieve the prerequisites
  2. Change the variables to the spacecraft, planet and date range of choice:
#-----------------------------------------------------<VALUES TO EDIT REGULARLY>----------------------------------------
# If you only wish to analysis mutual [cross-link] occultation between MEX and TGO, then this is the only section that
# needs to be edited
start  = '2020 JAN 1'
stop   = '2020 JAN 6'
OCCSELECTION = 7 # Which occultation do you wish to see in Cosmographia? [optional]
here = path.abspath(path.dirname(__file__))
PathtoMetaKernel1 = here + '/TGO/krns/mk/em16_plan.tm'
PathtoMetaKernel2 = here + '/MEX/krns/mk/MEX_OPS.tm'
#-----------------------------------------------------------------------------------------------------------------------


spice.furnsh(PathtoMetaKernel1)
spice.furnsh(PathtoMetaKernel2)
obs  = '-41' # NAIF code for MEX
target = '-143'# NAIF code for TGO ['EARTH'/'SUN'/ a groundstation etc]
obsfrm = 'IAU_MARS'
abcorr = 'NONE'
crdsys = 'LATITUDINAL'
coord  = 'LATITUDE'
stepsz = 300.0 # Check every 300 seconds if there is an occultation
MAXILV = 100000 #Max number of occultations that can be returned by gfoclt
bshape = 'POINT'
fshape = 'DSK/UNPRIORITIZED'
front = 'MARS'
fframe = 'IAU_MARS'
TFMT = 'YYYY-MM-DD HR:MN:SC' # Format that Cosmographia understands
  1. This will create a Cosmographia readable .json file, now go and Open Catalog... and select this new Profile.json

Feedback

Feel free file an issue. Contributors and feature requests are always welcome.

cosmographia_occultation-geometry-analyser's People

Contributors

jacobparrott avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 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.