Skip to content

Commit

Permalink
Initial Quarto site
Browse files Browse the repository at this point in the history
Migrated content from private propagation wiki: quick start pages, home page. Initial github pages automated deployment configuration (testing)
  • Loading branch information
aromanielloNTIA committed Jun 11, 2024
1 parent da49265 commit 6a3e315
Show file tree
Hide file tree
Showing 46 changed files with 3,053 additions and 2 deletions.
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Auto detect text files and perform LF normalization
* text=auto
34 changes: 34 additions & 0 deletions .github/workflows/quarto-publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
on:
push:
branches:
- main

name: Render and Publish

permissions:
contents: write
pages: write

jobs:
build-deploy:
runs-on: ubuntu-latest

steps:
- name: Check out repository
uses: actions/checkout@v4

- name: Set up Quarto
uses: quarto-dev/quarto-actions/setup@v2

- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: '3.10'
- run: pip install jupyter

- name: Publish to GitHub Pages (and render)
uses: quarto-dev/quarto-actions/publish@v2
with:
target: gh-pages
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
/.quarto/
_site
34 changes: 34 additions & 0 deletions LICENSE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# 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.
13 changes: 11 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,11 @@
# propagation-library-wiki
Wiki for NTIA/ITS Propagation Library, built with Quarto and GitHub Pages
# NTIA/ITS Propagation Library Wiki

This repository hosts wiki pages for the suite of softwares comprising the
NTIA/ITS Propagation Library. The wiki is generated with [Quarto](https://quarto.org/)
and hosted using [GitHub Pages](https://pages.github.com/). The live version of the
wiki is available at [URL]().

## Contact

For questions about this repository, or about the NTIA/ITS Propagation Library,
contact <code@ntia.gov>.
26 changes: 26 additions & 0 deletions _quarto.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
project:
type: website

toc: true
number-sections: false

execute:
freeze: auto

website:
title: "NTIA/ITS Propagation Library Wiki"
navbar:
left:
- href: index.qmd
text: Home
- about.qmd

format:
html:
page-layout: article
theme: cosmo
css: styles.css
toc: true
code-fold: false

jupyter: python3
5 changes: 5 additions & 0 deletions about.qmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
title: "About"
---

**TODO**
41 changes: 41 additions & 0 deletions index.qmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
---
title: "NTIA/ITS Propagation Library Wiki"
---

The ITS Propagation Library currently supports C++, C#/.NET, MATLAB, and Python
users through exposing common functionality across multiple programming environments.
One of the key benefits of this approach is that users are assured of identical
results across languages, allowing researchers to work in their most efficient
development environment while benefitting from common library improvements.

## Quick Start

* For C++ developers, [Quick Start for C++](./quick-start/cpp.qmd)
* For .NET developers, [Quick Start for .NET](./quick-start/dotnet.qmd)
* For MATLAB developers, [Quick Start for MATLAB](./quick-start/matlab.qmd)
* For Python developers, [Quick Start for Python](./quick-start/python.qmd)

## Packages

### US Propagation Models

Coming soon

<!-- * ITM 🌎 : [[Repo](https://github.com/ntia/itm) | [Docs](ITM)] - The Irregular Terrain Model -->
<!-- * IF77 -->
<!-- * EHata 🌎 : [[Repo](https://github.com/ntia/ehata) | [Docs](EHata)] - The Extended Hata Urban Propagation Model -->
<!-- * LFMF -->
<!-- * TIREM 🔒 : [Repo | [Docs](TIREM)] - The Terrain Integrated Rough-Earth Model -->

### ITU-R Recommendations

<!-- * P.526 🔒 : [Repo | [Docs](P526)] - Propagation by diffraction -->
<!-- * P.528 🌎 : [[Repo](https://github.com/ntia/p528) | [Docs](P528)] - A propagation prediction method for aeronautical mobile and radionavigation services using the VHF, UHF and SHF bands -->
<!-- * P.676 🔒 : [Repo | [Docs](P676)] - Attenuation by atmospheric gases and related effects -->
<!-- * P.835 🔒 : [Repo | [Docs](P835)] - Reference standard atmospheres -->
* 🌎 P.2108: [[Repo](https://github.com/NTIA/p2108) | [Docs](models/P2108/index.qmd)] - Prediction of clutter loss

<!-- ## General Purpose -->

<!-- * Ohiopyle 🔒 : [[Repo](https://github.com/ntia/ohiopyle) | [Docs](Ohiopyle)] - A data access and management library -->
<!-- * PropCore 🔒 : [[Repo](https://github.com/ntia/propcore) | [Docs](PropCore)] - A collection of useful general purposes propagation functions -->
3 changes: 3 additions & 0 deletions models/EHata/cpp.qmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
---
title: "Extended-Hata (E-Hata) Model - C++"
---
40 changes: 40 additions & 0 deletions models/EHata/dotnet.qmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
---
title: "Extended-Hata (E-Hata) Model - C#/.NET"
---

## Getting Started

To begin, install the NuGet package, `EHata`, from the NTIA NuGet repository

![ehata nuget install screenshot](images/nuget_ehata.jpg)

All of the below code snippets requires the including the following `using` statement.

```csharp
using ITS.Propagation;
```

## Documentation

The `ehata` library is packaged to support IntelliSense when developing in Visual Studio. This documentation will provide the developer with information on function descriptions, variable details, etc.
# Examples

## Basic Transmission Loss

```csharp
var pfl = new double[] { 5, 100, 5, 7, 2, 4, 7, 5 };
double f__mhz = 3500;
double h_b__meter = 25;
double h_m__meter = 1.5;
var env = EHata.ClutterEnvironment.Urban;
double rel = 0.5;

EHata.InvokeEx(pfl, f__mhz, h_b__meter, h_m__meter, env, rel,
out double A__db, out EHata.IntermediateValues ivals);
// A__db = 133.7836794567479
// can use the intermediate values object to access additional information
// from the EHata prediction
Console.WriteLine($"The effective height of the base station is {ivals.h_b_eff__meter} meters");
// The effective height of the base station is 30.0 meters
```
Binary file added models/EHata/images/nuget_ehata.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
14 changes: 14 additions & 0 deletions models/EHata/index.qmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
title: "Extended-Hata (E-Hata) Model - Overview"
---

A description of the Extended Hata Model (eHata), as well as details on input parameters, can be found at the [public GitHub repo](https://github.com/NTIA/ehata).

# Functions

## Basic Transmission Loss

Generate a basic transmission loss prediction.

Example: [C#](EHata-(.NET)#basic-transmission-loss) | [MATLAB](EHata-(MATLAB)#basic-transmission-loss) | [Python](EHata-(Python)#basic-transmission-loss)

33 changes: 33 additions & 0 deletions models/EHata/matlab.qmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
---
title: "Extended-Hata (E-Hata) Model - MATLAB"
---

## Examples

### Basic Transmission Loss

```matlab
% fake terrain profile information, in PFL-format, formatted from the
% mobile to the base station
pfl = [5 100 5 7 2 4 7 5];
% additional prediction parameters
f__mhz = 3500;
h_b__meter = 25;
h_m__meter = 1.5;
env = EHataClassification.Urban;
rel = 0.5; % variability
[A__db, interVals] = EHata.Invoke(pfl, f__mhz, h_b__meter, h_m__meter, env, rel);
fprintf('The basic transmission loss is %f dB\n', A__db);
fprintf('Can access internal values of this prediction such as:\n');
fprintf(' - Breakpoint distance: %f km\n', interVals.d_bp__km);
fprintf(' - Delta h: %f meter\n', interVals.deltah__meter);
fprintf(' - Base station horizon distance: %f km\n', interVals.d_hzn__meter(2));
% The basic transmission loss is 133.783679 dB
% Can access internal values of this prediction such as:
% - Breakpoint distance: 15.583715 km
% - Delta h: 4.977138 meter
% - Base station horizon distance: 500.000000 km
```
64 changes: 64 additions & 0 deletions models/EHata/python.qmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
---
title: "Extended-Hata (E-Hata) Model - Python"
---

The package name to install is `ehata`

```python
import ehata

print(ehata.__version__)
```

or

```
>> pip show ehata
```

## Dependencies

The `ehata` package has no dependencies.

## Installing Package

Use the following command to install `ehata` from the local pip repo:

```
pip install ehata --no-index --find-links file://itsfs01/Tools/Python/pip
```

## Getting Started

Importing `ehata` is as simple as including the following in your `.py` file:

```python
import ehata
```

## Documentation

All `ehata` functions contain built-in docstring help. This means that if your python development editor supports it, it can provide you with assistance on information such as function description, parameter types and descriptions, and return details.

This also means that `help()` is supported in the console to provide information.

# Examples

## Basic Transmission Loss

```python
pfl = [5, 100, 5, 7, 2, 4, 7, 5]
f__mhz = 3500
h_b__meter = 25
h_m__meter = 1.5
env = ehata.Classification.Urban
rel = 0.5

A__db, ivals = ehata.Invoke(pfl, f__mhz, h_b__meter, h_m__meter, env, rel)
assert(A__db == 133.7836794567479)

# can use the intermediate values object to access additional information
# from the EHata prediction
print(f"The effective height of the base station is {ivals.h_b_eff__meter} meters")
# The effective height of the base station is 30.0 meters
```
3 changes: 3 additions & 0 deletions models/ITM-MidBand/cpp.qmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
---
title: "ITM-MidBand - C++"
---
Loading

0 comments on commit 6a3e315

Please sign in to comment.