surface_reflectanceFlatRealFresnel

Workspace.surface_reflectanceFlatRealFresnel(self, surface_reflectance: pyarts3.arts.MuelmatVector | None = None, surface_reflectance_jacobian: pyarts3.arts.MuelmatMatrix | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, surface_field: pyarts3.arts.SurfaceField | None = None, ray_path_point: pyarts3.arts.PropagationPathPoint | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None) 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_path_point and extracts \(n_2\) from the surface_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: