ARTS 2.5.11 (git: 725533f0)
montecarlo.h
Go to the documentation of this file.
1#ifndef montecarlo_h
2#define montecarlo_h
3
20/*===========================================================================
21 === External declarations
22 ===========================================================================*/
23#include <cmath>
24#include <stdexcept>
25#include "arts.h"
26#include "check_input.h"
27#include "cloudbox.h"
28#include "lin_alg.h"
29#include "logic.h"
30#include "matpack_data.h"
31#include "messages.h"
32#include "optproperties.h"
33#include "physics_funcs.h"
34#include "ppath.h"
35#include "rng.h"
36#include "rte.h"
37#include "special_interp.h"
38
60 MatrixView ext_mat_mono,
61 VectorView abs_vec_mono,
62 Numeric& temperature,
63 const Agenda& propmat_clearsky_agenda,
64 const Numeric& f_mono,
65 const GridPos& gp_p,
66 const GridPos& gp_lat,
67 const GridPos& gp_lon,
68 ConstVectorView p_grid,
69 ConstTensor3View t_field,
70 ConstTensor4View vmr_field);
71
100 MatrixView ext_mat_mono,
101 VectorView abs_vec_mono,
102 VectorView pnd_vec,
103 Numeric& temperature,
104 const Agenda& propmat_clearsky_agenda,
105 const Index stokes_dim,
106 const Index f_index,
107 const Vector& f_grid,
108 const GridPos& gp_p,
109 const GridPos& gp_lat,
110 const GridPos& gp_lon,
111 ConstVectorView p_grid_cloud,
112 ConstTensor3View t_field_cloud,
113 ConstTensor4View vmr_field_cloud,
114 const Tensor4& pnd_field,
115 const ArrayOfArrayOfSingleScatteringData& scat_data,
116 const ArrayOfIndex& cloudbox_limits,
117 const Vector& rte_los);
118
142void cloud_atm_vars_by_gp(VectorView pressure,
143 VectorView temperature,
144 MatrixView vmr,
145 MatrixView pnd,
146 const ArrayOfGridPos& gp_p,
147 const ArrayOfGridPos& gp_lat,
148 const ArrayOfGridPos& gp_lon,
149 const ArrayOfIndex& cloudbox_limits,
150 ConstVectorView p_grid_cloud,
151 ConstTensor3View t_field_cloud,
152 ConstTensor4View vmr_field_cloud,
153 ConstTensor4View pnd_field);
154
184 Workspace& ws,
185 MatrixView trans_mat,
186 const Ppath& ppath,
187 const Agenda& propmat_clearsky_agenda,
188 const Index stokes_dim,
189 const Index f_index,
190 const Vector& f_grid,
191 const Vector& p_grid,
192 const Tensor3& t_field,
193 const Tensor4& vmr_field,
194 const ArrayOfIndex& cloudbox_limits,
195 const Tensor4& pnd_field,
196 const ArrayOfArrayOfSingleScatteringData& scat_data_mono,
197 const Verbosity& verbosity);
198
211 const ArrayOfArrayOfSingleScatteringData& scat_data_mono);
212
267 MatrixView evol_op,
268 Vector& abs_vec_mono,
269 Numeric& temperature,
270 MatrixView ext_mat_mono,
272 Vector& rte_pos,
273 Vector& rte_los,
274 Vector& pnd_vec,
275 Numeric& g,
276 Ppath& ppath_step,
277 Index& termination_flag,
278 bool& inside_cloud,
279 const Agenda& ppath_step_agenda,
280 const Numeric& ppath_lmax,
281 const Numeric& ppath_lraytrace,
282 const Numeric& taustep_limit,
283 const Agenda& propmat_clearsky_agenda,
284 const Index stokes_dim,
285 const Index f_index,
286 const Vector& f_grid,
287 const Vector& p_grid,
288 const Vector& lat_grid,
289 const Vector& lon_grid,
290 const Tensor3& z_field,
291 const Vector& refellipsoid,
292 const Matrix& z_surface,
293 const Tensor3& t_field,
294 const Tensor4& vmr_field,
295 const ArrayOfIndex& cloudbox_limits,
296 const Tensor4& pnd_field,
297 const ArrayOfArrayOfSingleScatteringData& scat_data,
298 const Verbosity& verbosity);
299
356 MatrixView evol_op,
357 Vector& abs_vec_mono,
358 Numeric& temperature,
359 MatrixView ext_mat_mono,
361 Vector& rte_pos,
362 Vector& rte_los,
363 Vector& pnd_vec,
364 Numeric& stot,
365 Numeric& ttot,
366 Ppath& ppath_step,
367 Index& termination_flag,
368 bool& inside_cloud,
369 const Agenda& ppath_step_agenda,
370 const Numeric& ppath_lmax,
371 const Numeric& ppath_lraytrace,
372 const Agenda& propmat_clearsky_agenda,
373 const bool& anyptype_nonTotRan,
374 const Index stokes_dim,
375 const Index f_index,
376 const Vector& f_grid,
377 const Vector& Iprop,
378 const Vector& p_grid,
379 const Vector& lat_grid,
380 const Vector& lon_grid,
381 const Tensor3& z_field,
382 const Vector& refellipsoid,
383 const Matrix& z_surface,
384 const Tensor3& t_field,
385 const Tensor4& vmr_field,
386 const ArrayOfIndex& cloudbox_limits,
387 const Tensor4& pnd_field,
388 const ArrayOfArrayOfSingleScatteringData& scat_data_mono,
389 const Verbosity& verbosity);
390
391
414void Sample_los(VectorView new_rte_los,
415 Numeric& g_los_csc_theta,
416 MatrixView Z,
418 ConstVectorView rte_los,
419 const ArrayOfArrayOfSingleScatteringData& scat_data,
420 const Index stokes_dim,
421 const Index f_index,
422 ConstVectorView pnd_vec,
423 ConstVectorView Z11maxvector,
424 const Numeric Csca,
425 const Numeric rtp_temperature,
426 const Index t_interp_order = 1);
427
438void Sample_los_uniform(VectorView new_rte_los, RandomNumberGenerator<>& rng);
439
440#endif // montecarlo_h
The global header file for ARTS.
The Agenda class.
This can be used to make arrays out of anything.
Definition array.h:31
A C++ standards dependent random number generator class.
Definition rng.h:22
Workspace class.
Internal cloudbox functions.
Declarations having to do with the four output streams.
bool is_anyptype_nonTotRan(const ArrayOfArrayOfSingleScatteringData &scat_data_mono)
is_anyptype_nonTotRan.
void get_ppath_transmat(Workspace &ws, MatrixView trans_mat, const Ppath &ppath, const Agenda &propmat_clearsky_agenda, const Index stokes_dim, const Index f_index, const Vector &f_grid, const Vector &p_grid, const Tensor3 &t_field, const Tensor4 &vmr_field, const ArrayOfIndex &cloudbox_limits, const Tensor4 &pnd_field, const ArrayOfArrayOfSingleScatteringData &scat_data_mono, const Verbosity &verbosity)
get_ppath_transmat.
void clear_rt_vars_at_gp(Workspace &ws, MatrixView ext_mat_mono, VectorView abs_vec_mono, Numeric &temperature, const Agenda &propmat_clearsky_agenda, const Numeric &f_mono, const GridPos &gp_p, const GridPos &gp_lat, const GridPos &gp_lon, ConstVectorView p_grid, ConstTensor3View t_field, ConstTensor4View vmr_field)
clear_rt_vars_at_gp.
void Sample_los_uniform(VectorView new_rte_los, RandomNumberGenerator<> &rng)
Sample_los_uniform.
void mcPathTraceRadar(Workspace &ws, MatrixView evol_op, Vector &abs_vec_mono, Numeric &temperature, MatrixView ext_mat_mono, RandomNumberGenerator<> &rng, Vector &rte_pos, Vector &rte_los, Vector &pnd_vec, Numeric &stot, Numeric &ttot, Ppath &ppath_step, Index &termination_flag, bool &inside_cloud, const Agenda &ppath_step_agenda, const Numeric &ppath_lmax, const Numeric &ppath_lraytrace, const Agenda &propmat_clearsky_agenda, const bool &anyptype_nonTotRan, const Index stokes_dim, const Index f_index, const Vector &f_grid, const Vector &Iprop, const Vector &p_grid, const Vector &lat_grid, const Vector &lon_grid, const Tensor3 &z_field, const Vector &refellipsoid, const Matrix &z_surface, const Tensor3 &t_field, const Tensor4 &vmr_field, const ArrayOfIndex &cloudbox_limits, const Tensor4 &pnd_field, const ArrayOfArrayOfSingleScatteringData &scat_data_mono, const Verbosity &verbosity)
mcPathTraceRadar.
void cloud_atm_vars_by_gp(VectorView pressure, VectorView temperature, MatrixView vmr, MatrixView pnd, const ArrayOfGridPos &gp_p, const ArrayOfGridPos &gp_lat, const ArrayOfGridPos &gp_lon, const ArrayOfIndex &cloudbox_limits, ConstVectorView p_grid_cloud, ConstTensor3View t_field_cloud, ConstTensor4View vmr_field_cloud, ConstTensor4View pnd_field)
cloud_atm_vars_by_gp.
void Sample_los(VectorView new_rte_los, Numeric &g_los_csc_theta, MatrixView Z, RandomNumberGenerator<> &rng, ConstVectorView rte_los, const ArrayOfArrayOfSingleScatteringData &scat_data, const Index stokes_dim, const Index f_index, ConstVectorView pnd_vec, ConstVectorView Z11maxvector, const Numeric Csca, const Numeric rtp_temperature, const Index t_interp_order=1)
Sample_los.
void mcPathTraceGeneral(Workspace &ws, MatrixView evol_op, Vector &abs_vec_mono, Numeric &temperature, MatrixView ext_mat_mono, RandomNumberGenerator<> &rng, Vector &rte_pos, Vector &rte_los, Vector &pnd_vec, Numeric &g, Ppath &ppath_step, Index &termination_flag, bool &inside_cloud, const Agenda &ppath_step_agenda, const Numeric &ppath_lmax, const Numeric &ppath_lraytrace, const Numeric &taustep_limit, const Agenda &propmat_clearsky_agenda, const Index stokes_dim, const Index f_index, const Vector &f_grid, const Vector &p_grid, const Vector &lat_grid, const Vector &lon_grid, const Tensor3 &z_field, const Vector &refellipsoid, const Matrix &z_surface, const Tensor3 &t_field, const Tensor4 &vmr_field, const ArrayOfIndex &cloudbox_limits, const Tensor4 &pnd_field, const ArrayOfArrayOfSingleScatteringData &scat_data, const Verbosity &verbosity)
mcPathTraceGeneral.
void cloudy_rt_vars_at_gp(Workspace &ws, MatrixView ext_mat_mono, VectorView abs_vec_mono, VectorView pnd_vec, Numeric &temperature, const Agenda &propmat_clearsky_agenda, const Index stokes_dim, const Index f_index, const Vector &f_grid, const GridPos &gp_p, const GridPos &gp_lat, const GridPos &gp_lon, ConstVectorView p_grid_cloud, ConstTensor3View t_field_cloud, ConstTensor4View vmr_field_cloud, const Tensor4 &pnd_field, const ArrayOfArrayOfSingleScatteringData &scat_data, const ArrayOfIndex &cloudbox_limits, const Vector &rte_los)
cloudy_rt_vars_at_gp.
Scattering database structure and functions.
This file contains declerations of functions of physical character.
Propagation path structure and functions.
Declaration of functions in rte.cc.
Header file for special_interp.cc.
Structure to store a grid position.
The structure to describe a propagation path and releated quantities.