{"id":24692607,"url":"https://github.com/gipphe/ualf","last_synced_at":"2025-10-26T20:04:05.033Z","repository":{"id":45048711,"uuid":"107331183","full_name":"Gipphe/ualf","owner":"Gipphe","description":"A tiny package for parsing LPSS/CGLSS (UALF) strings.","archived":false,"fork":false,"pushed_at":"2023-07-20T10:48:35.000Z","size":254,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-06-24T23:03:14.909Z","etag":null,"topics":["cglss","lightning","lpss","string-parser","ualf"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Gipphe.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2017-10-17T22:32:02.000Z","updated_at":"2023-04-21T09:44:11.000Z","dependencies_parsed_at":"2025-06-24T23:03:27.511Z","dependency_job_id":null,"html_url":"https://github.com/Gipphe/ualf","commit_stats":null,"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"purl":"pkg:github/Gipphe/ualf","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gipphe%2Fualf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gipphe%2Fualf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gipphe%2Fualf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gipphe%2Fualf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Gipphe","download_url":"https://codeload.github.com/Gipphe/ualf/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gipphe%2Fualf/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261771109,"owners_count":23207217,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cglss","lightning","lpss","string-parser","ualf"],"created_at":"2025-01-26T20:16:40.158Z","updated_at":"2025-10-26T20:04:00.012Z","avatar_url":"https://github.com/Gipphe.png","language":"TypeScript","readme":"# ualf\n\n\u003e LLPS/CGLSS (UALF) data parser\n\n[![Package status](https://img.shields.io/npm/v/ualf.svg?style=flat-square)](https://www.npmjs.com/package/ualf)\n[![Build status](https://img.shields.io/circleci/project/github/Gipphe/ualf.svg?style=flat-square)](https://circleci.com/gh/Gipphe/ualf)\n[![Code coverage](https://img.shields.io/coveralls/Gipphe/ualf.svg?style=flat-square)](https://coveralls.io/github/Gipphe/ualf)\n[![License](https://img.shields.io/github/license/Gipphe/ualf.svg?style=flat-square)](https://opensource.org/licenses/MIT)\n\nA tiny package for parsing LLPS/CGLSS (UALF) strings.\n\n- [Getting Started](#getting-started)\n  - [Installing](#installing)\n  - [Usage](#usage)\n- [Specification](#specification)\n- [Contribution](#contribution)\n- [Compatibility](#compatibility)\n- [Changelog](#changelog)\n- [Versioning](#versioning)\n- [License](#license)\n- [Further reading](#further-reading)\n\n## Getting started\n\n### Installing\n\nUse the following command to add it to your `dependencies`:\n\n```shell\nnpm install --save ualf\n```\n\n### Usage\n\n```javascript\nimport ualf from \"ualf\";\n\nualf(\n  \"0 2017 10 16 16 01 07 345596160 65.5204 12.7377 -87 \" +\n    \"0 12 17 134.27 0.40 0.40 0.72 13.1 10.0 -0.0 1 1 0 1\"\n);\n```\n\noutput is an object with the following key-value pairs for the given string\nabove:\n\n```javascript\n({\n  version: \"0\",\n  date: Date,\n  year: \"2017\",\n  month: \"10\",\n  day: \"16\",\n  hour: \"16\",\n  hours: \"16\",\n  minutes: \"01\",\n  seconds: \"07\",\n  nanoseconds: \"345596160\",\n  nano: \"345596160\",\n  latitude: \"65.5204\",\n  lat: \"65.5204\",\n  longitude: \"12.7377\",\n  long: \"12.7377\",\n  lng: \"12.7377\",\n  peakCurrent: \"-87\",\n  multiplicity: \"0\",\n  numSensors: \"12\",\n  numberOfSensors: \"12\",\n  freedom: \"17\",\n  degreesOfFreedom: \"17\",\n  ellipseAngle: \"134.27\",\n  semiMajorAxis: \"0.40\",\n  semiMinorAxis: \"0.40\",\n  chiSquareValue: \"0.72\",\n  riseTime: \"13.1\",\n  peakToZeroTime: \"10.0\",\n  maxRateOfRise: \"-0.0\",\n  cloudIndicator: \"1\",\n  angleIndicator: \"1\",\n  signalIndicator: \"0\",\n  timingIndicator: \"1\",\n});\n```\n\nFor numerical output, use the attached `asNumbers` function:\n\n```javascript\nimport * as ualf from \"ualf\";\n\nualf(\n  \"0 2017 10 16 16 01 07 345596160 65.5204 12.7377 -87 \" +\n    \"0 12 17 134.27 0.40 0.40 0.72 13.1 10.0 -0.0 1 1 0 1\"\n);\n```\n\noutput is an object with the following key-value pairs for the given string\nabove:\n\n```javascript\n({\n  version: 0,\n  date: Date,\n  year: 2017,\n  month: 10,\n  day: 16,\n  hour: 16,\n  hours: 16,\n  minutes: 01,\n  seconds: 07,\n  nanoseconds: 345596160,\n  nano: 345596160,\n  latitude: 65.5204,\n  lat: 65.5204,\n  longitude: 12.7377,\n  long: 12.7377,\n  lng: 12.7377,\n  peakCurrent: -87,\n  multiplicity: 0,\n  numSensors: 12,\n  numberOfSensors: 12,\n  freedom: 17,\n  degreesOfFreedom: 17,\n  ellipseAngle: 134.27,\n  semiMajorAxis: 0.4,\n  semiMinorAxis: 0.4,\n  chiSquareValue: 0.72,\n  riseTime: 13.1,\n  peakToZeroTime: 10.0,\n  maxRateOfRise: -0.0,\n  cloudIndicator: 1,\n  angleIndicator: 1,\n  signalIndicator: 0,\n  timingIndicator: 1,\n});\n```\n\n## Specification\n\nThe UALF \"specification\" looks something like [this]. Each of these named\nsegments have been extracted as their own key-value pair of the resulting object\nreturned from calling this package. All values are kept as strings to retain\nleading zeroes.\n\n```text\n{\n  version,\n  date, // Date object with the passed date and time\n  year,\n  month,\n  day,\n  hour,\n  hours, // alias for `hour`\n  minutes,\n  seconds,\n  nanoseconds,\n  nano, // alias for `nanoseconds`\n  latitude,\n  lat, // alias for `latitude`\n  longitude,\n  long, // alias for `longitude`\n  lng, // alias for `longitude`\n  peakCurrent,\n  multiplicity,\n  numberOfSensors,\n  numSensors, // alias for `numberOfSensors`\n  degreesOfFreedom,\n  freedom, // alias for `degreesOfFreedom`\n  ellipseAngle,\n  semiMajorAxis,\n  semiMinorAxis,\n  chiSquareValue,\n  riseTime,\n  peakToZeroTime,\n  maxRateOfRise,\n  cloudIndicator,\n  angleIndicator,\n  signalIndicator,\n  timingIndicator;\n}\n```\n\n## Contribution\n\nThis package is open to pull requests. To set up the test environment, fork it,\nclone it, and run\n\n```bash\nnpm install\n```\n\nin the package's folder.\n\nTo run unit tests:\n\n```bash\nnpm test\n```\n\nTo build:\n\n```bash\nnpm build\n```\n\n## Compatibility\n\nThis package is compatible with Node versions 14 and up.\n\n## Changelog\n\nChangelog is available at [the repository].\n\n## Versioning\n\nWe use [SemVer] for versioning. For the versions available, see the\n[tags on this repository].\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE.md] file for\ndetails\n\n## Further reading\n\nFor more information on the specifics of LLPS/CGLSS, and their data format UALF,\ncheck [this document] or [this abstract].\n\n[SemVer]: http://semver.org/\n[tags on this repository]: https://github.com/Gipphe/ualf/tags\n[this document]: http://www.gentoogeek.org/files/lightning_MARSS_poster.pdf\n[this abstract]: https://ams.confex.com/ams/Annual2005/webprogram/Paper85823.html\n[LICENSE.md]: LICENSE.md\n[the repository]: http://github.com/Gipphe/ualf/blob/master/CHANGELOG.md\n[this]: https://beta.api.met.no/images/UALF_format.png\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgipphe%2Fualf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgipphe%2Fualf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgipphe%2Fualf/lists"}