ARTS
2.2.66
|
Workspace methods releated to refraction. More...
#include <cmath>
#include "absorption.h"
#include "arts.h"
#include "check_input.h"
#include "math_funcs.h"
#include "matpackI.h"
#include "messages.h"
#include "refraction.h"
#include "special_interp.h"
#include "abs_species_tags.h"
#include "physics_funcs.h"
Go to the source code of this file.
Functions | |
void | refr_index_airFreeElectrons (Numeric &refr_index_air, Numeric &refr_index_air_group, const Vector &f_grid, const ArrayOfArrayOfSpeciesTag &abs_species, const Vector &rtp_vmr, const Index &demand_vmr_value, const Verbosity &) |
WORKSPACE METHOD: refr_index_airFreeElectrons. More... | |
void | refr_index_airIR (Numeric &refr_index_air, Numeric &refr_index_air_group, const Numeric &rtp_pressure, const Numeric &rtp_temperature, const Verbosity &) |
WORKSPACE METHOD: refr_index_airIR. More... | |
void | refr_index_airThayer (Numeric &refr_index_air, Numeric &refr_index_air_group, const Numeric &rtp_pressure, const Numeric &rtp_temperature, const Vector &rtp_vmr, const ArrayOfArrayOfSpeciesTag &abs_species, const Numeric &a, const Numeric &b, const Numeric &c, const Verbosity &) |
WORKSPACE METHOD: refr_index_airThayer. More... | |
void | refr_index_airMWgeneral (Numeric &refr_index_air, Numeric &refr_index_air_group, const Numeric &rtp_pressure, const Numeric &rtp_temperature, const Vector &rtp_vmr, const ArrayOfArrayOfSpeciesTag &abs_species, const Verbosity &) |
WORKSPACE METHOD: refr_index_airMWgeneral. More... | |
void | complex_refr_indexConstant (GriddedField3 &complex_refr_index, const Numeric &refr_index_real, const Numeric &refr_index_imag, const Verbosity &) |
WORKSPACE METHOD: complex_refr_indexConstant. More... | |
void | complex_refr_indexWaterLiebe93 (GriddedField3 &complex_refr_index, const Vector &f_grid, const Vector &t_grid, const Verbosity &verbosity) |
WORKSPACE METHOD: complex_refr_indexWaterLiebe93. More... | |
void | complex_refr_indexIceWarren84 (GriddedField3 &, const Vector &, const Vector &, const Verbosity &) |
WORKSPACE METHOD: complex_refr_indexIceWarren84. More... | |
Variables | |
const Numeric | ELECTRON_CHARGE |
const Numeric | ELECTRON_MASS |
const Numeric | PI |
const Numeric | VACUUM_PERMITTIVITY |
const Numeric | TORR2PA |
Workspace methods releated to refraction.
These functions are listed in the doxygen documentation as entries of the file auto_md.h.
Definition in file m_refraction.cc.
void complex_refr_indexConstant | ( | GriddedField3 & | complex_refr_index, |
const Numeric & | refr_index_real, | ||
const Numeric & | refr_index_imag, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: complex_refr_indexConstant.
Set complex refractive index to a constant value.
Frequency and temperature grids are set to have length 1 (and set to the value 0).
[out] | complex_refr_index | WS Output |
[in] | refr_index_real | Generic Input |
[in] | refr_index_imag | Generic Input |
Definition at line 334 of file m_refraction.cc.
References GriddedField3::data, joker, GriddedField3::resize(), GriddedField::set_grid(), and GriddedField::set_grid_name().
Referenced by complex_refr_indexConstant_g().
void complex_refr_indexIceWarren84 | ( | GriddedField3 & | complex_refr_index, |
const Vector & | data_f_grid, | ||
const Vector & | data_T_grid, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: complex_refr_indexIceWarren84.
Refractive index of ice follwoing Warren84 parameterization.
Calculates complex refractive index of Ice 1H for wavelengths between 45 nm and 8.6 m. For wavelengths above 167 microns, temperature dependence is included for temperatures between 213 and 272K. Mainly intended for applications in Earth ice clouds and snow, not other planets or interstellar space; the temperature dependence or crystalline form of ice may be incorrect for these latter applications.
Authors of Fortran function: Stephen Warren, Univ. of Washington (1983) Bo-Cai Gao, JCESS, Univ. of Maryland (1995) Warren Wiscombe, NASA Goddard (1995)
References: Warren, S., 1984: Optical Constants of Ice from the Ultraviolet to the Microwave, Appl. Opt. 23, 1206-1225
Kou, L., D. Labrie, and P. Chylek, 1994: Refractive indices of water and ice in the 0.65- to 2.5-micron spectral range, Appl. Opt. 32, 3531-3540
Perovich, D., and J. Govoni, 1991: Absorption Coefficients of Ice from 250 to 400 nm, Geophys. Res. Lett. 18, 1233-1235
[out] | complex_refr_index | WS Output |
[in] | data_f_grid | Generic Input |
[in] | data_T_grid | Generic Input |
Definition at line 439 of file m_refraction.cc.
Referenced by complex_refr_indexIceWarren84_g(), and complex_refr_indexWaterLiebe93().
void complex_refr_indexWaterLiebe93 | ( | GriddedField3 & | complex_refr_index, |
const Vector & | data_f_grid, | ||
const Vector & | data_T_grid, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: complex_refr_indexWaterLiebe93.
Complex refractive index of liquid water according to Liebe 1993.
The method treats liquid water without salt. Thus, not valid below 10 GHz. Upper frequency limit not known, here set to 1000 GHz. Model parameters taken from Atmlab function epswater93 (by C. Maetzler), which refer to Liebe 1993 without closer specifications.
Temperatures must be between -40 and 100 degrees Celsius. The accuracy of the parametrization below 0 C is not known by us.
[out] | complex_refr_index | WS Output |
[in] | data_f_grid | Generic Input |
[in] | data_T_grid | Generic Input |
Definition at line 355 of file m_refraction.cc.
References chk_if_in_range(), complex_n_water_liebe93(), complex_refr_indexIceWarren84(), CREATE_OUT1, GriddedField3::data, joker, max, min, ConstVectorView::nelem(), refice_(), GriddedField3::resize(), GriddedField::set_grid(), GriddedField::set_grid_name(), and SPEED_OF_LIGHT.
Referenced by complex_refr_indexWaterLiebe93_g().
void refr_index_airFreeElectrons | ( | Numeric & | refr_index_air, |
Numeric & | refr_index_air_group, | ||
const Vector & | f_grid, | ||
const ArrayOfArrayOfSpeciesTag & | abs_species, | ||
const Vector & | rtp_vmr, | ||
const Index & | demand_vmr_value, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: refr_index_airFreeElectrons.
Microwave refractive index due to free electrons.
The refractive index of free electrons is added to refr_index_air. To obtain the complete value, refr_index_air should be set to 1 before calling this WSM. This applies also to refr_index_air_group.
The expression applied is n=sqrt(1-wp^2/w^2) where wp is the plasma frequency, and w is the angular frequency (the function returns n-1, that here is slightly negative). This expressions is found in many textbooks, e.g. Rybicki and Lightman (1979). The above refers to refr_index. refr_index_group is sqrt(1+wp^2/w^2).
The expression is dispersive. The frequency applied is the mean of first and last element of f_grid is selected. This frequency must be at least twice the plasma frequency.
An error is issued if free electrons not are part of abs_species (and there exist a corresponding "vmr"-value). This demand is removed if demand_vmr_value is set to 0, but use this option with care.
[out] | refr_index_air | WS Output |
[out] | refr_index_air_group | WS Output |
[in] | f_grid | WS Input |
[in] | abs_species | WS Input |
[in] | rtp_vmr | WS Input |
[in] | demand_vmr_value | Generic Input (Default: "1") |
Definition at line 66 of file m_refraction.cc.
References ELECTRON_CHARGE, ELECTRON_MASS, last(), Array< base >::nelem(), PI, SpeciesTag::TYPE_FREE_ELECTRONS, and VACUUM_PERMITTIVITY.
Referenced by refr_index_airFreeElectrons_g().
void refr_index_airIR | ( | Numeric & | refr_index_air, |
Numeric & | refr_index_air_group, | ||
const Numeric & | rtp_pressure, | ||
const Numeric & | rtp_temperature, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: refr_index_airIR.
Calculates the IR refractive index due to gases in the Earth's atmosphere.
Only refractivity of dry air is considered. The formula used is contributed by Michael Hoefner, Forschungszentrum Karlsruhe.
The refractivity of dry air is added to refr_index_air. To obtain the complete value, refr_index_air should be set to 1 before calling this WSM. This applies also to refr_index_air_group.
The expression used is non-dispersive. Hence, refr_index_air and refr_index_air_group* are identical.
[out] | refr_index_air | WS Output |
[out] | refr_index_air_group | WS Output |
[in] | rtp_pressure | WS Input |
[in] | rtp_temperature | WS Input |
Definition at line 135 of file m_refraction.cc.
Referenced by refr_index_airIR_g().
void refr_index_airMWgeneral | ( | Numeric & | refr_index_air, |
Numeric & | refr_index_air_group, | ||
const Numeric & | rtp_pressure, | ||
const Numeric & | rtp_temperature, | ||
const Vector & | rtp_vmr, | ||
const ArrayOfArrayOfSpeciesTag & | abs_species, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: refr_index_airMWgeneral.
Microwave refractive index due to gases in planetary atmospheres.
The refractivity of a specified gas mixture is calculated and added to refr_index_air. To obtain the complete value, refr_index_air should be set to 1 before calling this WSM. This applies also to refr_index_air_group.
The expression used is non-dispersive. Hence, refr_index_air and refr_index_air_group* are identical.
Uses the methodology introduced by Newell&Baird (1965) for calculating refractivity of variable gas mixtures based on refractivity of the individual gases at reference conditions. Assuming ideal gas law for converting reference refractivity to actual pressure and temperature conditions. Reference refractivities are also taken from Newell&Baird (1965) and are vailable for N2, O2, CO2, H2, and He. Additionally, H2O reference refractivity has been derived from H2O contribution in Thayer (see refr_index_airThayer*) for T0=273.15K. Any mixture of these gases can be taken into account.
[out] | refr_index_air | WS Output |
[out] | refr_index_air_group | WS Output |
[in] | rtp_pressure | WS Input |
[in] | rtp_temperature | WS Input |
[in] | rtp_vmr | WS Input |
[in] | abs_species | WS Input |
Definition at line 196 of file m_refraction.cc.
References find_first_species_tg(), Array< base >::nelem(), ConstVectorView::nelem(), species_index_from_species_name(), and TORR2PA.
Referenced by refr_index_airMWgeneral_g().
void refr_index_airThayer | ( | Numeric & | refr_index_air, |
Numeric & | refr_index_air_group, | ||
const Numeric & | rtp_pressure, | ||
const Numeric & | rtp_temperature, | ||
const Vector & | rtp_vmr, | ||
const ArrayOfArrayOfSpeciesTag & | abs_species, | ||
const Numeric & | a, | ||
const Numeric & | b, | ||
const Numeric & | c, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: refr_index_airThayer.
Microwave refractive index due to gases in the Earth's atmosphere.
The refractivity of dry air and water vapour is added to refr_index_air*. To obtain the complete value, refr_index_air shoul be set to 1 before calling this WSM. This applies also to refr_index_air_group.
The expression used is non-dispersive. Hence, refr_index_air and refr_index_air_group* are identical.
The parameterisation of Thayer (Radio Science, 9, 803-807, 1974) is used. See also Eq. 3 and 5 of Solheim et al. (JGR, 104, pp. 9664). The expression can be written as <br> N = aP/T + be/T + ce/T^2 where N is refractivity, P is pressure, T is temperature and e is water vapour partial pressure. The values of a, b and c can be modified. Default values are taken from Thayer (1974). Note that Thayer uses mbar for pressures, while in ARTS Pa is used and a, b and c must be scaled accordingly.
[out] | refr_index_air | WS Output |
[out] | refr_index_air_group | WS Output |
[in] | rtp_pressure | WS Input |
[in] | rtp_temperature | WS Input |
[in] | rtp_vmr | WS Input |
[in] | abs_species | WS Input |
[in] | a | Generic Input (Default: "77.6e-8") |
[in] | b | Generic Input (Default: "64.8e-8") |
[in] | c | Generic Input (Default: "3.776e-3") |
Definition at line 157 of file m_refraction.cc.
References find_first_species_tg(), Array< base >::nelem(), ConstVectorView::nelem(), and species_index_from_species_name().
Referenced by refr_index_airThayer_g().
const Numeric ELECTRON_CHARGE |
Referenced by refr_index_airFreeElectrons().
const Numeric ELECTRON_MASS |
Referenced by refr_index_airFreeElectrons().
const Numeric PI |
Referenced by refr_index_airFreeElectrons().
const Numeric TORR2PA |
Referenced by refr_index_airMWgeneral().
const Numeric VACUUM_PERMITTIVITY |
Referenced by refr_index_airFreeElectrons().