Giter VIP home page Giter VIP logo

mars-2020-weather-node's Introduction

A simple NodeJS interface to NASA Mars 2020 Mission weather API.

npm version Npm download GitHub stars GitHub issues License

NPM


Installation

Using npm:

$ npm install --save mars-2020-weather-node

If you don't have or don't want to use npm:

$ cd ~/.node_modules
$ git clone git://github.com/gab.lau/mars-2020-weather-node.git

Documentation

Constructor

Mars2020Weather(temperatureUnit, pressureUnit, windSpeedUnit)

Methods

request(callback)

Make the call to the API to take the data, the call is cached and reused for all other methods, there is an hour limit between two API calls to not overload the service. Requires a parameter for a callback function, see examples

getRawData()

Returns raw API result without units conversion

getConvertedRawData()

Returns raw API result with units conversion

getSolKeys()

Returns all sol keys available

getLatestSolKey()

Returns latest sol key available

getSol(sol_key)

Returns sol by sol_key

getLatestSol()

Returns latest sol

Units of measurement

Default units: 'C', 'Pa'

Temperature: 'C', 'F', 'K', 'R'
Pressure: 'Pa', 'hPa', 'kPa', 'MPa', 'bar', 'torr', 'psi', 'ksi'

Usage

Example use:

var Mars2020Weather = require('mars-2020-weather-node');
var marsweather = new Mars2020Weather();

marsweather.request(function(err, response){
    console.log ("Sol: ", this.getLatestSol().sol);
    console.log ("Date: ", this.getLatestSol().terrestrial_date);
    console.log ("Min Temperature ", this.getLatestSol().min_temp);
    console.log ("Max Temperature ", this.getLatestSol().max_temp);
    console.log ("Pressure ", this.getLatestSol().pressure);
});

Example use with different units of measurement:

var Mars2020Weather = require('mars-2020-weather-node');
var marsweather = new Mars2020Weather('F', 'bar');

marsweather.request(function(err, response){
    console.log ("Sol: ", this.getLatestSol().sol);
    console.log ("Date: ", this.getLatestSol().terrestrial_date);
    console.log ("Min Temperature ", this.getLatestSol().min_temp);
    console.log ("Max Temperature ", this.getLatestSol().max_temp);
    console.log ("Pressure ", this.getLatestSol().pressure);
});

Example single sol structure:

  {
    "terrestrial_date": "2021-05-07",
    "sol": "76",
    "ls": "42",
    "season": "mid spring",
    "min_temp": -80.1,
    "max_temp": -22.2,
    "pressure": 752.8,
    "sunrise": "05:47:57",
    "sunset": "18:33:52"
  }, 

Running Unit Tests and Code coverage

Then simply run test this command: npm run test

For code coverage run this command: npm run coverage


Credits

All data provided by: NASA/JPL-Caltech/

License

MIT © Gabriele Lauricella

mars-2020-weather-node's People

Contributors

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