76 return ( 180-
abs(rte_los[0]) +
abs(specular_los[0]) ) / 2;
113 const Index& stokes_dim,
115 const Agenda& blackbody_radiation_agenda )
117 assert( surface_rmatrix.
nrows() == stokes_dim );
118 assert( surface_rmatrix.
ncols() == stokes_dim );
119 assert( surface_emission.
nelem() == stokes_dim );
123 surface_rmatrix = 0.0;
124 surface_emission = 0.0;
128 blackbody_radiation_agenda );
132 const Numeric rmean = ( rv + rh ) / 2;
134 surface_rmatrix(0,0) = rmean;
135 surface_emission[0] = B[0] * ( 1 - rmean );
139 const Numeric rdiff = ( rv - rh ) / 2;
141 surface_rmatrix(1,0) = rdiff;
142 surface_rmatrix(0,1) = rdiff;
143 surface_rmatrix(1,1) = rmean;
144 surface_emission[1] = -B[0] * rdiff;
148 const Complex a = Rh * conj(Rv);
149 const Complex b = Rv * conj(Rh);
152 surface_rmatrix(2,2) = c;
156 const Numeric d = imag( a - b ) / 2.0;
158 surface_rmatrix(2,3) = d;
159 surface_rmatrix(3,2) = -d;
160 surface_rmatrix(3,3) = c;