ARTS 2.5.11 (git: 725533f0)
rte.h
Go to the documentation of this file.
1/*===========================================================================
2 === File description
3 ===========================================================================*/
4
13#ifndef rte_h
14#define rte_h
15
16/*===========================================================================
17 === External declarations
18 ===========================================================================*/
19
20#include "agenda_class.h"
21#include "arts.h"
22#include "jacobian.h"
23#include "matpack_data.h"
24#include "matpack_complex.h"
25#include "optproperties.h"
26#include "ppath.h"
27
28
29class Workspace;
30
31/*===========================================================================
32 === Functions in rte.cc
33 ===========================================================================*/
34
57 ArrayOfPropagationMatrix& dK_dx,
58 ArrayOfStokesVector& dS_dx,
59 const ArrayOfRetrievalQuantity& jacobian_quantities,
60 const ConstVectorView& ppath_f_grid,
61 const ConstVectorView& ppath_line_of_sight,
62 const Index& lte,
63 const Index& atmosphere_dim,
64 const bool& jacobian_do);
65
82void adjust_los(VectorView los, const Index& atmosphere_dim);
83
100void apply_iy_unit(MatrixView iy,
101 const String& iy_unit,
102 const ConstVectorView& f_grid,
103 const Numeric& n,
104 const ArrayOfIndex& i_pol);
105
123void apply_iy_unit2(Tensor3View J,
124 const ConstMatrixView& iy,
125 const String& iy_unit,
126 const ConstVectorView& f_grid,
127 const Numeric& n,
128 const ArrayOfIndex& i_pol);
129
149void bending_angle1d(Numeric& alpha, const Ppath& ppath);
150
184 Numeric& dlf,
185 const Agenda& ppath_step_agenda,
186 const Index& atmosphere_dim,
187 const Vector& p_grid,
188 const Vector& lat_grid,
189 const Vector& lon_grid,
190 const Tensor3& z_field,
191 const Vector& f_grid,
192 const Vector& refellipsoid,
193 const Matrix& z_surface,
194 const Ppath& ppath,
195 const Numeric& ppath_lmax,
196 const Numeric& ppath_lraytrace,
197 const Numeric& dza,
198 const Verbosity& verbosity);
199
231 Numeric& dlf,
232 const Agenda& ppath_step_agenda,
233 const Index& atmosphere_dim,
234 const Vector& p_grid,
235 const Vector& lat_grid,
236 const Vector& lon_grid,
237 const Tensor3& z_field,
238 const Vector& f_grid,
239 const Vector& refellipsoid,
240 const Matrix& z_surface,
241 const Ppath& ppath,
242 const Numeric& ppath_lmax,
243 const Numeric& ppath_lraytrace,
244 const Numeric& dza,
245 const Verbosity& verbosity);
246
267Numeric dotprod_with_los(const ConstVectorView& los,
268 const Numeric& u,
269 const Numeric& v,
270 const Numeric& w,
271 const Index& atmosphere_dim);
272
292void get_iy(Workspace& ws,
293 Matrix& iy,
294 const Index& cloudbox_on,
295 const Vector& f_grid,
296 const EnergyLevelMap& nlte_field,
297 const Vector& rte_pos,
298 const Vector& rte_los,
299 const Vector& rte_pos2,
300 const String& iy_unit,
301 const Agenda& iy_main_agenda);
302
334 Matrix& iy,
335 ArrayOfTensor3& diy_dx,
336 const Tensor3& iy_transmittance,
337 const Index& iy_id,
338 const Index& jacobian_do,
339 const ArrayOfRetrievalQuantity& jacobian_quantities,
340 const Ppath& ppath,
341 const Vector& rte_pos2,
342 const Index& atmosphere_dim,
343 const EnergyLevelMap& nlte_field,
344 const Index& cloudbox_on,
345 const Index& stokes_dim,
346 const Vector& f_grid,
347 const String& iy_unit,
348 const Tensor3& surface_props_data,
349 const Agenda& iy_main_agenda,
350 const Agenda& iy_space_agenda,
351 const Agenda& iy_surface_agenda,
352 const Agenda& iy_cloudbox_agenda,
353 const Index& iy_agenda_call1,
354 const Verbosity& verbosity);
355
384void get_ppath_atmvars(Vector& ppath_p,
385 Vector& ppath_t,
386 EnergyLevelMap& ppath_nlte,
387 Matrix& ppath_vmr,
388 Matrix& ppath_wind,
389 Matrix& ppath_mag,
390 const Ppath& ppath,
391 const Index& atmosphere_dim,
392 const ConstVectorView& p_grid,
393 const ConstTensor3View& t_field,
394 const EnergyLevelMap& nlte_field,
395 const ConstTensor4View& vmr_field,
396 const ConstTensor3View& wind_u_field,
397 const ConstTensor3View& wind_v_field,
398 const ConstTensor3View& wind_w_field,
399 const ConstTensor3View& mag_u_field,
400 const ConstTensor3View& mag_v_field,
401 const ConstTensor3View& mag_w_field);
402
418void get_ppath_cloudvars(ArrayOfIndex& clear2cloudy,
419 Matrix& ppath_pnd,
420 ArrayOfMatrix& ppath_dpnd_dx,
421 const Ppath& ppath,
422 const Index& atmosphere_dim,
423 const ArrayOfIndex& cloudbox_limits,
424 const Tensor4& pnd_field,
425 const ArrayOfTensor4& dpnd_field_dx);
426
441void get_ppath_f(Matrix& ppath_f,
442 const Ppath& ppath,
443 const ConstVectorView& f_grid,
444 const Index& atmosphere_dim,
445 const Numeric& rte_alonglos_v,
446 const ConstMatrixView& ppath_wind);
447
458Range get_rowindex_for_mblock(const Sparse& sensor_response,
459 const Index& imblock);
460
472void get_stepwise_blackbody_radiation(VectorView B,
473 VectorView dB_dT,
474 const ConstVectorView& ppath_f_grid,
475 const Numeric& ppath_temperature,
476 const bool& do_temperature_derivative);
477
503 Workspace& ws,
504 PropagationMatrix& K,
505 StokesVector& S,
506 Index& lte,
507 ArrayOfPropagationMatrix& dK_dx,
508 ArrayOfStokesVector& dS_dx,
509 const Agenda& propmat_clearsky_agenda,
510 const ArrayOfRetrievalQuantity& jacobian_quantities,
511 const Vector& ppath_f_grid,
512 const Vector& ppath_magnetic_field,
513 const Vector& ppath_line_of_sight,
514 const EnergyLevelMap& ppath_nlte,
515 const Vector& ppath_vmrs,
516 const Numeric& ppath_temperature,
517 const Numeric& ppath_pressure,
518 const bool& jacobian_do);
519
532Vector get_stepwise_f_partials(const ConstVectorView& ppath_line_of_sight,
533 const ConstVectorView& f_grid,
534 const Jacobian::Atm wind_type,
535 const Index& atmosphere_dim);
536
555 StokesVector& ap,
556 PropagationMatrix& Kp,
557 ArrayOfStokesVector& dap_dx,
558 ArrayOfPropagationMatrix& dKp_dx,
559 const ArrayOfRetrievalQuantity& jacobian_quantities,
560 const ConstMatrixView& ppath_1p_pnd, // the ppath_pnd at this ppath point
561 const ArrayOfMatrix&
562 ppath_dpnd_dx, // the full ppath_dpnd_dx, ie all ppath points
563 const Index ppath_1p_id,
564 const ArrayOfArrayOfSingleScatteringData& scat_data,
565 const ConstVectorView& ppath_line_of_sight,
566 const ConstVectorView& ppath_temperature,
567 const Index& atmosphere_dim,
568 const bool& jacobian_do);
569
583 StokesVector& Sp,
584 ArrayOfStokesVector& dSp_dx,
585 const ArrayOfRetrievalQuantity& jacobian_quantities,
586 const ConstVectorView& ppath_1p_pnd,
587 const ArrayOfMatrix& ppath_dpnd_dx,
588 const Index ppath_1p_id,
589 const ArrayOfArrayOfSingleScatteringData& scat_data,
590 const ConstTensor7View& cloudbox_field,
591 const ConstVectorView& za_grid,
592 const ConstVectorView& aa_grid,
593 const ConstMatrixView& ppath_line_of_sight,
594 const GridPos& ppath_pressure,
595 const Vector& temperature,
596 const Index& atmosphere_dim,
597 const bool& jacobian_do,
598 const Index& t_interp_order = 1);
599
623 Tensor3View cumulative_transmission,
624 Tensor3View T,
625 Tensor4View dT_dx_close,
626 Tensor4View dT_dx_far,
627 const ConstTensor3View& cumulative_transmission_close,
628 const PropagationMatrix& K_close,
629 const PropagationMatrix& K_far,
630 const ArrayOfPropagationMatrix& dK_close_dx,
631 const ArrayOfPropagationMatrix& dK_far_dx,
632 const Numeric& ppath_distance,
633 const bool& first_level,
634 const Numeric& dr_dT_close = 0,
635 const Numeric& dr_dT_far = 0,
636 const Index& it = -1);
637
644void iyb_calc(Workspace& ws,
645 Vector& iyb,
646 ArrayOfVector& iyb_aux,
647 ArrayOfMatrix& diyb_dx,
648 Matrix& geo_pos_matrix,
649 const Index& imblock,
650 const Index& atmosphere_dim,
651 const EnergyLevelMap& nlte_field,
652 const Index& cloudbox_on,
653 const Index& stokes_dim,
654 const Vector& f_grid,
655 const Matrix& sensor_pos,
656 const Matrix& sensor_los,
657 const Matrix& transmitter_pos,
658 const Matrix& mblock_dlos,
659 const String& iy_unit,
660 const Agenda& iy_main_agenda,
661 const Index& j_analytical_do,
662 const ArrayOfRetrievalQuantity& jacobian_quantities,
663 const ArrayOfArrayOfIndex& jacobian_indices,
664 const ArrayOfString& iy_aux_vars,
665 const Verbosity& verbosity);
666
690void iy_transmittance_mult(Tensor3& iy_trans_total,
691 const ConstTensor3View& iy_trans_old,
692 const ConstTensor3View& iy_trans_new);
693
712void iy_transmittance_mult(Matrix& iy_new,
713 const ConstTensor3View& iy_trans,
714 const ConstMatrixView& iy_old);
715
731void mirror_los(Vector& los_mirrored,
732 const ConstVectorView& los,
733 const Index& atmosphere_dim);
734
736
757void muellersparse_rotation(Sparse& H,
758 const Index& stokes_dim,
759 const Numeric& rotangle);
760
762
774void mueller_modif2stokes(Matrix& Cs,
775 const Index& stokes_dim);
776
778
792void mueller_rotation(Matrix& L,
793 const Index& stokes_dim,
794 const Numeric& rotangle);
795
797
809void mueller_stokes2modif(Matrix& Cm,
810 const Index& stokes_dim);
811
828void pos2true_latlon(Numeric& lat,
829 Numeric& lon,
830 const Index& atmosphere_dim,
831 const ConstVectorView& lat_grid,
832 const ConstVectorView& lat_true,
833 const ConstVectorView& lon_true,
834 const ConstVectorView& pos);
835
846 Workspace& ws,
847 ArrayOfTensor3& diy_dx,
848 ArrayOfTensor3& diy_dpath,
849 const Index& ns,
850 const Index& nf,
851 const Index& np,
852 const Index& atmosphere_dim,
853 const Ppath& ppath,
854 const Vector& ppvar_p,
855 const Vector& ppvar_t,
856 const Matrix& ppvar_vmr,
857 const Index& iy_agenda_call1,
858 const Tensor3& iy_transmittance,
859 const Agenda& water_p_eq_agenda,
860 const ArrayOfRetrievalQuantity& jacobian_quantities,
861 const ArrayOfIndex& jac_species_i);
862
874 Matrix& iy,
875 ArrayOfTensor3& diy_dx,
876 Tensor3& ppvar_iy,
877 const Index& ns,
878 const Index& np,
879 const Vector& f_grid,
880 const Ppath& ppath,
881 const ArrayOfRetrievalQuantity& jacobian_quantities,
882 const Index& j_analytical_do,
883 const String& iy_unit);
884
889void yCalc_mblock_loop_body(bool& failed,
890 String& fail_msg,
891 ArrayOfArrayOfVector& iyb_aux_array,
892 Workspace& ws,
893 Vector& y,
894 Vector& y_f,
895 ArrayOfIndex& y_pol,
896 Matrix& y_pos,
897 Matrix& y_los,
898 Matrix& y_geo,
899 Matrix& jacobian,
900 const Index& atmosphere_dim,
901 const EnergyLevelMap& nlte_field,
902 const Index& cloudbox_on,
903 const Index& stokes_dim,
904 const Vector& f_grid,
905 const Matrix& sensor_pos,
906 const Matrix& sensor_los,
907 const Matrix& transmitter_pos,
908 const Matrix& mblock_dlos,
909 const Sparse& sensor_response,
910 const Vector& sensor_response_f,
911 const ArrayOfIndex& sensor_response_pol,
912 const Matrix& sensor_response_dlos,
913 const String& iy_unit,
914 const Agenda& iy_main_agenda,
915 const Agenda& jacobian_agenda,
916 const Index& jacobian_do,
917 const ArrayOfRetrievalQuantity& jacobian_quantities,
918 const ArrayOfArrayOfIndex& jacobian_indices,
919 const ArrayOfString& iy_aux_vars,
920 const Verbosity& verbosity,
921 const Index& mblock_index,
922 const Index& n1y,
923 const Index& j_analytical_do);
924
941void ze_cfac(Vector& fac,
942 const Vector& f_grid,
943 const Numeric& ze_tref,
944 const Numeric& k2);
945
946#endif // rte_h
Declarations for agendas.
The global header file for ARTS.
The Agenda class.
This can be used to make arrays out of anything.
Definition array.h:31
Workspace class.
Array< WorkspaceVariable > ws
Workspace variable container.
Routines for setting up the jacobian.
Numeric fac(const Index n)
fac
Definition math_funcs.cc:46
invlib::Vector< ArtsVector > Vector
invlib wrapper type for ARTS vectors.
Definition oem.h:31
Scattering database structure and functions.
Propagation path structure and functions.
void get_stepwise_scattersky_propmat(StokesVector &ap, PropagationMatrix &Kp, ArrayOfStokesVector &dap_dx, ArrayOfPropagationMatrix &dKp_dx, const ArrayOfRetrievalQuantity &jacobian_quantities, const ConstMatrixView &ppath_1p_pnd, const ArrayOfMatrix &ppath_dpnd_dx, const Index ppath_1p_id, const ArrayOfArrayOfSingleScatteringData &scat_data, const ConstVectorView &ppath_line_of_sight, const ConstVectorView &ppath_temperature, const Index &atmosphere_dim, const bool &jacobian_do)
Computes the contribution by scattering at propagation path point.
Definition rte.cc:1188
void ze_cfac(Vector &fac, const Vector &f_grid, const Numeric &ze_tref, const Numeric &k2)
Calculates factor to convert back-scattering to Ze.
Definition rte.cc:2267
void iyb_calc(Workspace &ws, Vector &iyb, ArrayOfVector &iyb_aux, ArrayOfMatrix &diyb_dx, Matrix &geo_pos_matrix, const Index &imblock, const Index &atmosphere_dim, const EnergyLevelMap &nlte_field, const Index &cloudbox_on, const Index &stokes_dim, const Vector &f_grid, const Matrix &sensor_pos, const Matrix &sensor_los, const Matrix &transmitter_pos, const Matrix &mblock_dlos, const String &iy_unit, const Agenda &iy_main_agenda, const Index &j_analytical_do, const ArrayOfRetrievalQuantity &jacobian_quantities, const ArrayOfArrayOfIndex &jacobian_indices, const ArrayOfString &iy_aux_vars, const Verbosity &verbosity)
Performs calculations for one measurement block, on iy-level.
Definition rte.cc:1591
void mueller_stokes2modif(Matrix &Cm, const Index &stokes_dim)
mueller_stokes2modif
Definition rte.cc:1893
void get_ppath_atmvars(Vector &ppath_p, Vector &ppath_t, EnergyLevelMap &ppath_nlte, Matrix &ppath_vmr, Matrix &ppath_wind, Matrix &ppath_mag, const Ppath &ppath, const Index &atmosphere_dim, const ConstVectorView &p_grid, const ConstTensor3View &t_field, const EnergyLevelMap &nlte_field, const ConstTensor4View &vmr_field, const ConstTensor3View &wind_u_field, const ConstTensor3View &wind_v_field, const ConstTensor3View &wind_w_field, const ConstTensor3View &mag_u_field, const ConstTensor3View &mag_v_field, const ConstTensor3View &mag_w_field)
Determines pressure, temperature, VMR, winds and magnetic field for each propgataion path point.
Definition rte.cc:828
void pos2true_latlon(Numeric &lat, Numeric &lon, const Index &atmosphere_dim, const ConstVectorView &lat_grid, const ConstVectorView &lat_true, const ConstVectorView &lon_true, const ConstVectorView &pos)
Determines the true alt and lon for an "ARTS position".
Definition rte.cc:1914
Numeric dotprod_with_los(const ConstVectorView &los, const Numeric &u, const Numeric &v, const Numeric &w, const Index &atmosphere_dim)
Calculates the dot product between a field and a LOS.
Definition rte.cc:651
void apply_iy_unit2(Tensor3View J, const ConstMatrixView &iy, const String &iy_unit, const ConstVectorView &f_grid, const Numeric &n, const ArrayOfIndex &i_pol)
Largely as apply_iy_unit but operates on jacobian data.
Definition rte.cc:162
void iy_transmittance_mult(Tensor3 &iy_trans_total, const ConstTensor3View &iy_trans_old, const ConstTensor3View &iy_trans_new)
Multiplicates iy_transmittance with transmissions.
Definition rte.cc:1755
void apply_iy_unit(MatrixView iy, const String &iy_unit, const ConstVectorView &f_grid, const Numeric &n, const ArrayOfIndex &i_pol)
Performs conversion from radiance to other units, as well as applies refractive index to fulfill the ...
Definition rte.cc:89
void get_iy(Workspace &ws, Matrix &iy, const Index &cloudbox_on, const Vector &f_grid, const EnergyLevelMap &nlte_field, const Vector &rte_pos, const Vector &rte_los, const Vector &rte_pos2, const String &iy_unit, const Agenda &iy_main_agenda)
Basic call of iy_main_agenda.
Definition rte.cc:672
void adjust_los(VectorView los, const Index &atmosphere_dim)
Ensures that the zenith and azimuth angles of a line-of-sight vector are inside defined ranges.
Definition rte.cc:66
void defocusing_sat2sat(Workspace &ws, Numeric &dlf, 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 Ppath &ppath, const Numeric &ppath_lmax, const Numeric &ppath_lraytrace, const Numeric &dza, const Verbosity &verbosity)
Calculates defocusing for limb measurements between two satellites.
Definition rte.cc:535
void mueller_modif2stokes(Matrix &Cs, const Index &stokes_dim)
mueller_modif2stokes
Definition rte.cc:1845
void get_stepwise_transmission_matrix(Tensor3View cumulative_transmission, Tensor3View T, Tensor4View dT_dx_close, Tensor4View dT_dx_far, const ConstTensor3View &cumulative_transmission_close, const PropagationMatrix &K_close, const PropagationMatrix &K_far, const ArrayOfPropagationMatrix &dK_close_dx, const ArrayOfPropagationMatrix &dK_far_dx, const Numeric &ppath_distance, const bool &first_level, const Numeric &dr_dT_close=0, const Numeric &dr_dT_far=0, const Index &it=-1)
Computes layer transmission matrix and cumulative transmission.
void get_iy_of_background(Workspace &ws, Matrix &iy, ArrayOfTensor3 &diy_dx, const Tensor3 &iy_transmittance, const Index &iy_id, const Index &jacobian_do, const ArrayOfRetrievalQuantity &jacobian_quantities, const Ppath &ppath, const Vector &rte_pos2, const Index &atmosphere_dim, const EnergyLevelMap &nlte_field, const Index &cloudbox_on, const Index &stokes_dim, const Vector &f_grid, const String &iy_unit, const Tensor3 &surface_props_data, const Agenda &iy_main_agenda, const Agenda &iy_space_agenda, const Agenda &iy_surface_agenda, const Agenda &iy_cloudbox_agenda, const Index &iy_agenda_call1, const Verbosity &verbosity)
Determines iy of the "background" of a propgation path.
Definition rte.cc:713
void get_ppath_f(Matrix &ppath_f, const Ppath &ppath, const ConstVectorView &f_grid, const Index &atmosphere_dim, const Numeric &rte_alonglos_v, const ConstMatrixView &ppath_wind)
Determines the Doppler shifted frequencies along the propagation path.
Definition rte.cc:1051
void get_stepwise_scattersky_source(StokesVector &Sp, ArrayOfStokesVector &dSp_dx, const ArrayOfRetrievalQuantity &jacobian_quantities, const ConstVectorView &ppath_1p_pnd, const ArrayOfMatrix &ppath_dpnd_dx, const Index ppath_1p_id, const ArrayOfArrayOfSingleScatteringData &scat_data, const ConstTensor7View &cloudbox_field, const ConstVectorView &za_grid, const ConstVectorView &aa_grid, const ConstMatrixView &ppath_line_of_sight, const GridPos &ppath_pressure, const Vector &temperature, const Index &atmosphere_dim, const bool &jacobian_do, const Index &t_interp_order=1)
Calculates the stepwise scattering source terms.
Definition rte.cc:1305
void mueller_rotation(Matrix &L, const Index &stokes_dim, const Numeric &rotangle)
mueller_rotation
Definition rte.cc:1866
void rtmethods_unit_conversion(Matrix &iy, ArrayOfTensor3 &diy_dx, Tensor3 &ppvar_iy, const Index &ns, const Index &np, const Vector &f_grid, const Ppath &ppath, const ArrayOfRetrievalQuantity &jacobian_quantities, const Index &j_analytical_do, const String &iy_unit)
This function handles the unit conversion to be done at the end of some radiative transfer WSMs.
Definition rte.cc:2086
void bending_angle1d(Numeric &alpha, const Ppath &ppath)
Calculates the bending angle for a 1D atmosphere.
Definition rte.cc:249
Vector get_stepwise_f_partials(const ConstVectorView &ppath_line_of_sight, const ConstVectorView &f_grid, const Jacobian::Atm wind_type, const Index &atmosphere_dim)
Computes the ratio that a partial derivative with regards to frequency relates to the wind of come co...
Definition rte.cc:1154
void rtmethods_jacobian_finalisation(Workspace &ws, ArrayOfTensor3 &diy_dx, ArrayOfTensor3 &diy_dpath, const Index &ns, const Index &nf, const Index &np, const Index &atmosphere_dim, const Ppath &ppath, const Vector &ppvar_p, const Vector &ppvar_t, const Matrix &ppvar_vmr, const Index &iy_agenda_call1, const Tensor3 &iy_transmittance, const Agenda &water_p_eq_agenda, const ArrayOfRetrievalQuantity &jacobian_quantities, const ArrayOfIndex &jac_species_i)
This function fixes the last steps to made on the Jacobian in some radiative transfer WSMs.
Definition rte.cc:1948
void mirror_los(Vector &los_mirrored, const ConstVectorView &los, const Index &atmosphere_dim)
Determines the backward direction for a given line-of-sight.
Definition rte.cc:1792
void yCalc_mblock_loop_body(bool &failed, String &fail_msg, ArrayOfArrayOfVector &iyb_aux_array, Workspace &ws, Vector &y, Vector &y_f, ArrayOfIndex &y_pol, Matrix &y_pos, Matrix &y_los, Matrix &y_geo, Matrix &jacobian, const Index &atmosphere_dim, const EnergyLevelMap &nlte_field, const Index &cloudbox_on, const Index &stokes_dim, const Vector &f_grid, const Matrix &sensor_pos, const Matrix &sensor_los, const Matrix &transmitter_pos, const Matrix &mblock_dlos, const Sparse &sensor_response, const Vector &sensor_response_f, const ArrayOfIndex &sensor_response_pol, const Matrix &sensor_response_dlos, const String &iy_unit, const Agenda &iy_main_agenda, const Agenda &jacobian_agenda, const Index &jacobian_do, const ArrayOfRetrievalQuantity &jacobian_quantities, const ArrayOfArrayOfIndex &jacobian_indices, const ArrayOfString &iy_aux_vars, const Verbosity &verbosity, const Index &mblock_index, const Index &n1y, const Index &j_analytical_do)
Performs calculations for one measurement block, on y-level.
Definition rte.cc:2128
void get_stepwise_clearsky_propmat(Workspace &ws, PropagationMatrix &K, StokesVector &S, Index &lte, ArrayOfPropagationMatrix &dK_dx, ArrayOfStokesVector &dS_dx, const Agenda &propmat_clearsky_agenda, const ArrayOfRetrievalQuantity &jacobian_quantities, const Vector &ppath_f_grid, const Vector &ppath_magnetic_field, const Vector &ppath_line_of_sight, const EnergyLevelMap &ppath_nlte, const Vector &ppath_vmrs, const Numeric &ppath_temperature, const Numeric &ppath_pressure, const bool &jacobian_do)
Gets the clearsky propgation matrix and NLTE contributions.
Definition rte.cc:1116
void muellersparse_rotation(Sparse &H, const Index &stokes_dim, const Numeric &rotangle)
muellersparse_rotation
Definition rte.cc:1816
void adapt_stepwise_partial_derivatives(ArrayOfPropagationMatrix &dK_dx, ArrayOfStokesVector &dS_dx, const ArrayOfRetrievalQuantity &jacobian_quantities, const ConstVectorView &ppath_f_grid, const ConstVectorView &ppath_line_of_sight, const Index &lte, const Index &atmosphere_dim, const bool &jacobian_do)
Adapts clearsky partial derivatives.
Definition rte.cc:38
void get_stepwise_blackbody_radiation(VectorView B, VectorView dB_dT, const ConstVectorView &ppath_f_grid, const Numeric &ppath_temperature, const bool &do_temperature_derivative)
Get the blackbody radiation at propagation path point.
Definition rte.cc:1101
void defocusing_general(Workspace &ws, Numeric &dlf, 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 Ppath &ppath, const Numeric &ppath_lmax, const Numeric &ppath_lraytrace, const Numeric &dza, const Verbosity &verbosity)
Defocusing for arbitrary geometry (zenith angle part only)
Definition rte.cc:416
void get_ppath_cloudvars(ArrayOfIndex &clear2cloudy, Matrix &ppath_pnd, ArrayOfMatrix &ppath_dpnd_dx, const Ppath &ppath, const Index &atmosphere_dim, const ArrayOfIndex &cloudbox_limits, const Tensor4 &pnd_field, const ArrayOfTensor4 &dpnd_field_dx)
Determines the particle fields along a propagation path.
Definition rte.cc:947
Range get_rowindex_for_mblock(const Sparse &sensor_response, const Index &imblock)
Returns the "range" of y corresponding to a measurement block.
Definition rte.cc:1095
Structure to store a grid position.
The structure to describe a propagation path and releated quantities.
ArrayOfTransmissionMatrix cumulative_transmission(const ArrayOfTransmissionMatrix &T, const CumulativeTransmission type)
Accumulate the transmission matrix over all layers.
#define u
#define v
#define w