Go to the documentation of this file.
550 const bool& outside_cloudbox,
667 const Agenda& refr_index_agenda,
668 const String& rtrace_method,
707 const Agenda& refr_index_agenda,
708 const String& rtrace_method,
749 const Agenda& refr_index_agenda,
750 const String& rtrace_method,
Index atmosphere_dim(Workspace &ws) noexcept
const Numeric ANGTOL
Width of zenith and nadir directions.
Tensor3 z_field(Workspace &ws) noexcept
void error_if_limb_ppath(const Ppath &ppath)
Throws an error if ppath altitudes not are strictly increasing or decreasing.
Agenda ppath_step_agenda(Workspace &ws) noexcept
void zaaa2cart(Numeric &dx, Numeric &dy, Numeric &dz, const Numeric &za, const Numeric &aa)
Converts zenith and azimuth angles to a cartesian unit vector.
Index first_pos_before_altitude(const Ppath &p, const Numeric &alt)
Determines ppath position just below an altitude.
Numeric geometrical_ppc(const Numeric &r, const Numeric &za)
Calculates the propagation path constant for pure geometrical calculations.
Vector lat_grid(Workspace &ws) noexcept
void add_za_aa(Numeric &za, Numeric &aa, const Numeric &za0, const Numeric &aa0, const Numeric &dza, const Numeric &daa)
Adds up zenith and azimuth angles.
Header file for interpolation.cc.
Index ppath_inside_cloudbox_do(Workspace &ws) noexcept
Verbosity verbosity(Workspace &ws) noexcept
String background
Radiative background.
const Numeric POLELAT
Size of north and south poles.
ArrayOfIndex cloudbox_limits(Workspace &ws) noexcept
Numeric end_lstep
The distance between end pos and the first position in pos.
Numeric start_lstep
Length between sensor and atmospheric boundary.
Numeric geompath_l_at_r(const Numeric &ppc, const Numeric &r)
Calculates the length from the tangent point for the given radius.
void plevel_slope_2d(Numeric &c1, ConstVectorView lat_grid, ConstVectorView refellipsoid, ConstVectorView z_surf, const GridPos &gp, const Numeric &za)
Calculates the radial slope of the surface or a pressure level for 2D.
This file contains the definition of Array.
Numeric plevel_angletilt(const Numeric &r, const Numeric &c)
Calculates the angular tilt of the surface or a pressure level.
The structure to describe a propagation path and releated quantities.
ArrayOfGridPos gp_p
Index position with respect to the pressure grid.
Numeric lon(Workspace &ws) noexcept
Vector end_pos
End position.
A constant view of a Tensor4.
Implementation of Matrix, Vector, and such stuff.
void ppath_init_structure(Ppath &ppath, const Index &atmosphere_dim, const Index &np)
Initiates a Ppath structure to hold the given number of points.
void ppath_copy(Ppath &ppath1, const Ppath &ppath2, const Index &ncopy)
Copy the content in ppath2 to ppath1.
Index ppath_what_background(const Ppath &ppath)
Returns the case number for the radiative background.
Declarations for agendas.
ArrayOfGridPos gp_lat
Index position with respect to the latitude grid.
Vector rte_pos(Workspace &ws) noexcept
Vector ngroup
The group index of refraction.
Matrix los
Line-of-sight at each ppath point.
Vector start_pos
Start position.
ArrayOfGridPos gp_lon
Index position with respect to the longitude grid.
void ppath_step_refr_2d(Workspace &ws, Ppath &ppath, ConstVectorView p_grid, ConstVectorView lat_grid, ConstTensor3View z_field, ConstTensor3View t_field, ConstTensor4View vmr_field, ConstVectorView f_grid, ConstVectorView refellipsoid, ConstVectorView z_surface, const Numeric &lmax, const Agenda &refr_index_agenda, const String &rtrace_method, const Numeric &lraytrace)
Calculates 2D propagation path steps, with refraction, using a simple and fast ray tracing scheme.
Index np
Number of points describing the ppath.
void ppath_step_refr_1d(Workspace &ws, Ppath &ppath, ConstVectorView p_grid, ConstTensor3View z_field, ConstTensor3View t_field, ConstTensor4View vmr_field, ConstVectorView f_grid, ConstVectorView refellipsoid, const Numeric &z_surface, const Numeric &lmax, const Agenda &refr_index_agenda, const String &rtrace_method, const Numeric &lraytrace)
Calculates 1D propagation path steps including effects of refraction.
Tensor4 vmr_field(Workspace &ws) noexcept
Vector rte_los(Workspace &ws) noexcept
Vector p_grid(Workspace &ws) noexcept
Ppath ppath(Workspace &ws) noexcept
NUMERIC Numeric
The type to use for all floating point numbers.
void ppath_step_geom_2d(Ppath &ppath, ConstVectorView lat_grid, ConstMatrixView z_field, ConstVectorView refellipsoid, ConstVectorView z_surface, const Numeric &lmax)
Calculates 2D geometrical propagation path steps.
void ppath_step_geom_1d(Ppath &ppath, ConstVectorView z_field, ConstVectorView refellipsoid, const Numeric &z_surface, const Numeric &lmax)
Calculates 1D geometrical propagation path steps.
void ppath_set_background(Ppath &ppath, const Index &case_nr)
Sets the background field of a Ppath structure.
Vector lstep
The length between ppath points.
Vector refellipsoid(Workspace &ws) noexcept
Vector start_los
Start line-of-sight.
Vector f_grid(Workspace &ws) noexcept
void ppath_start_stepping(Ppath &ppath, const Index &atmosphere_dim, ConstVectorView p_grid, ConstVectorView lat_grid, ConstVectorView lon_grid, ConstTensor3View z_field, ConstVectorView refellipsoid, ConstMatrixView z_surface, const Index &cloudbox_on, const ArrayOfIndex &cloudbox_limits, const bool &outside_cloudbox, ConstVectorView rte_pos, ConstVectorView rte_los, const Verbosity &verbosity)
Initiates a Ppath structure for calculation of a path with ppath_step.
void resolve_lon(Numeric &lon, const Numeric &lon5, const Numeric &lon6)
Resolves which longitude angle that shall be used.
Vector nreal
The real part of the refractive index at each path position.
Vector lon_grid(Workspace &ws) noexcept
Numeric ppath_lmax(Workspace &ws) noexcept
Numeric geompath_lat_at_za(const Numeric &za0, const Numeric &lat0, const Numeric &za)
Calculates the latitude for a given zenith angle along a geometrical propagation path.
A constant view of a Matrix.
Vector end_los
End line-of-sight.
Numeric geompath_za_at_r(const Numeric &ppc, const Numeric &a_za, const Numeric &r)
Calculates the zenith angle for a given radius along a geometrical propagation path.
Numeric ppath_lraytrace(Workspace &ws) noexcept
Array< Ppath > ArrayOfPpath
An array of propagation paths.
Structure to store a grid position.
void find_tanpoint(Index &it, const Ppath &ppath)
Identifies the tangent point of a propagation path.
Numeric constant
The propagation path constant (only used for 1D)
void ppath_step_refr_3d(Workspace &ws, Ppath &ppath, ConstVectorView p_grid, ConstVectorView lat_grid, ConstVectorView lon_grid, ConstTensor3View z_field, ConstTensor3View t_field, ConstTensor4View vmr_field, ConstVectorView f_grid, ConstVectorView refellipsoid, ConstMatrixView z_surface, const Numeric &lmax, const Agenda &refr_index_agenda, const String &rtrace_method, const Numeric &lraytrace)
Calculates 3D propagation path steps, with refraction, using a simple and fast ray tracing scheme.
Tensor3 t_field(Workspace &ws) noexcept
A constant view of a Tensor3.
Vector r
Radius of each ppath point.
void diff_za_aa(Numeric &dza, Numeric &daa, const Numeric &za0, const Numeric &aa0, const Numeric &za, const Numeric &aa)
Takes the difference of zenith and azimuth angles.
void plevel_slope_3d(Numeric &c1, Numeric &c2, ConstVectorView lat_grid, ConstVectorView lon_grid, ConstVectorView refellipsoid, ConstMatrixView z_surf, const GridPos &gp_lat, const GridPos &gp_lon, const Numeric &aa)
Calculates the radial slope of the surface or a pressure level for 3D.
void ppath_step_geom_3d(Ppath &ppath, ConstVectorView lat_grid, ConstVectorView lon_grid, ConstTensor3View z_field, ConstVectorView refellipsoid, ConstMatrixView z_surface, const Numeric &lmax)
Calculates 3D geometrical propagation path steps.
void cart2zaaa(Numeric &za, Numeric &aa, const Numeric &dx, const Numeric &dy, const Numeric &dz)
Converts a cartesian directional vector to zenith and azimuth.
INDEX Index
The type to use for all integer numbers and indices.
bool is_los_downwards(const Numeric &za, const Numeric &tilt)
Determines if a line-of-sight is downwards compared to the angular tilt of the surface or a pressure ...
Index dim
Atmospheric dimensionality.
void ppath_calc(Workspace &ws, Ppath &ppath, const Agenda &ppath_step_agenda, const Index &atmosphere_dim, const Vector &p_grid, const Vector &lat_grid, const Vector &lon_grid, const Tensor3 &z_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_lmax, const Numeric &ppath_lraytrace, const bool &ppath_inside_cloudbox_do, const Verbosity &verbosity)
This is the core for the WSM ppathStepByStep.
A constant view of a Vector.
Matrix pos
The distance between start pos and the last position in pos.
Matrix z_surface(Workspace &ws) noexcept
This file contains the definition of String, the ARTS string class.
The global header file for ARTS.
Index cloudbox_on(Workspace &ws) noexcept