spectral_propmat_pathAddAdaptiveHalfPath

Workspace.spectral_propmat_pathAddAdaptiveHalfPath(self, spectral_propmat_path: ArrayOfPropmatVector = self.spectral_propmat_path, spectral_nlte_srcvec_path: ArrayOfStokvecVector = self.spectral_nlte_srcvec_path, spectral_propmat_jac_path: ArrayOfPropmatMatrix = self.spectral_propmat_jac_path, spectral_nlte_srcvec_jac_path: ArrayOfStokvecMatrix = self.spectral_nlte_srcvec_jac_path, freq_grid_path: ArrayOfAscendingGrid = self.freq_grid_path, freq_wind_shift_jac_path: ArrayOfVector3 = self.freq_wind_shift_jac_path, ray_path: ArrayOfPropagationPathPoint = self.ray_path, atm_path: ArrayOfAtmPoint = self.atm_path, spectral_propmat_agenda: Agenda = self.spectral_propmat_agenda, jac_targets: JacobianTargets = self.jac_targets, freq_grid: AscendingGrid = self.freq_grid, atm_field: AtmField = self.atm_field, surf_field: SurfaceField = self.surf_field, max_stepsize: Numeric = self.max_stepsize, max_tau: Numeric = 0.1, cutoff_tau: Numeric = 3) → None

Same as spectral_propmat_pathFromPath() but with adaptive path.

The path is filled with extra points if a single frequency point has an optical thickness larger than max_tau in a single step. The step size is halved until the optical thickness is below the limit, and additional points are added to the path parameters.

As a bailout, the step size is not allowed to be smaller than max_stepsize, albeit at least 3 points are added if any point is added.

Note that the input

Author: Richard Larsson

Parameters:
  • spectral_propmat_path (~pyarts3.arts.ArrayOfPropmatVector, optional) – Propagation matrices along the propagation path. Defaults to self.spectral_propmat_path. [INOUT]

  • spectral_nlte_srcvec_path (~pyarts3.arts.ArrayOfStokvecVector, optional) – Additional non-LTE along the propagation path. Defaults to self.spectral_nlte_srcvec_path. [INOUT]

  • spectral_propmat_jac_path (~pyarts3.arts.ArrayOfPropmatMatrix, optional) – Propagation derivative matrices along the propagation path. Defaults to self.spectral_propmat_jac_path. [INOUT]

  • spectral_nlte_srcvec_jac_path (~pyarts3.arts.ArrayOfStokvecMatrix, optional) – Additional non-LTE derivative along the propagation path. Defaults to self.spectral_nlte_srcvec_jac_path. [INOUT]

  • freq_grid_path (~pyarts3.arts.ArrayOfAscendingGrid, optional) – All freq_grid along the propagation path. Defaults to self.freq_grid_path. [INOUT]

  • freq_wind_shift_jac_path (~pyarts3.arts.ArrayOfVector3, optional) – A list of freq_wind_shift_jac for a ray path. Defaults to self.freq_wind_shift_jac_path. [INOUT]

  • ray_path (~pyarts3.arts.ArrayOfPropagationPathPoint, optional) – A list path points making up a propagation path. Defaults to self.ray_path. [INOUT]

  • atm_path (~pyarts3.arts.ArrayOfAtmPoint, optional) – Atmospheric points along the propagation path. Defaults to self.atm_path. [INOUT]

  • spectral_propmat_agenda (~pyarts3.arts.Agenda, optional) – Computes the propagation matrix, the non-LTE source vector, and their derivatives. Defaults to self.spectral_propmat_agenda. [IN]

  • jac_targets (~pyarts3.arts.JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. Defaults to self.jac_targets. [IN]

  • freq_grid (~pyarts3.arts.AscendingGrid, optional) – A frequency grid. Unit: Hz. Defaults to self.freq_grid. [IN]

  • atm_field (~pyarts3.arts.AtmField, optional) – An atmospheric field in ARTS, this is the main atmospheric data structure in ARTS. Defaults to self.atm_field. [IN]

  • surf_field (~pyarts3.arts.SurfaceField, optional) – The surface field. Defaults to self.surf_field. [IN]

  • max_stepsize (~pyarts3.arts.Numeric, optional) – A control parameter for stepping through layers in ray tracing. Defaults to self.max_stepsize. [IN]

  • max_tau (~pyarts3.arts.Numeric, optional) – Maximum allowed optical thickness per step. Defaults to 0.1 [IN]

  • cutoff_tau (~pyarts3.arts.Numeric, optional) – Cutoff optical thickness for stopping the adaptive stepping. Defaults to 3 [IN]