All Projects → space-physics → grwave

space-physics / grwave

Licence: MIT license
Python for ITU P.368 : Ground-wave propagation curves for frequencies between 10 kHz and 30 MHz

Programming Languages

fortran
972 projects
Roff
2310 projects
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to grwave

fastapi websocket pubsub
A fast and durable Pub/Sub channel over Websockets. FastAPI + WebSockets + PubSub == ⚡ 💪 ❤️
Stars: ✭ 255 (+1242.11%)
Mutual labels:  broadcast
multiproxy
multiproxy: multiple environments per application
Stars: ✭ 15 (-21.05%)
Mutual labels:  broadcast
jvmBASIC
A BASIC to JVM bytecode compiler
Stars: ✭ 40 (+110.53%)
Mutual labels:  basic-programming-language
mcast
The simple implementation of UDP broadcasting and multicast
Stars: ✭ 24 (+26.32%)
Mutual labels:  broadcast
piradar
Radar using Red Pitaya for RF: using Raspberry Pi 3 for quad-core radar signal processing
Stars: ✭ 59 (+210.53%)
Mutual labels:  geoscience
rtlsdr-wsprd
WSPR daemon for RTL receivers
Stars: ✭ 93 (+389.47%)
Mutual labels:  propagation
smd
Space Mission Design - A SPICE-enhanced continuous thrust interplanetary mission propagator and vizualizer
Stars: ✭ 22 (+15.79%)
Mutual labels:  propagation
AppListManager
📱 AppListManager (Android Library) makes managing application and activity lists easy.
Stars: ✭ 59 (+210.53%)
Mutual labels:  broadcast
react-native-google-nearby-messages
📲 Communicate with nearby devices using Bluetooth, BLE, WiFi and near-ultrasonic audio. Broadcast and receive small payloads (like strings) using the easy-to-use React Native API!
Stars: ✭ 143 (+652.63%)
Mutual labels:  broadcast
hwm93
NASA Horizontal Wind Model HWM93 in Python and Matlab
Stars: ✭ 14 (-26.32%)
Mutual labels:  geoscience
python-aos-lesson
Python for Atmosphere and Ocean Scientists
Stars: ✭ 78 (+310.53%)
Mutual labels:  geoscience
rockhound
NOTICE: This library is no longer being developed. Use Ensaio instead (https://www.fatiando.org/ensaio). -- Download geophysical models/datasets and load them in Python
Stars: ✭ 33 (+73.68%)
Mutual labels:  geoscience
CEventCenter
一个Android事件分发中心库,基于对象池及接口回调实现。实现类似BroadcastReceiver/RxBus/EventBus等的消息事件传递功能,用于在Activity/Fragment/Service之间的消息传递通讯。
Stars: ✭ 116 (+510.53%)
Mutual labels:  broadcast
LabelPropagation
A NetworkX implementation of Label Propagation from a "Near Linear Time Algorithm to Detect Community Structures in Large-Scale Networks" (Physical Review E 2008).
Stars: ✭ 101 (+431.58%)
Mutual labels:  propagation
open-geoscience-repository
Open geoscience datasets available in open databases from Google Drive, SEG Wiki, and US DoE Geothermal Data Repository OpenEi
Stars: ✭ 83 (+336.84%)
Mutual labels:  geoscience
ebu-tt-live-toolkit
Toolkit for supporting the EBU-TT Live specification
Stars: ✭ 23 (+21.05%)
Mutual labels:  broadcast
MatrixLib
Lightweight header-only matrix library (C++) for numerical optimization and machine learning. Contact me if there is an exciting opportunity.
Stars: ✭ 35 (+84.21%)
Mutual labels:  broadcast
UitzendingGemist
An *Unofficial* Uitzending Gemist application for Apple TV 4 (**deprecated, use TV Gemist ☝🏻**)
Stars: ✭ 48 (+152.63%)
Mutual labels:  broadcast
WaveProp in MATLAB
Single-file implementations of 2D and 3D acoustic and elastic wave propagation in time domain using finite-differences(FDTD). Simple formulation and implementation
Stars: ✭ 39 (+105.26%)
Mutual labels:  propagation
Estimate-Core-Permeability-from-NMR-data-using-either-Map-Inversion-or-kNN
Estimate Core-based Permeability from NMR well log data
Stars: ✭ 14 (-26.32%)
Mutual labels:  geoscience

GRWave groundwave propagation

ci

Python for ITU P.368: Ground-wave propagation curves for frequencies between 10 kHz and 30 MHz.

Original code

More serious needs for LF propagation modeling should consider modern software like SPAWAR LWPC since for communications circuits, signal strength is just one part of a complex system. Other necessary dominant factors include:

  • ITU-R P.372 Radio circuit noise
  • ITU-R F.1487 Ionospheric circuit simultation. Even if you only want groundwave, the ionospheric path in general interferes with the groundwave path.

image

Install

pip install -e .

Usage

python RunGRwave.py

This makes a very simple simulation plot, automatically feeding the parameters into GRWAVE from Python. No files are used, just io.StringIO.

Ground conductivity

Serious use of this would involve incremental runs with conductivity. To start assume uniform ground conductivity for the United States or world atlas.

Variables

grwave.for is written in a way that's not easy to switch to taking Python input directly. Instead we convert variables to StringIO in the format grwave expects. Likewise, output is to StringIO and parsed.

ANS: [R] The refractivity of the troposphere at the surface of the earth in N-units. Default ANS= 315

HSCALE:[R] The scale height of the troposphere in kilometres. Default HSCALE = 7.35.

IPOLRN:[I] A code number for the polarization. Default IPOLRN = 1.

  • 1 vertical polarization
  • 2 horizontal polarization

FREQ: [R] The frequency in MHz. Default FREQ = 1.0.

EPSLON:[R] The relative permittivity of the surface of the earth. Default EPSLON = 70.0 (sea).

SIGMA:[R] The conductivity of the surface of the earth in S/m. Default SIGMA = 5.0 (sea).

DMIN: [R] The minimum range in kilometres. Default DMIN = 10.0.

DMAX: [R] The maximum range in kilometres. Default DMAX = 200.0.

DSTEP:[R] The range step. See LOGLIN for further explanation. Default DSTEP = 10.0.

LOGLIN:[I] If LOGLIN = 0 then DSTEP, the range step is added to the range in geometrical and extended flat earth calculation regions and subtracted in the residue series regions. If LOGLIN = 1 then the new distance is computed by multiplying or dividing the previous distance by DSTEP. In this case, DSTEP is chosen to give a fixed number of points per logarithmic decade. If N points per logarithmic decade are desired, DSTEP is equal to 10 to the power (1/N). Default LOGLIN = 0.

[Note: In the residue series region, the calculations begin at DMAX and proceed inward to the transition to the flat earth or geometrical region. In these two regions, the calculations begin at DMIN and proceed outward to the transition point. In the form distributed, GRWAVE allows a maximum of 100 points in the residue region and 100 points in the flat earth region. These limits may be expanded by compiling the source code after modification of the appropriate dimension statements.]

IG: [I] If IG = -1 or 0, the field is calculated at long distances using the residue series formulation. If IG = 0 or 1, the field is calculated at short distances using the geometric optics or extended flat earth formulation. Default IG = 0.

JHT: [I] A variable which determines which combination of receiver antenna heights (HR(LR) LR=1,JR) and transmitter heights (HT(LT) LT=1,JT) is used in computing the field. If JHT=1, all possible combinations of pairs are used. If JHT=2, JR must equal JT and the field is calculated for specific pairs of heights [HR(1),HT(1)], [HR(2),HT(2)], .......[HR(JR),HT(JT)]. If JHT=3, JR must equal JT. Then LR is varied from 1 to LR while LT is varied from LR to LT. If the two arrays HR and HT are identical, this excludes those combinations that can be found by reciprocity. Default JHT = 1

HRR: [R] An array of of up to 20 receiver heights in metres. The number of points, JR is determined by the program by counting the number of heights entered. Default JR =1 ; HR(1)=100.0

HTT: [R] An array of of up to 20 transmitter heights in metres. The number of points, JT is determined by the program by counting the number of heights entered. Default JT =1 ; HT(1)=100.0

GO: A keyword used to indicate that the user has entered all variables and that the calculation of the field should proceed.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].