372 ConstVectorView lat_grid,
373 ConstVectorView refellipsoid,
374 ConstVectorView z_surf,
404 ConstVectorView lat_grid,
405 ConstVectorView lon_grid,
406 ConstVectorView refellipsoid,
407 ConstMatrixView z_surf,
441 const Agenda& ppath_step_agenda,
442 const Index& atmosphere_dim,
443 const Vector& p_grid,
444 const Vector& lat_grid,
445 const Vector& lon_grid,
446 const Tensor3& z_field,
447 const Vector& f_grid,
448 const Vector& refellipsoid,
449 const Matrix& z_surface,
450 const Index& cloudbox_on,
452 const Vector& rte_pos,
453 const Vector& rte_los,
454 const Numeric& ppath_lmax,
455 const Numeric& ppath_lraytrace,
456 const bool& ppath_inside_cloudbox_do,
490 const Index& atmosphere_dim,
557 const Index& atmosphere_dim,
558 ConstVectorView p_grid,
559 ConstVectorView lat_grid,
560 ConstVectorView lon_grid,
561 ConstTensor3View z_field,
562 ConstVectorView refellipsoid,
563 ConstMatrixView z_surface,
564 const Index& cloudbox_on,
566 const bool& outside_cloudbox,
567 ConstVectorView rte_pos,
568 ConstVectorView rte_los,
596 ConstVectorView z_field,
597 ConstVectorView refellipsoid,
598 const Numeric& z_surface,
599 const Numeric& lmax);
617 ConstVectorView lat_grid,
618 ConstMatrixView z_field,
619 ConstVectorView refellipsoid,
620 ConstVectorView z_surface,
621 const Numeric& lmax);
640 ConstVectorView lat_grid,
641 ConstVectorView lon_grid,
642 ConstTensor3View z_field,
643 ConstVectorView refellipsoid,
644 ConstMatrixView z_surface,
645 const Numeric& lmax);
675 ConstVectorView p_grid,
676 ConstTensor3View z_field,
677 ConstTensor3View t_field,
678 ConstTensor4View vmr_field,
679 ConstVectorView f_grid,
680 ConstVectorView refellipsoid,
681 const Numeric& z_surface,
683 const Agenda& refr_index_agenda,
684 const String& rtrace_method,
685 const Numeric& lraytrace);
714 ConstVectorView p_grid,
715 ConstVectorView lat_grid,
716 ConstTensor3View z_field,
717 ConstTensor3View t_field,
718 ConstTensor4View vmr_field,
719 ConstVectorView f_grid,
720 ConstVectorView refellipsoid,
721 ConstVectorView z_surface,
723 const Agenda& refr_index_agenda,
724 const String& rtrace_method,
725 const Numeric& lraytrace);
755 ConstVectorView p_grid,
756 ConstVectorView lat_grid,
757 ConstVectorView lon_grid,
758 ConstTensor3View z_field,
759 ConstTensor3View t_field,
760 ConstTensor4View vmr_field,
761 ConstVectorView f_grid,
762 ConstVectorView refellipsoid,
763 ConstMatrixView z_surface,
765 const Agenda& refr_index_agenda,
766 const String& rtrace_method,
767 const Numeric& lraytrace);
803void resolve_lon(Numeric& lon,
const Numeric& lon5,
const Numeric& lon6);
This file contains the definition of Array.
The global header file for ARTS.
Array< WorkspaceVariable > ws
Workspace variable container.
Declarations having to do with the four output streams.
constexpr Numeric POLELAT
Size of north and south poles.
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.
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 ...
void zaaa2cart(Numeric &dx, Numeric &dy, Numeric &dz, const Numeric &za, const Numeric &aa)
Converts zenith and azimuth angles to a cartesian unit vector.
Numeric geompath_r_at_l(const Numeric &ppc, const Numeric &l)
Calculates the radius for a distance from the tangent point.
void error_if_limb_ppath(const Ppath &ppath)
Throws an error if ppath altitudes not are strictly increasing or decreasing.
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.
Index ppath_what_background(const Ppath &ppath)
Returns the case number for the radiative background.
Index first_pos_before_altitude(const Ppath &p, const Numeric &alt)
Determines ppath position just below an altitude.
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 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.
constexpr Numeric ANGTOL
Width of zenith and nadir directions.
Numeric geometrical_ppc(const Numeric &r, const Numeric &za)
Calculates the propagation path constant for pure geometrical calculations.
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.
void zaaa2enu(Numeric &de, Numeric &dn, Numeric &du, const Numeric &za, const Numeric &aa)
Converts zenith and azimuth angles to ENU unit vector.
void ppath_copy(Ppath &ppath1, const Ppath &ppath2, const Index &ncopy)
Copy the content in ppath2 to ppath1.
void enu2zaaa(Numeric &za, Numeric &aa, const Numeric &de, const Numeric &dn, const Numeric &du)
Converts ENU unit vector vector to zenith and azimuth.
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_2d(Ppath &ppath, ConstVectorView lat_grid, ConstMatrixView z_field, ConstVectorView refellipsoid, ConstVectorView z_surface, const Numeric &lmax)
Calculates 2D geometrical propagation path steps.
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.
void cart2zaaa(Numeric &za, Numeric &aa, const Numeric &dx, const Numeric &dy, const Numeric &dz)
Converts a cartesian directional vector to zenith and azimuth.
void find_tanpoint(Index &it, const Ppath &ppath)
Identifies the tangent point of a propagation path.
void ppath_set_background(Ppath &ppath, const Index &case_nr)
Sets the background field of a Ppath structure.
void resolve_lon(Numeric &lon, const Numeric &lon5, const Numeric &lon6)
Resolves which longitude angle that shall be used.
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.
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.
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.
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.
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_init_structure(Ppath &ppath, const Index &atmosphere_dim, const Index &np)
Initiates a Ppath structure to hold the given number of points.
Numeric plevel_angletilt(const Numeric &r, const Numeric &c)
Calculates the angular tilt of the surface or a pressure level.
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.
Structure to store a grid position.
The structure to describe a propagation path and releated quantities.