spectral_surf_reflFlatRealFresnel

Workspace.spectral_surf_reflFlatRealFresnel(self, spectral_surf_refl: pyarts3.arts.MuelmatVector | None = None, spectral_surf_refl_jac: pyarts3.arts.MuelmatMatrix | None = None, freq_grid: pyarts3.arts.AscendingGrid | None = None, surf_field: pyarts3.arts.SurfaceField | None = None, ray_point: pyarts3.arts.PropagationPathPoint | None = None, jac_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_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: