00001 
00011 #ifndef auto_wsv_h
00012 #define auto_wsv_h
00013 
00014 #include "absorption.h"
00015 #include "los.h"
00016 
00019 #define N_WSV 65
00020 
00021 enum WsvHandle{
00022   lines_,
00023   lines_per_tg_,
00024   tgs_,
00025   wfs_tgs_,
00026   wfss_tgs_,
00027   lineshape_,
00028   cont_description_names_,
00029   cont_description_models_,
00030   cont_description_parameters_,
00031   raw_ptz_,
00032   raw_vmrs_,
00033   p_abs_,
00034   f_mono_,
00035   t_abs_,
00036   z_abs_,
00037   h2o_abs_,
00038   n2_abs_,
00039   vmrs_,
00040   abs_,
00041   abs0_,
00042   abs_per_tg_,
00043   xsec_per_tg_,
00044   hse_,
00045   emission_,
00046   za_pencil_,
00047   z_tan_,
00048   z_plat_,
00049   l_step_,
00050   refr_,
00051   refr_lfac_,
00052   refr_model_,
00053   refr_index_,
00054   r_geoid_,
00055   z_ground_,
00056   t_ground_,
00057   e_ground_,
00058   los_,
00059   source_,
00060   trans_,
00061   y_space_,
00062   y_,
00063   y0_,
00064   h_,
00065   absloswfs_,
00066   k_grid_,
00067   k_,
00068   k_names_,
00069   k_aux_,
00070   kx_,
00071   kx_names_,
00072   kx_lengths_,
00073   kx_aux_,
00074   kb_,
00075   kb_names_,
00076   kb_lengths_,
00077   kb_aux_,
00078   S_S_,
00079   batchname_,
00080   ybatch_,
00081   absbatch_,
00082   jacbatch_,
00083   radiosonde_data_,
00084   coolrate_,
00085   p_coolrate_,
00086   method_list_
00087 };
00088 
00090 class WorkSpace {
00091 public:
00093   ArrayOfLineRecord lines;
00098   ArrayOfArrayOfLineRecord lines_per_tg;
00107   TagGroups tgs;
00114   TagGroups wfs_tgs;
00121   TagGroups wfss_tgs;
00129   ArrayOfLineshapeSpec lineshape;
00281   ArrayOfString cont_description_names;
00289   ArrayOfString cont_description_models;
00299   ArrayOfVector cont_description_parameters;
00307   Matrix raw_ptz;
00318   ArrayOfMatrix raw_vmrs;
00327   Vector p_abs;
00329   Vector f_mono;
00331   Vector t_abs;
00333   Vector z_abs;
00335   Vector h2o_abs;
00337   Vector n2_abs;
00342   Matrix vmrs;
00347   Matrix abs;
00353   Matrix abs0;
00360   ArrayOfMatrix abs_per_tg;
00367   ArrayOfMatrix xsec_per_tg;
00382   Vector hse;
00389   Index emission;
00395   Vector za_pencil;
00407   Vector z_tan;
00409   Numeric z_plat;
00422   Numeric l_step;
00424   Index refr;
00432   Index refr_lfac;
00438   String refr_model;
00440   Vector refr_index;
00442   Numeric r_geoid;
00444   Numeric z_ground;
00446   Numeric t_ground;
00448   Vector e_ground;
00454   Los los;
00456   ArrayOfMatrix source;
00458   ArrayOfMatrix trans;
00465   Vector y_space;
00470   Vector y;
00476   Vector y0;
00483   Matrix h;
00488   ArrayOfMatrix absloswfs;
00494   Vector k_grid;
00496   Matrix k;
00498   ArrayOfString k_names;
00508   Matrix k_aux;
00510   Matrix kx;
00512   ArrayOfString kx_names;
00514   ArrayOfIndex kx_lengths;
00520   Matrix kx_aux;
00522   Matrix kb;
00524   ArrayOfString kb_names;
00526   ArrayOfIndex kb_lengths;
00532   Matrix kb_aux;
00538   Matrix S_S;
00540   String batchname;
00545   Matrix ybatch;
00550   ArrayOfMatrix absbatch;
00555   ArrayOfMatrix jacbatch;
00565   ArrayOfMatrix radiosonde_data;
00570   Matrix coolrate;
00572   Vector p_coolrate;
00578   ArrayOfIndex method_list;
00579 };
00580 
00581 #endif  // auto_wsv_h