{"_id":"@almaobservatory/astro","_rev":"2-e376db5e22fd24f5d1ed298dc8b7741b","name":"@almaobservatory/astro","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"@almaobservatory/astro","version":"1.0.0","_id":"@almaobservatory/astro@1.0.0","maintainers":[{"name":"rkurowsk","email":"rkurowsk@eso.org"},{"name":"achalevin","email":"achalevi@partner.eso.org"},{"name":"amchavan","email":"amchavan@eso.org"},{"name":"andreeafarago","email":"farago_a@fev.com"},{"name":"stefancuriban27","email":"Stefan.Curiban@partner.eso.org"},{"name":"algoman","email":"amanning@eso.org"}],"dist":{"shasum":"1221934063f510c2a217fd657bee6d9aa9154ebd","tarball":"https://registry.npmjs.org/@almaobservatory/astro/-/astro-1.0.0.tgz","fileCount":5,"integrity":"sha512-k7pHtv6Em+uPuNSc2H1Fzte5ZNkjDmabGDhbT30MkrwUVGAq8M3kO91Pt634DiStNf7bGjRKQwGkvgw1H1vEjw==","signatures":[{"sig":"MEUCIQCRYfNhUDSQmSXDuXITRa3TOl8NIRmjuK7q9wbg5UAbxQIgW+Z4fyI2O4D/o+BxqWoy+HJJoqS9MBftGPXfJKCD744=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5117468},"module":"fesm2022/almaobservatory-astro.mjs","exports":{".":{"types":"./index.d.ts","default":"./fesm2022/almaobservatory-astro.mjs"},"./package.json":{"default":"./package.json"}},"gitHead":"460efc6fd6bde46b2bcf3d025024e82dfcfc5ea5","typings":"index.d.ts","_npmUser":{"name":"andreeafarago","email":"farago_a@fev.com"},"_npmVersion":"11.6.2","description":"ALMA astronomy utilities: coordinate math, frequency converters, receiver bands, and atmospheric octiles.","directories":{},"sideEffects":false,"_nodeVersion":"24.11.1","dependencies":{"tslib":"^2.3.0"},"_hasShrinkwrap":false,"peerDependencies":{"lodash":"^4.17.0","@angular/core":"^19.0.0 || ^20.0.0","@angular/common":"^19.0.0 || ^20.0.0","@almaobservatory/model":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/astro_1.0.0_1782291773425_0.8817043154798729","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@almaobservatory/astro","version":"1.0.1","description":"ALMA astronomy utilities: coordinate math, frequency converters, receiver bands, and atmospheric octiles.","peerDependencies":{"@angular/common":"^19.0.0 || ^20.0.0","@angular/core":"^19.0.0 || ^20.0.0","@almaobservatory/model":"^1.0.0","lodash":"^4.17.0"},"dependencies":{"tslib":"^2.3.0"},"sideEffects":false,"module":"fesm2022/almaobservatory-astro.mjs","typings":"index.d.ts","exports":{"./package.json":{"default":"./package.json"},".":{"types":"./index.d.ts","default":"./fesm2022/almaobservatory-astro.mjs"}},"gitHead":"f03b6a8725c903430cdf29c439c95ffb7deddf45","_id":"@almaobservatory/astro@1.0.1","_nodeVersion":"24.11.1","_npmVersion":"11.6.2","dist":{"integrity":"sha512-8tQXU4DYuaKeDEhEvXQL9EoSwD1YvOEVzEaan95Uov8NB5Xpw43rmiR0gX9QhTuMpzlodVB36aP1cHjFsACZoQ==","shasum":"e9b9c736419507bc98cb4ccb3cf236da97fe5547","tarball":"https://registry.npmjs.org/@almaobservatory/astro/-/astro-1.0.1.tgz","fileCount":5,"unpackedSize":5120219,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCICoxh5KolFZWBLef2fFfi2O3TZItecXuqyoGUbhZchl/AiEA79XoZJMO7HxFiqf5ZrQ/W3CMTjsDomVi6VF5Kd5qofk="}]},"_npmUser":{"name":"andreeafarago","email":"farago_a@fev.com"},"directories":{},"maintainers":[{"name":"rkurowsk","email":"rkurowsk@eso.org"},{"name":"achalevin","email":"achalevi@partner.eso.org"},{"name":"amchavan","email":"amchavan@eso.org"},{"name":"andreeafarago","email":"farago_a@fev.com"},{"name":"stefancuriban27","email":"Stefan.Curiban@partner.eso.org"},{"name":"algoman","email":"amanning@eso.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/astro_1.0.1_1782379959389_0.2751192784493215"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-24T09:02:53.245Z","modified":"2026-06-25T09:32:39.856Z","1.0.0":"2026-06-24T09:02:53.634Z","1.0.1":"2026-06-25T09:32:39.573Z"},"description":"ALMA astronomy utilities: coordinate math, frequency converters, receiver bands, and atmospheric octiles.","maintainers":[{"name":"rkurowsk","email":"rkurowsk@eso.org"},{"name":"achalevin","email":"achalevi@partner.eso.org"},{"name":"amchavan","email":"amchavan@eso.org"},{"name":"andreeafarago","email":"farago_a@fev.com"},{"name":"stefancuriban27","email":"Stefan.Curiban@partner.eso.org"},{"name":"algoman","email":"amanning@eso.org"}],"readme":"# @almaobservatory/astro\n\nAn **Angular library** for astronomical-related calculations. Hard-core calculations. This has been populated with a simplified version of the ICRS <-> galactic converter from ATC's NgOTv1 and ESO's sexagesimal converter. \n\nShared between **ngOT** and **SnooPI**.\n\n---\n\n## What's inside\n\n- **Coordinate math** — sexagesimal ↔ decimal, sky / rest reference-frame\n  conversions, offset → absolute via Euler rotation (SLALIB-style routines)\n- **Unit and value conversions** — frequency, velocity, angle, sensitivity,\n  flux, line-width, redshift\n- **ALMA reference data** — receiver-band table (`getReceiverBandByNumber`)\n  and the 7-octile atmospheric-transmission dataset (`OctilesMap`)\n- **Angular pipes** — `RaPipe`, `DecPipe`, `DurationPipe`, `DataSizePipe`,\n  `FormatNumberPipe`\n- **Utilities** — solar-system targets, calibration-query helpers,\n  rectangle / pointing geometry, formatters\n\nThe full public surface is in [`src/public-api.ts`](src/public-api.ts).\n\n---\n\n## Installation\n\n```bash\nnpm install @almaobservatory/astro\n```\n\n`@almaobservatory/model` is a peer dependency and will be installed alongside.\n`lodash` is also a peer dependency.\n\n---\n\n## Usage\n\n```ts\nimport {\n  getReceiverBandByNumber,\n  OctilesMap,\n  offsetToAbsolute,\n  RaPipe,\n  DecPipe\n} from '@almaobservatory/astro';\n\n// Look up ALMA Band 6\nconst band6 = getReceiverBandByNumber(6);\nconsole.log(band6.rfmin, band6.rfmax); // 211, 275\n\n// Median atmospheric-transmission curve\nconst data = OctilesMap[4];\n\n// Offset → absolute sky position (uses SkyCoordinates objects from model)\nconst result = offsetToAbsolute(\n  { longitude: { value: 10, unit: 'arcsec' }, latitude: { value: 0, unit: 'arcsec' }, type: 'RELATIVE' },\n  { longitude: { value: 86.8, unit: 'deg' }, latitude: { value: -70.7, unit: 'deg' }, type: 'ABSOLUTE' }\n);\n\n// Use pipes in standalone components\n@Component({\n  imports: [RaPipe, DecPipe],\n  template: `{{ raDeg | ra }}, {{ decDeg | dec }}`\n})\n```\n\n---\n\n## Development\n\nThe library lives under `projects/astro/` in the ngOT workspace. From the\nworkspace root:\n\n```bash\n# Build the library to dist/astro\nng build astro\n\n# Build + run the consuming app against the latest local build\nnpm run build-all\n```\n\nngOT's own code imports from `astro` (path-mapped to `dist/astro`); you do\n**not** need to publish to npm in order to consume changes inside ngOT.\n\n---\n\n## Publishing a new version\n\nWhen astro changes and external consumers (SnooPI, etc.) need to pick up the\nnew version, publish a new release.\n\n```bash\n# 1. Bump the version in projects/astro/package.json\n#    (patch / minor / major per semver)\n\n# 2. From the workspace root:\nnpm run publish-astro\n\n# 3. Verify\nnpm view @almaobservatory/astro\n```\n\nThe publish script builds, runs `fix-dist-pkg-astro` to tidy the dist\n`package.json`, and runs `npm publish --access public`. Requires npm\ncredentials for the `@almaobservatory` org.\n\n---\n\n## License\n\nALMA Observatory.\n","readmeFilename":"README.md"}