1 #ifndef EXAMPLE_MET_FILE_H 2 #define EXAMPLE_MET_FILE_H 16 ExampleMetFile(
const std::string& input_filename,
const std::string& observation_id);
22 {
return read_array(group_name +
"/pressure_levels"); }
26 {
return read_array(group_name +
"/specific_humidity" ); }
29 {
return read_scalar(group_name +
"/surface_pressure" ); }
32 {
return read_scalar(group_name +
"/windspeed_u" ); }
35 {
return read_scalar(group_name +
"/windspeed_v" ); }
39 {
return read_array(group_name +
"/temperature" ); }
41 void print(std::ostream& Os)
const { Os <<
"ExampleMetFile"; }
49 double read_scalar(
const std::string& Field)
const;
50 blitz::Array<double, 1> read_array(
const std::string& Field)
const;
56 const std::string group_name =
"Meteorology";
ExampleMetFile(const boost::shared_ptr< HdfFile > &input_file, const std::string &observation_id)
Constructor.
Defines the interface for supplying meteorological data.
blitz::Array< double, 1 > temperature() const
Temperature profile in Kelvins on the meteorological pressure levels.
blitz::Array< double, 1 > specific_humidity() const
Specific humidty on the meteorological pressure levels.
virtual blitz::Array< double, 1 > specific_humidity() const =0
Specific humidty on the meteorological pressure levels.
double surface_pressure() const
Surface pressure in Pascals.
This class implements and example Meteorological reader that reads data from an HDF file with dataset...
double windspeed_v() const
The V component windspeed in m/s.
virtual blitz::Array< double, 1 > pressure_levels() const =0
Pressure levels in Pascals used for provided meteorological data.
virtual blitz::Array< double, 1 > temperature() const =0
Temperature profile in Kelvins on the meteorological pressure levels.
Contains classes to abstract away details in various Spurr Radiative Transfer software.
blitz::Array< double, 1 > pressure_levels() const
Pressure levels in Pascals used for provided meteorological data.
double windspeed_u() const
The U component windspeed in m/s.
void print(std::ostream &Os) const