ARTS  2.3.1285(git:92a29ea9-dirty)
mc_NotUsed.cc File Reference

Go to the source code of this file.

Functions

wsv_data push_back (WsvRecord(NAME("mc_z_field_is_1D"), DESCRIPTION("Flag for MCGeneral and associated methods.\ "\" "If fields outside the cloud box are 1D, this flag can be set to 1\" "and the calculations will be more rapid.\" "\" "Usage:Set by the user.\"), GROUP("Index")))
 
md_data_raw push_back (MdRecord(NAME("mc_IWP_cloud_opt_pathCalc"), DESCRIPTION("Calculates the FOV averaged ice water path and cloud optical path\ "for a given viewing direction\"), AUTHORS("Cory Davis"), OUT("mc_IWP", "mc_cloud_opt_path", "mc_IWP_error", "mc_cloud_opt_path_error", "mc_iteration_count"), GOUT(), GOUT_TYPE(), GOUT_DESC(), IN("mc_antenna", "sensor_pos", "sensor_los", "ppath_step_agenda", "p_grid", "lat_grid", "lon_grid", "refellipsoid", "z_surface", "z_field", "t_field", "vmr_field", "edensity_field", "f_grid", "f_index", "cloudbox_limits", "pnd_field", "scat_data_array_mono", "particle_masses", "mc_seed"), GIN("max_iter"), GIN_TYPE( "Index"), GIN_DEFAULT(NODEF),))
 
void mc_IWP_cloud_opt_pathCalc (Workspace &ws, Numeric &mc_IWP, Numeric &mc_cloud_opt_path, Numeric &mc_IWP_error, Numeric &mc_cloud_opt_path_error, Index &mc_iteration_count, const MCAntenna &mc_antenna, const Matrix &sensor_pos, const Matrix &sensor_los, const Agenda &ppath_step_agenda, const Vector &p_grid, const Vector &lat_grid, const Vector &lon_grid, const Vector &refellipsoid, const Matrix &z_surface, const Tensor3 &z_field, const Tensor3 &t_field, const Tensor4 &vmr_field, const Tensor3 &edensity_field, const Vector &f_grid, const Index &f_index, const ArrayOfIndex &cloudbox_limits, const Tensor4 &pnd_field, const ArrayOfSingleScatteringData &scat_data_array_mono, const Matrix &particle_masses, const Index &mc_seed, const Index &max_iter, const Verbosity &verbosity)
 
void mcPathTraceGeneral (Workspace &ws, MatrixView evol_op, Vector &abs_vec_mono, Numeric &temperature, MatrixView ext_mat_mono, Rng &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 Agenda &propmat_clearsky_agenda, const Index stokes_dim, const Numeric &f_mono, 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 Tensor3 &edensity_field, const ArrayOfIndex &cloudbox_limits, const Tensor4 &pnd_field, const ArrayOfSingleScatteringData &scat_data_array_mono, const Verbosity &verbosity)
 mcPathTraceGeneral More...
 
md_data_raw push_back (MdRecord(NAME("MCIPA"), DESCRIPTION("A specialised 3D reversed Monte Carlo radiative algorithm, that\ "mimics independent pixel appoximation simulations.\"), AUTHORS("Cory Davis"), OUT("y", "mc_iteration_count", "mc_error", "mc_points"), GOUT(), GOUT_TYPE(), GOUT_DESC(), IN("mc_antenna", "f_grid", "f_index", "sensor_pos", "sensor_los", "stokes_dim", "atmosphere_dim", "iy_space_agenda", "surface_rtprop_agenda", "propmat_clearsky_agenda", "ppath_step_agenda", "p_grid", "lat_grid", "lon_grid", "z_field", "refellipsoid", "z_surface", "t_field", "vmr_field", "edensity_field", "cloudbox_limits", "pnd_field", "scat_data_array_mono", "mc_seed", "iy_unit", "mc_std_err", "mc_max_time", "mc_max_iter", "mc_min_iter", "mc_z_field_is_1D"), GIN(), GIN_TYPE(), GIN_DEFAULT(),))
 
void MCIPA (Workspace &ws, Vector &y, Index &mc_iteration_count, Vector &mc_error, Tensor3 &mc_points, const MCAntenna &mc_antenna, const Vector &f_grid, const Index &f_index, const Matrix &sensor_pos, const Matrix &sensor_los, const Index &stokes_dim, const Index &atmosphere_dim, const Agenda &iy_space_agenda, const Agenda &surface_rtprop_agenda, const Agenda &propmat_clearsky_agenda, const Agenda &ppath_step_agenda, 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 Tensor3 &edensity_field, const ArrayOfIndex &cloudbox_limits, const Tensor4 &pnd_field, const ArrayOfSingleScatteringData &scat_data_array_mono, const Index &mc_seed, const String &y_unit, const Numeric &std_err, const Index &max_time, const Index &max_iter, const Index &min_iter, const Index &z_field_is_1D, const Verbosity &verbosity)
 
md_data_raw push_back (MdRecord(NAME("pha_matExtractManually"), DESCRIPTION("A simple function for manually extract a single phase matrix.\ "\" "The function returns the phase matrix for a single particle, for\" "scattering from(za_in, aa_in) to(za_out, aa_out).\" "\" "Only a single particle type is handled and *scat_data_array *must\" "have length 1. The frequency is selected by *f_grid *and *f_index *.\" "The temperature is set by *rtp_temperature *.\"), AUTHORS("Patrick Eriksson"), OUT(), GOUT("pha_mat_single"), GOUT_TYPE("Matrix"), GOUT_DESC( "Phase matrix for a single frequency and combination of angles"), IN("f_grid", "f_index", "stokes_dim", "scat_data_array", "rtp_temperature"), GIN("za_out", "aa_out", "za_in", "aa_in"), GIN_TYPE("Numeric", "Numeric", "Numeric", "Numeric"), GIN_DEFAULT(NODEF, NODEF, NODEF, NODEF), GIN_DESC("Outgoing zenith angle", "Outgoing azimuth angle", "Incoming zenith angle", "Incoming azimuth angle")))
 
void pha_matExtractManually (Matrix &pha_mat, const Vector &f_grid, const Index &f_index, const Index &stokes_dim, const ArrayOfSingleScatteringData &scat_data_array, const Numeric &rtp_temperature, const Numeric &za_out, const Numeric &aa_out, const Numeric &za_in, const Numeric &aa_in, const Verbosity &verbosity)
 
void cum_l_stepCalc (Vector &cum_l_step, const Ppath &ppath)
 cum_l_stepCalc More...
 
void mcPathTraceIPA (Workspace &ws, MatrixView evol_op, Vector &abs_vec_mono, Numeric &temperature, MatrixView ext_mat_mono, Rng &rng, Vector &rte_pos, Vector &rte_los, Vector &pnd_vec, Numeric &g, Index &termination_flag, bool &inside_cloud, const Agenda &propmat_clearsky_agenda, const Index stokes_dim, const Numeric &f_mono, 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 ArrayOfSingleScatteringData &scat_data_array_mono, const Index z_field_is_1D, const Ppath &ppath, const Verbosity &verbosity)
 mcPathTraceIPA More...
 
void iwp_cloud_opt_pathCalc (Workspace &ws, Numeric &iwp, Numeric &cloud_opt_path, const Vector &rte_pos, const Vector &rte_los, const Agenda &ppath_step_agenda, const Vector &p_grid, const Vector &lat_grid, const Vector &lon_grid, const Vector &refellipsoid, const Matrix &z_surface, const Tensor3 &z_field, const Tensor3 &t_field, const Tensor4 &vmr_field, const Tensor3 &edensity_field, const Numeric &f_mono, const ArrayOfIndex &cloudbox_limits, const Tensor4 &pnd_field, const ArrayOfSingleScatteringData &scat_data_array_mono, const Matrix &particle_masses, const Verbosity &verbosity)
 iwp_cloud_opt_pathCalc More...
 
void interpTArray (Matrix &T, Vector &K_abs, Numeric &temperature, MatrixView &K, Vector &rte_pos, Vector &rte_los, VectorView &pnd_vec, const ArrayOfMatrix &TArray, const ArrayOfMatrix &ext_matArray, const ArrayOfVector &abs_vecArray, const Vector &t_ppath, const Matrix &pnd_ppath, const Vector &cum_l_step, const Numeric &pathlength, const Index &stokes_dim, const Ppath &ppath)
 interpTarray More...
 
void mcPathTraceGeneral (Workspace &ws, MatrixView evol_op, Vector &abs_vec_mono, Numeric &temperature, MatrixView ext_mat_mono, Rng &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_lraytrace, const Agenda &propmat_clearsky_agenda, const Index stokes_dim, const Numeric &f_mono, 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 ArrayOfSingleScatteringData &scat_data_array_mono, const Verbosity &verbosity)
 
void matrix_exp_p30 (MatrixView M, ConstMatrixView A)
 matrix_exp_p30 More...
 

Function Documentation

◆ cum_l_stepCalc()

void cum_l_stepCalc ( Vector cum_l_step,
const Ppath ppath 
)

cum_l_stepCalc

Returns a vector of cumulative pathlengths for a given ppath by adding up ppath.lstep

Parameters
cum_l_stepOutput: vector of cumulative pathlengths.
ppatha Ppath.
Author
Cory Davis
Date
2003-06-19

Definition at line 810 of file mc_NotUsed.cc.

References i, Ppath::lstep, Ppath::np, and Vector::resize().

◆ interpTArray()

void interpTArray ( Matrix T,
Vector K_abs,
Numeric temperature,
MatrixView K,
Vector rte_pos,
Vector rte_los,
VectorView pnd_vec,
const ArrayOfMatrix TArray,
const ArrayOfMatrix ext_matArray,
const ArrayOfVector abs_vecArray,
const Vector t_ppath,
const Matrix pnd_ppath,
const Vector cum_l_step,
const Numeric pathlength,
const Index stokes_dim,
const Ppath ppath 
)

interpTarray

Interpolates several arrays calculated by TarrayCalc to give values at a given pathlength

Parameters
[out]Ttransmittance matrix ( I may have made this term up ).
[out]K_absabsorption coefficient vector
[out]temperaturetemperature
[out]Kextinction matrix at interpolation point
[out]rte_posposition at pathlength along ppath
[out]rte_losLOS at pathlength along ppath
[in]pnd_vecpnd vector
[in]TArrayarray of transmittance matrices
[in]ext_matArrayarray of extinction matrices
[in]abs_vecArrayarray of absorption coefficients
[in]t_ppatharray of temperatures
[in]pnd_ppatharray of pressures
[in]cum_l_stepvector of cumulative pathlengths
[in]pathlengthpathlength at which to calculate above values
[in]stokes_dimlength of Stokes vector
[in]ppaththe Ppath
Author
Cory Davis
Date
2003-06-19

Definition at line 1331 of file mc_NotUsed.cc.

References gridpos(), i, interp(), interpweights(), is_diagonal(), joker, Ppath::los, matrix_exp_p30(), mult(), ConstVectorView::nelem(), and Ppath::pos.

◆ iwp_cloud_opt_pathCalc()

void iwp_cloud_opt_pathCalc ( Workspace ws,
Numeric iwp,
Numeric cloud_opt_path,
const Vector rte_pos,
const Vector rte_los,
const Agenda ppath_step_agenda,
const Vector p_grid,
const Vector lat_grid,
const Vector lon_grid,
const Vector refellipsoid,
const Matrix z_surface,
const Tensor3 z_field,
const Tensor3 t_field,
const Tensor4 vmr_field,
const Tensor3 edensity_field,
const Numeric f_mono,
const ArrayOfIndex cloudbox_limits,
const Tensor4 pnd_field,
const ArrayOfSingleScatteringData scat_data_array_mono,
const Matrix particle_masses,
const Verbosity verbosity 
)

iwp_cloud_opt_pathCalc

Calculated the ice water path(iwp) and cloud optical path (cloud_opt_path) for a given sensor_pos_ and sensor_los

Author
Cory Davis
Date
2006-6-15

Definition at line 1207 of file mc_NotUsed.cc.

References cloud_atm_vars_by_gp(), Ppath::gp_lat, Ppath::gp_lon, Ppath::gp_p, i, joker, Ppath::los, Ppath::lstep, ConstTensor4View::nbooks(), ConstMatrixView::ncols(), ConstVectorView::nelem(), Ppath::np, ConstMatrixView::nrows(), Ppath::pos, ppath_calc(), and ppath_what_background().

Referenced by mc_IWP_cloud_opt_pathCalc().

◆ matrix_exp_p30()

void matrix_exp_p30 ( MatrixView  M,
ConstMatrixView  A 
)

matrix_exp_p30

When we have p30 particles, and therefore the extinction matrix has a block diagonal form with 3 independent elements, the matrix expontential can be calculated very quickly and exactly using this function.

Parameters
Moutput matrix
Ainput matrix (must be of the form described above)
Author
Cory Davis
Date
2005-3-2

Definition at line 1685 of file mc_NotUsed.cc.

References ConstMatrixView::ncols(), and ConstMatrixView::nrows().

Referenced by interpTArray().

◆ mc_IWP_cloud_opt_pathCalc()

void mc_IWP_cloud_opt_pathCalc ( Workspace ws,
Numeric mc_IWP,
Numeric mc_cloud_opt_path,
Numeric mc_IWP_error,
Numeric mc_cloud_opt_path_error,
Index mc_iteration_count,
const MCAntenna mc_antenna,
const Matrix sensor_pos,
const Matrix sensor_los,
const Agenda ppath_step_agenda,
const Vector p_grid,
const Vector lat_grid,
const Vector lon_grid,
const Vector refellipsoid,
const Matrix z_surface,
const Tensor3 z_field,
const Tensor3 t_field,
const Tensor4 vmr_field,
const Tensor3 edensity_field,
const Vector f_grid,
const Index f_index,
const ArrayOfIndex cloudbox_limits,
const Tensor4 pnd_field,
const ArrayOfSingleScatteringData scat_data_array_mono,
const Matrix particle_masses,
const Index mc_seed,
const Index max_iter,
const Verbosity verbosity 
)

◆ MCIPA()

void MCIPA ( Workspace ws,
Vector y,
Index mc_iteration_count,
Vector mc_error,
Tensor3 mc_points,
const MCAntenna mc_antenna,
const Vector f_grid,
const Index f_index,
const Matrix sensor_pos,
const Matrix sensor_los,
const Index stokes_dim,
const Index atmosphere_dim,
const Agenda iy_space_agenda,
const Agenda surface_rtprop_agenda,
const Agenda propmat_clearsky_agenda,
const Agenda ppath_step_agenda,
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 Tensor3 edensity_field,
const ArrayOfIndex cloudbox_limits,
const Tensor4 pnd_field,
const ArrayOfSingleScatteringData scat_data_array_mono,
const Index mc_seed,
const String y_unit,
const Numeric std_err,
const Index max_time,
const Index max_iter,
const Index min_iter,
const Index z_field_is_1D,
const Verbosity verbosity 
)

◆ mcPathTraceGeneral() [1/2]

void mcPathTraceGeneral ( Workspace ws,
MatrixView  evol_op,
Vector abs_vec_mono,
Numeric temperature,
MatrixView  ext_mat_mono,
Rng 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 Agenda propmat_clearsky_agenda,
const Index  stokes_dim,
const Numeric f_mono,
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 Tensor3 edensity_field,
const ArrayOfIndex cloudbox_limits,
const Tensor4 pnd_field,
const ArrayOfSingleScatteringData scat_data_array_mono,
const Verbosity verbosity 
)

mcPathTraceGeneral

Performs the tasks of pathlength sampling, ray tracing (but now only as far as determined by pathlength sampling) and calculation of the evolution operator and several atmospheric variables at the new point.

Author
Cory Davis
Date
2005-2-21

Definition at line 150 of file mc_NotUsed.cc.

Referenced by MCGeneral().

◆ mcPathTraceGeneral() [2/2]

void mcPathTraceGeneral ( Workspace ws,
MatrixView  evol_op,
Vector abs_vec_mono,
Numeric temperature,
MatrixView  ext_mat_mono,
Rng 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_lraytrace,
const Agenda propmat_clearsky_agenda,
const Index  stokes_dim,
const Numeric f_mono,
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 ArrayOfSingleScatteringData scat_data_array_mono,
const Verbosity verbosity 
)

Definition at line 1402 of file mc_NotUsed.cc.

◆ mcPathTraceIPA()

void mcPathTraceIPA ( Workspace ws,
MatrixView  evol_op,
Vector abs_vec_mono,
Numeric temperature,
MatrixView  ext_mat_mono,
Rng rng,
Vector rte_pos,
Vector rte_los,
Vector pnd_vec,
Numeric g,
Index termination_flag,
bool &  inside_cloud,
const Agenda propmat_clearsky_agenda,
const Index  stokes_dim,
const Numeric f_mono,
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 ArrayOfSingleScatteringData scat_data_array_mono,
const Index  z_field_is_1D,
const Ppath ppath,
const Verbosity verbosity 
)

mcPathTraceIPA

Performs the tasks of pathlength sampling, ray tracing (but now only as far as determined by pathlength sampling) and calculation of the evolution operator and several atmospheric variables at the new point. This is the same as mcPathTraceGeneral modified for the independent pixel approximation.

Author
Cory Davis
Date
2005-2-21

Definition at line 839 of file mc_NotUsed.cc.

References ConstVectorView::nelem().

Referenced by MCIPA().

◆ pha_matExtractManually()

void pha_matExtractManually ( Matrix pha_mat,
const Vector f_grid,
const Index f_index,
const Index stokes_dim,
const ArrayOfSingleScatteringData scat_data_array,
const Numeric rtp_temperature,
const Numeric za_out,
const Numeric aa_out,
const Numeric za_in,
const Numeric aa_in,
const Verbosity verbosity 
)

Definition at line 770 of file mc_NotUsed.cc.

References Array< base >::nelem(), and Matrix::resize().

◆ push_back() [1/4]

wsv_data push_back ( WsvRecord(NAME("mc_z_field_is_1D"), DESCRIPTION("Flag for MCGeneral and associated methods.\"\" "If fields outside the cloud box are 1D, this flag can be set to 1\" "and the calculations will be more rapid.\" "\" "Usage:Set by the user.\"), GROUP("Index"))  )

◆ push_back() [2/4]

md_data_raw push_back ( MdRecord(NAME("mc_IWP_cloud_opt_pathCalc"), DESCRIPTION("Calculates the FOV averaged ice water path and cloud optical path\"for a given viewing direction\"), AUTHORS("Cory Davis"), OUT("mc_IWP", "mc_cloud_opt_path", "mc_IWP_error", "mc_cloud_opt_path_error", "mc_iteration_count"), GOUT(), GOUT_TYPE(), GOUT_DESC(), IN("mc_antenna", "sensor_pos", "sensor_los", "ppath_step_agenda", "p_grid", "lat_grid", "lon_grid", "refellipsoid", "z_surface", "z_field", "t_field", "vmr_field", "edensity_field", "f_grid", "f_index", "cloudbox_limits", "pnd_field", "scat_data_array_mono", "particle_masses", "mc_seed"), GIN("max_iter"), GIN_TYPE( "Index"), GIN_DEFAULT(NODEF),)  )

◆ push_back() [3/4]

md_data_raw push_back ( MdRecord(NAME("MCIPA"), DESCRIPTION("A specialised 3D reversed Monte Carlo radiative algorithm, that\"mimics independent pixel appoximation simulations.\"), AUTHORS("Cory Davis"), OUT("y", "mc_iteration_count", "mc_error", "mc_points"), GOUT(), GOUT_TYPE(), GOUT_DESC(), IN("mc_antenna", "f_grid", "f_index", "sensor_pos", "sensor_los", "stokes_dim", "atmosphere_dim", "iy_space_agenda", "surface_rtprop_agenda", "propmat_clearsky_agenda", "ppath_step_agenda", "p_grid", "lat_grid", "lon_grid", "z_field", "refellipsoid", "z_surface", "t_field", "vmr_field", "edensity_field", "cloudbox_limits", "pnd_field", "scat_data_array_mono", "mc_seed", "iy_unit", "mc_std_err", "mc_max_time", "mc_max_iter", "mc_min_iter", "mc_z_field_is_1D"), GIN(), GIN_TYPE(), GIN_DEFAULT(),)  )

◆ push_back() [4/4]

md_data_raw push_back ( MdRecord(NAME("pha_matExtractManually"), DESCRIPTION("A simple function for manually extract a single phase matrix.\"\" "The function returns the phase matrix for a single particle, for\" "scattering from(za_in, aa_in) to(za_out, aa_out).\" "\" "Only a single particle type is handled and *scat_data_array *must\" "have length 1. The frequency is selected by *f_grid *and *f_index *.\" "The temperature is set by *rtp_temperature *.\"), AUTHORS("Patrick Eriksson"), OUT(), GOUT("pha_mat_single"), GOUT_TYPE("Matrix"), GOUT_DESC( "Phase matrix for a single frequency and combination of angles"), IN("f_grid", "f_index", "stokes_dim", "scat_data_array", "rtp_temperature"), GIN("za_out", "aa_out", "za_in", "aa_in"), GIN_TYPE("Numeric", "Numeric", "Numeric", "Numeric"), GIN_DEFAULT(NODEF, NODEF, NODEF, NODEF), GIN_DESC("Outgoing zenith angle", "Outgoing azimuth angle", "Incoming zenith angle", "Incoming azimuth angle"))  )