surfaceLambertianSimple

Workspace.surfaceLambertianSimple(self: pyarts.arts._Workspace, surface_los: pyarts.arts.WorkspaceVariable | pyarts.arts.Matrix | None = self.surface_los, surface_rmatrix: pyarts.arts.WorkspaceVariable | pyarts.arts.Tensor4 | None = self.surface_rmatrix, surface_emission: pyarts.arts.WorkspaceVariable | pyarts.arts.Matrix | None = self.surface_emission, f_grid: pyarts.arts.WorkspaceVariable | pyarts.arts.Vector | None = self.f_grid, stokes_dim: pyarts.arts.WorkspaceVariable | pyarts.arts.Index | None = self.stokes_dim, atmosphere_dim: pyarts.arts.WorkspaceVariable | pyarts.arts.Index | None = self.atmosphere_dim, rtp_pos: pyarts.arts.WorkspaceVariable | pyarts.arts.Vector | None = self.rtp_pos, rtp_los: pyarts.arts.WorkspaceVariable | pyarts.arts.Vector | None = self.rtp_los, surface_normal: pyarts.arts.WorkspaceVariable | pyarts.arts.Vector | None = self.surface_normal, surface_skin_t: pyarts.arts.WorkspaceVariable | pyarts.arts.Numeric | None = self.surface_skin_t, surface_scalar_reflectivity: pyarts.arts.WorkspaceVariable | pyarts.arts.Vector | None = self.surface_scalar_reflectivity, lambertian_nza: pyarts.arts.WorkspaceVariable | pyarts.arts.Index | None = 9, za_pos: pyarts.arts.WorkspaceVariable | pyarts.arts.Numeric | None = 0.5, verbosity: pyarts.arts.WorkspaceVariable | pyarts.arts.Verbosity | None = self.verbosity) None

Creates variables to mimic a Lambertian surface.

A Lambertian surface can be characterised solely by its reflectivity, here taken from surface_scalar_reflectivity.

The down-welling radiation field is estimated by making calculations for lambertian_nza directions. The range of zenith angles ([0,90]) is divided in an equidistant manner for 1D. For 2D and 3D see below. The values for surface_rmatrix are assuming a constant radiance over each zenith angle range. See AUG.

Default is to select the zenith angles for sensor_los to be placed centrally in the grid ranges. For example, if lambertian_nza is set to 9, down-welling radiation will be calculated for zenith angles = 5, 15, …, 85. The position of these angles can be shifted by za_pos. This variable specifies the fractional distance inside the ranges. For example, a za_pos of 0.7 (np still 9) gives the angles 7, 17, …, 87.

Only upper-left diagonal element of the surface_rmatrix is non-zero. That is, the upwelling radiation is always unpolarised.

Local thermodynamic equilibrium is assumed, which corresponds to that the reflection and emission coefficients “add up to 1”.

For 2D and 3D, the down-welling directions are placed along the the viewing direction, e.g. for 3D the azimuth angle is kept constant. In 2D and 3D surface topography can exist, and to avoid getting views going directly into the surface, angels are not distributed over 90 deg, but 90-abs(surface_normal[0]).

Author(s): Patrick Eriksson

Parameters:
  • surface_los (Matrix, optional) – Downwelling radiation directions to consider in surface reflection. See surface_los, defaults to self.surface_los [OUT]

  • surface_rmatrix (Tensor4, optional) – The reflection coefficients for the directions given by. See surface_rmatrix, defaults to self.surface_rmatrix [OUT]

  • surface_emission (Matrix, optional) – The emission from the surface. See surface_emission, defaults to self.surface_emission [OUT]

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

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

  • atmosphere_dim (Index, optional) – The atmospheric dimensionality (1-3). See atmosphere_dim, defaults to self.atmosphere_dim [IN]

  • rtp_pos (Vector, optional) – Position of a radiative transfer point. See rtp_pos, defaults to self.rtp_pos [IN]

  • rtp_los (Vector, optional) – Line-of-sight at a radiative transfer point. See rtp_los, defaults to self.rtp_los [IN]

  • surface_normal (Vector, optional) – The normal vector for a point at the surface. See surface_normal, defaults to self.surface_normal [IN]

  • surface_skin_t (Numeric, optional) – Surface skin temperature. See surface_skin_t, defaults to self.surface_skin_t [IN]

  • surface_scalar_reflectivity (Vector, optional) – Surface reflectivity, assuming it can be described as a scalar value. See surface_scalar_reflectivity, defaults to self.surface_scalar_reflectivity [IN]

  • lambertian_nza (Index, optional) – Number of downwelling streams. Defaults to 9 [IN]

  • za_pos (Numeric, optional) – Position of angle in surface_los inside ranges of zenith angle grid. See above. Defaults to 0.5 [IN]

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