{"_id":"@aeroflightlabs/native-eph-reader","_rev":"3-1541a0068b6cbbe9b610460dd8cbd64f","name":"@aeroflightlabs/native-eph-reader","dist-tags":{"latest":"0.0.4"},"versions":{"0.0.1":{"name":"@aeroflightlabs/native-eph-reader","version":"0.0.1","main":"dist/eph.js","types":"dist/eph.d.ts","author":{"name":"Adrian Chlubek"},"license":"MIT","scripts":{"rebuild":"node-gyp rebuild","clean":"node-gyp clean","configure":"node-gyp configure","build":"node-gyp build","prebuild":"aflabs-sws dev codegen/generate.ts","prerebuild":"aflabs-sws dev codegen/generate.ts","postbuild":"aflabs-sws build && node afterBuild.js","postrebuild":"aflabs-sws build && node afterBuild.js","lint":"aflabs-sws lint","lint:fix":"aflabs-sws lint:fix","test":"mocha --config .mocharc.json","codegen":"aflabs-sws dev codegen/generate.ts","install":"node-gyp rebuild"},"devDependencies":{"@aeroflightlabs/strict-with-style":"^0.1.10","@aeroflightlabs/testing":"^0.1.10","@types/node":"20.6.0","fast-scan-dir-recursive":"^0.0.4","node-addon-api":"*","node-gyp":"^9.4.0"},"config":{"packageSwapper":["@aeroflightlabs/strict-with-style","@aeroflightlabs/testing"]},"_id":"@aeroflightlabs/native-eph-reader@0.0.1","gypfile":true,"gitHead":"43a218401a1a77205c16225272493b349fb6d902","description":"Currently only 440 version is supported, tested with `linux_p1550p2650.440` and works fine. Last time I downloaded the eph file it was available under this link: https://ssd.jpl.nasa.gov/ftp/eph/planets/Linux/de440/linux_p1550p2650.440","_nodeVersion":"20.6.1","_npmVersion":"10.1.0","dist":{"integrity":"sha512-P9Jovmm1ZB00qsCnAsnOqUDLwCKEoLDnceGQjG2ytYshtQLVP8wurSHfgPRxPljtaJoPQwgstD/ENGLevT77ug==","shasum":"a6f720a55b4d29b775368bdaa0b39fa6a6f32f61","tarball":"https://registry.npmjs.org/@aeroflightlabs/native-eph-reader/-/native-eph-reader-0.0.1.tgz","fileCount":9,"unpackedSize":278568,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCHi77YDbZw1K/XUi8lsEqTJQKlXLmCFfDboZ5vNLqJmwIgDKpfpvqw0ux8fWW9LsJkC7TLGVvE5xm9ECyM00oXm9g="}]},"_npmUser":{"name":"achlubek","email":"adrian.chlubek@gmail.com"},"directories":{},"maintainers":[{"name":"achlubek","email":"adrian.chlubek@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/native-eph-reader_0.0.1_1695550471594_0.33962678153673465"},"_hasShrinkwrap":false},"0.0.2":{"name":"@aeroflightlabs/native-eph-reader","version":"0.0.2","main":"dist/eph.js","types":"dist/eph.d.ts","author":{"name":"Adrian Chlubek"},"license":"MIT","scripts":{"rebuild":"node-gyp rebuild","clean":"node-gyp clean","configure":"node-gyp configure","build":"node-gyp build","prebuild":"aflabs-sws dev codegen/generate.ts","prerebuild":"aflabs-sws dev codegen/generate.ts","postbuild":"aflabs-sws build && node afterBuild.js","postrebuild":"aflabs-sws build && node afterBuild.js","lint":"aflabs-sws lint","lint:fix":"aflabs-sws lint:fix","test":"mocha --config .mocharc.json","codegen":"aflabs-sws dev codegen/generate.ts","install":"node-gyp rebuild"},"devDependencies":{"@aeroflightlabs/strict-with-style":"^0.1.10","@aeroflightlabs/testing":"^0.1.10","@types/node":"20.6.0","fast-scan-dir-recursive":"^0.0.4","node-addon-api":"*","node-gyp":"^9.4.0"},"config":{"packageSwapper":["@aeroflightlabs/strict-with-style","@aeroflightlabs/testing"]},"_id":"@aeroflightlabs/native-eph-reader@0.0.2","gypfile":true,"gitHead":"8840340753fcdfcabfce3cd14ef17816c8299cc9","description":"Currently only 440 version is supported, tested with `linux_p1550p2650.440` and works fine. Last time I downloaded the eph file it was available under this link: https://ssd.jpl.nasa.gov/ftp/eph/planets/Linux/de440/linux_p1550p2650.440","_nodeVersion":"20.6.1","_npmVersion":"10.1.0","dist":{"integrity":"sha512-7Yv3ijuWz1j60aH0eBcPCFKIWzknpdGxiGRH/BGOtK+QjSJaVoqrwnN5KZ9Tlhaw5WQmOQc0HZmc2MDrNB6qXg==","shasum":"3394fac584e730794a5b2756f88c392069c6b6da","tarball":"https://registry.npmjs.org/@aeroflightlabs/native-eph-reader/-/native-eph-reader-0.0.2.tgz","fileCount":10,"unpackedSize":363272,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDSwiGNdofv5JOdBpsb2/zzgD4FVUCinz47dcsLC3QW9gIhAKyhNDddaGNV1qQT0A6W7NbqHqDH+S+4k2cEw9iEdYIR"}]},"_npmUser":{"name":"achlubek","email":"adrian.chlubek@gmail.com"},"directories":{},"maintainers":[{"name":"achlubek","email":"adrian.chlubek@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/native-eph-reader_0.0.2_1696098223723_0.9489272745687272"},"_hasShrinkwrap":false},"0.0.3":{"name":"@aeroflightlabs/native-eph-reader","version":"0.0.3","main":"dist/eph.js","types":"dist/eph.d.ts","author":{"name":"Adrian Chlubek"},"license":"MIT","scripts":{"rebuild":"node-gyp rebuild","clean":"node-gyp clean","configure":"node-gyp configure","build":"node-gyp build","prebuild":"aflabs-sws dev codegen/generate.ts","prerebuild":"aflabs-sws dev codegen/generate.ts","postbuild":"aflabs-sws build && node afterBuild.js","postrebuild":"aflabs-sws build && node afterBuild.js","lint":"aflabs-sws lint","lint:fix":"aflabs-sws lint:fix","test":"mocha --config .mocharc.json","codegen":"aflabs-sws dev codegen/generate.ts","install":"node-gyp rebuild"},"devDependencies":{"@aeroflightlabs/strict-with-style":"^0.1.10","@aeroflightlabs/testing":"^0.1.10","@types/node":"20.6.0","fast-scan-dir-recursive":"^0.0.4","node-addon-api":"*","node-gyp":"^9.4.0"},"config":{"packageSwapper":["@aeroflightlabs/strict-with-style","@aeroflightlabs/testing"]},"_id":"@aeroflightlabs/native-eph-reader@0.0.3","gypfile":true,"gitHead":"e89d6956df627abe7ee51783f04d4b494e2ac0a3","description":"Currently only 440 version is supported, tested with `linux_p1550p2650.440` and works fine. Last time I downloaded the eph file it was available under this link: https://ssd.jpl.nasa.gov/ftp/eph/planets/Linux/de440/linux_p1550p2650.440","_nodeVersion":"20.6.1","_npmVersion":"10.1.0","dist":{"integrity":"sha512-FcAnQv3+BepH5l8NF981yElHJKQvcX/Nx7OxqNuVwicZriPzAWMw3S+fFQdxugxkYd3IuLklZNgQM4CvhQuwVw==","shasum":"e9d1c9865543475e1d846dcd27c0390dd5e2f4cd","tarball":"https://registry.npmjs.org/@aeroflightlabs/native-eph-reader/-/native-eph-reader-0.0.3.tgz","fileCount":10,"unpackedSize":363579,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA8qScptzFO9+3X3LZP7M1kNigINHzJ0s977tVp+u14aAiEA5BULEr9PMeJvLSWI9P+0z4Z2NkHRK6wi0n1LM826gMI="}]},"_npmUser":{"name":"achlubek","email":"adrian.chlubek@gmail.com"},"directories":{},"maintainers":[{"name":"achlubek","email":"adrian.chlubek@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/native-eph-reader_0.0.3_1696744767780_0.4951824877908313"},"_hasShrinkwrap":false},"0.0.4":{"name":"@aeroflightlabs/native-eph-reader","version":"0.0.4","main":"dist/eph.js","types":"dist/eph.d.ts","author":{"name":"Adrian Chlubek"},"license":"MIT","scripts":{"rebuild":"node-gyp rebuild","clean":"node-gyp clean","configure":"node-gyp configure","build":"node-gyp build","prebuild":"aflabs-sws dev codegen/generate.ts","prerebuild":"aflabs-sws dev codegen/generate.ts","postbuild":"aflabs-sws build && node afterBuild.js","postrebuild":"aflabs-sws build && node afterBuild.js","lint":"aflabs-sws lint","lint:fix":"aflabs-sws lint:fix","test":"mocha --config .mocharc.json","codegen":"aflabs-sws dev codegen/generate.ts","install":"echo","upgrade-packages":"aflabs-sws upgrade-packages"},"devDependencies":{"@aeroflightlabs/strict-with-style":"^0.2.0","@aeroflightlabs/testing":"^0.2.0","@types/node":"20.10.4","fast-scan-dir-recursive":"^0.0.4","node-addon-api":"*","node-gyp":"^10.0.1"},"config":{"packageSwapper":["@aeroflightlabs/strict-with-style","@aeroflightlabs/testing"]},"_id":"@aeroflightlabs/native-eph-reader@0.0.4","gitHead":"074a8d474f5ed4142756064bb70bf856695720ab","description":"Currently only 440 version is supported, tested with `linux_p1550p2650.440` and works fine. Last time I downloaded the eph file it was available under this link: https://ssd.jpl.nasa.gov/ftp/eph/planets/Linux/de440/linux_p1550p2650.440","_nodeVersion":"20.9.0","_npmVersion":"10.2.4","dist":{"integrity":"sha512-7CPA7dQeEnJIesLcCpFCXR9UYDVQmdtLXIY8TXtBOzk8zGMQ7dqgaaiYd54DFtd6hP4/6pU1fxB8GgkmPrNqxg==","shasum":"b520a13e50475d6c3ad04e38cf90c705cf875143","tarball":"https://registry.npmjs.org/@aeroflightlabs/native-eph-reader/-/native-eph-reader-0.0.4.tgz","fileCount":10,"unpackedSize":363597,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCIKUji/PLD9Q5dr2Z0TEdIeK9MZCzKBfj4lh1sYb4qbQIgDFP/tgaOxM5Bx7M0vrVhetiZP6XvPav7VxRtFtNKeFc="}]},"_npmUser":{"name":"achlubek","email":"adrian.chlubek@gmail.com"},"directories":{},"maintainers":[{"name":"achlubek","email":"adrian.chlubek@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/native-eph-reader_0.0.4_1702621343049_0.4904709114026433"},"_hasShrinkwrap":false}},"time":{"created":"2023-09-24T10:14:31.478Z","0.0.1":"2023-09-24T10:14:31.825Z","modified":"2023-12-15T06:22:23.468Z","0.0.2":"2023-09-30T18:23:44.042Z","0.0.3":"2023-10-08T05:59:27.971Z","0.0.4":"2023-12-15T06:22:23.280Z"},"maintainers":[{"name":"achlubek","email":"adrian.chlubek@gmail.com"}],"description":"Currently only 440 version is supported, tested with `linux_p1550p2650.440` and works fine. Last time I downloaded the eph file it was available under this link: https://ssd.jpl.nasa.gov/ftp/eph/planets/Linux/de440/linux_p1550p2650.440","author":{"name":"Adrian Chlubek"},"license":"MIT","readme":"# Fast node-gyp reader for JPL planetary ephemeris   \n\nCurrently only 440 version is supported, tested with `linux_p1550p2650.440` and works fine.\nLast time I downloaded the eph file it was available under this link: https://ssd.jpl.nasa.gov/ftp/eph/planets/Linux/de440/linux_p1550p2650.440\n\n### How to use\n\nFirst, be sure to call `loadEph440` globally with path to `linux_p1550p2650.440` before doing anything else with the library\n\nPlanetary mapping is as follows:\n```\n1 = mercury barycenter\n2 = venus barycenter\n3 = earth\n4 = mars barycenter\n5 = jupiter barycenter\n6 = saturn barycenter\n7 = uranus barycenter\n8 = neptune barycenter\n9 = pluto barycenter\n10 = moon\n11 = sun\n12 = solar-system barycenter\n13 = earth barycenter\n```\n\nAfter that, following functions are available:\n\n---\n### getBulk\n`getBulk(input: GetBulkInput[], output: number[]): void`\n\nGets positions of elements in relation to other elements.\nThe result is stored in the `output` parameter as series of 3d vectors, \ninterleaved position and velocity, which are stored as 3 numbers, \nso the output array must have size equal to input.length * 6. \nFor example in case of input having 2 inputs A and B, the output\nformat will be:\n```ts\n[\n  A.position.x, A.position.y, A.position.z,\n  A.velocity.x, A.velocity.y, A.velocity.z,\n  B.position.x, B.position.y, B.position.z,\n  B.velocity.x, B.velocity.y, B.velocity.z\n]\n```\nThe format is clear, but it's pretty strange, it's all because of\nperformance, as the main reason of this library existence is performance.\nThe position returned is in AU and velocity in AU/Day, to have the most raw data.\n\n---\n### getGravityFlux\n`getGravityFlux(where: ephvec3, whenTimestamp: number, output: ephvec3): void`\n- `output` must be an array of 3 numbers and result stored in it will be in format:\n```ts\n[\n  acceleration.x, acceleration.y, acceleration.z\n]\n```\n- `where` is expected to be in meters, `acceleration` returned is in meters/seconds^2,\n- `whenTimestamp` is a unix timestamp with fractions support\n\n---\n### integrateGravity\n`integrateGravity(startPosition: ephvec3, startVelocity: ephvec3, startTime: number, endTime: number, timeStep: number, outputPosition: ephvec3, outputVelocity: ephvec3): void`\n- `outputPosition` must be an array of 3 numbers and result stored in it will be in format:\n```ts\n[\n  position.x, position.y, position.z\n]\n```\n`outputVelocity` must be an array of 3 numbers and result stored in it will be in format:\n```ts\n[\n  velocity.x, velocity.y, velocity.z\n]\n```\n- `startPosition` and `startVelocity` are expected to be in meters\n- `startTime` and `endTime` are unix timestamps with fractions support\n- `timeStep` is the time resolution to use in seconds, higher means faster but lower precision\n- `outputPosition` is saved as meters\n- `outputVelocity` is saved meters/second\n\n---\n### generateTrajectoryForecast\n`generateTrajectoryForecast(startPosition: ephvec3, startVelocity: ephvec3, startTime: number, endTime: number, timeStep: number, outputPositionArray: number[]): void`\n- `outputPositionArray` must be an array of numbers with count equal `((endTime-startTime) * 3) / timeStep` and result stored in it will be in format:\n```ts\n[\n  position.x, position.y, position.z,\n  ...\n]\n```\n\n- `startPosition` and `startVelocity` are expected to be in meters\n- `startTime` and `endTime` are unix timestamps with fractions support\n- `timeStep` is the time resolution to use in seconds, higher means faster but lower precision\n- `outputPositionArray` is saved as meters\n\n\n","readmeFilename":"README.md"}