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 thesurface_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:
surface_reflectance (MuelmatVector, optional) – Spectral surface reflectance. See
surface_reflectance
, defaults toself.surface_reflectance
[OUT]surface_reflectance_jacobian (MuelmatMatrix, optional) – Spectral surface reflectance jacobian. See
surface_reflectance_jacobian
, defaults toself.surface_reflectance_jacobian
[OUT]frequency_grid (AscendingGrid, optional) – A single frequency grid. See
frequency_grid
, defaults toself.frequency_grid
[IN]surface_field (SurfaceField, optional) – The surface field. See
surface_field
, defaults toself.surface_field
[IN]ray_path_point (PropagationPathPoint, optional) – A single path point. See
ray_path_point
, defaults toself.ray_path_point
[IN]jacobian_targets (JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. See
jacobian_targets
, defaults toself.jacobian_targets
[IN]