17#include "matpack_complex.h"
18#include "matpack_data.h"
39Numeric
calc_incang(ConstVectorView rte_los, ConstVectorView specular_los);
56 ConstVectorView z_profile);
76 ConstMatrixView surface_los,
77 ConstTensor4View surface_rmatrix,
78 ConstMatrixView surface_emission);
104 VectorView surface_emission,
108 const Index& stokes_dim,
109 const Numeric& surface_skin_t);
126 const Vector& lat_grid,
127 const Vector& lon_grid,
128 const Tensor3& surface_props_data,
151 const Index& atmosphere_dim,
155 const Tensor3& surface_props_data,
174 const ArrayOfTensor4 dsurface_rmatrix_dx,
175 const ArrayOfMatrix& dsurface_emission_dx);
226 Index& stars_visible,
227 Vector& specular_los,
228 const Vector& rtp_pos,
229 const Vector& rtp_los,
230 const Index& stokes_dim,
231 const Vector& f_grid,
232 const Index& atmosphere_dim,
233 const Vector& p_grid,
234 const Vector& lat_grid,
235 const Vector& lon_grid,
236 const Tensor3& z_field,
237 const Tensor3& t_field,
239 const Tensor4& vmr_field,
241 const Tensor3& wind_u_field,
242 const Tensor3& wind_v_field,
243 const Tensor3& wind_w_field,
244 const Tensor3& mag_u_field,
245 const Tensor3& mag_v_field,
246 const Tensor3& mag_w_field,
247 const Matrix& z_surface,
248 const Vector& refellipsoid,
249 const Tensor4& pnd_field,
250 const ArrayOfTensor4& dpnd_field_dx,
253 const Numeric& ppath_lmax,
254 const Numeric& ppath_lraytrace,
255 const Index& ppath_inside_cloudbox_do,
256 const Index& cloudbox_on,
258 const Index& gas_scattering_do,
259 const Index& jacobian_do,
262 const Numeric& rte_alonglos_v,
263 const Agenda& propmat_clearsky_agenda,
264 const Agenda& water_p_eq_agenda,
265 const Agenda& gas_scattering_agenda,
266 const Agenda& ppath_step_agenda,
Array< WorkspaceVariable > ws
Workspace variable container.
Class to map energy levels.
This file contains the definition of String, the ARTS string class.
Scattering database structure and functions.
Propagation path structure and functions.
Declaration of functions in star.cc.
void surface_get_incoming_direct(Workspace &ws, Matrix &iy_incoming, Index &stars_visible, Vector &specular_los, const Vector &rtp_pos, const Vector &rtp_los, const Index &stokes_dim, const Vector &f_grid, const Index &atmosphere_dim, const Vector &p_grid, const Vector &lat_grid, const Vector &lon_grid, const Tensor3 &z_field, const Tensor3 &t_field, const EnergyLevelMap &nlte_field, const Tensor4 &vmr_field, const ArrayOfArrayOfSpeciesTag &abs_species, const Tensor3 &wind_u_field, const Tensor3 &wind_v_field, const Tensor3 &wind_w_field, const Tensor3 &mag_u_field, const Tensor3 &mag_v_field, const Tensor3 &mag_w_field, const Matrix &z_surface, const Vector &refellipsoid, const Tensor4 &pnd_field, const ArrayOfTensor4 &dpnd_field_dx, const ArrayOfString &scat_species, const ArrayOfArrayOfSingleScatteringData &scat_data, const Numeric &ppath_lmax, const Numeric &ppath_lraytrace, const Index &ppath_inside_cloudbox_do, const Index &cloudbox_on, const ArrayOfIndex &cloudbox_limits, const Index &gas_scattering_do, const Index &jacobian_do, const ArrayOfRetrievalQuantity &jacobian_quantities, const ArrayOfSun &suns, const Numeric &rte_alonglos_v, const Agenda &propmat_clearsky_agenda, const Agenda &water_p_eq_agenda, const Agenda &gas_scattering_agenda, const Agenda &ppath_step_agenda, const Verbosity &verbosity)
Calculate the incoming direct radiation at the surface for a given line of sight.
void dsurface_check(const ArrayOfString &surface_props_names, const ArrayOfString &dsurface_names, const ArrayOfTensor4 dsurface_rmatrix_dx, const ArrayOfMatrix &dsurface_emission_dx)
Peforms basic checks of the dsurface variables.
void surface_calc(Matrix &iy, ConstTensor3View I, ConstMatrixView surface_los, ConstTensor4View surface_rmatrix, ConstMatrixView surface_emission)
Weights together downwelling radiation and surface emission.
void surface_props_check(const Index &atmosphere_dim, const Vector &lat_grid, const Vector &lon_grid, const Tensor3 &surface_props_data, const ArrayOfString &surface_props_names)
Peforms basic checks of surface_props_data and surface_props_names
Numeric calc_incang(ConstVectorView rte_los, ConstVectorView specular_los)
Calculates the incidence angle for a flat surface, based on rte_los and specular_los.
void surface_props_interp(Vector &v, const String &vname, const Index &atmosphere_dim, const ArrayOfGridPos &gp_lat, const ArrayOfGridPos &gp_lon, const Matrix &itw, const Tensor3 &surface_props_data, const ArrayOfString &surface_props_names)
Peforms an interpolation of surface_props_data
Index index_of_zsurface(const Numeric &z_surface, ConstVectorView z_profile)
Lccates the surface with respect to pressure levels.
void surface_specular_R_and_b(MatrixView surface_rmatrix, VectorView surface_emission, const Complex &Rv, const Complex &Rh, const Numeric &f, const Index &stokes_dim, const Numeric &surface_skin_t)
Sets up the surface reflection matrix and emission vector for the case of specular reflection.