-
Notifications
You must be signed in to change notification settings - Fork 1
Add P676, P835 models #7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
cheroy-ntia
wants to merge
32
commits into
p2108-python-release
Choose a base branch
from
lfmf-dotnet-p676
base: p2108-python-release
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
32 commits
Select commit
Hold shift + click to select a range
5e1c757
add P676, P835 index
cheroy-ntia fb42152
update font size
cheroy-ntia fbc7272
update font size
cheroy-ntia 28ffffd
update LFMF
cheroy-ntia 3afc0c1
add LFMF dotnet
cheroy-ntia 7771231
update title
cheroy-ntia 4561109
clean up
cheroy-ntia 6269a17
add intro
cheroy-ntia 0529cbc
update p676 index
cheroy-ntia e11ceba
example font
cheroy-ntia 7b5f57c
P676
cheroy-ntia a3ac5f1
p676 cpp
cheroy-ntia 1d9cc74
cpp
cheroy-ntia ee2d0dd
p676 C++
cheroy-ntia 9c0a471
p676 title
cheroy-ntia eed7007
add p676 driver
cheroy-ntia e974cdf
add p676 python
cheroy-ntia 9d7c005
add p676 matlab
cheroy-ntia 81e9b7b
add p676 dotnet
cheroy-ntia 2a09d17
lfmf dotnet
cheroy-ntia ba5f299
add p835
cheroy-ntia 8a1ed86
add p835 index
cheroy-ntia dca9c19
update reference
cheroy-ntia 7f8c695
add p835 cpp
cheroy-ntia 1768f24
p835 cpp
cheroy-ntia 2d37742
p835 cpp
cheroy-ntia 411875d
p835 dotnet
cheroy-ntia f6a2bc3
p835 matlab
cheroy-ntia e8290f9
add p835 python
cheroy-ntia 9e2acec
update p835 driver
cheroy-ntia 38100b1
remove duplicated the
cheroy-ntia 5ce24f6
remove the
cheroy-ntia File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,3 +1,3 @@ | ||
| #### Examples | ||
| **Examples** | ||
|
|
||
| Language-specific code examples showing the use of this function are available by following these links: |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,9 +1,9 @@ | ||
| # General Usage | ||
| ## General Usage | ||
|
|
||
| ## Input Files | ||
| ### Input Files | ||
|
|
||
| Inputs to the command-line driver are specified in an ASCII text file using the common `key,value` format. Each line holds a single `key,value` combination, with the `key` representing the model input variable name and the `value` representing its value. Refer to the [examples](#examples) below to see the specific keys required for this model's inputs. Note that key names are not case-sensitive. | ||
|
|
||
| ## Output Files | ||
| ### Output Files | ||
|
|
||
| After parsing the inputs and running the software, the command-line driver will generate an output report file containing the results. This file contains a record of the input parameters along with the model outputs and human-readable supporting details. Refer to the [examples](#examples) below to see the expected format of output files generated by this model. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -5,5 +5,5 @@ use the command-line driver. | |
|
|
||
| {{< include /includes/_link_to_model_home.qmd >}} | ||
|
|
||
| # Installation | ||
| ## Installation | ||
|
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,79 @@ | ||
| --- | ||
| title: "Low Frequency / Medium Frequency Propagation Model – .NET" | ||
| date: 2025-01-24 | ||
| date-modified: 2025-06-12 | ||
| --- | ||
|
|
||
| This page details the installation and usage of the .NET version of the PropLib implementation of the Low Frequency / Medium Frequency (LF/MF) propagation model. | ||
|
|
||
| {{< include /includes/_link_to_model_home.qmd >}} | ||
|
|
||
| ## Installation | ||
|
|
||
| This .NET package is distributed on | ||
| [NuGet](https://www.nuget.org/packages/ITS.Propagation.LFMF). | ||
|
|
||
| There are two easy ways to install the NuGet package: [dotnet CLI](#installation-with-dotnet-cli) or [Visual Studio](#installation-with-visual-studio). | ||
|
|
||
| ### Installation with dotnet CLI | ||
|
|
||
| 1. Run the following command to install the package. | ||
|
|
||
| ```default | ||
| dotnet add package ITS.Propagation.LFMF | ||
| ``` | ||
|
|
||
| 1. After the command completes, open the project csproj file to see the added NuGet package reference: | ||
|
|
||
| ```default | ||
| <ItemGroup> | ||
| <PackageReference Include="ITS.Propagation.LFMF" Version="1.1.0" /> | ||
| </ItemGroup> | ||
| ``` | ||
|
|
||
| ### Installation with Visual Studio | ||
|
|
||
| 1. Open your project in **Visual Studio** and select **Project > Manage NuGet Packages**. | ||
|
|
||
| 1. In the **NuGet Package Manager** page, choose **nuget.org** as the **Package source**. | ||
|
|
||
| 1. From the **Browse** tab, search for **ITS.Propagation.LFMF**, select ITS.Propagation.LFMF in the list, and then select Install as shown in @fig-dotnet-add-nuget. | ||
|
|
||
| {#fig-dotnet-add-nuget fig-alt="A screenshot showing the 'NuGet Package Manager'" width=600 fig-align="left"} | ||
|
|
||
| 1. If you're prompted to verify the installation, select OK. | ||
|
|
||
| ## Examples | ||
|
|
||
| The following code examples show how the LF/MF model can be called from .NET project. | ||
|
|
||
| ### Calling the LFMF Model | ||
|
|
||
| ```c# | ||
| using ITS.Propagation; | ||
|
|
||
| // define inputs | ||
| double h_tx__meter = 0; // Height of the transmitter | ||
| double h_rx__meter = 0; // Height of the receiver | ||
| double f__mhz = 0.01; // Frequency | ||
| double P_tx__watt = 1000.0; // Transmitter power | ||
| double N_s = 301.0; // Surface refractivity | ||
| double d__km = 1000.0; // Path distance | ||
| double epsilon = 15.0; // Relative permittivity | ||
| double sigma = 0.005; // Conductivity | ||
| int pol = 0; // Polarization (enum value) | ||
| // Alternately, `pol` can be specified using the enum: | ||
| // LFMF.Polarization pol = LFMF.Polarization.Horizontal; | ||
|
|
||
| // Call the LF/MF model | ||
| int rtn = LFMF.LFMFModel(h_tx__meter, h_rx__meter, f__mhz, P_tx__watt, N_s, | ||
| d__km, epsilon, sigma, pol, out LFMF.Result result); | ||
|
|
||
| // rtn is 0 (SUCCESS) | ||
| // The result is a data structure containing four elements: | ||
| // result.A_btl__db is approximately 184.49 | ||
| // result.E__dBuVm is approximately -82.50 | ||
| // result.P_rx__dbm is approximately -114.93 | ||
| // result.method is ITS.Propagation.LFMF.SolutionMethod.ResidueSeries | ||
| // (SolutionMethod enum value 1) | ||
| ``` |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,16 +1,22 @@ | ||
| --- | ||
| title: "Low Frequency / Medium Frequency Propagation Model – Command-Line Driver" | ||
| date: 2025-01-10 | ||
| date-modified: 2025-01-10 | ||
| date-modified: 2025-06-12 | ||
| --- | ||
|
|
||
| This page details the usage of the cross-platform command-line driver version of the Low Frequency / Medium Frequency (LF/MF) propagation model. | ||
|
|
||
| {{< include /includes/driver/_intro_and_installation.qmd >}} | ||
|
|
||
| To use the command-line driver program, you'll need to download the driver program | ||
| (`LFMFDriver-1.1.0-Windows-x64.exe` or `LFMFDriver-1.1.0-Windows-x86.exe` on Windows, `LFMFDriver-1.1.0-Darwin-universal` on macOS, or `LFMFDriver-1.1.0-Linux-x86_64` on Linux) | ||
| and the shared library (`.dll` on Windows, `.dylib` on macOS, or `.so` on Linux). | ||
| These are distributed for each supported platform as part of the [GitHub Releases](https://github.com/NTIA/LFMF/releases/) starting with v1.1. | ||
| Prior to v1.1, support was only provided for Windows platforms. | ||
|
|
||
| {{< include /includes/driver/_general_usage.qmd >}} | ||
|
|
||
| # Command-Line Arguments | ||
| ## Command-Line Arguments | ||
|
|
||
| Executing the command-line driver requires specifying input arguments, defined in @tbl-lfmf-driver-input-args below. | ||
|
|
||
|
|
@@ -31,7 +37,7 @@ The additional arguments are defined in @tbl-lfmf-driver-additional-args | |
| | `-v` | Display version information for the library and driver | | ||
| : Additional arguments for the LF/MF command-line driver {#tbl-lfmf-driver-additional-args} | ||
|
|
||
| # Examples | ||
| ## Examples | ||
|
|
||
| The LF/MF model can be run by simply providing the input and output files on the command line. | ||
| For example: | ||
|
|
@@ -49,7 +55,7 @@ LFMFDriver-1.1.0-Windows-x64.exe -i input.txt -o output.txt | |
|
|
||
| Three example sets of input/output file pairs are provided below. | ||
|
|
||
| ## Example 1 | ||
| ### Example 1 | ||
|
|
||
| ```{.default filename="Input File Contents"} | ||
| h_tx__meter,0 | ||
|
|
@@ -67,29 +73,29 @@ pol,0 | |
| Model LFMF | ||
| Library Version v1.1 | ||
| Driver Version v1.1.0 | ||
| Date Generated Mon Nov 18 13:56:29 2024 | ||
| Input Arguments -i i_lfmf_01.txt -o o_lfmf_01.txt | ||
| Date Generated Tue Jul 01 13:38:18 2025 | ||
| Input Arguments -i input.txt -o results.txt | ||
|
|
||
| Inputs: | ||
| h_tx__meter 0 [meter] | ||
| h_rx__meter 0 [meter] | ||
| h_tx__meter 0 [meters] | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Plural and lowercase is better here where I think, stating units is usually arbitrary. But this format is correct: |
||
| h_rx__meter 0 [meters] | ||
| f__mhz 0.01 [MHz] | ||
| p_tx__watt 1000 [Watts] | ||
| p_tx__watt 1000 [watts] | ||
| n_s 301 [N-Units] | ||
| d__km 1000 [km] | ||
| epsilon 15 | ||
| sigma 0.005 | ||
| pol 0 [0 = Horizontal, 1 = Vertical] | ||
|
|
||
| Results: | ||
| Return Code 0 [LFMF v1.0 Status: Successful execution] | ||
| Return Code 0 [LFMF v1.1 Status: Successful execution] | ||
| Basic transmission loss 184.49 [dB] | ||
| Electric field strength -82.50 [dB(uV/m)] | ||
| Received power -114.93 [dB] | ||
| Solution method 1 [0 = Flat earth with curve correction, 1 = Residue series] | ||
| ``` | ||
|
|
||
| ## Example 2 | ||
| ### Example 2 | ||
|
|
||
| ```{.default filename="Input File Contents"} | ||
| h_tx__meter,5.5 | ||
|
|
@@ -129,7 +135,7 @@ Received power -84.78 [dB] | |
| Solution method 0 [0 = Flat earth with curve correction, 1 = Residue series] | ||
| ``` | ||
|
|
||
| ## Example 3 | ||
| ### Example 3 | ||
|
|
||
| ```{.default filename="Input File Contents"} | ||
| h_tx__meter,1 | ||
|
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"Vapour" is British spelling where typically write as "Vapor". However, this is considered good, where simply looked weird as haven't seen that spelling.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, this follows the P676 and P835 paper. Was thinking change to "Vapor", but everywhere in code is using "Vapour".