p2108-python
Python wrapper for U.S. Reference Software Implementation of Recommendation ITU-R P.2108
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 -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (16.9%) to scientific vocabulary
Keywords
Repository
Python wrapper for U.S. Reference Software Implementation of Recommendation ITU-R P.2108
Basic Info
- Host: GitHub
- Owner: NTIA
- License: other
- Language: Python
- Default Branch: main
- Homepage: https://ntia.github.io/propagation-library-wiki/models/P2108/
- Size: 113 KB
Statistics
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
- Releases: 3
Topics
Metadata Files
README.md
Recommendation ITU-R P.2108 - Python® Wrapper
This repository contains a Python wrapper for the NTIA/ITS implementation of Recommendation ITU-R P.2108. This Recommendation contains three methods for the prediction of clutter loss: Height Gain Terminal Correction Model, Terrestrial Statistical Model, and Aeronautical Statistical Model. The software implements Section 3 of Annex 1 of the Recommendation. This Python package wraps the NTIA/ITS C++ implementation.
Getting Started
This software is distributed on PyPI and is easily installable using the following command.
cmd
pip install proplib-p2108
General information about using this model is available on its page on the NTIA/ITS Propagation Library Wiki. Additionally, Python-specific instructions and code examples are available here.
If you're a developer and would like to contribute to or extend this repository, please review the guide for contributors here or open an issue to start a discussion.
Development
This repository contains code which wraps the C++ shared library
as an importable Python module. If you wish to contribute to this repository,
testing your changes will require the inclusion of this shared library. You may retrieve
this either from the
relevant GitHub Releases page, or by
compiling it yourself from the C++ source code. Either way, ensure that the shared library
(.dll, .dylib, or .so file) is placed in src/ITS/ITU/PSeries/P2108/, alongside __init__.py.
Below are the steps to build and install the Python package from the source code. Working installations of Git and a currently-supported version of Python are required. Additional requirements exist if you want to compile the shared library from C++ source code; see relevant build instructions here.
Optionally, configure and activate a virtual environment using a tool such as
venvor conda.Clone this repository, then initialize the Git submodule containing the test data.
```cmd
Clone the repository
git clone https://github.com/NTIA/p2108-python cd p2108-python
Initialize Git submodule containing test data
git submodule init
Clone the submodule
git submodule update ```
Download the shared library (
.dll,.so, or.dylib) from a GitHub Release. Then place the downloaded file insrc/ITS/ITU/PSeries/P2108/(alongside__init__.py).Install the local package and development dependencies into your current environment:
cmd pip install .[dev]To build the wheel for your platform:
cmd hatchling build
Running Tests
Python unit tests can be run to confirm successful installation. You will need to clone this repository's test data submodule (as described above). Then, run the tests with pytest using the following command.
cmd
pytest
Additionally, the Study Group Clutter Excel Workbook contains an extensive set of example values which are useful as validation cases.
References
- ITS Propagation Library Wiki
- P2108 Wiki Page
ITS.ITU.PSeries.P2108C++ API Reference- Recommendation ITU-R P.2108
- Report ITU-R P.2402
License
See LICENSE.
"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
- Website: https://www.ntia.gov
- Repositories: 35
- Profile: https://github.com/NTIA
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: >-
Recommendation ITU-R P.2108, Python Wrapper
message: Please cite this software using these metadata.
type: software
authors:
- given-names: Anthony W.
family-names: Romaniello
email: aromaniello@ntia.gov
affiliation: >-
U.S. Department of Commerce, National
Telecommunications and Information Administration,
Institute for Telecommunication Sciences
orcid: 'https://orcid.org/0000-0001-8437-6504'
- 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/p2108-python'
url: 'https://ntia.github.io/propagation-library-wiki/models/P2108/'
keywords:
- propagation
- rf
- clutter
- itu
version: 1.1.0
GitHub Events
Total
- Release event: 2
- Watch event: 1
- Delete event: 7
- Public event: 1
- Push event: 8
- Pull request review event: 2
- Pull request event: 4
- Create event: 6
Last Year
- Release event: 2
- Watch event: 1
- Delete event: 7
- Public event: 1
- Push event: 8
- Pull request review event: 2
- Pull request event: 4
- Create event: 6
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 0
- Total pull requests: 7
- Average time to close issues: N/A
- Average time to close pull requests: about 2 months
- Total issue authors: 0
- Total pull request authors: 2
- Average comments per issue: 0
- Average comments per pull request: 0.0
- Merged pull requests: 7
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 6
- Average time to close issues: N/A
- Average time to close pull requests: 24 days
- Issue authors: 0
- Pull request authors: 2
- Average comments per issue: 0
- Average comments per pull request: 0.0
- Merged pull requests: 6
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
- aromanielloNTIA (5)
- jhazentia (2)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- actions/checkout v4 composite
- dieghernan/cff-validator v4 composite
- actions/cache v4 composite
- actions/checkout v4 composite
- actions/setup-python v5 composite
- robinraju/release-downloader v1 composite
- actions/checkout v4 composite
- actions/setup-python v5 composite
- actions/upload-artifact v4 composite
- robinraju/release-downloader v1 composite