pndFromPsd

Workspace.pndFromPsd(self: pyarts.arts._Workspace, pnd_data: Optional[Union[pyarts.arts.WorkspaceVariable, pyarts.arts.Matrix]] = self.pnd_data, dpnd_data_dx: Optional[Union[pyarts.arts.WorkspaceVariable, pyarts.arts.Tensor3]] = self.dpnd_data_dx, pnd_size_grid: Optional[Union[pyarts.arts.WorkspaceVariable, pyarts.arts.Vector]] = self.pnd_size_grid, psd_data: Optional[Union[pyarts.arts.WorkspaceVariable, pyarts.arts.Matrix]] = self.psd_data, psd_size_grid: Optional[Union[pyarts.arts.WorkspaceVariable, pyarts.arts.Vector]] = self.psd_size_grid, dpsd_data_dx: Optional[Union[pyarts.arts.WorkspaceVariable, pyarts.arts.Tensor3]] = self.dpsd_data_dx, scat_data: Optional[Union[pyarts.arts.WorkspaceVariable, pyarts.arts.ArrayOfArrayOfSingleScatteringData]] = self.scat_data, f_grid: Optional[Union[pyarts.arts.WorkspaceVariable, pyarts.arts.Vector]] = self.f_grid, scat_data_checked: Optional[Union[pyarts.arts.WorkspaceVariable, pyarts.arts.Index]] = self.scat_data_checked, quad_order: Optional[Union[pyarts.arts.WorkspaceVariable, pyarts.arts.Index]] = 1, scat_index: Union[pyarts.arts.WorkspaceVariable, pyarts.arts.Index], threshold_se_ext: Optional[Union[pyarts.arts.WorkspaceVariable, pyarts.arts.Numeric]] = 0.02, threshold_ss_ext: Optional[Union[pyarts.arts.WorkspaceVariable, pyarts.arts.Numeric]] = 1e-8, threshold_se_pnd: Optional[Union[pyarts.arts.WorkspaceVariable, pyarts.arts.Numeric]] = 0.02, verbosity: Optional[Union[pyarts.arts.WorkspaceVariable, pyarts.arts.Verbosity]] = self.verbosity) None

Calculates pnd_data from given psd_data for one scattering species.

Performs integration of the size distribution over the size grid bin deriving pnd (units #/m3) from psd (units #/m3/m). Some checks on the sufficiency of the size grid range and coverage are applied.

quad_order can be 0 for rectangular or 1 for trapezoidal integration. The only difference is the treatment of the start and end nodes. For trapezoidal their corresponding bins end exactly at the nodes, while for rectangular they extend further out by the half distance to the neighbor node (but not beyond 0).

Attempts to check that the size grids and scat_data represent the bulk extinction sufficiently. Specifically, it is tested that

  1. psd*ext is decreasing at the small and large particle size ends of the size grid - but only if scattering species bulk extinction exceeds 1% of threshold_ss_ext.

  2. removing the smallest and largest particles changes the resulting bulk extinction by less then a fraction of threshold_se_ext - but only if scattering species bulk extinction exceeds threshold_ss_ext and number density (pnd) of the edge size point at this atmospheric level is larger than threshold_se_pnd times the maximum pnd of this scattering element over all atmospheric levels.

Skipping tests in case of low extinction is done in order to minimize issues arising from very low mass densities, particularly at single atmospheric levels, and very low bulk extinctions, i.e. in cases where the effects on the radiance fields are estimated to be low. NOTE: The tests are only approximate and do not guarantee the validity of the resulting bulk properties (and increasing the thresholds will decrease the reliability of the bulk properties).

Author(s): Jana Mendrok, Patrick Eriksson

Parameters:
  • pnd_data (Matrix, optional) – Particle number density values for a set of points. See pnd_data, defaults to self.pnd_data [OUT]

  • dpnd_data_dx (Tensor3, optional) – Partial derivates of pnd_data. See dpnd_data_dx, defaults to self.dpnd_data_dx [OUT]

  • pnd_size_grid (Vector, optional) – The particle sizes associated with pnd_data. See pnd_size_grid, defaults to self.pnd_size_grid [IN]

  • psd_data (Matrix, optional) – Particle size distribution values for a set of points. See psd_data, defaults to self.psd_data [IN]

  • psd_size_grid (Vector, optional) – The particle sizes associated with psd_data. See psd_size_grid, defaults to self.psd_size_grid [IN]

  • dpsd_data_dx (Tensor3, optional) – Partial derivates of psd_data. See dpsd_data_dx, defaults to self.dpsd_data_dx [IN]

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

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

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

  • quad_order (Index, optional) – Order of bin quadrature. Defaults to 1 [IN]

  • scat_index (Index) – Take data from scattering species of this index (0-based) in scat_data. [IN]

  • threshold_se_ext (Numeric, optional) – Maximum allowed extinction fraction in each of the edge size bins. Defaults to 0.02 [IN]

  • threshold_ss_ext (Numeric, optional) – Minimum bulk extinction in the processed scattering species for which to apply size grid representation checks. Defaults to 1e-8 [IN]

  • threshold_se_pnd (Numeric, optional) – Minimum ratio of edge point pnd to maximum pnd of this scattering element over all pressure levels. Defaults to 0.02 [IN]

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