Git Product home page Git Product logo

simetral's Introduction

Artemis GraphQL Server

Simetral

โœจ Artemis I mission GraphQL Sever with NASA Horizons data ๐Ÿ›ฐ - Basic example of Graphem

Demo of Simetral

โš ๏ธ The data will be updated because Artemis 1 mission will reschedule for later.

๐Ÿ“ฆ Purpose

This project is a GraphQL server that allows you to query real-time and historical data from certain data obtained from NASA Horizons for the Artemis I mission.

The server takes the information from a CSV from September 27 to November 5 with a step of 1 minute (one row per minute) from a geocentric observer to the Orion spacecraft. Ready to be sent to NASA Open MCT connected with the Graphem plugin.

The information was collected with NASA Horizons.

๐Ÿ›ฐ How to use?

Download Simetral GraphQL server

Once you cloned this repository in your local environment, install the dependencies.

cd simetral
npm install

Create a client.

Great! Now you have a GraphQL server, we need a client. You can use your own client.

But I suggest you to download a very simple example like the openmct-tutorial client itself.

git clone https://github.com/nasa/openmct-tutorial.git
cd openmct-tutorial
npm install

Connect with Graphem

Now inside the index.html of the client.

Install Graphem.

npm i graphem

Import Graphem using the following <script> tag inside the <head>.

<script src="node_modules/graphql-ws/umd/graphql-ws.js"></script>

Copy the content from schema_dictionary.json to dictionary.json file in the client directory.

{
  "name": "Artemis I",
  "key": "sc",
  "measurements": [
    {
      "name": "Angular rate of change",
      "key": "angular_rate_of_change",
      "values": [
        {
  ...

Install de plugin using install() method.

openmct.install(Graphem({
  namespace: "rocket.taxonomy", // Custom namespace
  key: "orion", // Custom Key
  dictionaryPath: "/dictionary.json", // Path of dictionary
  telemetryName: "rocket.telemetry", // Name of telemetry
  subscriptionName: "formatted", // Name of the <GraphQL> subscription for historical telemetry
  urn: "localhost:4000/graphql" // Source URN (Uniform Resource Name)
}));

๐Ÿš€ And start both projects:

cd openmct-tutorial
npm start

cd ..

cd simetral
npm run dev

๐Ÿš€ Horizons Data

Below is a brief explanation using the data collected from the Horizons System:

Horizons System Screenshot

dRA*cosD

The angular rate of change in aparent RA and DEC of the target. This is with respect to the non-inertial IAU76/80 Earth true equator and equinox of-date reference frame. d(RA)/dt is multiplied by the cosine of declination to provide a linear rate in the plane-of-sky.

Units: ARCSECONDS PER HOUR

Illumination %

Fraction of the target objects' assumed circular disk illuminated by Sun (phase), as seen by the observer.

Units: PERCENT

Sun range

The Sun's apparent range ("r", light-time aberrated).

Sun range rate

The Sun's apparent range-rate ("rdot") relative to the target center.

Delta apparent range

Apparent range ("delta", light-time aberrated) and range-rate ("delta-dot") of the target center relative to the observer. A positive "deldot" means the target center is moving away from the observer, negative indicates movement toward the observer.

Units: AU and KM/S

Delta apparent range - dot

Apparent range-rate ("delta-dot") of the target center relative to the observer.

S-O-T,/r

Sun-Observer-Target apparent SOLAR ELONGATION ANGLE seen from the observers' location at print-time.

PsAng

The position angles of the extended Sun-to-target radius vector ("PsAng") and the negative of the targets' heliocentric velocity vector ("PsAMV"), as seen in the observers' plane-of-sky, measured counter-clockwise (east) from reference-frame north-pole. Primarily intended for ACTIVE COMETS, "PsAng" is an indicator of the comets' gas-tail orientation in the sky (being in the anti-sunward direction) while "PsAMV" is an indicator of dust-tail orientation. Units: DEGREES

PsAMV

The position angles of the extended Sun-to-target radius vector ("PsAng") and the negative of the targets' heliocentric velocity vector ("PsAMV"), as seen in the observers' plane-of-sky, measured counter-clockwise (east) from reference-frame north-pole. Primarily intended for ACTIVE COMETS, "PsAng" is an indicator of the comets' gas-tail orientation in the sky (being in the anti-sunward direction) while "PsAMV" is an indicator of dust-tail orientation. Units: DEGREES

GlxLon

Observer-centered Galactic System II (post WW II) longitude and latitude of the target centers' apparent position, with light-time, gravitational deflection of light, and stellar aberrations. Units: DEGREES

GlxLat

Observer-centered Galactic System II (post WW II) longitude and latitude of the target centers' apparent position, with light-time, gravitational deflection of light, and stellar aberrations. Units: DEGREES

Sky_motion, Sky_mot_PA, RelVel-ANG

Total apparent angular rate of the target in the plane-of-sky. "Sky_mot_PA" is the position angle of the target's direction of motion in the plane-of-sky, measured counter-clockwise from the apparent of-date north pole direction. "RelVel-ANG" is the flight path angle of the target's relative motion with respect to the observer's line-of-sight, in the range [-90,+90], where positive values indicate motion away from the observer, negative values are toward the observer:

-90 = target is moving directly toward the observer 0 = target is moving at right angles to the observer's line-of-sight +90 = target is moving directly away from the observer

UNITS: ARCSECONDS/MINUTE, DEGREES, DEGREES

๐Ÿ“ƒ License

Distributed under the MIT License. See LICENSE for more information.

simetral's People

Contributors

360macky avatar

Stargazers

 avatar  avatar

Watchers

 avatar  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.