ARTS
2.2.66
|
Workspace functions releated to propagation paths variables. More...
#include <cmath>
#include "arts.h"
#include "auto_md.h"
#include "check_input.h"
#include "geodetic.h"
#include "lin_alg.h"
#include "math_funcs.h"
#include "messages.h"
#include "ppath.h"
#include "special_interp.h"
#include "m_xml.h"
#include "xml_io.h"
#include "refraction.h"
#include "m_general.h"
Go to the source code of this file.
Functions | |
void | ppathCalc (Workspace &ws, Ppath &ppath, const Agenda &ppath_agenda, const Numeric &ppath_lraytrace, const Index &atmgeom_checked, const Tensor3 &t_field, const Tensor3 &z_field, const Tensor4 &vmr_field, const Vector &f_grid, const Index &cloudbox_on, const Index &cloudbox_checked, const Index &ppath_inside_cloudbox_do, const Vector &rte_pos, const Vector &rte_los, const Vector &rte_pos2, const Verbosity &) |
WORKSPACE METHOD: ppathCalc. More... | |
void | ppathFromRtePos2 (Workspace &ws, Ppath &ppath, Vector &rte_los, Numeric &ppath_lraytrace, const Agenda &ppath_step_agenda, const Index &atmosphere_dim, const Vector &p_grid, const Vector &lat_grid, const Vector &lon_grid, const Tensor3 &t_field, const Tensor3 &z_field, const Tensor4 &vmr_field, const Vector &f_grid, const Vector &refellipsoid, const Matrix &z_surface, const Vector &rte_pos, const Vector &rte_pos2, const Numeric &za_accuracy, const Numeric &pplrt_factor, const Numeric &pplrt_lowest, const Verbosity &verbosity) |
WORKSPACE METHOD: ppathFromRtePos2. More... | |
void | ppathStepByStep (Workspace &ws, Ppath &ppath, const Agenda &ppath_step_agenda, const Index &ppath_inside_cloudbox_do, const Index &atmosphere_dim, const Vector &p_grid, const Vector &lat_grid, const Vector &lon_grid, const Tensor3 &t_field, const Tensor3 &z_field, const Tensor4 &vmr_field, const Vector &f_grid, const Vector &refellipsoid, const Matrix &z_surface, const Index &cloudbox_on, const ArrayOfIndex &cloudbox_limits, const Vector &rte_pos, const Vector &rte_los, const Numeric &ppath_lraytrace, const Verbosity &verbosity) |
WORKSPACE METHOD: ppathStepByStep. More... | |
void | ppath_stepGeometric (Ppath &ppath_step, const Index &atmosphere_dim, const Vector &lat_grid, const Vector &lon_grid, const Tensor3 &z_field, const Vector &refellipsoid, const Matrix &z_surface, const Numeric &ppath_lmax, const Verbosity &) |
WORKSPACE METHOD: ppath_stepGeometric. More... | |
void | ppath_stepRefractionBasic (Workspace &ws, Ppath &ppath_step, const Agenda &refr_index_air_agenda, const Index &atmosphere_dim, const Vector &p_grid, const Vector &lat_grid, const Vector &lon_grid, const Tensor3 &z_field, const Tensor3 &t_field, const Tensor4 &vmr_field, const Vector &refellipsoid, const Matrix &z_surface, const Vector &f_grid, const Numeric &ppath_lmax, const Numeric &ppath_lraytrace, const Verbosity &) |
WORKSPACE METHOD: ppath_stepRefractionBasic. More... | |
void | rte_losSet (Vector &rte_los, const Index &atmosphere_dim, const Numeric &za, const Numeric &aa, const Verbosity &) |
WORKSPACE METHOD: rte_losSet. More... | |
void | rte_losGeometricFromRtePosToRtePos2 (Vector &rte_los, const Index &atmosphere_dim, const Vector &lat_grid, const Vector &lon_grid, const Vector &refellipsoid, const Vector &rte_pos, const Vector &rte_pos2, const Verbosity &) |
WORKSPACE METHOD: rte_losGeometricFromRtePosToRtePos2. More... | |
void | rte_posSet (Vector &rte_pos, const Index &atmosphere_dim, const Numeric &z, const Numeric &lat, const Numeric &lon, const Verbosity &) |
WORKSPACE METHOD: rte_posSet. More... | |
void | rte_pos_losMoveToStartOfPpath (Vector &rte_pos, Vector &rte_los, const Index &atmosphere_dim, const Ppath &ppath, const Verbosity &) |
WORKSPACE METHOD: rte_pos_losMoveToStartOfPpath. More... | |
void | TangentPointExtract (Vector &tan_pos, const Ppath &ppath, const Verbosity &) |
WORKSPACE METHOD: TangentPointExtract. More... | |
void | TangentPointPrint (const Ppath &ppath, const Index &level, const Verbosity &verbosity) |
WORKSPACE METHOD: TangentPointPrint. More... | |
void | VectorZtanToZaRefr1D (Workspace &ws, Vector &za_vector, const Agenda &refr_index_air_agenda, const Matrix &sensor_pos, const Vector &p_grid, const Tensor3 &t_field, const Tensor3 &z_field, const Tensor4 &vmr_field, const Vector &refellipsoid, const Index &atmosphere_dim, const Vector &f_grid, const Vector &ztan_vector, const Verbosity &) |
WORKSPACE METHOD: VectorZtanToZaRefr1D. More... | |
void | VectorZtanToZa1D (Vector &za_vector, const Matrix &sensor_pos, const Vector &refellipsoid, const Index &atmosphere_dim, const Vector &ztan_vector, const Verbosity &) |
WORKSPACE METHOD: VectorZtanToZa1D. More... | |
void | ppathWriteXMLPartial (const String &file_format, const Ppath &ppath, const String &f, const Index &file_index, const Verbosity &verbosity) |
WORKSPACE METHOD: ppathWriteXMLPartial. More... | |
Variables | |
const Numeric | RAD2DEG |
const Numeric | DEG2RAD |
Workspace functions releated to propagation paths variables.
The file includes special functions to set the sensor position and LOS, and functions for calculation of propagation paths.
These functions are listed in the doxygen documentation as entries of the file auto_md.h.
Definition in file m_ppath.cc.
void ppath_stepGeometric | ( | Ppath & | ppath_step, |
const Index & | atmosphere_dim, | ||
const Vector & | lat_grid, | ||
const Vector & | lon_grid, | ||
const Tensor3 & | z_field, | ||
const Vector & | refellipsoid, | ||
const Matrix & | z_surface, | ||
const Numeric & | ppath_lmax, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: ppath_stepGeometric.
Calculates a geometrical propagation path step.
This function determines a propagation path step by pure geometrical calculations. That is, refraction is neglected. Path points are always included for crossings with the grids, tangent points and intersection points with the surface. The WSV ppath_lmax gives the option to include additional points to ensure that the distance along the path between the points does not exceed the selected maximum length. No additional points are included if ppath_lmax* is set to <= 0.
For further information, type see the on-line information for ppath_step_agenda*.
[out] | ppath_step | WS Output |
[in] | atmosphere_dim | WS Input |
[in] | lat_grid | WS Input |
[in] | lon_grid | WS Input |
[in] | z_field | WS Input |
[in] | refellipsoid | WS Input |
[in] | z_surface | WS Input |
[in] | ppath_lmax | WS Input |
Definition at line 510 of file m_ppath.cc.
References joker, Ppath::ngroup, Ppath::np, Ppath::nreal, ppath_step_geom_1d(), ppath_step_geom_2d(), ppath_step_geom_3d(), and ppath_what_background().
Referenced by ppath_stepGeometric_g().
void ppath_stepRefractionBasic | ( | Workspace & | ws, |
Ppath & | ppath_step, | ||
const Agenda & | refr_index_air_agenda, | ||
const Index & | atmosphere_dim, | ||
const Vector & | p_grid, | ||
const Vector & | lat_grid, | ||
const Vector & | lon_grid, | ||
const Tensor3 & | z_field, | ||
const Tensor3 & | t_field, | ||
const Tensor4 & | vmr_field, | ||
const Vector & | refellipsoid, | ||
const Matrix & | z_surface, | ||
const Vector & | f_grid, | ||
const Numeric & | ppath_lmax, | ||
const Numeric & | ppath_lraytrace, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: ppath_stepRefractionBasic.
Calculates a propagation path step, considering refraction by a basic approach.
Refraction is taken into account by probably the simplest approach possible. The path is treated to consist of piece-wise geometric steps. A geometric path step is calculated from each point by using the local line-of-sight. Snell's law for spherical symmetry is used for 1D to determine the zenith angle at the new point. For 2D and 3D, the zenith angle is calculated using the average gradient of the refractive index between the two points. For 3D, the azimuth angle is treated in the same way as the zenith one.
The maximum length of each ray tracing step is given by the WSV ppath_lraytrace*. The length will never exceed the given maximum, but it can be smaller. The ray tracing steps are only used to determine the path. Points to describe the path are included as for ppath_stepGeometric, this including the functionality of ppath_lmax*.
[in,out] | ws | Workspace |
[out] | ppath_step | WS Output |
[in] | refr_index_air_agenda | WS Input |
[in] | atmosphere_dim | WS Input |
[in] | p_grid | WS Input |
[in] | lat_grid | WS Input |
[in] | lon_grid | WS Input |
[in] | z_field | WS Input |
[in] | t_field | WS Input |
[in] | vmr_field | WS Input |
[in] | refellipsoid | WS Input |
[in] | z_surface | WS Input |
[in] | f_grid | WS Input |
[in] | ppath_lmax | WS Input |
[in] | ppath_lraytrace | WS Input |
Definition at line 559 of file m_ppath.cc.
References get_refr_index_1d(), get_refr_index_2d(), get_refr_index_3d(), joker, Ppath::ngroup, Ppath::np, Ppath::nreal, Ppath::pos, ppath_step_refr_1d(), ppath_step_refr_2d(), ppath_step_refr_3d(), ppath_what_background(), and Ppath::r.
Referenced by ppath_stepRefractionBasic_g().
void ppathCalc | ( | Workspace & | ws, |
Ppath & | ppath, | ||
const Agenda & | ppath_agenda, | ||
const Numeric & | ppath_lraytrace, | ||
const Index & | atmgeom_checked, | ||
const Tensor3 & | t_field, | ||
const Tensor3 & | z_field, | ||
const Tensor4 & | vmr_field, | ||
const Vector & | f_grid, | ||
const Index & | cloudbox_on, | ||
const Index & | cloudbox_checked, | ||
const Index & | ppath_inside_cloudbox_do, | ||
const Vector & | rte_pos, | ||
const Vector & | rte_los, | ||
const Vector & | rte_pos2, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: ppathCalc.
Stand-alone calculation of propagation paths.
Beside a few checks of input data, the only operation of this method is to execute ppath_agenda.
Propagation paths are normally calculated as part of the radiative transfer calculations, and this method is not part of the control file. A reason to call this function directly would be to obtain a propagation path for plotting. Anyhow, use this method instead of calling e.g.*ppathStepByStep directly.
[in,out] | ws | Workspace |
[out] | ppath | WS Output |
[in] | ppath_agenda | WS Input |
[in] | ppath_lraytrace | WS Input |
[in] | atmgeom_checked | WS Input |
[in] | t_field | WS Input |
[in] | z_field | WS Input |
[in] | vmr_field | WS Input |
[in] | f_grid | WS Input |
[in] | cloudbox_on | WS Input |
[in] | cloudbox_checked | WS Input |
[in] | ppath_inside_cloudbox_do | WS Input |
[in] | rte_pos | WS Input |
[in] | rte_los | WS Input |
[in] | rte_pos2 | WS Input |
Definition at line 69 of file m_ppath.cc.
References ppath_agendaExecute().
Referenced by ppathCalc_g().
void ppathFromRtePos2 | ( | Workspace & | ws, |
Ppath & | ppath, | ||
Vector & | rte_los, | ||
Numeric & | ppath_lraytrace, | ||
const Agenda & | ppath_step_agenda, | ||
const Index & | atmosphere_dim, | ||
const Vector & | p_grid, | ||
const Vector & | lat_grid, | ||
const Vector & | lon_grid, | ||
const Tensor3 & | t_field, | ||
const Tensor3 & | z_field, | ||
const Tensor4 & | vmr_field, | ||
const Vector & | f_grid, | ||
const Vector & | refellipsoid, | ||
const Matrix & | z_surface, | ||
const Vector & | rte_pos, | ||
const Vector & | rte_pos2, | ||
const Numeric & | za_accuracy, | ||
const Numeric & | pplrt_factor, | ||
const Numeric & | pplrt_lowest, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: ppathFromRtePos2.
Determines the propagation path from rte_pos2 to rte_pos.
The propagation path linking rte_pos and rte_pos2 is calculated and returned. The method determines the path in a pure numerical manner, where a simple algorithm is applied. The task is to find the value of rte_los (at rte_pos) linking the two positions.
See the user guide for a description of the search algorithm, including a more detailed definition of za_accuracy, pplrt_factor* and pplrt_lowest.
The standard application of this method should be to radio link calculations, where rte_pos2 corresponds to a transmitter, and rte_pos* to the receiver/sensor.
The details of the ray tracing is controlled by ppath_step_agenda as usual.
[in,out] | ws | Workspace |
[out] | ppath | WS Output |
[out] | rte_los | WS Output |
[out] | ppath_lraytrace | WS Output |
[in] | ppath_step_agenda | WS Input |
[in] | atmosphere_dim | WS Input |
[in] | p_grid | WS Input |
[in] | lat_grid | WS Input |
[in] | lon_grid | WS Input |
[in] | t_field | WS Input |
[in] | z_field | WS Input |
[in] | vmr_field | WS Input |
[in] | f_grid | WS Input |
[in] | refellipsoid | WS Input |
[in] | z_surface | WS Input |
[in] | rte_pos | WS Input |
[in] | rte_pos2 | WS Input |
[in] | za_accuracy | Generic Input (Default: "2e-5") |
[in] | pplrt_factor | Generic Input (Default: "5") |
[in] | pplrt_lowest | Generic Input (Default: "0.5") |
Definition at line 104 of file m_ppath.cc.
References abs, cart2pol(), cart2poslos(), cart2sph(), CREATE_OUT2, CREATE_OUT3, DEG2RAD, distance2D(), distance3D(), Ppath::gp_lat, Ppath::gp_lon, Ppath::gp_p, gridpos_copy(), joker, line_circle_intersect(), line_sphere_intersect(), linreg(), ll, Ppath::los, Ppath::lstep, max, min, Ppath::ngroup, Ppath::np, Ppath::nreal, pol2cart(), Ppath::pos, pos2refell_r(), poslos2cart(), ppath_calc(), ppath_copy(), ppath_init_structure(), ppath_set_background(), ppath_what_background(), ppathFromRtePos2(), Ppath::r, rte_losGeometricFromRtePosToRtePos2(), rte_pos2gridpos(), sph2cart(), Ppath::start_los, Ppath::start_lstep, Ppath::start_pos, and w().
Referenced by ppathFromRtePos2(), and ppathFromRtePos2_g().
void ppathStepByStep | ( | Workspace & | ws, |
Ppath & | ppath, | ||
const Agenda & | ppath_step_agenda, | ||
const Index & | ppath_inside_cloudbox_do, | ||
const Index & | atmosphere_dim, | ||
const Vector & | p_grid, | ||
const Vector & | lat_grid, | ||
const Vector & | lon_grid, | ||
const Tensor3 & | t_field, | ||
const Tensor3 & | z_field, | ||
const Tensor4 & | vmr_field, | ||
const Vector & | f_grid, | ||
const Vector & | refellipsoid, | ||
const Matrix & | z_surface, | ||
const Index & | cloudbox_on, | ||
const ArrayOfIndex & | cloudbox_limits, | ||
const Vector & | rte_pos, | ||
const Vector & | rte_los, | ||
const Numeric & | ppath_lraytrace, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: ppathStepByStep.
Standard method for calculation of propagation paths.
This method calculates complete propagation paths in a stepwise manner. Each step is denoted as a "ppath_step" and is the path through/inside a single grid box.
The definition of a propgation path cannot be accommodated here. For more information read the chapter on propagation paths in the ARTS user guide.
This method should never be called directly. Use ppathCalc instead if you want to extract propagation paths.
[in,out] | ws | Workspace |
[out] | ppath | WS Output |
[in] | ppath_step_agenda | WS Input |
[in] | ppath_inside_cloudbox_do | WS Input |
[in] | atmosphere_dim | WS Input |
[in] | p_grid | WS Input |
[in] | lat_grid | WS Input |
[in] | lon_grid | WS Input |
[in] | t_field | WS Input |
[in] | z_field | WS Input |
[in] | vmr_field | WS Input |
[in] | f_grid | WS Input |
[in] | refellipsoid | WS Input |
[in] | z_surface | WS Input |
[in] | cloudbox_on | WS Input |
[in] | cloudbox_limits | WS Input |
[in] | rte_pos | WS Input |
[in] | rte_los | WS Input |
[in] | ppath_lraytrace | WS Input |
Definition at line 478 of file m_ppath.cc.
References ppath_calc().
Referenced by ppathStepByStep_g().
void ppathWriteXMLPartial | ( | const String & | output_file_format, |
const Ppath & | ppath, | ||
const String & | filename, | ||
const Index & | file_index, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: ppathWriteXMLPartial.
WSM to only write a reduced Ppath, omitting grid positions.
The following fields are set to be empty: gp_p, gp_lat and gp_lon. This cam drastically decrease the time for reading the structure by some external software.
If file_index is >= 0, the variable is written to a file with name: <br> <filename>.<file_index>.xml. where <file_index> is the value of *file_index.
This means that filename shall here not include the .xml extension. Omitting filename works as for WriteXML.
[in] | output_file_format | WS Input |
[in] | ppath | WS Input |
[in] | filename | Generic Input (Default: "") |
[in] | file_index | Generic Input (Default: "-1") |
Definition at line 954 of file m_ppath.cc.
References filename_xml_with_index(), Ppath::gp_lat, Ppath::gp_lon, Ppath::gp_p, and WriteXML().
Referenced by ppathWriteXMLPartial_g().
void rte_losGeometricFromRtePosToRtePos2 | ( | Vector & | rte_los, |
const Index & | atmosphere_dim, | ||
const Vector & | lat_grid, | ||
const Vector & | lon_grid, | ||
const Vector & | refellipsoid, | ||
const Vector & | rte_pos, | ||
const Vector & | rte_pos2, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: rte_losGeometricFromRtePosToRtePos2.
The geometric line-of-sight between two points.
The method sets rte_los to the line-of-sight, at rte_pos, that matches the geometrical propagation path between rte_pos and rte_pos2.
The standard case should be that rte_pos2 corresponds to a transmitter, and rte_pos to the receiver/sensor.
[out] | rte_los | WS Output |
[in] | atmosphere_dim | WS Input |
[in] | lat_grid | WS Input |
[in] | lon_grid | WS Input |
[in] | refellipsoid | WS Input |
[in] | rte_pos | WS Input |
[in] | rte_pos2 | WS Input |
Definition at line 667 of file m_ppath.cc.
References chk_rte_pos(), los2xyz(), pol2cart(), pos2refell_r(), Vector::resize(), and sph2cart().
Referenced by ppathFromRtePos2(), and rte_losGeometricFromRtePosToRtePos2_g().
void rte_losSet | ( | Vector & | rte_los, |
const Index & | atmosphere_dim, | ||
const Numeric & | za, | ||
const Numeric & | aa, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: rte_losSet.
Sets rte_los to the given angles.
The azimuth angle is ignored for 1D and 2D.
[out] | rte_los | WS Output |
[in] | atmosphere_dim | WS Input |
[in] | za | Generic Input |
[in] | aa | Generic Input |
Definition at line 643 of file m_ppath.cc.
References chk_if_in_range(), and Vector::resize().
Referenced by rte_losSet_g().
void rte_pos_losMoveToStartOfPpath | ( | Vector & | rte_pos, |
Vector & | rte_los, | ||
const Index & | atmosphere_dim, | ||
const Ppath & | ppath, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: rte_pos_losMoveToStartOfPpath.
Sets rte_pos and rte_los to values for last point in ppath.
For example, if the propagation path intersects with the surface, this method gives you the position and angle of ppath at the surface.
[out] | rte_pos | WS Output |
[out] | rte_los | WS Output |
[in] | atmosphere_dim | WS Input |
[in] | ppath | WS Input |
Definition at line 759 of file m_ppath.cc.
References chk_if_in_range(), Ppath::los, Ppath::np, ConstMatrixView::nrows(), and Ppath::pos.
Referenced by rte_pos_losMoveToStartOfPpath_g().
void rte_posSet | ( | Vector & | rte_pos, |
const Index & | atmosphere_dim, | ||
const Numeric & | z, | ||
const Numeric & | lat, | ||
const Numeric & | lon, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: rte_posSet.
Sets rte_pos to the given co-ordinates.
The longitude is ignored for 1D and 2D, and the latitude is also ignored for 1D.
[out] | rte_pos | WS Output |
[in] | atmosphere_dim | WS Input |
[in] | z | Generic Input |
[in] | lat | Generic Input |
[in] | lon | Generic Input |
Definition at line 737 of file m_ppath.cc.
References chk_if_in_range(), and Vector::resize().
Referenced by rte_posSet_g().
WORKSPACE METHOD: TangentPointExtract.
Finds the tangent point of a propagation path.
The tangent point is here defined as the point with the lowest altitude (which differes from the definition used in the code where it is the point with the lowest radius, or equally the point with a zenith angle of 90 deg.)
The tangent point is returned as a vector, with columns matching e.g. rte_pos. If the propagation path has no tangent point, the vector is set to NaN.
[out] | tan_pos | Generic output |
[in] | ppath | WS Input |
Definition at line 787 of file m_ppath.cc.
References find_tanpoint(), ConstMatrixView::ncols(), Ppath::pos, and Vector::resize().
Referenced by TangentPointExtract_g().
WORKSPACE METHOD: TangentPointPrint.
Prints information about the tangent point of a propagation path.
The tangent point is here defined as the point with the lowest altitude (which differes from the definition used in the code where it is the point with the lowest radius, or equally the point with a zenith angle of 90 deg.)
[in] | ppath | WS Input |
[in] | level | Generic Input (Default: "1") |
Definition at line 814 of file m_ppath.cc.
References CREATE_OUTS, find_tanpoint(), ConstMatrixView::ncols(), Ppath::pos, and SWITCH_OUTPUT.
Referenced by TangentPointPrint_g().
void VectorZtanToZa1D | ( | Vector & | v_za, |
const Matrix & | sensor_pos, | ||
const Vector & | refellipsoid, | ||
const Index & | atmosphere_dim, | ||
const Vector & | v_ztan, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: VectorZtanToZa1D.
Converts a set of geometrical tangent altitudes to zenith angles.
The tangent altitudes are given to the function as a vector, which are converted to a generic vector of zenith angles. The position of the sensor is given by the WSV sensor_pos. The function works only for 1D. The zenith angles are always set to be positive.
[out] | v_za | Generic output |
[in] | sensor_pos | WS Input |
[in] | refellipsoid | WS Input |
[in] | atmosphere_dim | WS Input |
[in] | v_ztan | Generic Input |
Definition at line 910 of file m_ppath.cc.
References geompath_za_at_r(), ConstVectorView::nelem(), ConstMatrixView::nrows(), and Vector::resize().
Referenced by VectorZtanToZa1D_g().
void VectorZtanToZaRefr1D | ( | Workspace & | ws, |
Vector & | v_za, | ||
const Agenda & | refr_index_air_agenda, | ||
const Matrix & | sensor_pos, | ||
const Vector & | p_grid, | ||
const Tensor3 & | t_field, | ||
const Tensor3 & | z_field, | ||
const Tensor4 & | vmr_field, | ||
const Vector & | refellipsoid, | ||
const Index & | atmosphere_dim, | ||
const Vector & | f_grid, | ||
const Vector & | v_ztan, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: VectorZtanToZaRefr1D.
Converts a set of true tangent altitudes to zenith angles.
The tangent altitudes are given to the function as a vector, which are converted to a generic vector of zenith angles. The position of the sensor is given by the WSV sensor_pos. The function works only for 1D. The zenith angles are always set to be positive.
[in,out] | ws | Workspace |
[out] | v_za | Generic output |
[in] | refr_index_air_agenda | WS Input |
[in] | sensor_pos | WS Input |
[in] | p_grid | WS Input |
[in] | t_field | WS Input |
[in] | z_field | WS Input |
[in] | vmr_field | WS Input |
[in] | refellipsoid | WS Input |
[in] | atmosphere_dim | WS Input |
[in] | f_grid | WS Input |
[in] | v_ztan | Generic Input |
Definition at line 847 of file m_ppath.cc.
References get_refr_index_1d(), ConstVectorView::nelem(), ConstMatrixView::nrows(), RAD2DEG, and Vector::resize().
Referenced by VectorZtanToZaRefr1D_g().
|
extern |
Referenced by ppathFromRtePos2().
|
extern |
Referenced by VectorZtanToZaRefr1D().