00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00033
00034
00035
00036
00037 #ifndef mc_interp_h
00038 #define mc_interp_h
00039 #include "arts.h"
00040 #include "matpackI.h"
00041 #include "array.h"
00042 #include "interpolation.h"
00043 #include "optproperties.h"
00044 #include "ppath.h"
00045
00046 extern const Numeric DEG2RAD;
00047 extern const Numeric RAD2DEG;
00048 extern const Numeric PI;
00049
00050
00051
00052
00054
00057 class SLIData2
00058 {
00059 public:
00060
00061 Vector x1a;
00062
00063 ArrayOfVector x2a;
00064
00065 ArrayOfVector ya;
00066
00067 Numeric interpolate(Numeric x1, Numeric x2) const;
00068
00069
00070
00071 };
00072
00073 ostream& operator<< (ostream& os, const SLIData2& sli);
00074
00075
00076 Matrix interp( ConstVectorView itw,
00077 ArrayOfMatrix a,
00078 const GridPos& tc );
00079
00080 Vector interp( ConstVectorView itw,
00081 ArrayOfVector a,
00082 const GridPos& tc );
00083
00084 void interp_scat_angle_temperature(
00085 VectorView pha_mat_int,
00086 Numeric& theta_rad,
00087
00088 const SingleScatteringData& scat_data,
00089 const Numeric& za_sca,
00090 const Numeric& aa_sca,
00091 const Numeric& za_inc,
00092 const Numeric& aa_inc,
00093 const Numeric& rte_temperature
00094 );
00095
00096 void interpTArray(Matrix& T,
00097 Vector& Kabs,
00098 Numeric& temperature,
00099 MatrixView& K,
00100 Vector& rte_pos,
00101 Vector& rte_los,
00102 VectorView& pnd_vec,
00103 const ArrayOfMatrix& TArray,
00104 const ArrayOfMatrix& ext_matArray,
00105 const ArrayOfVector& abs_vecArray,
00106 const Vector& t_ppath,
00107 const Matrix& pnd_ppath,
00108 const Vector& cum_l_step,
00109 const Numeric& pathlength,
00110 const Index& stokes_dim,
00111 const Ppath& ppath
00112 );
00113
00114
00115 #endif // mc_interp_h