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