m_refraction.cc File Reference

Workspace methods releated to refraction. More...

#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"

Include dependency graph for m_refraction.cc:

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.


Detailed Description

Workspace methods releated to refraction.

Author:
Patrick Eriksson <Patrick.Eriksson@rss.chalmers.se>
Date:
2003-01-09
These functions are listed in the doxygen documentation as entries of the file auto_md.h.

Definition in file m_refraction.cc.


Function Documentation

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)

Author:
Patrick Eriksson
Parameters:
[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.

Author:
Mattias Ekstrom
Parameters:
[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).

Author:
Patrick Eriksson
Parameters:
[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*.

Author:
Patrick Eriksson
Parameters:
[out] refr_index WS Output

Definition at line 247 of file m_refraction.cc.

Referenced by refr_indexUnit_g().


Generated on Mon Mar 23 14:06:41 2009 for ARTS by  doxygen 1.5.6