# `prop-618` — ITU propagation models for Earth-space telecommunications systems

# `prop-618`

`prop-618` (version 16, updated 2021 August 4)

(c) lloda 2019–2021

    Permission is granted to copy, distribute and/or modify this document
    under the terms of the GNU Free Documentation License, Version 1.3 or
    any later version published by the Free Software Foundation; with no
    Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.

`prop-618` is a translation into code of [ITU-618] and other references given there and in this ITU table. It is written in Fortran and offers bindings to C, Python, and Guile.

## 1 Overview

### 1.1 Attenuation

The overall attenuation is

\[ A_T(p) = A_G(p) + \sqrt{(A_R(p) + A_C(p))^2 + A_S^2(p)} \]

Each component is ‘attenuation exceeded for \(p\) of an average year’

- \(A_G\): atmospheric gases
- \(A_R\): rain
- \(A_C\): clouds
- \(A_S\): tropospheric scintillation

#### 1.1.1 Atmospheric gases

The computation in FIXME requires pressure, temperature and humidity data for each layer of the atmosphere. In the absence of specific data, location-dependent reference data is provided in FIXMEand a generic mean global atmosphere is provided in FIXME

#### 1.1.2 Rain

A procedure to compute attenuation due to rain is given in FIXME. This uses the rain height map from FIXME, the average annual rainfall rate map from FIXME, and the specific attenuation coefficients from FIXME.

## 2 Usage

## 3 Extras

## 4 Reference

### 4.1 Module `atmospheres`

Python function: init () ¶
Guile function: init ¶
C function: atmospheres_init () ¶
Fortran function: atmospheres_init () ¶

Python function: p835_ref (h) ¶
Guile function: p835-ref h ¶
C function: p835_ref (double const * h, double * P, double * rho, double * temp, int32_t * error) ¶
Fortran function: p835_ref (h, P, rho, temp, error) ¶

          real(C_DOUBLE), intent(in) :: h                   ! geometric height (km)
          real(C_DOUBLE), intent(out) :: P                  ! dry air partial pressure (hPa)
          real(C_DOUBLE), intent(out) :: rho                ! water vapor density (g/m³)
          real(C_DOUBLE), intent(out) :: temp               ! temperature (K)
          integer(C_INT32_T), intent(out):: error           ! error - 0 means none

### 4.2 Module `prop`

Python function: init () ¶
Guile function: init ¶
C function: prop_init () ¶
Fortran function: prop_init () ¶

Python function: p839_rain_height ¶
Guile function: p839-rain-height ¶
C function: p839_rain_height ¶
Fortran function: p839_rain_height ¶

Python function: p837_rainfall_rate ¶
Guile function: p837-rainfall-rate ¶
C function: p837_rainfall_rate ¶
Fortran function: p837_rainfall_rate ¶

Python function: p1510_temp ¶
Guile function: p1510-temp ¶
C function: p1510_temp ¶
Fortran function: p1510_temp ¶

Python function: p838_coeffs ¶
Guile function: p838-coeffs ¶
C function: p838_coeffs ¶
Fortran function: p838_coeffs ¶

Python function: p618_rain ¶
Guile function: p618-rain ¶
C function: p618_rain ¶
Fortran function: p618_rain ¶

Python function: p676_vapor_pressure ¶
Guile function: p676-vapor-pressure ¶
C function: p676_vapor_pressure ¶
Fortran function: p676_vapor_pressure ¶

Python function: p676_gas_specific ¶
Guile function: p676-gas-specific ¶
C function: p676_gas_specific ¶
Fortran function: p676_gas_specific ¶

Python function: p676_eq_height ¶
Guile function: p676-eq-height ¶
C function: p676_eq_height ¶
Fortran function: p676_eq_height ¶

Python function: p676_gas ¶
Guile function: p676-gas ¶
C function: p676_gas ¶
Fortran function: p676_gas ¶

Python function: p840_Lred ¶
Guile function: p840-Lred ¶
C function: p840_Lred ¶
Fortran function: p840_Lred ¶

Python function: p453_Nwet ¶
Guile function: p453-Nwet ¶
C function: p453_Nwet ¶
Fortran function: p453_Nwet ¶

Python function: p840_clouds ¶
Guile function: p840-clouds ¶
C function: p840_clouds ¶
Fortran function: p840_clouds ¶

Python function: p618_scint ¶
Guile function: p618-scint ¶
C function: p618_scint ¶
Fortran function: p618_scint ¶

Python function: p1511_topoh ¶
Guile function: p1511-topoh ¶
C function: p1511_topoh ¶
Fortran function: p1511_topoh ¶

Python function: p836_rho ¶
Guile function: p836-rho ¶
C function: p836_rho ¶
Fortran function: p836_rho ¶

Python function: p836_V ¶
Guile function: p836-V ¶
C function: p836_V ¶
Fortran function: p836_V ¶

## 5 Sources

[ITU-618] | ITU-R P.618-13: Propagation data and prediction methods required for the design of Earth-space telecommunication systems. https://www.itu.int/rec/R-REC-P.618/en, April 2019.

## Indices

## Notes

1. `ra::` uses the non standard `#pragma once` (supported on all major compilers).

JavaScript license information