1 #ifndef MERRA_AEROSOL_H 2 #define MERRA_AEROSOL_H 18 const HdfFile& Aerosol_property,
22 const blitz::Array<double, 2>& Aerosol_cov,
27 bool Linear_aod =
false,
28 bool Relative_humidity_aerosol =
false,
29 double Max_residual = 0.005,
30 double Reference_wn=1e4/0.755);
49 virtual void print(std::ostream& Os)
const;
52 bool linear_aod, rh_aerosol;
53 int number_merra_particle_;
54 std::vector<boost::shared_ptr<AerosolExtinction> > aext;
55 std::vector<boost::shared_ptr<AerosolProperty> > aprop;
60 std::string merra_fname, prop_fname;
62 int file_index(
const HdfFile& Merra_climatology,
63 const std::string& Field_name,
boost::shared_ptr< InitialGuessBuilder > initial_guess() const
Return IntitialGuessBuilder for the Aerosol.
This class is used to create the Aerosol from a Merra climatology file.
void add_aerosol(const boost::shared_ptr< AerosolExtinction > &Aext, const boost::shared_ptr< AerosolProperty > &Aprop, const boost::shared_ptr< InitialGuessBuilder > &Ig)
Add in an aerosol that comes from some source other than Dijian's files (e.g., hardcoded aerosols to ...
This is a Mixin for classes that can be printed.
This class reads and writes a HDF5 file.
MerraAerosol(const HdfFile &Merra_climatology, const HdfFile &Aerosol_property, DoubleWithUnit Latitude, DoubleWithUnit Longitude, const boost::shared_ptr< Pressure > &Press, const boost::shared_ptr< RelativeHumidity > &Rh, const blitz::Array< double, 2 > &Aerosol_cov, double Max_aod=0.2, double Exp_aod=0.8, int Min_types=2, int Max_types=4, bool Linear_aod=false, bool Relative_humidity_aerosol=false, double Max_residual=0.005, double Reference_wn=1e4/0.755)
Constructor.
boost::shared_ptr< Aerosol > aerosol() const
Return the aerosol setup generated from this class.
We frequently have a double with units associated with it.
Contains classes to abstract away details in various Spurr Radiative Transfer software.
virtual void print(std::ostream &Os) const
Print to stream.
int number_merra_particle() const
Number of merra particles.