00001 00010 #include "arts.h" 00011 //#include "matpackI.h" 00012 #include "array.h" 00013 #include "auto_wsv_groups.h" 00014 #include "wsv_aux.h" 00015 #include "auto_wsv.h" 00016 00019 Array<WsvP*> wsv_pointers; 00020 00021 void define_wsv_pointers(Array<WsvP*>& wsv_pointers, 00022 WorkSpace& workspace) 00023 { 00024 00025 { 00026 static WsvPointer<ArrayOfLineRecord> p(&workspace.lines); 00027 wsv_pointers.push_back(&p); 00028 } 00029 00030 { 00031 static WsvPointer<ArrayOfArrayOfLineRecord> p(&workspace.lines_per_tg); 00032 wsv_pointers.push_back(&p); 00033 } 00034 00035 { 00036 static WsvPointer<TagGroups> p(&workspace.tgs); 00037 wsv_pointers.push_back(&p); 00038 } 00039 00040 { 00041 static WsvPointer<TagGroups> p(&workspace.wfs_tgs); 00042 wsv_pointers.push_back(&p); 00043 } 00044 00045 { 00046 static WsvPointer<TagGroups> p(&workspace.wfss_tgs); 00047 wsv_pointers.push_back(&p); 00048 } 00049 00050 { 00051 static WsvPointer<ArrayOfLineshapeSpec> p(&workspace.lineshape); 00052 wsv_pointers.push_back(&p); 00053 } 00054 00055 { 00056 static WsvPointer<ArrayOfString> p(&workspace.cont_description_names); 00057 wsv_pointers.push_back(&p); 00058 } 00059 00060 { 00061 static WsvPointer<ArrayOfString> p(&workspace.cont_description_models); 00062 wsv_pointers.push_back(&p); 00063 } 00064 00065 { 00066 static WsvPointer<ArrayOfVector> p(&workspace.cont_description_parameters); 00067 wsv_pointers.push_back(&p); 00068 } 00069 00070 { 00071 static WsvPointer<Matrix> p(&workspace.raw_ptz); 00072 wsv_pointers.push_back(&p); 00073 } 00074 00075 { 00076 static WsvPointer<ArrayOfMatrix> p(&workspace.raw_vmrs); 00077 wsv_pointers.push_back(&p); 00078 } 00079 00080 { 00081 static WsvPointer<Vector> p(&workspace.p_abs); 00082 wsv_pointers.push_back(&p); 00083 } 00084 00085 { 00086 static WsvPointer<Vector> p(&workspace.f_mono); 00087 wsv_pointers.push_back(&p); 00088 } 00089 00090 { 00091 static WsvPointer<Vector> p(&workspace.t_abs); 00092 wsv_pointers.push_back(&p); 00093 } 00094 00095 { 00096 static WsvPointer<Vector> p(&workspace.z_abs); 00097 wsv_pointers.push_back(&p); 00098 } 00099 00100 { 00101 static WsvPointer<Vector> p(&workspace.h2o_abs); 00102 wsv_pointers.push_back(&p); 00103 } 00104 00105 { 00106 static WsvPointer<Vector> p(&workspace.n2_abs); 00107 wsv_pointers.push_back(&p); 00108 } 00109 00110 { 00111 static WsvPointer<Matrix> p(&workspace.vmrs); 00112 wsv_pointers.push_back(&p); 00113 } 00114 00115 { 00116 static WsvPointer<Matrix> p(&workspace.abs); 00117 wsv_pointers.push_back(&p); 00118 } 00119 00120 { 00121 static WsvPointer<Matrix> p(&workspace.abs0); 00122 wsv_pointers.push_back(&p); 00123 } 00124 00125 { 00126 static WsvPointer<ArrayOfMatrix> p(&workspace.abs_per_tg); 00127 wsv_pointers.push_back(&p); 00128 } 00129 00130 { 00131 static WsvPointer<ArrayOfMatrix> p(&workspace.xsec_per_tg); 00132 wsv_pointers.push_back(&p); 00133 } 00134 00135 { 00136 static WsvPointer<Vector> p(&workspace.hse); 00137 wsv_pointers.push_back(&p); 00138 } 00139 00140 { 00141 static WsvPointer<Index> p(&workspace.emission); 00142 wsv_pointers.push_back(&p); 00143 } 00144 00145 { 00146 static WsvPointer<Vector> p(&workspace.za_pencil); 00147 wsv_pointers.push_back(&p); 00148 } 00149 00150 { 00151 static WsvPointer<Vector> p(&workspace.z_tan); 00152 wsv_pointers.push_back(&p); 00153 } 00154 00155 { 00156 static WsvPointer<Numeric> p(&workspace.z_plat); 00157 wsv_pointers.push_back(&p); 00158 } 00159 00160 { 00161 static WsvPointer<Numeric> p(&workspace.l_step); 00162 wsv_pointers.push_back(&p); 00163 } 00164 00165 { 00166 static WsvPointer<Index> p(&workspace.refr); 00167 wsv_pointers.push_back(&p); 00168 } 00169 00170 { 00171 static WsvPointer<Index> p(&workspace.refr_lfac); 00172 wsv_pointers.push_back(&p); 00173 } 00174 00175 { 00176 static WsvPointer<String> p(&workspace.refr_model); 00177 wsv_pointers.push_back(&p); 00178 } 00179 00180 { 00181 static WsvPointer<Vector> p(&workspace.refr_index); 00182 wsv_pointers.push_back(&p); 00183 } 00184 00185 { 00186 static WsvPointer<Numeric> p(&workspace.r_geoid); 00187 wsv_pointers.push_back(&p); 00188 } 00189 00190 { 00191 static WsvPointer<Numeric> p(&workspace.z_ground); 00192 wsv_pointers.push_back(&p); 00193 } 00194 00195 { 00196 static WsvPointer<Numeric> p(&workspace.t_ground); 00197 wsv_pointers.push_back(&p); 00198 } 00199 00200 { 00201 static WsvPointer<Vector> p(&workspace.e_ground); 00202 wsv_pointers.push_back(&p); 00203 } 00204 00205 { 00206 static WsvPointer<Los> p(&workspace.los); 00207 wsv_pointers.push_back(&p); 00208 } 00209 00210 { 00211 static WsvPointer<ArrayOfMatrix> p(&workspace.source); 00212 wsv_pointers.push_back(&p); 00213 } 00214 00215 { 00216 static WsvPointer<ArrayOfMatrix> p(&workspace.trans); 00217 wsv_pointers.push_back(&p); 00218 } 00219 00220 { 00221 static WsvPointer<Vector> p(&workspace.y_space); 00222 wsv_pointers.push_back(&p); 00223 } 00224 00225 { 00226 static WsvPointer<Vector> p(&workspace.y); 00227 wsv_pointers.push_back(&p); 00228 } 00229 00230 { 00231 static WsvPointer<Vector> p(&workspace.y0); 00232 wsv_pointers.push_back(&p); 00233 } 00234 00235 { 00236 static WsvPointer<Matrix> p(&workspace.h); 00237 wsv_pointers.push_back(&p); 00238 } 00239 00240 { 00241 static WsvPointer<ArrayOfMatrix> p(&workspace.absloswfs); 00242 wsv_pointers.push_back(&p); 00243 } 00244 00245 { 00246 static WsvPointer<Vector> p(&workspace.k_grid); 00247 wsv_pointers.push_back(&p); 00248 } 00249 00250 { 00251 static WsvPointer<Matrix> p(&workspace.k); 00252 wsv_pointers.push_back(&p); 00253 } 00254 00255 { 00256 static WsvPointer<ArrayOfString> p(&workspace.k_names); 00257 wsv_pointers.push_back(&p); 00258 } 00259 00260 { 00261 static WsvPointer<Matrix> p(&workspace.k_aux); 00262 wsv_pointers.push_back(&p); 00263 } 00264 00265 { 00266 static WsvPointer<Matrix> p(&workspace.kx); 00267 wsv_pointers.push_back(&p); 00268 } 00269 00270 { 00271 static WsvPointer<ArrayOfString> p(&workspace.kx_names); 00272 wsv_pointers.push_back(&p); 00273 } 00274 00275 { 00276 static WsvPointer<ArrayOfIndex> p(&workspace.kx_lengths); 00277 wsv_pointers.push_back(&p); 00278 } 00279 00280 { 00281 static WsvPointer<Matrix> p(&workspace.kx_aux); 00282 wsv_pointers.push_back(&p); 00283 } 00284 00285 { 00286 static WsvPointer<Matrix> p(&workspace.kb); 00287 wsv_pointers.push_back(&p); 00288 } 00289 00290 { 00291 static WsvPointer<ArrayOfString> p(&workspace.kb_names); 00292 wsv_pointers.push_back(&p); 00293 } 00294 00295 { 00296 static WsvPointer<ArrayOfIndex> p(&workspace.kb_lengths); 00297 wsv_pointers.push_back(&p); 00298 } 00299 00300 { 00301 static WsvPointer<Matrix> p(&workspace.kb_aux); 00302 wsv_pointers.push_back(&p); 00303 } 00304 00305 { 00306 static WsvPointer<Matrix> p(&workspace.S_S); 00307 wsv_pointers.push_back(&p); 00308 } 00309 00310 { 00311 static WsvPointer<String> p(&workspace.batchname); 00312 wsv_pointers.push_back(&p); 00313 } 00314 00315 { 00316 static WsvPointer<Matrix> p(&workspace.ybatch); 00317 wsv_pointers.push_back(&p); 00318 } 00319 00320 { 00321 static WsvPointer<ArrayOfMatrix> p(&workspace.absbatch); 00322 wsv_pointers.push_back(&p); 00323 } 00324 00325 { 00326 static WsvPointer<ArrayOfMatrix> p(&workspace.jacbatch); 00327 wsv_pointers.push_back(&p); 00328 } 00329 00330 { 00331 static WsvPointer<ArrayOfMatrix> p(&workspace.radiosonde_data); 00332 wsv_pointers.push_back(&p); 00333 } 00334 00335 { 00336 static WsvPointer<Matrix> p(&workspace.coolrate); 00337 wsv_pointers.push_back(&p); 00338 } 00339 00340 { 00341 static WsvPointer<Vector> p(&workspace.p_coolrate); 00342 wsv_pointers.push_back(&p); 00343 } 00344 00345 { 00346 static WsvPointer<ArrayOfIndex> p(&workspace.method_list); 00347 wsv_pointers.push_back(&p); 00348 } 00349 00350 };