Engee documentation

refractiveidx

Calculation of the refractive index.

Library

EngeePhased

Syntax

Function call

  • ridx,N = refractiveidx(h) — calculates the refractive index ridx and refrangibility N at a height h above mean sea level using the standard atmospheric Model of the International Telecommunication Union (ITU).

  • ridx,N = refractiveidx(h;Name=Value) — calculates the refractive index and refrangibility with additional parameters specified by one or more arguments of the type «name-value».

  • refractiveidx(___;out=:plot) — plots the refractive index as a function of altitude in kilometers.

Arguments

Input arguments

# h — geometric heights

+ vector

Details

Geometric heights corresponding to the height above mean sea level in meters, set as a vector string.

Типы данных

Float64

Input arguments «name-value»

Specify optional argument pairs in the format Name = Value, where Name — the name of the argument, and Value — the appropriate value. Type arguments «name-value» they should be placed after the other arguments, but the order of the pairs does not matter.

Example: refractiveidx(h; LatitudeModel = "Mid", Season = "Winter") sets the model of mid-latitudes in winter.

# WaterVaporDensity — standard absolute humidity at ground level

+ 7.5 (by default) | scalar

Details

The standard absolute humidity at ground level in g/m 3, given as a scalar.

To use this argument, set for the argument LatitudeModel meaning "Standard".

Типы данных

Float64

# ScaleHeight — height scale

+ 2.0e3 (by default) | scalar

Details

The height scale in meters, set as a scalar.

To use this argument, set for the argument LatitudeModel meaning "Standard". In a dry atmosphere, set this argument to 6.0e3 m.

Типы данных

Float64

# LatitudeModel — Latitude reference model

+ "Standard" (by default) | "Low" | "Mid" | "High"

Details

The reference model of latitude, set as one of the following values:

  • "Standard" — The model represents the Standard Global Atmosphere (MAGRA), characterized by annual averages of temperature and pressure around the globe.

  • "Low" — the model is designed for low latitudes less than 22 degrees, where seasonal fluctuations are insignificant.

  • "Mid" — the model is designed for mid-latitudes from 22 before 45 degrees with seasonal profiles for values "Summer" and "Winter", set using the argument Season.

  • "High" — the model is designed for higher latitudes than 45 degrees with seasonal profiles for values "Summer" and "Winter", set using the argument Season.

Типы данных

String

# Season — seasonal profile

+ "Summer" (by default) | "Winter"

Details

Seasonal profile for latitude models "Mid" and "High", set as "Summer" or "Winter". Other latitude models ignore this argument.

# Atmospheremeasuries — Custom atmospheric measurements

+ the matrix

Details

Custom atmospheric measurements for calculating refractive index ridx, defined as a matrix of size on , where — the number of height measurements. The first column of the matrix is the atmospheric temperature in kelvin, the second column is atmospheric pressure in gPa, the third column is absolute humidity in g/m3, and the fourth column is the measurement altitude above mean sea level in meters, indicated in ascending order. When using a custom model, all other arguments are of the type «name-value» are ignored, and the output refractive index is ridx applies to the entrance height h.

Типы данных

Float32, Float64

# out — type of output data

+ :data (default) | :plot

Details

Type of output data:

  • :data — the function returns data;

  • :plot — the function returns a graph.

Output arguments

# ridx — refractive index
vector

Details

The refractive index returned as a string vector.

# N — refractive index

+ vector

Details

The refrangibility returned as a string vector.

Examples

Calculation of the refractive index and refrangibility

Details

Calculate the refractive index and refrangibility at height 20 km, using the mid-latitude model in winter.

import EngeePhased.Functions: refractiveidx

h = 20e3

ridx, N = refractiveidx(h, LatitudeModel = "Mid", Season = "Winter")

println("ridx = ", ridx, "\nN = ", N)
ridx = 1.00002119612079
N = 21.196120790095854

Literature

  1. International Telecommunication Union (ITU). «The Radio Refractive Index: Its Formula and Refractivity Data». Recommendation ITU-R P.453-11, P Series, Radiowave Propagation, July 2015.