MCGeneral

Workspace.MCGeneral(self: pyarts.arts._Workspace, y: pyarts.arts.WorkspaceVariable | pyarts.arts.Vector | None = self.y, mc_iteration_count: pyarts.arts.WorkspaceVariable | pyarts.arts.Index | None = self.mc_iteration_count, mc_error: pyarts.arts.WorkspaceVariable | pyarts.arts.Vector | None = self.mc_error, mc_points: pyarts.arts.WorkspaceVariable | pyarts.arts.Tensor3 | None = self.mc_points, mc_source_domain: pyarts.arts.WorkspaceVariable | pyarts.arts.ArrayOfIndex | None = self.mc_source_domain, mc_scat_order: pyarts.arts.WorkspaceVariable | pyarts.arts.ArrayOfIndex | None = self.mc_scat_order, mc_antenna: pyarts.arts.WorkspaceVariable | pyarts.arts.MCAntenna | None = self.mc_antenna, f_grid: pyarts.arts.WorkspaceVariable | pyarts.arts.Vector | None = self.f_grid, f_index: pyarts.arts.WorkspaceVariable | pyarts.arts.Index | None = self.f_index, sensor_pos: pyarts.arts.WorkspaceVariable | pyarts.arts.Matrix | None = self.sensor_pos, sensor_los: pyarts.arts.WorkspaceVariable | pyarts.arts.Matrix | None = self.sensor_los, stokes_dim: pyarts.arts.WorkspaceVariable | pyarts.arts.Index | None = self.stokes_dim, atmosphere_dim: pyarts.arts.WorkspaceVariable | pyarts.arts.Index | None = self.atmosphere_dim, ppath_step_agenda: pyarts.arts.WorkspaceVariable | pyarts.arts.Agenda | None = self.ppath_step_agenda, ppath_lmax: pyarts.arts.WorkspaceVariable | pyarts.arts.Numeric | None = self.ppath_lmax, ppath_lraytrace: pyarts.arts.WorkspaceVariable | pyarts.arts.Numeric | None = self.ppath_lraytrace, iy_space_agenda: pyarts.arts.WorkspaceVariable | pyarts.arts.Agenda | None = self.iy_space_agenda, surface_rtprop_agenda: pyarts.arts.WorkspaceVariable | pyarts.arts.Agenda | None = self.surface_rtprop_agenda, propmat_clearsky_agenda: pyarts.arts.WorkspaceVariable | pyarts.arts.Agenda | None = self.propmat_clearsky_agenda, p_grid: pyarts.arts.WorkspaceVariable | pyarts.arts.Vector | None = self.p_grid, lat_grid: pyarts.arts.WorkspaceVariable | pyarts.arts.Vector | None = self.lat_grid, lon_grid: pyarts.arts.WorkspaceVariable | pyarts.arts.Vector | None = self.lon_grid, z_field: pyarts.arts.WorkspaceVariable | pyarts.arts.Tensor3 | None = self.z_field, refellipsoid: pyarts.arts.WorkspaceVariable | pyarts.arts.Vector | None = self.refellipsoid, z_surface: pyarts.arts.WorkspaceVariable | pyarts.arts.Matrix | None = self.z_surface, t_field: pyarts.arts.WorkspaceVariable | pyarts.arts.Tensor3 | None = self.t_field, vmr_field: pyarts.arts.WorkspaceVariable | pyarts.arts.Tensor4 | None = self.vmr_field, cloudbox_on: pyarts.arts.WorkspaceVariable | pyarts.arts.Index | None = self.cloudbox_on, cloudbox_limits: pyarts.arts.WorkspaceVariable | pyarts.arts.ArrayOfIndex | None = self.cloudbox_limits, pnd_field: pyarts.arts.WorkspaceVariable | pyarts.arts.Tensor4 | None = self.pnd_field, scat_data: pyarts.arts.WorkspaceVariable | pyarts.arts.ArrayOfArrayOfSingleScatteringData | None = self.scat_data, atmfields_checked: pyarts.arts.WorkspaceVariable | pyarts.arts.Index | None = self.atmfields_checked, atmgeom_checked: pyarts.arts.WorkspaceVariable | pyarts.arts.Index | None = self.atmgeom_checked, scat_data_checked: pyarts.arts.WorkspaceVariable | pyarts.arts.Index | None = self.scat_data_checked, cloudbox_checked: pyarts.arts.WorkspaceVariable | pyarts.arts.Index | None = self.cloudbox_checked, iy_unit: pyarts.arts.WorkspaceVariable | pyarts.arts.String | None = self.iy_unit, mc_seed: pyarts.arts.WorkspaceVariable | pyarts.arts.Index | None = self.mc_seed, mc_std_err: pyarts.arts.WorkspaceVariable | pyarts.arts.Numeric | None = self.mc_std_err, mc_max_time: pyarts.arts.WorkspaceVariable | pyarts.arts.Index | None = self.mc_max_time, mc_max_iter: pyarts.arts.WorkspaceVariable | pyarts.arts.Index | None = self.mc_max_iter, mc_min_iter: pyarts.arts.WorkspaceVariable | pyarts.arts.Index | None = self.mc_min_iter, mc_taustep_limit: pyarts.arts.WorkspaceVariable | pyarts.arts.Numeric | None = self.mc_taustep_limit, l_mc_scat_order: pyarts.arts.WorkspaceVariable | pyarts.arts.Index | None = 11, t_interp_order: pyarts.arts.WorkspaceVariable | pyarts.arts.Index | None = 1, verbosity: pyarts.arts.WorkspaceVariable | pyarts.arts.Verbosity | None = self.verbosity) None

A generalised 3D reversed Monte Carlo radiative algorithm, that allows for 2D antenna patterns, surface reflection and arbitrary sensor positions.

The main output variables y and mc_error represent the Stokes vector integrated over the antenna function, and the estimated error in this vector, respectively.

The WSV mc_max_iter describes the maximum number of ‘photons’ used in the simulation (more photons means smaller mc_error). mc_std_err is the desired value of mc_error. mc_max_time is the maximum allowed number of seconds for MCGeneral. The method will terminate once any of the max_iter, std_err, max_time criteria are met. If negative values are given for these parameters then it is ignored.

The WSV mc_min_iter sets the minimum number of photons to apply before the condition set by mc_std_err is considered. Values of mc_min_iter below 100 are not accepted.

Only “1” and “RJBT” are allowed for iy_unit. The value of mc_error follows the selection for iy_unit (both for in- and output.

Author(s): Cory Davis

Parameters:
  • y (Vector, optional) – The measurement vector. See y, defaults to self.y [OUT]

  • mc_iteration_count (Index, optional) – Counts the number of iterations (or photons) used in the MC. See mc_iteration_count, defaults to self.mc_iteration_count [OUT]

  • mc_error (Vector, optional) – Error in simulated y when using a Monte Carlo approach. See mc_error, defaults to self.mc_error [OUT]

  • mc_points (Tensor3, optional) – Source to emission, position. See mc_points, defaults to self.mc_points [OUT]

  • mc_source_domain (ArrayOfIndex, optional) – Rough classification of source to emission. See mc_source_domain, defaults to self.mc_source_domain [OUT]

  • mc_scat_order (ArrayOfIndex, optional) – Number of atmospheric scattering events between emission point and sensor. See mc_scat_order, defaults to self.mc_scat_order [OUT]

  • mc_antenna (MCAntenna, optional) – Antenna pattern description for dedicated MC calculaions. See mc_antenna, defaults to self.mc_antenna [IN]

  • f_grid (Vector, optional) – The frequency grid for monochromatic pencil beam calculations. See f_grid, defaults to self.f_grid [IN]

  • f_index (Index, optional) – Frequency index. See f_index, defaults to self.f_index [IN]

  • sensor_pos (Matrix, optional) – The sensor position for each measurement block. See sensor_pos, defaults to self.sensor_pos [IN]

  • sensor_los (Matrix, optional) – The sensor line-of-sight (LOS) for each measurement block. See sensor_los, defaults to self.sensor_los [IN]

  • stokes_dim (Index, optional) – The dimensionality of the Stokes vector (1-4). See stokes_dim, defaults to self.stokes_dim [IN]

  • atmosphere_dim (Index, optional) – The atmospheric dimensionality (1-3). See atmosphere_dim, defaults to self.atmosphere_dim [IN]

  • ppath_step_agenda (Agenda, optional) – Calculation of a propagation path step. See ppath_step_agenda, defaults to self.ppath_step_agenda [IN]

  • ppath_lmax (Numeric, optional) – Maximum length between points describing propagation paths. See ppath_lmax, defaults to self.ppath_lmax [IN]

  • ppath_lraytrace (Numeric, optional) – Maximum length of ray tracing steps when determining propagation. See ppath_lraytrace, defaults to self.ppath_lraytrace [IN]

  • iy_space_agenda (Agenda, optional) – Downwelling radiation at the top of the atmosphere. See iy_space_agenda, defaults to self.iy_space_agenda [IN]

  • surface_rtprop_agenda (Agenda, optional) – Provides radiative properties of the surface. . See surface_rtprop_agenda, defaults to self.surface_rtprop_agenda [IN]

  • propmat_clearsky_agenda (Agenda, optional) – Calculate the absorption coefficient matrix. See propmat_clearsky_agenda, defaults to self.propmat_clearsky_agenda [IN]

  • p_grid (Vector, optional) – The pressure grid. See p_grid, defaults to self.p_grid [IN]

  • lat_grid (Vector, optional) – The latitude grid. See lat_grid, defaults to self.lat_grid [IN]

  • lon_grid (Vector, optional) – The longitude grid. See lon_grid, defaults to self.lon_grid [IN]

  • z_field (Tensor3, optional) – The field of geometrical altitudes. See z_field, defaults to self.z_field [IN]

  • refellipsoid (Vector, optional) – Reference ellipsoid. See refellipsoid, defaults to self.refellipsoid [IN]

  • z_surface (Matrix, optional) – The surface altitude. See z_surface, defaults to self.z_surface [IN]

  • t_field (Tensor3, optional) – The field of atmospheric temperatures. See t_field, defaults to self.t_field [IN]

  • vmr_field (Tensor4, optional) – VMR field. See vmr_field, defaults to self.vmr_field [IN]

  • cloudbox_on (Index, optional) – Flag to activate the cloud box. See cloudbox_on, defaults to self.cloudbox_on [IN]

  • cloudbox_limits (ArrayOfIndex, optional) – The limits of the cloud box. See cloudbox_limits, defaults to self.cloudbox_limits [IN]

  • pnd_field (Tensor4, optional) – Particle number density field. See pnd_field, defaults to self.pnd_field [IN]

  • scat_data (ArrayOfArrayOfSingleScatteringData, optional) – Array of single scattering data. See scat_data, defaults to self.scat_data [IN]

  • atmfields_checked (Index, optional) – OK-flag for atmospheric grids and (physical) fields. See atmfields_checked, defaults to self.atmfields_checked [IN]

  • atmgeom_checked (Index, optional) – OK-flag for the geometry of the model atmosphere. See atmgeom_checked, defaults to self.atmgeom_checked [IN]

  • scat_data_checked (Index, optional) – OK-flag for scat_data. See scat_data_checked, defaults to self.scat_data_checked [IN]

  • cloudbox_checked (Index, optional) – OK-flag for variables associated with the cloudbox. See cloudbox_checked, defaults to self.cloudbox_checked [IN]

  • iy_unit (String, optional) – Selection of output unit for radiative transfer methods. See iy_unit, defaults to self.iy_unit [IN]

  • mc_seed (Index, optional) – The integer seed for the random number generator used by. See mc_seed, defaults to self.mc_seed [IN]

  • mc_std_err (Numeric, optional) – Target precision (1 std. dev.) for Monte Carlo calculations. See mc_std_err, defaults to self.mc_std_err [IN]

  • mc_max_time (Index, optional) – The maximum time allowed for Monte Carlo calculations. See mc_max_time, defaults to self.mc_max_time [IN]

  • mc_max_iter (Index, optional) – The maximum number of iterations allowed for Monte Carlo. See mc_max_iter, defaults to self.mc_max_iter [IN]

  • mc_min_iter (Index, optional) – The minimum number of iterations allowed for Monte Carlo. See mc_min_iter, defaults to self.mc_min_iter [IN]

  • mc_taustep_limit (Numeric, optional) – Defines an upper step length in terms of optical thickness for Monte Carlo calculations. See mc_taustep_limit, defaults to self.mc_taustep_limit [IN]

  • l_mc_scat_order (Index, optional) – The length to be given to mc_scat_order. Note that scattering orders equal and above this value will not be counted. Defaults to 11 [IN]

  • t_interp_order (Index, optional) – Interpolation order of temperature for scattering data (so far only applied in phase matrix, not in extinction and absorption. Defaults to 1 [IN]

  • verbosity (Verbosity) – ARTS verbosity. See verbosity, defaults to self.verbosity [IN]