UNPKG

keplerjs

Version:

Kepler solver to compute a celestial body position over the surface of the earth.

51 lines (34 loc) 1.04 kB
/** * Astrodynamics | Kepler Solver * Author: Edgar Gago Carrillo * Date 16/03/2021 * * Inputs: * Calendar date format: year, month, day, hour, minute, second * Outputs: * JD: Julian Day * * Description: * Function that generates the Julian date from a traditional date time format * more info about Juñian dates: * * */ exports.date2julian = (date) => { if (date === undefined) { return 0 } else if (Object.keys(date).length < 6) { return Error("Falta uno o más parámetros en el objeto date") } Object.keys(date).map(param => { if (date[param] === undefined) return 0; }) const a = Math.floor((14 - date.month) / 12); const y = date.year + 4800 - a; const m = date.month + 12 * a - 3; // Compute Julian Day Number const JDN = date.day + Math.floor((153 * m + 2) / 5) + 365 * y + Math.floor(y / 4) - 32083; // Find Julian Date const JD = JDN + (date.hour - 12) / 24 + date.minute / 1440 + date.second / 86400; return JD; }