ARTS  2.4.0(git:4fb77825)
surface.h
Go to the documentation of this file.
1 /* Copyright (C) 2012
2  Patrick Eriksson <Patrick.Eriksson@chalmers.se>
3 
4  This program is free software; you can redistribute it and/or modify it
5  under the terms of the GNU General Public License as published by the
6  Free Software Foundation; either version 2, or (at your option) any
7  later version.
8 
9  This program is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  GNU General Public License for more details.
13 
14  You should have received a copy of the GNU General Public License
15  along with this program; if not, write to the Free Software
16  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
17  USA. */
18 
19 /*===========================================================================
20  === File description
21  ===========================================================================*/
22 
32 #ifndef surface_h
33 #define surface_h
34 
35 #include "complex.h"
36 #include "matpackIV.h"
37 #include "mystring.h"
38 #include "ppath.h"
39 
52 
68  ConstVectorView z_profile);
69 
86 void surface_calc(Matrix& iy,
91 
117  const Complex& Rv,
118  const Complex& Rh,
119  const Numeric& f,
120  const Index& stokes_dim,
121  const Numeric& surface_skin_t);
122 
138  const Vector& lat_grid,
139  const Vector& lon_grid,
142 
162  const String& vname,
163  const Index& atmosphere_dim,
164  const ArrayOfGridPos& gp_lat,
165  const ArrayOfGridPos& gp_lon,
166  const Matrix& itw,
169 
188 #endif // surface_h
Matrix
The Matrix class.
Definition: matpackI.h:1193
ARTS::Var::atmosphere_dim
Index atmosphere_dim(Workspace &ws) noexcept
Definition: autoarts.h:2510
MatrixView
The MatrixView class.
Definition: matpackI.h:1093
Tensor3
The Tensor3 class.
Definition: matpackIII.h:339
ARTS::Var::lat_grid
Vector lat_grid(Workspace &ws) noexcept
Definition: autoarts.h:3962
ARTS::Var::surface_rmatrix
Tensor4 surface_rmatrix(Workspace &ws) noexcept
Definition: autoarts.h:6800
ARTS::Var::specular_los
Vector specular_los(Workspace &ws) noexcept
Definition: autoarts.h:6587
ARTS::Var::stokes_dim
Index stokes_dim(Workspace &ws) noexcept
Definition: autoarts.h:6650
ARTS::Var::iy
Matrix iy(Workspace &ws) noexcept
Definition: autoarts.h:3690
surface_specular_R_and_b
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.
Definition: surface.cc:88
Complex
std::complex< Numeric > Complex
Definition: complex.h:33
ARTS::Var::dsurface_names
ArrayOfString dsurface_names(Workspace &ws) noexcept
Definition: autoarts.h:3344
matpackIV.h
ConstTensor4View
A constant view of a Tensor4.
Definition: matpackIV.h:133
complex.h
A class implementing complex numbers for ARTS.
Array< String >
my_basic_string< char >
VectorView
The VectorView class.
Definition: matpackI.h:610
ARTS::Var::rte_los
Vector rte_los(Workspace &ws) noexcept
Definition: autoarts.h:5651
calc_incang
Numeric calc_incang(ConstVectorView rte_los, ConstVectorView specular_los)
Calculates the incidence angle for a flat surface, based on rte_los and specular_los.
Definition: surface.cc:50
ARTS::Var::dsurface_emission_dx
ArrayOfMatrix dsurface_emission_dx(Workspace &ws) noexcept
Definition: autoarts.h:3333
ARTS::Var::surface_props_data
Tensor3 surface_props_data(Workspace &ws) noexcept
Definition: autoarts.h:6745
Numeric
NUMERIC Numeric
The type to use for all floating point numbers.
Definition: matpack.h:33
index_of_zsurface
Index index_of_zsurface(const Numeric &z_surface, ConstVectorView z_profile)
Lccates the surface with respect to pressure levels.
Definition: surface.cc:54
ARTS::Var::surface_emission
Matrix surface_emission(Workspace &ws) noexcept
Definition: autoarts.h:6700
ARTS::Var::lon_grid
Vector lon_grid(Workspace &ws) noexcept
Definition: autoarts.h:4090
ConstMatrixView
A constant view of a Matrix.
Definition: matpackI.h:982
dsurface_check
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.
Definition: surface.cc:210
ppath.h
Propagation path structure and functions.
ConstTensor3View
A constant view of a Tensor3.
Definition: matpackIII.h:132
Index
INDEX Index
The type to use for all integer numbers and indices.
Definition: matpack.h:39
surface_calc
void surface_calc(Matrix &iy, ConstTensor3View I, ConstMatrixView surface_los, ConstTensor4View surface_rmatrix, ConstMatrixView surface_emission)
Weights together downwelling radiation and surface emission.
Definition: surface.cc:63
ARTS::Var::surface_skin_t
Numeric surface_skin_t(Workspace &ws) noexcept
Definition: autoarts.h:6877
surface_props_check
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
Definition: surface.cc:139
ARTS::Var::surface_los
Matrix surface_los(Workspace &ws) noexcept
Definition: autoarts.h:6714
Vector
The Vector class.
Definition: matpackI.h:860
surface_props_interp
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
Definition: surface.cc:180
ConstVectorView
A constant view of a Vector.
Definition: matpackI.h:476
ARTS::Var::dsurface_rmatrix_dx
ArrayOfTensor4 dsurface_rmatrix_dx(Workspace &ws) noexcept
Definition: autoarts.h:3356
ARTS::Var::z_surface
Matrix z_surface(Workspace &ws) noexcept
Definition: autoarts.h:7754
mystring.h
This file contains the definition of String, the ARTS string class.
ARTS::Var::surface_props_names
ArrayOfString surface_props_names(Workspace &ws) noexcept
Definition: autoarts.h:6759