iyMC

Workspace.iyMC(self: pyarts.arts._Workspace, iy: pyarts.arts.WorkspaceVariable | pyarts.arts.Matrix | None = self.iy, iy_aux: pyarts.arts.WorkspaceVariable | pyarts.arts.ArrayOfMatrix | None = self.iy_aux, diy_dx: pyarts.arts.WorkspaceVariable | pyarts.arts.ArrayOfTensor3 | None = self.diy_dx, iy_agenda_call1: pyarts.arts.WorkspaceVariable | pyarts.arts.Index | None = self.iy_agenda_call1, iy_transmittance: pyarts.arts.WorkspaceVariable | pyarts.arts.Tensor3 | None = self.iy_transmittance, rte_pos: pyarts.arts.WorkspaceVariable | pyarts.arts.Vector | None = self.rte_pos, rte_los: pyarts.arts.WorkspaceVariable | pyarts.arts.Vector | None = self.rte_los, iy_aux_vars: pyarts.arts.WorkspaceVariable | pyarts.arts.ArrayOfString | None = self.iy_aux_vars, jacobian_do: pyarts.arts.WorkspaceVariable | pyarts.arts.Index | None = self.jacobian_do, atmosphere_dim: pyarts.arts.WorkspaceVariable | pyarts.arts.Index | None = self.atmosphere_dim, 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, t_field: pyarts.arts.WorkspaceVariable | pyarts.arts.Tensor3 | None = self.t_field, vmr_field: pyarts.arts.WorkspaceVariable | pyarts.arts.Tensor4 | None = self.vmr_field, refellipsoid: pyarts.arts.WorkspaceVariable | pyarts.arts.Vector | None = self.refellipsoid, z_surface: pyarts.arts.WorkspaceVariable | pyarts.arts.Matrix | None = self.z_surface, cloudbox_on: pyarts.arts.WorkspaceVariable | pyarts.arts.Index | None = self.cloudbox_on, cloudbox_limits: pyarts.arts.WorkspaceVariable | pyarts.arts.ArrayOfIndex | None = self.cloudbox_limits, stokes_dim: pyarts.arts.WorkspaceVariable | pyarts.arts.Index | None = self.stokes_dim, f_grid: pyarts.arts.WorkspaceVariable | pyarts.arts.Vector | None = self.f_grid, scat_data: pyarts.arts.WorkspaceVariable | pyarts.arts.ArrayOfArrayOfSingleScatteringData | None = self.scat_data, 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, 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, pnd_field: pyarts.arts.WorkspaceVariable | pyarts.arts.Tensor4 | None = self.pnd_field, iy_unit: pyarts.arts.WorkspaceVariable | pyarts.arts.String | None = self.iy_unit, 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, t_interp_order: pyarts.arts.WorkspaceVariable | pyarts.arts.Index | None = 1, verbosity: pyarts.arts.WorkspaceVariable | pyarts.arts.Verbosity | None = self.verbosity) None

Interface to Monte Carlo part for iy_main_agenda.

Basically an interface to MCGeneral() for doing monochromatic pencil beam calculations. This functions allows Monte Carlo (MC) calculations for sets of frequencies and sensor pos/los in a single run. Sensor responses can be included in the standard manner (through yCalc()).

This function does not apply the MC approach when it comes to sensor properties. These properties are not considered when tracking photons, which is done in MCGeneral() (but then only for the antenna pattern).

Output unit options (iy_unit) exactly as for MCGeneral().

The MC calculation errors are all assumed be uncorrelated and each have a normal distribution. These properties are of relevance when weighting the errors with the sensor repsonse matrix. The seed is reset for each call of MCGeneral() to obtain uncorrelated errors.

MC control arguments (mc_std_err, mc_max_time, mc_min_iter, mc_max_iter mc_taustep_limit) as for MCGeneral(). The arguments are applied for each monochromatic pencil beam calculation individually. As for MCGeneral(), the value of mc_error shall be adopted to iy_unit.

The following auxiliary data can be obtained:

  • "Error (uncorrelated)":

    Calculation error. Size: [nf,ns,1,1]. (The later part of the text string is required. It is used as a flag to yCalc for how to apply the sensor data.)

where

  • nf: Number of frequencies.

  • ns: Number of Stokes elements.

Author(s): Patrick Eriksson

Parameters:
  • iy (Matrix, optional) – Monochromatic pencil beam radiance spectrum. See iy, defaults to self.iy [OUT]

  • iy_aux (ArrayOfMatrix, optional) – Data auxiliary to iy. See iy_aux, defaults to self.iy_aux [OUT]

  • diy_dx (ArrayOfTensor3, optional) – Derivative of iy with respect to retrieval quantities. See diy_dx, defaults to self.diy_dx [OUT]

  • iy_agenda_call1 (Index, optional) – Flag to handle recursive calls of iy_main_agenda. See iy_agenda_call1, defaults to self.iy_agenda_call1 [IN]

  • iy_transmittance (Tensor3, optional) – Transmittance to be included in iy. See iy_transmittance, defaults to self.iy_transmittance [IN]

  • rte_pos (Vector, optional) – A geographical position for starting radiative transfer calculations. See rte_pos, defaults to self.rte_pos [IN]

  • rte_los (Vector, optional) – A line-of-sight for (complete) radiative transfer calculations. See rte_los, defaults to self.rte_los [IN]

  • iy_aux_vars (ArrayOfString, optional) – Selection of quantities for iy_aux and when applicable also y_aux. See iy_aux_vars, defaults to self.iy_aux_vars [IN]

  • jacobian_do (Index, optional) – Flag to activate (clear-sky) Jacobian calculations. See jacobian_do, defaults to self.jacobian_do [IN]

  • atmosphere_dim (Index, optional) – The atmospheric dimensionality (1-3). See atmosphere_dim, defaults to self.atmosphere_dim [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]

  • 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]

  • 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]

  • 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]

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

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

  • scat_data (ArrayOfArrayOfSingleScatteringData, optional) – Array of single scattering data. See scat_data, defaults to self.scat_data [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]

  • 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]

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

  • iy_unit (String, optional) – Selection of output unit for radiative transfer methods. See iy_unit, defaults to self.iy_unit [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]

  • 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]