nrel-spa

1.2.2 • Public • Published

nrel-spa

NREL SPA (Solar Position Algorithm) native implementation in JavaScript. This package allows for precise calculations of solar positions and phases based on geographical coordinates and time.

Installation

npm install nrel-spa

Usage

Basic usage examples:

const { getSpa, calcSpa } = require('nrel-spa');

const date = new Date();
console.log(date)

// NYC - minimum params
const city = "New York"
const lat = 40.7128;
const lng = -74.006;
const tz = null     // optional
const params = null // optional
const angles = []   // optional

/* Jakarta - all params
const city = "Jakarta"
const lat = -6.2088
const lng = 106.8456
const tz = 0
const elevation = 18
const temperature = 26.56
const pressure = 1017
const params = {elevation, temperature, pressure}
const angles = [63.435] */

// Get results
const get = getSpa(date, lat, lng); // minimum args
const calc = calcSpa(date, lat, lng, tz, params, angles);

// Print results
console.log(`\nTest: ${city} with current Date():\n`)
console.log("getSpa =", get, "\n");
console.log("calcSpa =", calc, "\n");

API

Exporting getSpa, calcSpa, and fractalTime. Only date, lat, lng are required but if timezone (tz) is null, will return in UTC.

  • getSpa(date, lat, lng, tz, params, angles) // returns SPA results in fractal times
  • getSpa(date, lat, lng, tz, params, angles) // returns SPA results in formatted times
  • fractalTime(fractionalHour) // formats time from 10.767407706732804 to 10:46:02.667

Contributing

Contributions are welcome! Please read our contributing guidelines.

License

This project is licensed under the ISC License - see the LICENSE file for details.

Package Sidebar

Install

npm i nrel-spa

Weekly Downloads

0

Version

1.2.2

License

ISC

Unpacked Size

45.6 kB

Total Files

7

Last publish

Collaborators

  • acamarata