1 #include <boost/lexical_cast.hpp>    26 :input(new 
HdfFile(input_filename))
    35     TinyVector<int, 2> lat_shape = input->read_shape<2>(group_name + 
"/latitude");
    41     std::string rad_ds_name = group_name + 
"/radiance_" + boost::lexical_cast<std::string>(Spec_index + 1);
    42     std::string uncert_ds_name = group_name + 
"/uncertainty_" + boost::lexical_cast<std::string>(Spec_index + 1);
    44     TinyVector<int, 2> rad_ds_shape = input->read_shape<2>(rad_ds_name);
    45     TinyVector<int, 2> rad_start, rad_size;
    46     rad_start = data_index, 0;
    47     rad_size  = 1, rad_ds_shape(1);
    49         Unit(
"Ph sec^{-1} m^{-2} sr^{-1} um^{-1}"),
    52     if (input->has_object(uncert_ds_name)) {
    53         TinyVector<int, 2> uncert_ds_shape = input->read_shape<2>(uncert_ds_name);
    54         TinyVector<int, 2> uncert_start, uncert_size;
    55         uncert_start = data_index, 0;
    56         uncert_size  = 1, uncert_ds_shape(1);
    57         Array<double, 2> uncertainty = input->read_field<double, 2>(uncert_ds_name, uncert_start, uncert_size);
    65 DoubleWithUnit ExampleLevel1b::read_scalar_with_unit(
const std::string& dataset_name, 
int i, 
const Unit& default_unit)
 const    68     TinyVector<int, 2> start, size;
    69     start = data_index, i;
    75 double ExampleLevel1b::read_scalar(
const std::string& dataset_name, 
int i)
 const    78     TinyVector<int, 2> start, size;
    79     start = data_index, i;
    81     Array<double, 2> val_arr = input->read_field<double, 2>(dataset_name, start, size);
    89     TinyVector<int, 3> ds_shape = input->read_shape<3>(dataset_name);
    90     TinyVector<int, 3> start, size;
    91     start = data_index, i, 0;
    92     size = 1, 1, ds_shape(2);
    98     ret_val.value.resize(ds_shape(2));
    99     ret_val.value = val_arr.
value(0, 0, Range::all());
   104 Array<double, 1> ExampleLevel1b::read_array(
const std::string& dataset_name, 
int i)
 const   107     TinyVector<int, 3> ds_shape = input->read_shape<3>(dataset_name);
   108     TinyVector<int, 3> start, size;
   109     start = data_index, i, 0;
   110     size = 1, 1, ds_shape(2);
   111     Array<double, 3> val_arr = input->read_field<double, 3>(dataset_name, start, size);
   112     return val_arr(0, 0, Range::all());
 #define range_check(V, Min, Max)
Range check. 
 
This is used to wrap the nominal Level 1B file reader. 
 
We frequently have a array of numbers with units associated with them. 
 
Defines a simple mechanism by where a specific dataset from a HDF file is read along with some sort o...
 
#define REGISTER_LUA_DERIVED_CLASS(X, Y)
 
ExampleLevel1b(const boost::shared_ptr< HdfFile > &input_file, const std::string &observation_id)
 
blitz::Array< T, D > value
 
virtual int number_spectrometer() const
Number of spectrometers. 
 
This class reads and writes a HDF5 file. 
 
Apply value function to a blitz array. 
 
We frequently have a double with units associated with it. 
 
We have a number of different spectrums that appear in different parts of the code. 
 
This is an example L1B reader that reads a HDF formatted file that corresponds one-to-one with the ex...
 
Libraries such as boost::units allow unit handling where we know the units at compile time...
 
Contains classes to abstract away details in various Spurr Radiative Transfer software. 
 
#define REGISTER_LUA_END()
 
virtual SpectralRange radiance(int Spec_index) const
Radiance, for given spectral band. 
 
double value(const FullPhysics::AutoDerivative< double > &Ad)