psdSeifertBeheng06

Workspace.psdSeifertBeheng06(self: pyarts.arts._Workspace, psd_data: Optional[Union[pyarts.arts.WorkspaceVariable, pyarts.arts.Matrix]] = self.psd_data, dpsd_data_dx: Optional[Union[pyarts.arts.WorkspaceVariable, pyarts.arts.Tensor3]] = self.dpsd_data_dx, psd_size_grid: Optional[Union[pyarts.arts.WorkspaceVariable, pyarts.arts.Vector]] = self.psd_size_grid, pnd_agenda_input_t: Optional[Union[pyarts.arts.WorkspaceVariable, pyarts.arts.Vector]] = self.pnd_agenda_input_t, pnd_agenda_input: Optional[Union[pyarts.arts.WorkspaceVariable, pyarts.arts.Matrix]] = self.pnd_agenda_input, pnd_agenda_input_names: Optional[Union[pyarts.arts.WorkspaceVariable, pyarts.arts.ArrayOfString]] = self.pnd_agenda_input_names, dpnd_data_dx_names: Optional[Union[pyarts.arts.WorkspaceVariable, pyarts.arts.ArrayOfString]] = self.dpnd_data_dx_names, hydrometeor_type: Union[pyarts.arts.WorkspaceVariable, pyarts.arts.String], t_min: Optional[Union[pyarts.arts.WorkspaceVariable, pyarts.arts.Numeric]] = 0, t_max: Optional[Union[pyarts.arts.WorkspaceVariable, pyarts.arts.Numeric]] = 999, picky: Optional[Union[pyarts.arts.WorkspaceVariable, pyarts.arts.Index]] = 0, verbosity: Optional[Union[pyarts.arts.WorkspaceVariable, pyarts.arts.Verbosity]] = self.verbosity) None

Calculates psd_data and dpsd_data_dx following Seifert and Beheng (2006) two moment particle size distribution for cloud water, cloud ice, rain, snow, graupel and hail, which is used in the ICON model.

WSM for use in pnd_agenda_array for mapping particle_bulkprop_field to pnd_field using pnd_fieldCalcFromParticleBulkProps(). Produces the particle size distribution values (dN/dD) and their derivates with respect to independent variables x by dpnd_data_dx_names over multiple particle sizes and atmospheric levels (or SWC/T combinations).

psd_size_grid is considered to be in terms of mass. WC is considered to be in terms of mass content (or mass density), ie. units of [kg/m3]. N_tot in terms of number density, ie. units of [1/m3] . Derivatives with respect to WC and N_tot are obtained analytically.

Six particle size distributions for the different hydrometeors are handled, governed by setting of hydrometeor_type, where

  1. “cloud_water” selects cloud liquid water ,

  2. “cloud_ice” selects cloud ice,

  3. “snow” selects snow,

  4. “rain” selects rain,

  5. “graupel” selects graupel, and

  6. “hail” selects hail,

Requirements:

pnd_agenda_input_names must include:

["X-mass_density", "X-number_density" ]. "X" is an arbitrary name

The entries in dpnd_data_dx_names (ie. the allowed independent variablea ) can be “X-mass_density” andor “X-number_density”.

The validity range of WC is not limited. Negative WC will produce negative psd values following a distribution given by abs(WC), ie. abs(psd)=f(abs(WC)).

If temperature is outside [ t_min , t_max ] psd=0 and dpsd=0 if picky=0, or an error is thrown if picky=1.

Author(s): Manfred Brath

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

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

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

  • pnd_agenda_input_t (Vector, optional) – Temperature input to one element of pnd_agenda_array. See pnd_agenda_input_t, defaults to self.pnd_agenda_input_t [IN]

  • pnd_agenda_input (Matrix, optional) – The variable input to one element of pnd_agenda_array. See pnd_agenda_input, defaults to self.pnd_agenda_input [IN]

  • pnd_agenda_input_names (ArrayOfString, optional) – Naming of (existing or expected) data in pnd_agenda_input. See pnd_agenda_input_names, defaults to self.pnd_agenda_input_names [IN]

  • dpnd_data_dx_names (ArrayOfString, optional) – Selection of partial derivatives of pnd_data. See dpnd_data_dx_names, defaults to self.dpnd_data_dx_names [IN]

  • hydrometeor_type (String) – Hydrometeor type (see above description). [IN]

  • t_min (Numeric, optional) – Low temperature limit to calculate a psd. Defaults to 0 [IN]

  • t_max (Numeric, optional) – High temperature limit to calculate a psd. Defaults to 999 [IN]

  • picky (Index, optional) – Flag whether to be strict with parametrization value checks. Defaults to 0 [IN]

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