mars-2020-weather-node

    0.1.0 • Public • Published

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

    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

    Install

    npm i mars-2020-weather-node

    DownloadsWeekly Downloads

    11

    Version

    0.1.0

    License

    MIT

    Unpacked Size

    15.4 kB

    Total Files

    5

    Last publish

    Collaborators

    • avatar