00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00035 #ifndef refraction_h
00036 #define refraction_h
00037
00038 #include "agenda_class.h"
00039 #include "arts.h"
00040 #include "matpackIV.h"
00041
00042
00043 void get_refr_index_1d(
00044 Workspace& ws,
00045 Numeric& refr_index,
00046 Numeric& a_pressure,
00047 Numeric& a_temperature,
00048 Vector& a_vmr_list,
00049 const Agenda& refr_index_agenda,
00050 ConstVectorView p_grid,
00051 const Numeric& r_geoid,
00052 ConstVectorView z_field,
00053 ConstVectorView t_field,
00054 ConstMatrixView vmr_field,
00055 const Numeric& r );
00056
00057 void get_refr_index_2d(
00058 Workspace& ws,
00059 Numeric& refr_index,
00060 Numeric& a_pressure,
00061 Numeric& a_temperature,
00062 Vector& a_vmr_list,
00063 const Agenda& refr_index_agenda,
00064 ConstVectorView p_grid,
00065 ConstVectorView lat_grid,
00066 ConstVectorView r_geoid,
00067 ConstMatrixView z_field,
00068 ConstMatrixView t_field,
00069 ConstTensor3View vmr_field,
00070 const Numeric& r,
00071 const Numeric& lat );
00072
00073 void get_refr_index_3d(
00074 Workspace& ws,
00075 Numeric& refr_index,
00076 Numeric& a_pressure,
00077 Numeric& a_temperature,
00078 Vector& a_vmr_list,
00079 const Agenda& refr_index_agenda,
00080 ConstVectorView p_grid,
00081 ConstVectorView lat_grid,
00082 ConstVectorView lon_grid,
00083 ConstMatrixView r_geoid,
00084 ConstTensor3View z_field,
00085 ConstTensor3View t_field,
00086 ConstTensor4View vmr_field,
00087 const Numeric& r,
00088 const Numeric& lat,
00089 const Numeric& lon );
00090
00091 void refr_gradients_1d(
00092 Workspace& ws,
00093 Numeric& refr_index,
00094 Numeric& dndr,
00095 Numeric& a_pressure,
00096 Numeric& a_temperature,
00097 Vector& a_vmr_list,
00098 const Agenda& refr_index_agenda,
00099 ConstVectorView p_grid,
00100 const Numeric& r_geoid,
00101 ConstVectorView z_field,
00102 ConstVectorView t_field,
00103 ConstMatrixView vmr_field,
00104 const Numeric& r );
00105
00106 void refr_gradients_2d(
00107 Workspace& ws,
00108 Numeric& refr_index,
00109 Numeric& dndr,
00110 Numeric& dndlat,
00111 Numeric& a_pressure,
00112 Numeric& a_temperature,
00113 Vector& a_vmr_list,
00114 const Agenda& refr_index_agenda,
00115 ConstVectorView p_grid,
00116 ConstVectorView lat_grid,
00117 ConstVectorView r_geoid,
00118 ConstMatrixView z_field,
00119 ConstMatrixView t_field,
00120 ConstTensor3View vmr_field,
00121 const Numeric& r,
00122 const Numeric& lat );
00123
00124 void refr_gradients_3d(
00125 Workspace& ws,
00126 Numeric& refr_index,
00127 Numeric& dndr,
00128 Numeric& dndlat,
00129 Numeric& dndlon,
00130 Numeric& a_pressure,
00131 Numeric& a_temperature,
00132 Vector& a_vmr_list,
00133 const Agenda& refr_index_agenda,
00134 ConstVectorView p_grid,
00135 ConstVectorView lat_grid,
00136 ConstVectorView lon_grid,
00137 ConstMatrixView r_geoid,
00138 ConstTensor3View z_field,
00139 ConstTensor3View t_field,
00140 ConstTensor4View vmr_field,
00141 const Numeric& r,
00142 const Numeric& lat,
00143 const Numeric& lon );
00144
00145 void refr_index_thayer_1974(
00146 Numeric& refr_index,
00147 const Numeric& p,
00148 const Numeric& t,
00149 const Numeric& h2o_vmr );
00150
00151 void refr_index_ir(
00152 Numeric& refr_index,
00153 const Numeric& p,
00154 const Numeric& t );
00155
00156 #endif // refraction_h