A simple NodeJS interface to NASA Mars 2020 Mission weather API.
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
Mars2020Weather(temperatureUnit, pressureUnit, windSpeedUnit)
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
Default units: 'C', 'Pa'
Temperature: 'C', 'F', 'K', 'R'
Pressure: 'Pa', 'hPa', 'kPa', 'MPa', 'bar', 'torr', 'psi', 'ksi'
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"
},
Then simply run test this command: npm run test
For code coverage run this command: npm run coverage
All data provided by: NASA/JPL-Caltech/
MIT © Gabriele Lauricella