itmlogic
itmlogic: The Irregular Terrain Model by Longley and Rice - Published in JOSS (2020)
Science Score: 95.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 9 DOI reference(s) in README and JOSS metadata -
✓Academic publication links
Links to: joss.theoj.org, zenodo.org -
✓Committers with academic emails
1 of 4 committers (25.0%) from academic institutions -
○Institutional organization owner
-
✓JOSS paper metadata
Published in Journal of Open Source Software
Repository
Longley-Rice Irregular Terrain Model (itmlogic)
Basic Info
- Host: GitHub
- Owner: edwardoughton
- License: other
- Language: Python
- Default Branch: master
- Homepage: https://itmlogic.readthedocs.io/en/latest/?badge=latest
- Size: 65.9 MB
Statistics
- Stars: 62
- Watchers: 7
- Forks: 24
- Open Issues: 8
- Releases: 1
Metadata Files
README.md
itmlogic – Longley-Rice Irregular Terrain Model
itmlogic is a Python implementation of the classic Longley-Rice propagation model (v1.2.2) and capable of estimating the signal propagation effects resulting from irregular terrain.
Software citation
- Oughton, E.J., Russell, T., Johnson, J., Yardim, C., Kusuma, J., 2020. itmlogic: The Irregular Terrain Model by Longley and Rice. Journal of Open Source Software 5, 2266. https://doi.org/10.21105/joss.02266
Software purpose
This Python repo implements the model properties and algorithm defined in:
- Hufford, G. A., A. G. Longley, and W. A. Kissick (1982), A guide to the use of the ITS Irregular Terrain Model in the area prediction mode, NTIA Report 82-100. (NTIS Order No. PB82-217977)
- Hufford, G. A. (1995) The ITS Irregular Terrain Model, version 1.2.2, the Algorithm.
itmlogic enables you to account for the radio propagation impacts occuring from irregular terrain (hills, mountains etc.). For example, the image below shows the terrain undulation between the Crystal Palace (South London) transmitter and Mursley, Buckinghamshire, England. Such estimates enable the engineering design of many types of wireless radio systems, including 4G and 5G Radio Access Networks and wireless backhaul connections.
Terrain profile slice: Crystal Palace (South London) to Mursley

Setup and configuration
All code for itmlogic is written in Python (Python>=3.7).
See requirements.txt for a full list of dependencies.
Conda
The recommended installation method is to use conda, which handles packages and virtual environments, along with the conda-forge channel which has a host of pre-built libraries and packages.
Create a conda environment called itmlogic:
conda create --name itmlogic python=3.7 gdal
Activate it (run this each time you switch projects):
conda activate itmlogic
First, install optional packages:
conda install numpy fiona shapely rtree rasterio pyproj tqdm pytest rasterstats pandas matplotlib
Once in the new environment, to install itmlogic clone this repository and either run:
python setup.py install
Or:
python setup.py develop
You can first run the tests to make sure everything is working correctly:
python -m pytest
Quick start
If you want to quickly generate results run using point-to-point mode run:
python scripts/p2p.py
Or using area prediction mode run:
python scripts/area.py
Results can then be visualized using:
python vis/vis.py
Example results - Point-to-point mode

Example results - Area mode

Documentation
For more information, see the itmlogic readthedocs documentation.
Background
The model was developed by the Institute for Telecommunication Sciences (ITS) for frequencies between 20 MHz and 20 GHz (named for Anita Longley & Phil Rice, 1968), and as a general purpose model can be applied to a large variety of engineering problems. Based on both electromagnetic theory and empirical statistical analyses of both terrain features and radio measurements, the Longley-Rice Irregular Terrain Model predicts the median attenuation of a radio signal as a function of distance and the variability of signal in time and in space.
The original NTIA disclaimer states:
The ITM software was developed by NTIA. NTIA does not make any 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 or the results. You can use, copy, modify, and redistribute the NTIA-developed software upon your acceptance of these terms and conditions and upon your express agreement to provide appropriate acknowledgments of NTIA's ownership of and development of the software by keeping this exact text present in any copied or derivative works.
Thanks for the support
The software repository itmlogic was written and developed at the Environmental Change Institute, University of Oxford within the EPSRC-sponsored MISTRAL programme (EP/N017064/1), as part of the Infrastructure Transition Research Consortium
Contributors
- Edward J. Oughton (University of Oxford) (Software Engineering Lead)
- Tom Russell (University of Oxford) (Software Engineering)
- Joel Johnson (The Ohio State University) (ITM Modeling Lead)
- Caglar Yardim (The Ohio State University) (ITM Modeling)
- Julius Kusuma (Facebook Research) (ITM Modeling)
If you find an error or have a question, please submit an issue.
Folder structure
The folder structure for the itmlogic package is summarized as follows, and matches the
box diagram highlighted in both the JOSS paper and the documentation:
+---src
| +---itmlogic
| | | lrprop.py
| | | __init__.py
| | |
| | +---diffraction_attenuation
| | | adiff.py
| | | aknfe.py
| | | fht.py
| | |
| | +---los_attenuation
| | | alos.py
| | |
| | +---misc
| | | qerf.py
| | | qerfi.py
| | | qtile.py
| | |
| | +---preparatory_subroutines
| | | dlthx.py
| | | hzns.py
| | | qlra.py
| | | qlrpfl.py
| | | qlrps.py
| | | zlsq1.py
| | |
| | +---scatter_attenuation
| | | ahd.py
| | | ascat.py
| | | h0f.py
| | |
| | +---statistics
| | | avar.py
| | | curv.py
Owner
- Name: Edward Oughton
- Login: edwardoughton
- Kind: user
- Location: Fairfax, VA
- Company: George Mason University, VA
- Website: https://science.gmu.edu/directory/edward-oughton
- Twitter: EdwardOughton
- Repositories: 39
- Profile: https://github.com/edwardoughton
Open-source data analytics for decision-making
JOSS Publication
itmlogic: The Irregular Terrain Model by Longley and Rice
Authors
Environmental Change Institute, University of Oxford, Computer Laboratory, University of Cambridge
ElectroScience Laboratory, The Ohio State University
ElectroScience Laboratory, The Ohio State University
Facebook Connectivity Lab, Facebook Research
Tags
python mobile telecommunications propagation longley-riceGitHub Events
Total
- Watch event: 6
- Delete event: 1
- Issue comment event: 1
- Push event: 5
- Pull request event: 4
- Fork event: 2
- Create event: 2
Last Year
- Watch event: 6
- Delete event: 1
- Issue comment event: 1
- Push event: 5
- Pull request event: 4
- Fork event: 2
- Create event: 2
Committers
Last synced: 7 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| ej550 | e****n@g****m | 183 |
| Tom Russell | t****l@g****m | 29 |
| jarmniku | j****u@g****m | 3 |
| Daniel S. Katz | d****z@i****g | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 19
- Total pull requests: 58
- Average time to close issues: 7 days
- Average time to close pull requests: 10 days
- Total issue authors: 13
- Total pull request authors: 4
- Average comments per issue: 2.05
- Average comments per pull request: 0.0
- Merged pull requests: 57
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 1
- Pull requests: 2
- Average time to close issues: N/A
- Average time to close pull requests: 10 minutes
- Issue authors: 1
- Pull request authors: 2
- Average comments per issue: 2.0
- Average comments per pull request: 0.0
- Merged pull requests: 1
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- garrettj403 (3)
- WorksWellWithOthers (2)
- aleksandrovivan (2)
- edwardoughton (2)
- ab3ap (2)
- zadaal (1)
- JAM5107k (1)
- tomalrussell (1)
- adagorret (1)
- 0xCoto (1)
- tbagnallMATM (1)
- soramarcos (1)
- gorlapraveen (1)
Pull Request Authors
- edwardoughton (52)
- tomalrussell (5)
- jarmniku (2)
- danielskatz (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 2
-
Total downloads:
- pypi 88 last-month
-
Total dependent packages: 0
(may contain duplicates) -
Total dependent repositories: 1
(may contain duplicates) - Total versions: 4
- Total maintainers: 2
pypi.org: itmlogic
Longley-Rice irregular terrain propagation model
- Homepage: https://github.com/edwardoughton/itmlogic
- Documentation: https://itmlogic.readthedocs.io/
- License: MIT License
-
Latest release: 1.2
published 11 months ago
Rankings
Maintainers (2)
conda-forge.org: itmlogic
- Homepage: https://github.com/edwardoughton/itmlogic
- License: MIT
-
Latest release: 0.1
published about 5 years ago
Rankings
Dependencies
- sphinx *
- fiona *
- numpy *
- pyproj *
- pytest >=4.6
- rasterio *
- rasterstats *
- shapely *
- simplejson *
- tqdm *
- eg *
- numpy *
- six >=1.7