ScatSpeciesMerge

Workspace.ScatSpeciesMerge(self: pyarts.arts._Workspace, pnd_field: pyarts.arts.WorkspaceVariable | pyarts.arts.Tensor4 | None = self.pnd_field, scat_data: pyarts.arts.WorkspaceVariable | pyarts.arts.ArrayOfArrayOfSingleScatteringData | None = self.scat_data, scat_meta: pyarts.arts.WorkspaceVariable | pyarts.arts.ArrayOfArrayOfScatteringMetaData | None = self.scat_meta, scat_species: pyarts.arts.WorkspaceVariable | pyarts.arts.ArrayOfString | None = self.scat_species, cloudbox_checked: pyarts.arts.WorkspaceVariable | pyarts.arts.Index | None = self.cloudbox_checked, atmosphere_dim: pyarts.arts.WorkspaceVariable | pyarts.arts.Index | None = self.atmosphere_dim, cloudbox_on: pyarts.arts.WorkspaceVariable | pyarts.arts.Index | None = self.cloudbox_on, cloudbox_limits: pyarts.arts.WorkspaceVariable | pyarts.arts.ArrayOfIndex | None = self.cloudbox_limits, t_field: pyarts.arts.WorkspaceVariable | pyarts.arts.Tensor3 | None = self.t_field, z_field: pyarts.arts.WorkspaceVariable | pyarts.arts.Tensor3 | None = self.z_field, z_surface: pyarts.arts.WorkspaceVariable | pyarts.arts.Matrix | None = self.z_surface, verbosity: pyarts.arts.WorkspaceVariable | pyarts.arts.Verbosity | None = self.verbosity) None

Merges single scattering data of all scattering elements into one element of bulk properties.

Before entering the scattering solver, this method prepares the effective bulk single scattering properties of all scattering elements. Done by calculating the particle number density weighted sum of the single scattering properties of all scattering elements per pressure level. Accordingly, pnd_field is resized to [np, np, 1, 1], where np is the number of pressure levels inside the cloudbox. The diagonal elements of the new pnd_field are set to 1, all others to 0. scat_data is resized to np. Each new scattering element represents the weighted sum of all particles at one presssure level.

The method also adapts scat_species and scat_meta such that they remain consistent with pnd_field and can pass cloudbox_checkedCalc().

The method is suggested to be called directly after pnd_fieldCalcFromParticleBulkProps() (but also after cloudbox_checkedCalc()). Its purpose is to speed up the scattering calculations.

This is an experimental method currently only working for limited cases. All scattering elements must be of the same ptype and must share the same f_grid, za_grid, and aa_grid. That is, the scattering matrix, extinction matrix, and absorption vector of all scattering elements must have the same dimensions. No interpolation (apart from temperature) is performed.

This method can only be used with a 1D atmosphere.

Author(s): Oliver Lemke

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

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

  • scat_meta (ArrayOfArrayOfScatteringMetaData, optional) – An Array of scattering meta data (scat_meta_single). See scat_meta, defaults to self.scat_meta [INOUT]

  • scat_species (ArrayOfString, optional) – Array of Strings defining the scattering species to consider. See scat_species, defaults to self.scat_species [INOUT]

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

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

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

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

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

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