spectral_surf_reflFlatRealFresnel

Workspace.spectral_surf_reflFlatRealFresnel(self, spectral_surf_refl: MuelmatVector = self.spectral_surf_refl, spectral_surf_refl_jac: MuelmatMatrix = self.spectral_surf_refl_jac, freq_grid: AscendingGrid = self.freq_grid, surf_field: SurfaceField = self.surf_field, ray_point: PropagationPathPoint = self.ray_point, jac_targets: JacobianTargets = self.jac_targets) → None

Set the surface reflectance to the flat real Fresnel reflectance

\[\begin{split}\begin{array}{lcr} \theta_2 &=& \arcsin\left(\frac{\Re{n_1}}{\Re{n_2}}\sin{\theta_1}\right)\\[5pt] R_v &=& \frac{n_2\cos\left(\theta_1\right) - n_1\cos\left(\theta_2\right)} {n_2\cos\left(\theta_1\right) + n_1\cos\left(\theta_2\right)}\\[5pt] R_h &=& \frac{n_1\cos\left(\theta_1\right) - n_2\cos\left(\theta_2\right)} {n_1\cos\left(\theta_1\right) + n_2\cos\left(\theta_2\right)}, \end{array}\end{split}\]

where \(\theta_1\) is the angle of incidence, \(\theta_2\) is the angle of refraction, and \(n_1\) and \(n_2\) are the refractive indices of the two media.

We get \(n_1\) and \(\theta_1\) from the ray_point and extracts \(n_2\) from the surf_field parameter "scalar refractive index".

The reflectance matrix is

\[\begin{split}\mathbf{R} = \frac{1}{2}\left[ \begin{array}{cccc} R_v\overline{R_v} + R_h\overline{R_h} & R_v\overline{R_v} - R_h\overline{R_h} & 0 & 0 \\ R_v\overline{R_v} - R_h\overline{R_h} & R_v\overline{R_v} + R_h\overline{R_h} & 0 & 0 \\ 0 & 0 & \Re\left(R_h\overline{R_v} + R_v\overline{R_h}\right) & \Im\left(R_h\overline{R_v} - R_v\overline{R_h}\right) \\ 0 & 0 & \Im\left(R_v\overline{R_h} - R_h\overline{R_v}\right) & \Re\left(R_h\overline{R_v} + R_v\overline{R_h}\right) \\ \end{array}\right]\end{split}\]

Author: Richard Larsson

Parameters:
  • spectral_surf_refl (~pyarts3.arts.MuelmatVector, optional) – Spectral surface reflectance. Defaults to self.spectral_surf_refl. [OUT]

  • spectral_surf_refl_jac (~pyarts3.arts.MuelmatMatrix, optional) – Spectral surface reflectance jacobian. Defaults to self.spectral_surf_refl_jac. [OUT]

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

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

  • ray_point (~pyarts3.arts.PropagationPathPoint, optional) – A single path point. Defaults to self.ray_point. [IN]

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