proplib-lfmf

NTIA/ITS C++ implementation of Low Frequency / Medium Frequency (LF/MF) Propagation Model. The LF/MF model predicts basic transmission loss in the frequency range 0.01 - 30 MHz for propagation paths over a smooth Earth and antenna heights less than 50 meters.

https://github.com/ntia/lfmf

Science Score: 54.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.4%) to scientific vocabulary

Keywords

cpp lfmf propagation proplib spectrum telecommunications
Last synced: 6 months ago · JSON representation ·

Repository

NTIA/ITS C++ implementation of Low Frequency / Medium Frequency (LF/MF) Propagation Model. The LF/MF model predicts basic transmission loss in the frequency range 0.01 - 30 MHz for propagation paths over a smooth Earth and antenna heights less than 50 meters.

Basic Info
Statistics
  • Stars: 8
  • Watchers: 5
  • Forks: 8
  • Open Issues: 2
  • Releases: 0
Topics
cpp lfmf propagation proplib spectrum telecommunications
Created over 5 years ago · Last pushed 8 months ago
Metadata Files
Readme Contributing License Citation Zenodo

README.md

Low Frequency / Medium Frequency (LF/MF) Propagation Model

NTIA/ITS PropLib GitHub Release GitHub Actions Unit Test Status C++ API Reference GitHub Issues DOI

This repository contains the NTIA/ITS C++ implementation of Low Frequency / Medium Frequency (LF/MF) Propagation Model. The LF/MF model predicts basic transmission loss in the frequency range 0.01 - 30 MHz for propagation paths over a smooth Earth and antenna heights less than 50 meters.

Additional bindings to the shared library built from this repository are provided for .NET, MATLAB®, and Python® in the following repositories:

Getting Started

To get started using this library, refer to its page on the NTIA/ITS Propagation Library Wiki. There, you will find installation instructions, usage information, and code examples for all supported languages.

An executable is also provided which can be used to run the functions provided by this library using plain text input and output files. Installation and usage details for the command-line driver are also provided on the wiki.

If you're a developer and would like to contribute to or extend this repository, you will find comprehensive documentation of this C++ code here, and a guide for contributors here.

Configure and Build

The software is designed to be built into a DLL (or corresponding .so or .dylib library for non-Windows systems). A CMake build configuration and presets are provided for cross-platform builds. Presets provide default sets of compiler flags, and additional set default CMake options to control which parts of the project are build. Below are a few examples of how this project can be built using provided presets.

```cmd

From this repository's root directory, try one of the following command pairs:

"Release" configurations compile the library and driver, build docs, and configure tests:

cmake --preset release64 cmake --build --preset release64

"Debug" configurations skip building the docs, driver, and driver tests:

cmake --preset debug64 cmake --build --preset debug64

Additional options can override presets:

cmake --preset debug64 -DBUILD_DRIVER=ON

"DocsOnly" configurations only build the docs:

cmake --preset docsOnly cmake --build --preset docsOnly ```

Note that this repository makes use of several Git submodules to reference dependencies used for running unit tests and building documentation. In order to do either, ensure the required submodules are cloned by running:

```cmd

From this repository's root directory

git submodule init git submodule update ```

Running Tests

If you've configured tests when building the project, for example by using one of the "Release" or "Debug" CMake presets, you can run the included unit tests as follows:

cmd ctest --preset release64

References

License

See LICENSE.md.

MATLAB is a registered trademark of The MathWorks, Inc. See mathworks.com/trademarks for a list of additional trademarks.

"Python" and the Python logos are trademarks or registered trademarks of the Python Software Foundation, used by the National Telecommunications and Information Administration with permission from the Foundation.

Contact

For technical questions, contact code@ntia.gov.

Disclaimer

Certain commercial equipment, instruments, or materials are identified in this project were used for the convenience of the developers. In no case does such identification imply recommendation or endorsement by the National Telecommunications and Information Administration, nor does it imply that the material or equipment identified is necessarily the best available for the purpose.

Owner

  • Name: Code from NTIA
  • Login: NTIA
  • Kind: organization
  • Location: Washington DC/Boulder CO

Code produced by NTIA including OSM and ITS. ITS website available at https://its.ntia.gov

Citation (CITATION.cff)

cff-version: 1.2.0
title: >-
  Low Frequency / Medium Frequency (LF/MF) Propagation Model
message: Please cite this software using these metadata.
type: software
authors:
  - family-names: Kozma
    given-names: William
    name-suffix: Jr.
    affiliation: >-
      U.S. Department of Commerce, National
      Telecommunications and Information Administration,
      Institute for Telecommunication Sciences
    orcid: 'https://orcid.org/0000-0002-7417-4009'
    email: wkozma@ntia.gov
  - name: >-
      U.S. Department of Commerce, National
      Telecommunications and Information Administration,
      Institute for Telecommunication Sciences
    address: 325 Broadway
    city: Boulder
    country: US
    post-code: '80305'
    region: Colorado
    alias: NTIA/ITS
    email: code@ntia.gov
    website: 'https://its.ntia.gov'
repository-code: 'https://github.com/NTIA/LFMF'
url: 'https://ntia.github.io/propagation-library-wiki/models/LFMF'
keywords:
  - its
  - propagation
  - lfmf
version: 1.1

GitHub Events

Total
  • Create event: 14
  • Release event: 4
  • Issues event: 8
  • Watch event: 1
  • Delete event: 9
  • Issue comment event: 2
  • Member event: 2
  • Push event: 78
  • Pull request review comment event: 6
  • Pull request review event: 9
  • Pull request event: 16
  • Fork event: 2
Last Year
  • Create event: 14
  • Release event: 4
  • Issues event: 8
  • Watch event: 1
  • Delete event: 9
  • Issue comment event: 2
  • Member event: 2
  • Push event: 78
  • Pull request review comment event: 6
  • Pull request review event: 9
  • Pull request event: 16
  • Fork event: 2

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 369
  • Total Committers: 4
  • Avg Commits per committer: 92.25
  • Development Distribution Score (DDS): 0.198
Past Year
  • Commits: 345
  • Committers: 2
  • Avg Commits per committer: 172.5
  • Development Distribution Score (DDS): 0.142
Top Committers
Name Email Commits
Anthony Romaniello 6****A 296
Chen Heroy c****r@n****v 49
Billy Kozma w****a@n****v 21
eeveetza 7****a 3
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 5
  • Total pull requests: 22
  • Average time to close issues: 2 days
  • Average time to close pull requests: 3 months
  • Total issue authors: 2
  • Total pull request authors: 5
  • Average comments per issue: 0.2
  • Average comments per pull request: 0.09
  • Merged pull requests: 17
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 5
  • Pull requests: 17
  • Average time to close issues: 2 days
  • Average time to close pull requests: 12 days
  • Issue authors: 2
  • Pull request authors: 2
  • Average comments per issue: 0.2
  • Average comments per pull request: 0.0
  • Merged pull requests: 14
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • aromanielloNTIA (4)
  • cheroy-ntia (1)
Pull Request Authors
  • aromanielloNTIA (10)
  • cheroy-ntia (8)
  • NicolasNOE (2)
  • wkozmaNTIA (2)
  • eeveetza (1)
Top Labels
Issue Labels
bug (2) enhancement (2)
Pull Request Labels
bug (4) documentation (4) enhancement (4)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 12 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 1
  • Total maintainers: 2
pypi.org: proplib-lfmf

A Python wrapper for the NTIA/ITS implementation of the Low Frequency / Medium Frequency (LF/MF) Propagation Model

  • Documentation: https://proplib-lfmf.readthedocs.io/
  • License: # SOFTWARE DISCLAIMER / RELEASE This software was developed by employees of the National Telecommunications and Information Administration (NTIA), an agency of the Federal Government and is provided to you as a public service. Pursuant to Title 15 United States Code Section 105, works of NTIA employees are not subject to copyright protection within the United States. The software is provided by NTIA “AS IS.” NTIA MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT AND DATA ACCURACY. NTIA does not warrant or make any representations regarding the use of the software or the results thereof, including but not limited to the correctness, accuracy, reliability or usefulness of the software. To the extent that NTIA holds rights in countries other than the United States, you are hereby granted the non-exclusive irrevocable and unconditional right to print, publish, prepare derivative works and distribute the NTIA software, in any medium, or authorize others to do so on your behalf, on a royalty-free basis throughout the World. You may improve, modify, and create derivative works of the software or any portion of the software, and you may copy and distribute such modifications or works. Modified works should carry a notice stating that you changed the software and should note the date and nature of any such change. You are solely responsible for determining the appropriateness of using and distributing the software and you assume all risks associated with its use, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and the unavailability or interruption of operation. This software is not intended to be used in any situation where a failure could cause risk of injury or damage to property. Please provide appropriate acknowledgments of NTIA’s creation of the software in any copies or derivative works of this software.
  • Latest release: 1.1.0
    published about 1 year ago
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 12 Last month
Rankings
Dependent packages count: 9.7%
Average: 32.2%
Dependent repos count: 54.7%
Maintainers (2)
Last synced: 6 months ago