20#include "matpack_data.h"
22#include "propagationmatrix.h"
71 VectorView stokes_vec,
74 const PropagationMatrix& ext_mat_av,
75 const StokesVector& abs_vec_av,
76 ConstVectorView sca_vec_av,
78 const Numeric& rtp_planck_value,
79 const bool& trans_is_precalc =
false);
106 Tensor5View ext_mat_field,
107 Tensor4View abs_vec_field,
109 const Agenda& spt_calc_agenda,
110 const Index& za_index,
111 const Index& aa_index,
113 ConstTensor3View t_field,
114 ConstTensor4View pnd_field,
163 const Index& p_index,
164 const Index& za_index,
165 ConstVectorView za_grid,
167 ConstTensor6View scat_field,
169 const Agenda& propmat_clearsky_agenda,
170 ConstTensor4View vmr_field,
173 const Agenda& ppath_step_agenda,
174 const Numeric& ppath_lmax,
175 const Numeric& ppath_lraytrace,
176 ConstVectorView p_grid,
177 ConstTensor3View z_field,
178 ConstVectorView refellipsoid,
180 ConstTensor3View t_field,
181 ConstVectorView f_grid,
182 const Index& f_index,
184 ConstTensor5View ext_mat_field,
185 ConstTensor4View abs_vec_field,
186 const Agenda& surface_rtprop_agenda,
187 const Index& scat_za_interp,
232 Tensor6View cloudbox_field_mono,
234 const Index& p_index,
235 const Index& za_index,
236 ConstVectorView za_grid,
238 ConstTensor6View cloudbox_field_mono_old,
239 ConstTensor6View doit_scat_field,
241 const Agenda& propmat_clearsky_agenda,
242 ConstTensor4View vmr_field,
245 const Agenda& ppath_step_agenda,
246 const Numeric& ppath_lmax,
247 const Numeric& ppath_lraytrace,
248 ConstVectorView p_grid,
249 ConstTensor3View z_field,
250 ConstVectorView refellipsoid,
252 ConstTensor3View t_field,
253 ConstVectorView f_grid,
255 const Index& f_index,
257 ConstTensor5View ext_mat_field,
258 ConstTensor4View abs_vec_field,
259 const Agenda& surface_rtprop_agenda,
260 const Index& scat_za_interp,
299 Tensor6View cloudbox_field_mono,
301 const Index& p_index,
302 const Index& za_index,
303 ConstVectorView za_grid,
305 ConstTensor6View scat_field,
307 const Agenda& propmat_clearsky_agenda,
308 ConstTensor4View vmr_field,
311 ConstVectorView p_grid,
312 ConstTensor3View z_field,
314 ConstTensor3View t_field,
315 ConstVectorView f_grid,
316 const Index& f_index,
318 ConstTensor5View ext_mat_field,
319 ConstTensor4View abs_vec_field,
371 Tensor6View cloudbox_field_mono,
373 const Index& p_index,
374 const Index& lat_index,
375 const Index& lon_index,
376 const Index& za_index,
377 const Index& aa_index,
378 ConstVectorView za_grid,
379 ConstVectorView aa_grid,
381 ConstTensor6View doit_scat_field,
383 const Agenda& propmat_clearsky_agenda,
384 ConstTensor4View vmr_field,
387 const Agenda& ppath_step_agenda,
388 const Numeric& ppath_lmax,
389 const Numeric& ppath_lraytrace,
390 ConstVectorView p_grid,
391 ConstVectorView lat_grid,
392 ConstVectorView lon_grid,
393 ConstTensor3View z_field,
394 ConstVectorView refellipsoid,
396 ConstTensor3View t_field,
397 ConstVectorView f_grid,
398 const Index& f_index,
400 ConstTensor5View ext_mat_field,
401 ConstTensor4View abs_vec_field,
438 Tensor6View cloudbox_field_mono,
440 const Agenda& propmat_clearsky_agenda,
441 const Ppath& ppath_step,
442 ConstVectorView t_int,
443 ConstMatrixView vmr_list_int,
444 ConstTensor3View ext_mat_int,
445 ConstMatrixView abs_vec_int,
446 ConstMatrixView sca_vec_int,
447 ConstMatrixView cloudbox_field_mono_int,
448 ConstVectorView p_int,
450 ConstVectorView f_grid,
451 const Index& f_index,
452 const Index& p_index,
453 const Index& lat_index,
454 const Index& lon_index,
455 const Index& za_index,
456 const Index& aa_index,
484 Tensor6View cloudbox_field_mono,
486 const Agenda& surface_rtprop_agenda,
487 ConstVectorView f_grid,
488 const Index& f_index,
489 const Index& stokes_dim,
490 const Ppath& ppath_step,
492 ConstVectorView za_grid,
493 const Index& za_index);
512 Tensor6& cloudbox_field_mono,
514 const ArrayOfTensor6& acceleration_input,
515 const Index& accelerated,
548 Tensor3View ext_mat_int,
549 MatrixView abs_vec_int,
550 MatrixView sca_vec_int,
551 MatrixView cloudbox_field_mono_int,
553 MatrixView vmr_list_int,
556 ConstTensor5View ext_mat_field,
557 ConstTensor4View abs_vec_field,
558 ConstTensor6View doit_scat_field,
559 ConstTensor6View cloudbox_field_mono,
560 ConstTensor3View t_field,
561 ConstTensor4View vmr_field,
562 ConstVectorView p_grid,
563 const Ppath& ppath_step,
565 ConstVectorView za_grid,
566 const Index& scat_za_interp,
596 ConstVectorView za_grid_fine,
597 ConstTensor6View i_field,
599 const Index& scat_za_interp);
626 Tensor6& doit_scat_field,
627 const Tensor6& cloudbox_field_mono,
629 const Agenda& spt_calc_agenda,
630 const Index& atmosphere_dim,
631 const Vector& za_grid,
632 const Vector& aa_grid,
633 const Tensor4& pnd_field,
634 const Tensor3& t_field,
635 const Numeric& norm_error_threshold,
636 const Index& norm_debug,
Declarations for agendas.
void doit_scat_fieldNormalize(Workspace &ws, Tensor6 &doit_scat_field, const Tensor6 &cloudbox_field_mono, const ArrayOfIndex &cloudbox_limits, const Agenda &spt_calc_agenda, const Index &atmosphere_dim, const Vector &za_grid, const Vector &aa_grid, const Tensor4 &pnd_field, const Tensor3 &t_field, const Numeric &norm_error_threshold, const Index &norm_debug, const Verbosity &verbosity)
Normalization of scattered field.
void cloudbox_field_ngAcceleration(Tensor6 &cloudbox_field_mono, const ArrayOfTensor6 &acceleration_input, const Index &accelerated, const Verbosity &verbosity)
Convergence acceleration.
void cloud_ppath_update1D_planeparallel(Workspace &ws, Tensor6View cloudbox_field_mono, const Index &p_index, const Index &za_index, ConstVectorView za_grid, const ArrayOfIndex &cloudbox_limits, ConstTensor6View scat_field, const Agenda &propmat_clearsky_agenda, ConstTensor4View vmr_field, ConstVectorView p_grid, ConstTensor3View z_field, ConstTensor3View t_field, ConstVectorView f_grid, const Index &f_index, ConstTensor5View ext_mat_field, ConstTensor4View abs_vec_field, const Verbosity &verbosity)
Radiative transfer calculation inside cloudbox for planeparallel case.
void rte_step_doit_replacement(VectorView stokes_vec, MatrixView trans_mat, const PropagationMatrix &ext_mat_av, const StokesVector &abs_vec_av, ConstVectorView sca_vec_av, const Numeric &lstep, const Numeric &rtp_planck_value, const bool &trans_is_precalc=false)
Solves monochromatic VRTE for an atmospheric slab with constant conditions.
void cloud_ppath_update1D(Workspace &ws, Tensor6View i_field, const Index &p_index, const Index &za_index, ConstVectorView za_grid, const ArrayOfIndex &cloudbox_limits, ConstTensor6View scat_field, const Agenda &propmat_clearsky_agenda, ConstTensor4View vmr_field, const Agenda &ppath_step_agenda, const Numeric &ppath_lmax, const Numeric &ppath_lraytrace, ConstVectorView p_grid, ConstTensor3View z_field, ConstVectorView refellipsoid, ConstTensor3View t_field, ConstVectorView f_grid, const Index &f_index, ConstTensor5View ext_mat_field, ConstTensor4View abs_vec_field, const Agenda &surface_rtprop_agenda, const Index &scat_za_interp, const Verbosity &verbosity)
Calculates radiation field along a propagation path step for specified zenith direction and pressure ...
void cloud_fieldsCalc(Workspace &ws, Tensor5View ext_mat_field, Tensor4View abs_vec_field, const Agenda &spt_calc_agenda, const Index &za_index, const Index &aa_index, const ArrayOfIndex &cloudbox_limits, ConstTensor3View t_field, ConstTensor4View pnd_field, const Verbosity &verbosity)
Calculate ext_mat, abs_vec for all points inside the cloudbox for one.
void cloud_ppath_update1D_noseq(Workspace &ws, Tensor6View cloudbox_field_mono, const Index &p_index, const Index &za_index, ConstVectorView za_grid, const ArrayOfIndex &cloudbox_limits, ConstTensor6View cloudbox_field_mono_old, ConstTensor6View doit_scat_field, const Agenda &propmat_clearsky_agenda, ConstTensor4View vmr_field, const Agenda &ppath_step_agenda, const Numeric &ppath_lmax, const Numeric &ppath_lraytrace, ConstVectorView p_grid, ConstTensor3View z_field, ConstVectorView refellipsoid, ConstTensor3View t_field, ConstVectorView f_grid, const Index &f_index, ConstTensor5View ext_mat_field, ConstTensor4View abs_vec_field, const Agenda &surface_rtprop_agenda, const Index &scat_za_interp, const Verbosity &verbosity)
Calculation of radiation field along a propagation path step for specified zenith direction and press...
void cloud_RT_no_background(Workspace &ws, Tensor6View cloudbox_field_mono, const Agenda &propmat_clearsky_agenda, const Ppath &ppath_step, ConstVectorView t_int, ConstMatrixView vmr_list_int, ConstTensor3View ext_mat_int, ConstMatrixView abs_vec_int, ConstMatrixView sca_vec_int, ConstMatrixView cloudbox_field_mono_int, ConstVectorView p_int, const ArrayOfIndex &cloudbox_limits, ConstVectorView f_grid, const Index &f_index, const Index &p_index, const Index &lat_index, const Index &lon_index, const Index &za_index, const Index &aa_index, const Verbosity &verbosity)
Calculates RT in the cloudbox (1D)
void interp_cloud_coeff1D(Tensor3View ext_mat_int, MatrixView abs_vec_int, MatrixView sca_vec_int, MatrixView cloudbox_field_mono_int, VectorView t_int, MatrixView vmr_list_int, VectorView p_int, ConstTensor5View ext_mat_field, ConstTensor4View abs_vec_field, ConstTensor6View doit_scat_field, ConstTensor6View cloudbox_field_mono, ConstTensor3View t_field, ConstTensor4View vmr_field, ConstVectorView p_grid, const Ppath &ppath_step, const ArrayOfIndex &cloudbox_limits, ConstVectorView za_grid, const Index &scat_za_interp, const Verbosity &verbosity)
Interpolate all inputs of the VRTE on a propagation path step.
void cloud_RT_surface(Workspace &ws, Tensor6View cloudbox_field_mono, const Agenda &surface_rtprop_agenda, ConstVectorView f_grid, const Index &f_index, const Index &stokes_dim, const Ppath &ppath_step, const ArrayOfIndex &cloudbox_limits, ConstVectorView za_grid, const Index &za_index)
Calculates RT in the cloudbox.
void cloud_ppath_update3D(Workspace &ws, Tensor6View cloudbox_field_mono, const Index &p_index, const Index &lat_index, const Index &lon_index, const Index &za_index, const Index &aa_index, ConstVectorView za_grid, ConstVectorView aa_grid, const ArrayOfIndex &cloudbox_limits, ConstTensor6View doit_scat_field, const Agenda &propmat_clearsky_agenda, ConstTensor4View vmr_field, const Agenda &ppath_step_agenda, const Numeric &ppath_lmax, const Numeric &ppath_lraytrace, ConstVectorView p_grid, ConstVectorView lat_grid, ConstVectorView lon_grid, ConstTensor3View z_field, ConstVectorView refellipsoid, ConstTensor3View t_field, ConstVectorView f_grid, const Index &f_index, ConstTensor5View ext_mat_field, ConstTensor4View abs_vec_field, const Index &, const Verbosity &verbosity)
Radiative transfer calculation along a path inside the cloudbox (3D).
void za_gridOpt(Vector &za_grid_opt, Matrix &i_field_opt, ConstVectorView za_grid_fine, ConstTensor6View i_field, const Numeric &acc, const Index &scat_za_interp)
Optimize the zenith angle grid.
Propagation path structure and functions.
The structure to describe a propagation path and releated quantities.