Nexrad.NET
1.0.2
dotnet add package Nexrad.NET --version 1.0.2
NuGet\Install-Package Nexrad.NET -Version 1.0.2
<PackageReference Include="Nexrad.NET" Version="1.0.2" />
<PackageVersion Include="Nexrad.NET" Version="1.0.2" />
<PackageReference Include="Nexrad.NET" />
paket add Nexrad.NET --version 1.0.2
#r "nuget: Nexrad.NET, 1.0.2"
#:package Nexrad.NET@1.0.2
#addin nuget:?package=Nexrad.NET&version=1.0.2
#tool nuget:?package=Nexrad.NET&version=1.0.2
Nexrad.NET
Nexrad.NET is a C# library created for the purpose of reading and processing NEXRAD Level 3 radar files.
Overview
Basic Usage
This library is pretty straightfoward in its usage. Here is a basic example of decoding a super resolution base reflectivity file:
BinaryReader reader = new(File.OpenRead("super_res_base_ref_file"));
Level3 level3 = new(ref reader);
Comparison
Level3 objects can be compared to check if they are the same radar data.
BinaryReader reader = new(File.OpenRead("super_res_base_ref_file"));
Level3 level3_1 = new(ref reader);
Level3 level3_2 = new(ref reader);
Console.WriteLine(level3_1.compare(level3_2)); // will output "true" because both of these contain the same radar data
Arguments
The Level3 object has different arguments. They are specified as:
Level3 level3 = new(
ref reader, // binary reader, which is always required and is the only required arg. (must be passed as reference via ref keyword)
processingStages = 0b111, // processing stages. see below for more details.
textHeaderLength = -1, // the length of the text header, if known. default value is -1.
guessFormat = true, // tells the object to try to guess the format and text header length. default value is true.
enableDebuggingLogging = true // tells the object to output to console for logging reasons.
);
Unsupported Products
Currently, there are 4 unsupported products that may get support in the future. Those products are:
- Storm Structure (code=62)
- Melting Layer (code=166)
- Digital Precipitation Array (code=81)
- Supplemental Precipitation Data (code=82)
Processing Stages
The Level3 object has a processing stages argument which tells the class what parts of the product to decode. The value is structured as "0b111". This value is composed of 3 bits, each one telling the program what part to decode.
Basic overview of the bit stucture:
0b111
^^^
|||
||⤷ Bit 3. Decode symbology block if set to 1.
|⤷ Bit 2. Decode graphic block if set to 1.
⤷ Bit 1. Decode tabular block if set to 1.
Setting any of the bits to 0 will make that block not get processed. Can be used to save memory and processing time if you do not need the other blocks.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- SevenZipExtractor (>= 1.0.19)
-
net9.0
- SevenZipExtractor (>= 1.0.19)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Nexrad.NET:
Package | Downloads |
---|---|
SPCNet
An API made to gather data from the Storm Prediction Center (and other US meteorology agencies), and compile it into an easy to use format. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Fixed parsing errors for other products