ARTS
2.4.0(git:4fb77825)
|
Workspace methods releated to refraction. More...
#include <cmath>
#include "abs_species_tags.h"
#include "absorption.h"
#include "arts.h"
#include "check_input.h"
#include "math_funcs.h"
#include "matpackI.h"
#include "messages.h"
#include "physics_funcs.h"
#include "refraction.h"
#include "special_interp.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_airInfraredEarth (Numeric &refr_index_air, Numeric &refr_index_air_group, const Numeric &rtp_pressure, const Numeric &rtp_temperature, const Verbosity &) |
WORKSPACE METHOD: refr_index_airInfraredEarth. More... | |
void | refr_index_airMicrowavesEarth (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 &k1, const Numeric &k2, const Numeric &k3, const Verbosity &) |
WORKSPACE METHOD: refr_index_airMicrowavesEarth. More... | |
void | refr_index_airMicrowavesGeneral (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_airMicrowavesGeneral. 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_indexIceMatzler06 (GriddedField3 &complex_refr_index, const Vector &f_grid, const Vector &t_grid, const Verbosity &) |
WORKSPACE METHOD: complex_refr_indexIceMatzler06. 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 308 of file m_refraction.cc.
References ARTS::Var::complex_refr_index(), and joker.
Referenced by complex_refr_indexConstant_g().
void complex_refr_indexIceMatzler06 | ( | GriddedField3 & | complex_refr_index, |
const Vector & | data_f_grid, | ||
const Vector & | data_T_grid, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: complex_refr_indexIceMatzler06.
Refractive index of ice following Matzler06 parameterization.
Calculates temperature dependent complex refractive index of hexagonal ice at microwave and sub-mm frequencies (10MHz-3Tz).
This parametrization is also applied by the microwave and submm-wave part of the Warren08 model.
References: Matzler, C., 2006: Thermal Microwave Radiation: Application for Remote Sensing, Microwave dielectric properties of ice, pp. 455-462, Inst. Eng. Technol., Stevenage, U. K. Warren, S. G., and R. E. Brandt, 2008: Optical constants of ice from the ultraviolet to the microwave: A revised compilation, J. Geophys. Res., 113, D14220, doi:10.1029/2007JD009744.
[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_ice_matzler06(), ARTS::Var::complex_refr_index(), ARTS::Var::f_grid(), joker, max, min, and ConstVectorView::nelem().
Referenced by complex_refr_indexIceMatzler06_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 following 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 438 of file m_refraction.cc.
Referenced by complex_refr_indexIceWarren84_g().
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 325 of file m_refraction.cc.
References complex_n_water_liebe93(), ARTS::Var::complex_refr_index(), CREATE_OUT1, ARTS::Var::f_grid(), joker, min, and ConstVectorView::nelem().
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_air. refr_index_air_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.
[in,out] | refr_index_air | WS Input/Output |
[in,out] | refr_index_air_group | WS Input/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 60 of file m_refraction.cc.
Referenced by refr_index_airFreeElectrons_g().
void refr_index_airInfraredEarth | ( | Numeric & | refr_index_air, |
Numeric & | refr_index_air_group, | ||
const Numeric & | rtp_pressure, | ||
const Numeric & | rtp_temperature, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: refr_index_airInfraredEarth.
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 Hoepfner, 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.
[in,out] | refr_index_air | WS Input/Output |
[in,out] | refr_index_air_group | WS Input/Output |
[in] | rtp_pressure | WS Input |
[in] | rtp_temperature | WS Input |
Definition at line 120 of file m_refraction.cc.
References ARTS::Var::refr_index_air(), ARTS::Var::refr_index_air_group(), ARTS::Var::rtp_pressure(), ARTS::Var::rtp_temperature(), and sqrt().
Referenced by refr_index_airInfraredEarth_g().
void refr_index_airMicrowavesEarth | ( | 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 & | k1, | ||
const Numeric & | k2, | ||
const Numeric & | k3, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: refr_index_airMicrowavesEarth.
Microwave refractive index in Earth's atmosphere.
This method just considers pressure, temperature and water vapour, which should suffice for Earth. For a more general method, see refr_index_airMicrowavesGeneral.
The refractivity of dry air and water vapour 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.
The standard expression for Earth and microwaves is used: <br> N = k1*(P-e)/T + k2*e/T + k3*e/T^2 where N is refractivity, P is pressure, T is temperature and e is water vapour partial pressure. The values of k1, k2 and k3 can be modified.
Many different values of k1, k2 and k3 can be found in the literature. The default values applied here are taken from Bevis et al., GPS meteorology: Mapping ..., JAM, 1994. More specifically, these value are found in Table 1, listed as "Present study". Note that in ARTS Pa is used for pressure and k1, k2 and k3 must be adjusted accordingly.
[in,out] | refr_index_air | WS Input/Output |
[in,out] | refr_index_air_group | WS Input/Output |
[in] | rtp_pressure | WS Input |
[in] | rtp_temperature | WS Input |
[in] | rtp_vmr | WS Input |
[in] | abs_species | WS Input |
[in] | k1 | Generic Input (Default: "77.6e-8") |
[in] | k2 | Generic Input (Default: "70.4e-8") |
[in] | k3 | Generic Input (Default: "3.739e-3") |
Definition at line 139 of file m_refraction.cc.
References ARTS::Var::abs_species(), find_first_species_tg(), ARTS::Var::rtp_vmr(), and species_index_from_species_name().
Referenced by refr_index_airMicrowavesEarth_g().
void refr_index_airMicrowavesGeneral | ( | 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_airMicrowavesGeneral.
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_airMicrowavesEarth*) for T0=273.15K. Any mixture of these gases can be taken into account.
[in,out] | refr_index_air | WS Input/Output |
[in,out] | refr_index_air_group | WS Input/Output |
[in] | rtp_pressure | WS Input |
[in] | rtp_temperature | WS Input |
[in] | rtp_vmr | WS Input |
[in] | abs_species | WS Input |
Definition at line 174 of file m_refraction.cc.
References TORR2PA.
Referenced by refr_index_airMicrowavesGeneral_g().
|
extern |
|
extern |
|
extern |
|
extern |
Referenced by refr_index_airMicrowavesGeneral().
|
extern |