#include "absorption.h"
#include "arts.h"
#include "check_input.h"
#include "matpackI.h"
#include "messages.h"
#include "refraction.h"
#include "special_interp.h"
#include "abs_species_tags.h"
Go to the source code of this file.
Functions | |
void | refr_indexFieldAndGradients (Workspace &ws, Numeric &refr_index, Numeric &a_pressure, Numeric &a_temperature, Vector &a_vmr_list, Tensor4 &out, const Agenda &refr_index_agenda, const Index &atmosphere_dim, const Vector &p_grid, const Vector &lat_grid, const Vector &lon_grid, const Matrix &r_geoid, const Tensor3 &z_field, const Tensor3 &t_field, const Tensor4 &vmr_field, const Vector &p_values, const Vector &lat_values, const Vector &lon_values) |
WORKSPACE METHOD: refr_indexFieldAndGradients. | |
void | refr_indexIR (Numeric &refr_index, const Numeric &a_pressure, const Numeric &a_temperature, const Vector &a_vmr_list) |
WORKSPACE METHOD: refr_indexIR. | |
void | refr_indexThayer (Numeric &refr_index, const Numeric &a_pressure, const Numeric &a_temperature, const Vector &a_vmr_list, const ArrayOfArrayOfSpeciesTag &abs_species) |
WORKSPACE METHOD: refr_indexThayer. | |
void | refr_indexUnit (Numeric &refr_index) |
WORKSPACE METHOD: refr_indexUnit. |
Definition in file m_refraction.cc.
void refr_indexFieldAndGradients | ( | Workspace & | ws, | |
Numeric & | refr_index, | |||
Numeric & | rte_pressure, | |||
Numeric & | rte_temperature, | |||
Vector & | rte_vmr_list, | |||
Tensor4 & | gout1, | |||
const Agenda & | refr_index_agenda, | |||
const Index & | atmosphere_dim, | |||
const Vector & | p_grid, | |||
const Vector & | lat_grid, | |||
const Vector & | lon_grid, | |||
const Matrix & | r_geoid, | |||
const Tensor3 & | z_field, | |||
const Tensor3 & | t_field, | |||
const Tensor4 & | vmr_field, | |||
const Vector & | gin1, | |||
const Vector & | gin2, | |||
const Vector & | gin3 | |||
) |
WORKSPACE METHOD: refr_indexFieldAndGradients.
Calculates the field and gradients of the refractive index.
This function calculates the refractive index and its gradients for a rectangular grid.
Calculations are performed for all combinations of the given vectors, where the first vector shall contain pressure values, the second latitude values, and the last longitude values. For dimensions not used, the corresponding position vector is ignored.
The calculated values form a Tensor4, with size: <br> [atmosphere_dim+1, np, nlat, nlon] where np is the number of pressures given etc. The book of the tensor with the following index holds: <br> 0: the refractive index <br> 1: radial gradient of the refractive index <br> 2: latitude gradient of the refractive index <br> 3: longitude gradient of the refractive index
To calculate these quantities for the atmsopheric mesh, execute: <br> RefrIndexFieldAndGradients(tensor4_1,p_grid,lat_grid,lon_grid)
[in,out] | ws | Workspace |
[out] | refr_index | WS Output |
[out] | rte_pressure | WS Output |
[out] | rte_temperature | WS Output |
[out] | rte_vmr_list | WS Output |
[out] | gout1 | Generic output |
[in] | refr_index_agenda | WS Input |
[in] | atmosphere_dim | WS Input |
[in] | p_grid | WS Input |
[in] | lat_grid | WS Input |
[in] | lon_grid | WS Input |
[in] | r_geoid | WS Input |
[in] | z_field | WS Input |
[in] | t_field | WS Input |
[in] | vmr_field | WS Input |
[in] | gin1 | Generic Input |
[in] | gin2 | Generic Input |
[in] | gin3 | Generic Input |
Definition at line 58 of file m_refraction.cc.
References chk_atm_field(), chk_atm_grids(), chk_atm_surface(), chk_if_in_range(), gridpos(), interp(), interpweights(), joker, ConstVectorView::nelem(), p2gridpos(), refr_gradients_1d(), refr_gradients_2d(), refr_gradients_3d(), Tensor4::resize(), z_at_lat_2d(), and z_at_latlon().
Referenced by refr_indexFieldAndGradients_g().
void refr_indexIR | ( | Numeric & | refr_index, | |
const Numeric & | rte_pressure, | |||
const Numeric & | rte_temperature, | |||
const Vector & | rte_vmr_list | |||
) |
WORKSPACE METHOD: refr_indexIR.
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,bForschungszentrum Karlsruhe.
[out] | refr_index | WS Output |
[in] | rte_pressure | WS Input |
[in] | rte_temperature | WS Input |
[in] | rte_vmr_list | WS Input |
Definition at line 207 of file m_refraction.cc.
References ConstVectorView::nelem(), and refr_index_ir().
Referenced by refr_indexIR_g().
void refr_indexThayer | ( | Numeric & | refr_index, | |
const Numeric & | rte_pressure, | |||
const Numeric & | rte_temperature, | |||
const Vector & | rte_vmr_list, | |||
const ArrayOfArrayOfSpeciesTag & | abs_species | |||
) |
WORKSPACE METHOD: refr_indexThayer.
Calculates the microwave refractive index due to gases in the Earth's atmosphere.
The refractivity of dry air and water vapour is summed. All other gases are assumed ti have a negligible contribution.
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).
[out] | refr_index | WS Output |
[in] | rte_pressure | WS Input |
[in] | rte_temperature | WS Input |
[in] | rte_vmr_list | WS Input |
[in] | abs_species | WS Input |
Definition at line 223 of file m_refraction.cc.
References find_first_species_tg(), ConstVectorView::nelem(), Array< base >::nelem(), refr_index_thayer_1974(), and species_index_from_species_name().
Referenced by refr_indexThayer_g().
void refr_indexUnit | ( | Numeric & | refr_index | ) |
WORKSPACE METHOD: refr_indexUnit.
Sets the refractive index to 1.
If this method is used, the obtained path should be identical to the geomtrical path.
As this function does not need any input, you have to include call of *Ignore* for all variables expected to be used by refr_index_agenda*.
[out] | refr_index | WS Output |
Definition at line 247 of file m_refraction.cc.
Referenced by refr_indexUnit_g().