00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00022
00024
00035 #ifndef atmfuncs_h
00036 #define atmfuncs_h
00037
00038
00039 #include "matpackI.h"
00040
00041
00042
00044
00046
00047 void planck (
00048 MatrixView B,
00049 ConstVectorView f,
00050 ConstVectorView t );
00051
00052 void planck (
00053 VectorView B,
00054 ConstVectorView f,
00055 const Numeric t );
00056
00057 void invplanck (
00058 VectorView y,
00059 ConstVectorView f,
00060 ConstVectorView za );
00061
00062 void invrayjean (
00063 VectorView y,
00064 ConstVectorView f,
00065 ConstVectorView za );
00066
00067 Numeric number_density (
00068 const Numeric p,
00069 const Numeric t );
00070
00071 Vector number_density (
00072 ConstVectorView p,
00073 ConstVectorView t );
00074
00075 Numeric g_of_z (
00076 const Numeric r_geoid,
00077 const Numeric g0,
00078 const Numeric z );
00079
00080 Numeric g_of_lat (const Numeric latitude);
00081
00082
00084
00086
00087 void rte_iterate (
00088 VectorView y,
00089 const Index start_index,
00090 const Index stop_index,
00091 ConstMatrixView Tr,
00092 ConstMatrixView S,
00093 const Index n_f );
00094
00095 void rte (
00096 VectorView y,
00097 const Index start_index,
00098 const Index stop_index,
00099 ConstMatrixView Tr,
00100 ConstMatrixView S,
00101 ConstVectorView y_space,
00102 const Index ground,
00103 ConstVectorView e_ground,
00104 ConstVectorView y_ground );
00105
00106 void bl_iterate (
00107 VectorView y,
00108 const Index start_index,
00109 const Index stop_index,
00110 ConstMatrixView Tr,
00111 const Index n_f );
00112
00113 void bl (
00114 Vector& y,
00115 const Index start_index,
00116 const Index stop_index,
00117 ConstMatrixView Tr,
00118 const Index ground,
00119 ConstVectorView e_ground );
00120
00121
00122
00124
00126
00127 void z2p(
00128 VectorView p,
00129 ConstVectorView z0,
00130 ConstVectorView p0,
00131 ConstVectorView z );
00132
00133 void interpp(
00134 VectorView x,
00135 ConstVectorView p0,
00136 ConstVectorView x0,
00137 ConstVectorView p );
00138
00139 void interpp_cloud(
00140 VectorView x,
00141 ConstVectorView p0,
00142 ConstVectorView x0,
00143 ConstVectorView p );
00144
00145 void interpp(
00146 MatrixView A,
00147 ConstVectorView p0,
00148 ConstMatrixView A0,
00149 ConstVectorView p );
00150
00151 Numeric interpp(
00152 ConstVectorView p0,
00153 ConstVectorView x0,
00154 const Numeric p );
00155
00156 void interpz(
00157 VectorView x,
00158 ConstVectorView p0,
00159 ConstVectorView z0,
00160 ConstVectorView x0,
00161 ConstVectorView z );
00162
00163 Numeric interpz(
00164 ConstVectorView p0,
00165 ConstVectorView z0,
00166 ConstVectorView x0,
00167 const Numeric z );
00168
00169
00170
00172
00174
00175 Numeric ztan_geom(
00176 const Numeric za,
00177 const Numeric z_plat,
00178 const Numeric r_geoid );
00179
00180 Numeric n_for_z(
00181 const Numeric z,
00182 ConstVectorView p_abs,
00183 ConstVectorView z_abs,
00184 ConstVectorView refr_index,
00185 const Numeric atm_limit );
00186
00187 Numeric refr_constant(
00188 const Numeric r_geoid,
00189 const Numeric za,
00190 const Numeric z_plat,
00191 ConstVectorView p_abs,
00192 ConstVectorView z_abs,
00193 const Numeric atm_limit,
00194 ConstVectorView refr_index );
00195
00196 Numeric ztan_refr(
00197 const Numeric c,
00198 const Numeric za,
00199 const Numeric z_plat,
00200 const Numeric z_ground,
00201 ConstVectorView p_abs,
00202 ConstVectorView z_abs,
00203 ConstVectorView refr_index,
00204 const Numeric r_geoid );
00205
00206 void e_eq_water( VectorView e_eq,
00207 ConstVectorView t );
00208
00209 void e_eq_ice( VectorView e_eq,
00210 ConstVectorView t );
00211
00212 #endif // atmfuncs_h